Directriz: Interfaces para aplicaciones J2EE
Esta directriz trata el diseño de interfaces para aplicaciones J2EE.
Relaciones
Elementos relacionados
Descripción principal

Introducción

Una interfaz de Java, tal como se define en la sintaxis del lenguaje Java, no se limita a tener operaciones; también puede tener campos Java, clases o miembros de interfaz. Por esta razón, las interfaces de Java se modelan como clases con un estereotipo <<JavaInterface>>.

La interfaz UML no posee una correlación directa con un constructor de lenguaje en el desarrollo de J2EE o Java.

Interfaces en el diseño Java

A pesar de que las interfaces UML no se correlacionan con un constructor de lenguaje en Java o J2EE, hay situaciones en las que el diseñador podría querer utilizarlas. Algunas posibles razones son:

  • Dirigirse potencialmente a otros lenguajes y tecnologías.
  • Expresar la idea de una interfaz sin decidirse en principio si se utilizará una interfaz Java o bien algún tipo de clase de acceso o de delegado.

Si la implementación del lenguaje es Java, se podría decidir utilizar clases con el estereotipo <<JavaInterface>> en el modelo de diseño en lugar de las interfaces UML. Esto permite que el modelo de diseño evolucione con más facilidad y que permanezca coherente con el modelo de implementación (consulte la sección Concepto: Correlación desde el diseño al código para obtener más información).

Observe que las clases con el estereotipo <<JavaInterface>> no se pueden representar como lollipops en el exterior de componentes o subsistemas UML. En vez de ello, las interfaces expuestas se muestran como elementos visibles públicamente que un subsistema posee o como elementos visibles públicamente que residen en un componente UML.

Interfaces en el diseño de EJB

Las interfaces EJB son especializaciones de las interfaces Java. Sus estereotipos se describen en la sección Directriz: identificación de Enterprise JavaBeans (EJB).

El diseñador podría querer utilizar interfaces UML, clases con el estereotipo <<JavaInterface>> o bien clases con estereotipos específicos de EJB para modelar interfaces dependiendo de lo estrecha que desee el diseñador que sea la correlación con una implementación particular.