Objetivo
También se diseñarán componentes J2EE dentro de la infraestructura de J2EE, representándolas en Rose como clases y
clases de colaboración.
En general, una aplicación J2EE utiliza los servicios de una base de datos relacional. En este caso, se diseña un
modelo de datos de la base de datos que se representa en Rose mediante el Modelador de datos.
Hay que seguir los pasos que se indican a continuación para modelar una aplicación J2EE en Rose:
Consulte la sección Concepto: visión general de Java 2 Platform Enterprise Edition (J2EE) para obtener
más información sobre J2EE.
Consulte la sección Concepto: desarrollo de soluciones de componente para conocer una visión general
sobre el desarrollo basado en componentes mediante la plataforma J2EE.
Vea también:
Configure Rational Rose tal como se describe en la sección Guía de herramientas: configuración de Rational Rose para un
proyecto.
Además, será necesario habilitar el complemento de Rose Java y configurar valores específicos del proyecto.
Consulte la sección Rose Java > Cómo > Establecer propiedades de proyecto en la ayuda en línea
de Rational Rose para obtener información detallada sobre la forma en que configurar Rose Java.
La sección Guía de herramientas: gestión del modelo de diseño mediante Rational
Rose describe la forma en que crear paquetes y capas en el Producto de trabajo: modelo de diseño, empezando con la plantilla de
modelo de RUP que proporciona Rose. Esta plantilla proporciona un esquema del modelo de diseño, con lugares a
completar con los tipos de paquete, subsistemas y diagramas que se deberían crear durante las actividades de diseño (Tarea: diseño de guiones de uso, Tarea: diseño de
clases y Tarea: subsystem_design_real-time_design).
Véase también:
Observe que la estructura del paquete en el Producto de trabajo: modelo de diseño no tiene por qué coincidir con
la estructura del paquete en el Producto de trabajo: modelo de implementación. Cuando se realiza
ingeniería directa con las clases Java, es la estructura del paquete en el modelo de implementación la que determina la
estructura del paquete de las clases Java que se generan.
Para obtener más información sobre los paquetes, consulte el tema Paquetes en la ayuda en
línea de Rational Rose.
Hay que añadir los paquetes de lenguaje Java para Java y J2EE, de forma que se proporcionen los servicios de la
plataforma, denominada la "capa de sistema". Estos paquetes se utilizan al crear sus propias clases en el modelo; por
ejemplo, si una clase define una operación que devuelve el tipo Java String, entonces en el modelo debe estar presente
el paquete de lenguaje Java java.lang que contiene la clase String.
Consulte la ayuda en línea de Rational Rose para obtener información más detalles:
El paquete de esquemas contiene el diseño de las tablas de la base de datos en la aplicación. Consulte la sección
Guía de herramientas: diseño y modelado de bases de datos utilizando
Rational Rose para obtener más información.
Esta sección no cubre la forma en que modelar EJB (consulte la sección Modelado de EJB) o
la forma en que modelar clases de presentación como, por ejemplo, páginas HTML y JSP (consulte la sección Modelado de la capa de presentación).
Proporciona información sobre la forma en que modelar las restantes clases Java y JavaBeans (como por ejemplo, las
clases de utilidad) tal como lo haría con cualquier aplicación Java. Para obtener información más detallada, consulte:
Consulte la sección Directriz: Enterprise JavaBean (EJB) para obtener más información sobre EJB.
A continuación se presenta un resumen de los pasos a realizar para modelar un EJB en Rose:
En general, los EJB se agrupan en subsistemas de diseño.
Los subsistemas de diseño se utilizan para encapsular el comportamiento dentro de un "paquete", que proporciona
interfaces formales y explícitas, y que (por convención) no expone ninguno de sus contenidos internos.
Consulte la sección Guía de herramientas: gestión de subsistemas mediante Rational Rose
para obtener información detallada sobre la forma en que crear subsistemas de diseño.
Antes de poder crear el EJB en Rose, hay que decidir que tipo de EJB será; bean de entidad, bean de sesión o bean
controlado por mensajes. En el caso de un bean de entidad, hay que elegir si su persistencia estará gestionada por bean
o por contenedor. En el caso de un bean de sesión, hay que elegir si el bean será con estado o sin estado.
Consulte la sección Directriz: Enterprise JavaBean (EJB) para obtener más información.
Rose Java proporciona un conjunto de diálogos para crear y mantener clases EJB en Rose.
Para obtener más información, consulte el tema Rose Java > Cómo > Trabajar con
EJB y servlets en la ayuda en línea de Rational Rose.
Con Rose Java podrá realizar las tareas que se indican a continuación.
-
Crear un nuevo EJB desde el principio.
-
Convertir una clase existente en el modelo en un EJB. Rose Java convierte la clase existente en una interfaz
EJB remota y crea nuevas clases para la clase de bean y la interfaz inicial.
-
Añadir métodos de buscador al EJB.
-
Actualizar la interfaz inicial con todos los métodos de buscador o ciclo de vida que se hayan definido en la
clase de implementación de bean.
-
Actualizar las propiedades de clase de EJB (como el nombre de la interfaz inicial), propiedades de persistencia
(como las que indican si es gestionada por bean o gestionada por contenedor) y propiedades del descriptor de
despliegue (como los campos gestionados por contenedor o entradas de entorno).
Un bean de sesión o de entidad creado con Rose Java está compuesto por los elementos que se indican a continuación.
-
Clase de interfaz inicial.
-
Clase de interfaz remota.
-
Clase de bean.
-
Propiedades que define el descriptor de despliegue EJB genérico, ejb-jar.xml, almacenadas como propiedades de
la clase de bean del EJB.
-
Las operaciones y los atributos que la especificación EJB requiere (como los métodos de devolución de llamada)
se habrán creado en la clase de bean, la interfaz remota y la interfaz inicial.
Estas clases que el programa de utilidad EJB de Rose Java crea, se modelan de acuerdo a la correlación que se define en
la JSR-000026 UML/EJB Mapping Specification en el estándar de Sun. Para
obtener más información, consulte el tema Rose Java > Conceptos > Acerca del soporte para Java 2 Platform,
Enterprise Edition (J2EE) en la ayuda en línea de Rational Rose.
Visite la página http://java.sun.com/ para obtener más información
sobre las especificaciones 1.1 y 2.0 de EJB y siga los enlaces Docs & Training > Java 2 Platform, Enterprise
Edition > Enterprise JavaBeans Specification.
Después de haber creado las clases EJB, se pueden añadir las operaciones (como métodos empresariales) y los atributos
que se desee.
Rose Java proporciona un conjunto de diálogos para crear y mantener clases EJB en Rose.
Consulte el tema Rose Java > Cómo > Trabajar con EJB y servlets >
Adición de métodos a una clase de bean en la ayuda en línea de Rational Rose.
Consulte las siguientes secciones para obtener más información sobre la forma en que definir operaciones y atributos:
Los diagramas de clases se crean como parte de la Tarea: diseño de
clases, en que se modelan las relaciones (como las relaciones de asociaciones, dependencias y herencia) entre las
clases.
La plantilla del modelo de RUP (Rational Unified Process) de Rose, que se proporciona con Rose, proporciona una esquema
como punto de inicio para los diagramas de clases que se deberían crear.
Consulte la sección Tarea: diseño de clases para obtener más información sobre la forma
en que modelar las relaciones entre clases.
Como parte de la Tarea: diseño de guiones de uso se crean mensajes en diagramas de
secuencias, que a continuación se utilizan para describir las interacciones entre los objetos de diseño. Cree un
conjunto de diagramas de secuencias para describir el flujo de sucesos principal y alternativo para cada realización de
guiones de uso en el modelo de diseño.
El diagrama de secuencias sirve a un diseñador EJB para:
-
Determinar las operaciones y argumentos de operación de las clases involucradas en la interacción.
-
Documentar las operaciones que la clase llamará durante una interacción.
-
Documentar lo que un objeto realiza cuando recibe un mensaje, por ejemplo, adjuntando un script al mensaje.
Para obtener más información, consulte el tema de ayuda Rational Rose >
Cómo > Crear y trabajar en un modelo > Utilización de scripts en diagramas de secuencias.
Véase también:
Un EJB de entidad representa la vista orientada a objetos de los datos persistentes de una aplicación. El modelar
una clase EJB como una entidad y señalar la clase como persistente quiere decir que el Rol: diseñador de base de datos tendrá que correlacionar el objeto
EJB en el modelo de datos en la Tarea: diseño de
base de datos.
El Rol: diseñador de base de datos crea el modelo de datos de la
aplicación como parte de la Tarea: diseño de base de datos.
Rose proporciona soporte para el diseño de bases de datos con la herramienta Modelador de datos de Rational Rose, que
permite transformar clases persistentes en el modelo de objetos en un modelo de datos, y viceversa.
La correlación entre clases en el modelo de objetos y tablas en el modelo de datos se documenta en el campo
Correlacionado desde de la especificación Rose de la tabla del modelo de datos.
Consulte también la sección Producto
de trabajo: modelo de datos y Directriz: modelo de
datos para obtener más información.
Consulte la sección Guía de herramientas: diseño y modelado de bases de datos mediante el
Modelador de datos de Rational Rose para obtener información detallada sobre el Modelador de datos de Rose.
Consideraciones de modelado para los EJB de sesión
Los beans de sesión tienen la posibilidad de leer o escribir datos persistentes; consulte la sección Directriz: diseño de Enterprise JavaBeans (EJB): acceso directo frente a EJB de
entidad.
En este tipo de situación se utilizarían clases DAO (Data Access Object) para aislar los detalles de acceso y conexión
a la base de datos de los EJB mediante la interfaz javax.sql.
Consideraciones de modelado para los EJB de entidad gestionados por bean
Los beans de entidad gestionados por bean leen y escriben en las tablas de la base de datos utilizando la API JDBC.
Utilice las clases DAO para aislar los detalles de acceso y conexión a la base de datos del EJB mediante la interfaz
javax.sql.
Consideraciones de modelado para los EJB de entidad gestionados por contenedor
No es necesario diseñar clases DAO para los EJB de entidad gestionados por contenedor, puesto que es el contenedor EJB
el que gestiona su persistencia.
Las transacciones definen un conjunto de operaciones indivisibles; o se ejecutan todas, o no se ejecuta ninguna.
En el contexto de la persistencia, una transacción define un conjunto de cambios en un conjunto de objetos que como ya
se ha indicado, o se ejecutan todos, o no se ejecuta ninguno. Las transacciones proporcionan coherencia y garantizan
que los conjuntos de objetos pasan de un estado coherente a otro que también lo es.
Consulte la sección Concepto: visión general de Java 2 Platform Enterprise Edition (J2EE): gestión de
transacciones para obtener una visión general de la gestión de transacciones.
El modelado de transacciones EJB se describe en la sección Tarea: diseño
de guiones de uso - Modelado de transacciones. En el momento de la implementación hay que decidir, de acuerdo
al modelo de diseño, si hay que demarcar las transacciones con declaraciones; en el descriptor de despliegue,
definiendo el atributo de transacción de un método EJB como Required, RequiresNew, NotSupported, Supports, Mandatory o
Never o bien mediante programación con la API de transacciones de Java.
Como parte del diseño, hay que determinar si es posible manejar la seguridad en forma de declaraciones, con roles de
seguridad y permisos de método en el descriptor de despliegue o mediante programación con las API de seguridad de J2EE.
Utilice los diagramas de secuencias para considerar los escenarios de seguridad. Si es necesario, realice anotaciones
en los diagramas de secuencias para documentar los requisitos de seguridad.
Consulte la sección Concepto: visión general de Java 2 Platform Enterprise Edition (J2EE) - Gestión de
seguridad para obtener una visión general sobre la gestión de seguridad.
Las clases Java de los EJB se generan mediante ingeniería directa con Rose Java, tal como se describe en la sección Guía de herramientas: generación de elementos desde un modelo mediante
Rational Rose. El descriptor de despliegue EJB, ejb-jar.xml, se generará de forma automática como resultado de la
ingeniería directa sobre la clase del bean de EJB.
Con Rose Java se puede revertir la ingeniería de un EJB existente, tal como se describe en la sección Guía de herramientas: revertir la ingeniería de código mediante Rational
Rose. Hay que revertir la ingeniería de un archivo .jar que contenga las clases EJB y el descriptor de despliegue,
de forma que Rose Java pueda determinar las relaciones entre las clases (por ejemplo, qué clase es la interfaz inicial)
mediante ingeniería inversa.
Hay que modelar la capa de interfaz de usuario de una aplicación J2EE de la misma forma en que se haría con cualquier
otra aplicación web. En general, las clases de análisis con el estereotipo <<boundary>> son candidatas para
clases y colaboraciones de clase en la capa de interfaz de usuario. Las clases de límites se pueden implementar como,
por ejemplo, páginas JSP, servlets, páginas HTML o clientes Java autónomos, dependiendo del diseño.
Para obtener más información, consulte:
Actividades relacionadas:
Véase también:
Ingeniería directa e inversa de clases de presentación
Se puede realizar ingeniería directa e inversa sobre las clases de presentación. Rose Java da soporte a:
-
Revertir la ingeniería de una aplicación web (.war). Para obtener más información, consulte
el tema Rose Java > Cómo > Revertir ingeniería de Fuente Java a Rose en la ayuda en
línea de Rational Rose.
-
Crear una nueva clase de servlet completada con los métodos apropiados. Para obtener más información, consulte el tema Rose Java > Cómo > Trabajar con EJB
y servlets en la ayuda en línea de Rational Rose.
|