Los componentes de Java ES admiten la implementación de soluciones de software de fortaleza de empresa distribuidas.
Para obtener la funcionalidad solicitada en los niveles de rendimiento, disponibilidad, seguridad, escalabilidad y la facilidad de mantenimiento establecidos por los requisitos de la empresa, estas soluciones de software se deben diseñar de forma adecuada.
Hay una serie de dimensiones arquitectónicas implicadas en el diseño de soluciones de software de fortaleza de empresa distribuidas. Estas dimensiones representan perspectivas distintas desde las que se ven las interacciones de los distintos componentes de software utilizados para crear dichos sistemas. En concreto, el diseño de los sistemas distribuidos implica las siguientes tres dimensiones arquitectónicas:
Dependencias de servicio de infraestructura. Esta dimensión destaca el papel de los componentes de los servicios del sistema (consulte Componentes de los servicios del sistema) para que sea posible usar soluciones distribuidas.
Capas lógicas. Esta dimensión se centra en la independencia física y lógica de los componentes de soluciones con el fin de implementarlos en una red o en un entorno de Internet.
Calidad del servicio. Esta dimensión se centra en cómo se satisfacen los requisitos de calidad del servicio como, por ejemplo, la disponibilidad, la seguridad, la escalabilidad y la capacidad de mantenimiento. Se incluye también la función de los componentes de calidad del servicio (consulte Componentes de calidad del servicio).
Estas tres dimensiones de la arquitectura de la solución se muestran en la siguiente figura.
Juntas, estas tres dimensiones representan un único marco que incorpora las relaciones entre los siguientes elementos de software: componentes de aplicación y componentes de infraestructura; todos ellos son necesarios para obtener las funciones de servicio y la calidad de servicio que se exigen a una solución de software.
Las siguientes secciones describen las tres dimensiones individualmente y, a continuación, figura una síntesis de las tres dimensiones en un marco unificado.
Los componentes del software de interacción de las aplicaciones de empresa distribuidas requieren un conjunto subyacente de servicios de infraestructura que permitan a los componentes distribuidos comunicarse entre sí, coordinar su trabajo, implementar un acceso seguro, etc. Esta sección explica la función principal desarrollada por una serie de componentes de Java ES al proporcionar estos servicios de infraestructura.
Al diseñar un sistema de software distribuido, con independencia de que conste principalmente de los componentes desarrollados de forma personalizada o de que incluya todos los componentes "de fábrica" de Java ES, debe incluir una serie de servicios de infraestructura. Estos servicios operan en varios niveles.
La dimensión de las dependencias de los servicios de infraestructura se muestra en la Figura 2–2. Los niveles que se muestran en esta figura son una vista ampliada de la capa de los servicios de infraestructura de la Figura 1–1.
La jerarquía de los servicios de la Figura 2–2 y las dependencias existentes entre ellos constituyen una importante dimensión de la arquitectura lógica de la solución. Estos servicios de infraestructura proporcionan las bases conceptuales para comprender la función de los componentes de los servicios del sistema de Java ES (consulte Componentes de los servicios del sistema).
En general, los servicios que se muestran en la Figura 2–2 se pueden clasificar en tres amplios grupos: servicios de plataforma de nivel inferior, servicios de aplicación de nivel superior y un grupo de servicios de nivel intermedio. Los respectivos nombres proceden de su ubicación entre los otros dos grupos.
Los siguientes párrafos describen los distintos niveles de servicio de infraestructura y hacen referencia a artefactos de lenguaje de programación Java, cuando corresponde. Los niveles de servicio se describen desde el nivel inferior al superior, tal y como se muestra en la Figura 2–2:
Plataforma de sistema operativo. Proporciona la compatibilidad básica para cualquier proceso que se ejecute en un equipo. El sistema operativo (como SolarisTM, Linux o Microsoft Windows) administra dispositivos físicos, así como la memoria, los subprocesos y otros recursos necesarios para la compatibilidad con Java Virtual Machine (máquina JVMTM).
Transporte de red. Proporciona la compatibilidad de red necesaria para las comunicaciones entre los componentes de aplicación distribuidos que se ejecutan en distintos equipos. Estos servicios son compatibles con protocolos como TCP y HTTP. Otros protocolos de comunicación de nivel superior (consulte el nivel de mensajería) dependen de estos servicios de transporte básicos.
Persistencia. Proporciona la compatibilidad necesaria para almacenar datos estáticos (información sobre el usuario, el directorio o la configuración) y datos de aplicación dinámica (información que se actualiza con frecuencia). También permite acceder a estos dos tipos de datos.
Mensajería. Compatible con la comunicación síncrona y asíncrona entre componentes de aplicaciones. La mensajería síncrona es el envío y la recepción en tiempo real de mensajes; incluye invocación de método remoto (RMI) entre componentes de J2EE e interacciones de SOAP con servicios web. La mensajería asíncrona es la comunicación por la cual el envío de un mensaje no depende de la disponibilidad del consumidor para recibirlo inmediatamente. Las especificaciones de mensajería asíncrona, por ejemplo, Java Message Service (JMS) y ebXML, admiten la fiabilidad garantizada y otras semánticas de mensajería.
Tiempo de ejecución. Ofrece la asistencia necesaria para cualquier modelo de componente distribuido, como los modelos J2EE o CORBA. Además de la invocación de métodos remotos necesaria para componentes distribuidos y bien acoplados, los servicios de tiempo de ejecución incluyen administración de estado de componentes (ciclo de vida), administración de grupos de subprocesos, sincronización (bloqueo mutuo), servicios de persistencia, supervisión de transacciones distribuidas y gestión de excepciones distribuidas. En un entorno de J2EE, estos servicios de tiempo de ejecución los ofrecen los contenedores de EJBTM, Web y beans controlados por mensajes en un servidor de aplicación o en un servidor web.
Seguridad y directiva. Proporciona asistencia para acceder de forma segura a los recursos de la aplicación. Estos servicios incluyen compatibilidad para las directivas que rigen el acceso basado en funciones o en grupos a los recursos distribuidos, así como las funciones de inicio de sesión único. El inicio de sesión único permite que la autenticación de un usuario en un servicio en un sistema distribuido se aplique automáticamente a otros servicios (componentes de J2EE, servicios de negocios y servicios web) del sistema.
Colaboración de usuarios. Incluye servicios que desempeñan un papel importante al permitir la comunicación directa entre usuarios y la colaboración entre usuarios en entornos de Internet y de empresas. Como tales, son servicios de negocios de aplicaciones proporcionados normalmente por servidores independientes (como un servidor de correo electrónico o servidor de calendario).
Integración. Proporciona los servicios que agregan servicios de negocio existentes. Ofrece una interfaz común para acceder a los servicios, como en un portal, o integrando los servicios mediante un motor de procesos que los coordina con el flujo de trabajo de producción. La integración también puede producirse como interacciones de negocio a negocio entre varias empresas.
Los niveles de servicio que se muestran en la Figura 2–2 reflejan una dependencia general entre los distintos servicios de infraestructura, desde los servicios del sistema operativo de nivel inferior hasta los servicios de aplicación de nivel superior y los servicios de integración. Cada servicio depende normalmente de servicios de niveles inferiores y respalda el funcionamiento de servicios superiores.
La Figura 2–2, sin embargo, no representa una distribución en capas estricta de los servicios de infraestructura. Los servicios de nivel superior pueden interactuar directamente con servicios de nivel inferior sin depender de niveles intermedios. Por ejemplo, algunos servicios de tiempo de ejecución pueden depender directamente de servicios de plataforma sin necesitar ninguno de los niveles de servicio intermedios. Además, otros niveles de servicio, como los de supervisión o administración, también podrían incluirse en esta ilustración conceptual.
Los componentes de Java ES despliegan los niveles de los servicios de infraestructura distribuidos que se muestran en la Figura 2–2. La posición de los componentes de los servicios del sistema de Java ES en los diferentes niveles es la que se muestra en la Figura 2–3.
Las plataformas de los sistemas operativos que se muestran en la Figura 2–3 no son una parte formal de Java Enterprise System; sin embargo, se incluyen para mostrar las plataformas de los sistemas operativos en las que se admite el uso de los componentes de Java ES.
En general, los componentes de los servicios del sistema de Java ES que se muestran en la Figura 2–3 dependen de los componentes situados debajo de ellos en la infraestructura, a la vez que proporcionan respaldo a los componentes que están situados encima de ellos. Estas relaciones de dependencia y compatibilidad son un factor clave para diseñar las arquitecturas lógicas.
En la Tabla 2–1 se muestran las relaciones específicas entre los componentes de los servicios del sistema de Java ES, enumerados desde el nivel superior al inferior, tal y como se muestra en la Figura 2–3.
Tabla 2–1 Relaciones entre los componentes de los servicios del sistema de Java ES
Componente |
Depende de |
Respalda el funcionamiento de |
---|---|---|
Portal Server |
Application Server o Web Server Access Manager Directory Server Si se configura para usar los canales de: Calendar Server Messaging Server Instant Messaging | |
Messaging Server |
Directory Server Access Manager (para el inicio de sesión único) |
Calendar Server (para las notificaciones de correo electrónico) Portal Server (para el canal de mensajería) |
Instant Messaging |
Directory Server Access Manager (para el inicio de sesión único) |
Portal Server (para el canal de mensajería instantánea) |
Calendar Server |
Directory Server Messaging Server (para el servicio de notificación de correo electrónico) Access Manager (para el inicio de sesión único) |
Portal Server (para el canal de calendario) |
Access Manager |
Application Server o Web Server Directory Server |
Portal Server Si se configura para el inicio de sesión único: Calendar Server Messaging Server Instant Messaging |
Application Server |
Message Queue Directory Server (para los objetos administrados) |
Portal Server Access Manager |
Message Queue |
Directory Server (para los objetos administrados) |
Application Server |
Web Server |
Access Manager (para el control de acceso) |
Portal Server Access Manager |
Directory Server |
Ninguno |
Portal Server Calendar Server Messaging Server Instant Messaging Access Manager |
Service Registry |
Ninguno |
Componentes basados en Application Server |
Los componentes de software que interactúan de las aplicaciones de empresa distribuidas se pueden visualizar como residentes en un número de capas lógicas. Estas capas representan la independencia física y lógica de los componentes de software basándose en la naturaleza de los servicios que proporcionan.
La dimensión de las capas lógicas de la arquitectura de la solución se muestra en la siguiente figura.
En su mayor parte, las arquitecturas de capas lógicas representan la capa de aplicación empresarial distribuida de la Figura 1–1. Los componentes de los servicios del sistema de Java ES se describen en Niveles de servicio de infraestructura para proporcionar asistencia a los componentes de aplicaciones de todas las capas lógicas que se muestran en la Figura 2–4. Sin embargo, los conceptos de capas lógicas también se aplican a los componentes de los servicios del sistema que proporcionan servicios de nivel de aplicación, tales como Messaging Server y Calendar Server.
Esta sección proporciona breves descripciones de las cuatro capas lógicas que se muestran en la Figura 2–4. Las descripciones hacen referencia a componentes de aplicaciones desplegados usando el modelo del componente Java 2 Platform, Enterprise Edition (plataforma J2EETM). No obstante, otros modelos de componente distribuidos, como CORBA, también son compatibles con esta arquitectura.
Capa de cliente. La capa de cliente está formada por la lógica de aplicación a la que obtiene acceso directamente un usuario final mediante una interfaz de usuario. La lógica de la capa de cliente podría incluir clientes basados en navegadores, componentes de Java que se ejecuten en un equipo de escritorio o clientes móviles de Java 2 Platform, Micro Edition (plataforma J2METM) que se ejecuten un dispositivo de mano.
Capa de presentación. La capa de presentación está formada por la lógica de aplicación, que prepara datos para su envío a la capa de cliente y procesa solicitudes desde la capa de cliente para su envío a la lógica de negocios del servidor. La lógica en la capa de presentación consiste normalmente en componentes de J2EE como, por ejemplo, los componentes Java Servlet o los componentes JSP que preparan los datos para enviarlos en formato HTML o XML o que reciben solicitudes para procesarlas. Esta capa también puede incluir un servicio de portal que proporcione acceso personalizado y seguro a los servicios de negocios en la capa de servicios de negocio.
Capa de servicios de negocio. La capa de servicios de negocio consiste en la lógica que realiza las funciones principales de la aplicación: procesamiento de datos, implementación de funciones de negocios, coordinación de varios usuarios y administración de recursos externos como, por ejemplo, bases de datos o sistemas heredados. Esta capa suele estar formada por componentes firmemente acoplados que se ajustan al modelo de componentes distribuidos de J2EE como, por ejemplo, los objetos Java, los componentes EJB o los beans conducidos mediante mensajes. Pueden montarse componentes J2EE individuales para ofrecer servicios de negocios complejos, como, por ejemplo, un servicio de inventario o uno de cálculo de impuestos. Los componentes individuales y los ensamblados de servicios se pueden encapsular como servicios web que no estén firmemente acoplados en un modelo de arquitectura orientada a servicios y que se ajuste a los estándares de la interfaz Simple Object Access Protocol (SOAP). Los servicios de negocio también se pueden crear como servidores independientes como, por ejemplo, un servidor de mensajería o un servidor de calendario empresarial.
Capa de datos. La capa de datos consta de servicios que ofrecen datos persistentes utilizados por la lógica de negocios. Los datos pueden ser datos de aplicaciones almacenados en un sistema de administración de bases de datos o pueden incluir información de recursos y directorios almacenada en un almacén de datos de protocolo ligero de acceso a directorios (LDAP). Los servicios de datos también pueden incluir alimentación de datos de orígenes externos o datos a los que se puede obtener acceso desde sistemas informáticos heredados.
La dimensión arquitectónica que se ilustra en la Figura 2–4 destaca la independencia lógica y física de los componentes, representada mediante 4 capas separadas. Estas capas representan la partición de la lógica de la aplicación en varios equipos en un entorno de red:
Independencia lógica. Las cuatro capas del modelo arquitectónico representan independencia lógica: puede modificar la lógica de la aplicación en una capa (por ejemplo, en la capa de servicio de negocios) independientemente de la lógica de las otras capas. Puede cambiar la implementación de lógica de negocios sin tener que cambiar o actualizar la lógica de la capa de presentación o la de cliente. Esta independencia significa, por ejemplo, que puede introducir nuevos tipos de componentes de clientes sin tener que modificar los componentes de los servicios de negocios.
Independencia física. Las cuatro capas también representan independencia física: es posible implementar la lógica en capas distintas en varias plataformas de hardware (es decir, varias configuraciones de procesador, conjuntos de chips y sistemas operativos). Esta independencia permite ejecutar componentes de aplicación distribuida en los equipos que mejor se adapten a las necesidades informáticas individuales y a maximizar el ancho de banda de red.
La forma de asignar componentes de aplicación o componentes de infraestructura a un entorno de hardware (es decir, la arquitectura de implementación) depende de muchos factores, en función de la escala y la complejidad de la solución de software. Para implementaciones muy pequeñas, una arquitectura de implementación puede implicar sólo unos pocos equipos. Para las implementaciones a gran escala, la asignación de los componentes en un entorno de hardware puede tener en cuenta factores como la velocidad y potencia de los distintos equipos, la velocidad y el ancho de banda de los enlaces de la red, las consideraciones de seguridad y de servidores de seguridad y las estrategias de duplicación de componentes para obtener escalabilidad y una alta disponibilidad.
Tal y como se muestra en la Figura 2–3, los componentes de los servicos de la infraestructura de Java ES proporcionan la infraestructura subyacente que permite utilizar soluciones de software distribuidas. Sin embargo, algunas de estas soluciones incluyen servicios de nivel de aplicaciones proporcionados directamente por los componentes de Java ES. Estas soluciones utilizan enfoques de diseño de capas lógicas.
Por ejemplo, los servicios de comunicación mediante correo electrónico proporcionados por Messaging Server se despliegan usando una serie de configuraciones diferenciadas desde el punto de vista lógico de Messaging Server. Estas diferentes configuraciones proporcionan conjuntos distintos de servicios. Al diseñar las soluciones de mensajería, estas configuraciones distintas se representan como componentes separados que están situados en distintas capas lógicas, como se muestra en la siguiente figura.
La Figura 2–5 no pretende reflejar una arquitectura lógica completa puesto que se han omitido algunos componentes de Java ES para simplificar la ilustración. Las líneas que conectan los componentes representan interacciones.
La separación lógica de las funciones de Messaging Server en distintas capas permite implementar las configuraciones lógicamente distintas de Messaging Server en varios equipos en un entorno físico. La separación física aporta flexibilidad a la hora de satisfacer los requisitos de calidad del servicio (consulte Dimensión 3: calidad del servicio). Por ejemplo, proporciona diversas soluciones de disponibilidad para distintas instancias y distintas implementaciones de seguridad para funciones de Messaging Server diferentes.
Las dos dimensiones arquitectónicas anteriores (dependencias de servicio de infraestructura y capas lógicas) hacen referencia en buena parte a los aspectos lógicos de la arquitectura, es decir, qué componentes son necesarios para interactuar de cierto modo con objeto de ofrecer los servicios a los usuarios finales. No obstante, una dimensión igualmente importante de cualquier solución implementada es la capacidad de ésta para cumplir los requisitos de calidad de servicio.
La dimensión de calidad del servicio de una arquitectura de solución destaca las funciones desempeñadas por los componentes de calidad de servicio de Java ES.
A medida que los servicios de Internet y de comercio electrónico se han hecho más importantes para las operaciones de negocios, el rendimiento, la disponibilidad, la seguridad, la escalabilidad y la facilidad de mantenimiento de estos servicios se han convertido en un requisito fundamental de calidad de servicio para las arquitecturas de implementación de alto rendimiento y de gran escala.
Para diseñar una solución de software con éxito, se deberá determinar los requisitos de calidad de servicios relevantes y diseñar una arquitectura que satisfaga dichos requisitos. Se utiliza un número de importantes calidades de servicios para especificar los requisitos de calidad de servicio. Estas calidades de servicios se resumen en la siguiente tabla.
Tabla 2–2 Calidades de servicio que afectan a la arquitectura de solución
Calidades de servicio del sistema |
Descripción |
---|---|
La medición de la latencia y del tiempo de respuesta con relación a las condiciones de carga de usuarios. |
|
Medida de la frecuencia con que los usuarios finales acceden a los servicios y recursos de un sistema (el tiempo de actividad de un sistema). |
|
Combinación compleja de factores que describe la integridad de un sistema y sus usuarios. La seguridad incluye la seguridad física de los sistemas, seguridad de red, seguridad de datos y aplicaciones (autenticación y autorización de usuarios), así como el transporte seguro de la información. |
|
La capacidad de agregar a lo largo del tiempo funciones a un sistema implementado. La escalabilidad normalmente implica agregar recursos al sistema, pero no debería requerir cambios en la arquitectura de implementación. |
|
La capacidad de un sistema para gestionar el uso de carga máxima inusual sin recursos adicionales. |
|
La facilidad con que un sistema implementado puede mantenerse, incluidas tareas tales como la supervisión del sistema, la reparación de los problemas que surjan y la actualización de los componentes de hardware y software. |
La dimensión de calidad de servicio influye en gran medida en la arquitectura de despliegue de una solución: cómo se implementan en el entorno físico los componentes de la aplicación y componentes de infraestructura.
Las calidades del servicio que afectan a la arquitectura de implementación están estrechamente interrelacionadas. Los requisitos para una calidad de sistema afectan a menudo al diseño de otras calidades de servicio. Por ejemplo, unos mayores niveles de seguridad podrían afectar al rendimiento, que a su vez podría afectar a la disponibilidad. La integración de equipos adicionales para solucionar problemas de disponibilidad mediante la redundancia a menudo afecta a los costes de mantenimiento (facilidad de mantenimiento).
Al diseñar arquitecturas de implementación que satisfagan las necesidades y las limitaciones de negocios, es importante conocer el modo de interrelación de las calidades del servicio y las concesiones que se deben realizar.
Varios componentes de Java ES se utilizan principalmente para mejorar la calidad de los servicios proporcionados por los componentes de los servicios del sistema o por los componentes de aplicaciones distribuidas. A menudo, estos componentes de software se utilizan junto con los componentes de hardware como, por ejemplo, equilibradores de carga y servidores de seguridad.
Los componentes de calidad del servicio de Java ES, de los que se realiza una introducción en Componentes de calidad del servicio, se resumen a continuación:
Componentes de disponibilidad. Estos componentes proporcionan un tiempo de actividad prácticamente continuo en una solución implementada.
Componentes de acceso. Estos componentes proporcionan un acceso a Internet seguro a los servicios del sistema y, a menudo, proporcionan también una función de enrutamiento.
Componentes administrativos. Estos componentes proporcionan una mejor capacidad de mantenimiento para los componentes del sistema.
La siguiente tabla muestra los componentes de calidad del servicio de Java ES más importantes desde una perspectiva arquitectónica con las calidades de sistema a las que más afectan.
Tabla 2–3 Componentes de calidad de servicio y calidades de sistema afectadas
Componente |
Calidades de sistema afectadas |
---|---|
Escalabilidad |
|
almacén de sesión de alta disponibilidad | |
Sun Cluster | |
Web Proxy Server |
El software de Sun Cluster proporciona servicios de alta disponibilidad y escalabilidad para los componentes de Java ES y para las aplicaciones a las que proporciona compatibilidad la infraestructura de Java ES.
Un clúster es un conjunto de equipos que no están firmemente acoplados y que, en conjunto, ofrecen una vista de cliente única de los servicios, los recursos del sistema y los datos. Internamente, el clúster utiliza equipos redundantes, interconexiones, almacenamiento de datos e interfaces de red para ofrecer alta disponibilidad en datos y servicios basados en clúster.
El software de Sun Cluster supervisa continuamente el estado de los nodos miembros y de otros recursos del clúster. En caso de fallo, el software de Sun Cluster interviene para iniciar la recuperación de los fallos de los recursos que supervisa y utiliza, por tanto, la redundancia interna para proporcionar un acceso prácticamente continuo a estos recursos.
En la figura que aparece a continuación se representa un clúster de dos nodos que hace posible el uso de servicios de almacén de datos para Messaging Server y Calendar Server.
Los paquetes de servicios de datos de Sun Cluster (a veces denominados "agentes de Sun Cluster") están disponibles para todos los componentes de los servicios del sistema Java ES. También puede escribir agentes para componentes de aplicaciones personalizados.
Dado el control que permite el software de Sun Cluster, también puede ofrecer servicios escalables. Aprovechando el sistema de archivos global del clúster y la capacidad de que haya varios nodos en un clúster para ejecutar servicios de aplicaciones e infraestructura, la creciente demanda de estos servicios puede equilibrarse en varias instancias simultáneas de los servicios. Por lo tanto, si se configura correctamente, el software de Sun Cluster puede proporcionar alta disponibilidad y escalabilidad en una aplicación de empresa distribuida.
Debido a la redundancia necesaria para poder usar los entornos de Sun Cluster, la inclusión de Sun Cluster en una solución aumenta sustancialmente el número de equipos y vínculos de red necesarios en el entorno físico.
A diferencia de los servicios proporcionados por otros componentes de Java ES, los servicios de disponibilidad de Sun Cluster son servicios "de igual a igual" distribuidos. Por lo tanto, el software de Sun Cluster debe instalarse en cada equipo de un clúster.
Cuando se visualizan juntas, las tres dimensiones arquitectónicas, que se muestran en la Figura 2–1 y que se describen en las secciones anteriores, proporcionan un marco para el diseño de soluciones de software distribuidas. Las tres dimensiones (dependencias de servicios de infraestructura, capas lógicas y calidad del servicio) destacan la función desempeñada por los componentes de Java ES en las arquitecturas de soluciones.
Cada dimensión representa una perspectiva arquitectónica diferente. Cualquier arquitectura de soluciones deberá tomarlas todas en cuenta. Por ejemplo, los componentes distribuidos en cada capa lógica de una arquitectura de soluciones (dimensión 2) deberán estar apoyados por los componentes de infraestructura adecuados (dimensión 1) y los componentes de calidad de servicio adecuados (dimensión 3).
Igualmente, cualquier componente de una arquitectura de soluciones desempeña distintas funciones con respecto a las distintas dimensiones arquitectónicas. Por ejemplo, Directory Server se puede considerar como un componente de servidores en la capa de datos (dimensión 2) y como un proveedor de servicios de persistencia (dimensión 1).
Debido a la centralidad de Directory Server con respecto a estas dos dimensiones, los asuntos de calidad del servicio (dimensión 3) son vitales para este componente de Java ES. Un fallo de Directory Server tendría una tremenda repercusión en un sistema de negocios, de forma que el diseño de alta disponibilidad para este componentes es fundamental; y debido a que Directory Server se utiliza para almacenar información de configuración o de usuario importante, el diseño de seguridad de este componente también es muy importante.
La interrelación de las tres dimensiones con respecto a los componentes de Java ES afecta al diseño de arquitecturas lógicas de soluciones y al diseño de arquitecturas de implementación de soluciones.
Queda fuera del ámbito de este manual la descripción detallada de las metodologías de diseño basadas en el marco arquitectónico que representa Marco arquitectónico de Java Enterprise System. Sin embargo, el marco arquitectónico tridimensional destaca aspectos de diseño que son importantes para comprender la implementación de soluciones de software basadas en Java Enterprise System.