|
Please direct your comments on this JSR to:
jsr-comments@sun.com.
Don't forget to identify the JSR you are commenting on somewhere
in the subject of your e-mail (this is JSR-000026).
Section 1. Identification
This JSR is submitted jointly by Sun Microsystems, Inc. (Sun) and Inline Software
Corporation (Inline).
Contact information:
Jack Greenfield
Inline Software Corporation
751 Miller Drive, SE
Suite E-3
Leesburg, VA 20175
Phone: +1 703 737 6121
Email: jack@inline-software.com
Other participants who endorse this JSR:
Mark Hapner,
Sun Microsystems, Inc.
901 San Antonio Road, MS UCUP02-201
Palo Alto, CA 94303
Phone: +1 408 343 1609
Email: mark.hapner@eng.sun.com
Grady Booch
Rational Software Corporation
2171 S. Parfet Court
Lakewood, CO 80227
Phone: +1 303 986 2405
Email: egb@rational.com
Donald Ferguson, Ph.D.
International Business Machines Corp.
Route 100
Somers, NY 10589
Phone: +1 914 766 1154
Email: dff@us.ibm.com
The expert group will include experts from:
- enterprise tool and framework vendors
- enterprise information system vendors
- application server and container vendors
- application developers
Interest in a UML profile for EJB has been widely expressed within the Java community.
Section 2: Request
This JSR is for a mapping between the Unified Modeling LanguageTM
(UML) and Enterprise JavaBeans (EJB) expressed as a UML profile, a
format defined by the OMG Object Analysis and Design Task Force (OA&DTF).
2.1 Description of the UML Profile for EJB
UML is a formal language for describing software requirements, design and
implementation. It is widely used in the development of enterprise applications suitable
for implementation with EJB.
The UML profile for EJB defines a set of extensions to UML that can be used to model
software implemented with EJB in UML. These extensions will let enterprise tool and
framework vendors provide EJB modeling capabilities using UML, as well as forward and
reverse engineering between UML models and EJB implementations.
In addition, the specification defines a mechanism for using UML models stored in an
EJB-JAR to describe the contents of the EJB-JAR. This will let enterprise tool and
framework vendors use UML models stored in EJB-JARs for automation and reflection.
2.2 Target platform
The profile is based on the EJB 1.1 specification, as defined by Sun Microsystems, Inc.
(Sun), and on UML version 1.3, as defined by the Object Management Group (OMG).
2.3 Need of the Java community addressed by the proposed specification
In order to describe software implemented with EJB, UML models must represent EJBs,
capturing their structure and semantics. Since UML predates the EJB architecture, it does
not contain model elements that express the structure and semantics of EJBs. UML was
designed to be extensible, however, and provides standard extension mechanisms for
defining new model elements. These mechanisms can be used to define new model elements to
represent EJBs.
Unless the extensions are standardized, tools and frameworks from different vendors
will not interoperate. Some vendors will use non-standard proprietary mappings between UML
and EJB, some will use non-standard proprietary meta-models rather than UML, and others
will not support modeling or model based reflection and automation for EJB.
In addition, enterprise tool and framework vendors need to associate UML models
describing EJBs with the EJB implementations in an EJB-JAR in order to use the models for
automation and reflection. Without a standard way to perform this association, tools and
frameworks will not be able to use the UML models in EJB-JARs from different vendors.
2.4 Why this need is not met by existing specifications
Currently, no existing Java platform specification addresses the problem of
providing a standard mapping between UML and EJB.
2.5 Specification to be developed and how it addresses the need
This specification defines a set of standard UML extensions defining new model elements
to represent EJBs. This definition is expressed by the following items:
Describes the relationship of logical and physical EJB constructs
to UML model elements using the standard UML extension mechanisms.
Describes the relationship between the EJB deployment descriptor
and UML model elements using the standard UML extension mechanisms.
Describes the forward engineering transformation from UML model
elements using the standard UML extension mechanisms to EJB implementation
artifacts.
Describes the reverse engineering transformation from EJB
implementation artifacts to UML model elements using the
standard UML extension mechanisms.
In addition, this specification defines a mechanism for associating
UML models stored in an EJB-JAR with the implementations of the EJBs they describe. This
definition is expressed by the following items:
Defines an XML DTD for a file placed within the EJB-JAR that
identifies UML models stored in the same EJB-JAR and their relationship to EJBs in the
EJB-JAR.
2.6 Description of the underlying technologies
The profile can be used in a wide variety of implementations, including modeling tools,
model based development environments, database mappings, and business component
frameworks. This specification does not prescribe an implementation.
The profile will support the Extensible Meta-Data Interchange Format (XMI) defined by
the OMG Stream Based Model Interchange Format (SMIF) specification. XMI is a widely used
meta-data representation based on the Extensible Markup Language (XML).
2.7 Proposed package name for API Specification
There is no API associated with this JSR.
2.8 Dependencies on specific operating systems, CPUs, or I/O
devices
None.
2.9 Security implications
The profile defines the representation of EJB security roles in UML as a semantic
grouping of a set of methods, as required by the security architecture defined by the EJB
1.1 specification.
2.10 Internationalization implications
None.
2.11 Localization implications
None.
2.12 Risk assessment
No risks to any existing Java platform APIs, RIs or CTSs arising from this JSR have
been identified.
Should a JSR be promulgated in the future to standardize the mapping between UML and
Java in more general sense, that document will be constrained by the relationship between
UML and Java defined by this specification.
2.13 Existing specifications that might be rendered obsolete or
deprecated by this work
None.
2.14 Existing specifications that might need revisions as a result of
this work
None.
Section 3: Contributions
List of relevant existing documents:
|