Concept: J2EE to RUP Mapping
This guidline describes how J2EE roles and implementation elements map to the RUP.
Relationships
Main Description

J2EE Role to RUP Role Mapping

The J2EE platform specification defines a set of roles. The J2EE Plug-In adds the appropriate responsibilities to the existing RUP roles to include the responsibilities of the J2EE roles.  Supplementing the existing roles rather than defining new roles allows the plug-in to leverage the existing information in RUP, provides a straightforward mapping between J2EE and RUP, as well as supports a cleaner separation of concerns.

The following table summarizes the mapping from the J2EE roles to the RUP roles, and includes links to the relevant J2EE-specific additions to the process.

J2EE Role RUP Role
Application \ System Component Provider

The application component provider actually encompasses a number of roles, such as EJB developers and HTML document designers. These roles are responsible for producing the J2EE application components and for packaging these into appropriate J2EE modules.

The system component provider is a specialization of the application component provider and can thus be mapped to the same RUP roles.

Software Architect

Designer

Implementer

Integrator

Tester

Application Assembler

The application assembler creates a J2EE application from J2EE application components and delivers it as an Enterprise Archive (EAR) file. The application assembler also describes any external dependencies that the J2EE application has.

Integrator

Tester

Deployer

The deployer is responsible for deploying a J2EE application into the operational environment. The first stage of deployment is to install the various application components within the relevant J2EE containers. The second stage of deployment is to configure any external dependencies that have been declared so that they are resolved. For example, security roles that have been defined are mapped onto user groups and accounts in the operational environment. The third stage of deployment is to execute the new application so that it is ready to receive requests.

System Administrator
J2EE Product Provider

A J2EE product provider is the supplier of a J2EE platform implementation, also known as a J2EE product. Examples of J2EE product providers include BEA, IBM and Sun Microsystems. These organizations typically play to their strengths while delivering an implementation of the J2EE platform. For example, the BEA implementation builds upon BEA?s highly successful Tuxedo transaction processing monitor. A J2EE product provider may also supply tools required to support application deployment and management.

None.

Providing the J2EE platform implementation is not within the scope of RUP.  The J2EE platform is one of the tools used on a project (it is considered an input to the process).

System Administrator

The system administrator is responsible for the runtime infrastructure, which includes any deployed J2EE applications.

System Administrator
Tool Provider

The tool provider provides tools to support the development and packaging of application components. These tools often correspond to the different types of application component produced, and include IDEs such as Rational XDE (from Rational Software), WebSphere Studio Application Developer (from IBM) and JBuilder (from Borland).

None.

Providing the tools to support J2EE development is not within the scope of RUP.  The possible tools that can be used on a project are considered inputs to the process.



J2EE Element to RUP Artifact Mapping

The following table summarizes how key J2EE elements are represented using RUP artifacts. Links to more detailed guidelines for each of the J2EE elements, where available, are also listed.

J2EE Element RUP Design Model Artifact  RUP Implementation Model Artifact Modeling Guidelines
Application Client Design Subsystem with stereotype <<ApplicationClient>> Set of Artifact: Implementation Element for the individual Java classes that implement the Application Client. Guideline: J2EE Application Client

Guideline: Identifying J2EE Application Clients

Guideline: Designing J2EE Application Clients

Deployment Descriptor Deployment Descriptors are not represented in the Design Model.

Implementation Element with the stereotype <<EJB-JAR Descriptor>>, <<JARDescriptor>>, <<WARDescriptor>>, or <<EARDescriptor>>

Guideline: J2EE Module (J2EE Module deployment descriptors)

Guideline: J2EE Application (J2EE Application deployment descriptors)

Enterprise JavaBean (EJB)

Design Class

For details on specific stereotypes to use, see Guideline: Identifying Enterprise JavaBeans (EJBs)

Set of Artifact: Implementation Element for the individual EJB elements. Guideline: Enterprise JavaBean (EJB) Guideline: Identifying Enterprise JavaBeans (EJBs)  Guideline: Designing Enterprise JavaBeans (EJBs)

Guideline: Interfaces for J2EE Applications

HTML Page Design Class with stereotype <<ClientPage>> Implementation Element with stereotype <<ClientPage>>

Client pages are only modeled in the Implementation Model if the client page is represented by a static file on disk (as opposed to being dynamically generated by a JSP).

 
Java Class Design Class Implementation Element

Guideline: Java Class

Guideline: Identifying Java Classes

JavaBean Design Class Implementation Element Concept: JavaBean

Guideline: JavaBean

Guideline: Identifying JavaBeans

Guideline: Designing JavaBeans

Java Package Java Packages are not represented in the Design Model. Package in the Implementation Model (no stereotype required)

Contains Java Artifact: Implementation Element; for example, EJB, Enterprise JavaBean, servlets

Guideline: Structuring the Implementation Model for J2EE Applications
Java Server Page (JSP) Design Class with stereotype <<ServerPage>> Implementation Element with stereotype <<ServerPage>> Guideline: JavaServer Page (JSP)

Guideline: Identifying JavaServer Pages (JSPs)

Guideline: Designing JavaServer Pages (JSPs)

JSP Custom Tag Design Class with stereotype <<JSPTag>> Implementation Element with stereotype <<JSPTag>> Guideline: Java Server Page (JSP) Custom Tag
J2EE Application J2EE Applications are not represented in the Design Model. J2EE Application with the stereotype <<EAR>> Guideline: J2EE Application

Guideline: Assembling J2EE Applications

Guideline: Deploying J2EE Modules and Applications

J2EE Module (archive file) J2EE Modules are not represented in the Design Model. J2EE Module with the stereotype <<EJB-JAR>>, <<JAR>>, or <<WAR>> Guideline: J2EE Module

Guideline: Assembling J2EE Modules

Guideline: Deploying J2EE Modules and Applications

Servlet Design Class with stereotype <<GenericServlet>> or <<HttpServlet>> Implementation Element with stereotype <<GenericServlet>> or <<HttpServlet>> Guideline: Servlet

Guideline: Identifying Servlets

Guideline: Designing Servlets

Virtual Directory Virtual Directories are not represented in the Design Model. Package in the Implementation Model with stereotype <<VirtualDirectory>>

Contains the J2EE Web components  (HTML Pages, JSPs,  and so forth)

Guideline: Structuring the Implementation Model for J2EE Applications