Download TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de

Document related concepts
no text concepts found
Transcript
TEMA 5. Otras arquitecturas distribuidas
III. Otros entornos de objetos distribuidos
j
III Otros entornos de objetos distribuidos
III. Otros entornos de objetos distribuidos
1. Problemas de CORBA
2. Java Enterprise Edition
1. EJB
2. Servidor de aplicaciones
S id d li i
3. Arquitectura Java EE
4. Ejemplo
3. Otros sistemas RMI
4. Sistemas basados en eventos
5. Otra definición de middleware
Problemas de CORBA
y Problemas en la especificación: las primeras versiones dejaron muchas y
y
y
y
cuestiones sin especificar. Se solventaron con las nuevas versiones pero ya era demasiado tarde para que la industria lo adoptara.
ya era demasiado tarde para que la industria lo adoptara
Se especificó mal: complejo, muy caro de implementar completamente y ambiguo
Los vendedores nunca proporcionaron productos completamente compatibles
Sun lanzó los EJB, competencia directa y mucho más simples
Microsoft nunca apoyó CORBA
y Apostó por XML y lanzó SOAP como protocolo de invocación de procedimientos remotos y La fragmentación del mercado hizo que muchos vendedores decidieran adoptar el modelo de Web Services, incluso aunque es menos eficiente.
y CORBA es una tecnología “de nicho” en la práctica
Arquitecturas Distribuidas 09/10
3
Java Enterprise Edition
p
y Antes denominada J2EE, ahora Java EE.
y Conjunto de librerías para el desarrollo de aplicaciones empresariales en múltiples capas. últi l y Basada en un modelo de componentes software
y Nivel de abstracción superior a un objeto. Sería el equivalente software a un componente hardware: el componente define una interfaz y el conjunto de mensajes que admite y resultados que produce, que son siempre iguales.
y Las aplicaciones se construyen a partir de componentes “de negocio” (
(Enterprise Java Beans, EJB)
p
J
, J )
y EJB = objeto remoto en el servidor
y Los clientes invocan remotamente métodos de los EJB
y Se integra con una capa web, que utiliza JSP (equivalente Java a PHP, g
p
,q
J ( q
J
,
aprox.). Permite el uso de Web Services.
y Proporciona múltiples librerías auxiliares
Arquitecturas Distribuidas 09/10
4
EJB
y Objeto/componente que proporciona métodos para ser invocados remotamente por los clientes
y Dos tipos
y Session Bean: objeto transitorio, se instancia para j
,
p
responder a una invocación y se borra al terminar
y Message‐driven Bean: igual que el anterior pero además permite recibir mensajes asíncronamente de otros componentes
y Persistencia automática
y Los campos de un componente persistente se guardan automáticamente en una BBDD.
Arquitecturas Distribuidas 09/10
5
Servidor de aplicaciones
p
y Gestor de todos los elementos de la arquitectura
y Contenedor de componentes (EJB, entidades C
d d (EJB id d persistentes)
y Contenedor de JSP y páginas web
C t
d d JSP á i b
y Servicios adicionales
y Transacciones
y Seguridad
y Mensajes
y Conectores con tecnologías externas
Arquitecturas Distribuidas 09/10
6
Arquitectura Java EE (I)
Arquitecturas Distribuidas 09/10
7
A it t
Arquitectura Java EE (II)
J
EE (II)
Arquitecturas Distribuidas 09/10
8
Ej
l
Ejemplo
Arquitecturas Distribuidas 09/10
9
Otros sistemas RMI
y Java RMI y .NET Remoting
y Exclusivos de la plataforma (no interoperables con otras E l i d l l t f
( i t
bl t tecnologías)
y Más simples que CORBA
y Servicios adicionales (transacciones, seguridad, etc.) más limitados
Arquitecturas Distribuidas 09/10
10
Sistemas basados en eventos
y Los componentes software reaccionan ante la ocurrencia de L f
i
l i d eventos (físicos o lógicos)
y Es necesario un mecanismo de comunicación de eventos asíncrono
y La mayoría de las tecnologías para sistemas distribuidos incorporan estos mecanismos (Java Messaging Service, Microsoft WCF, CORBA)
y Habitualmente basados en el patrón publisher/consumer
Arquitecturas Distribuidas 09/10
11
Otra definición de middleware
y En muchas ocasiones se denomina middleware a cualquier capa software que permite la integración e interoperabilidad de diferentes aplicaciones y servicios
p
p
y
y El middleware en sentido amplio es, por tanto, el software que adapta formatos y mensajes y permite intercambiar información entre aplicaciones servicios y intercambiar información entre aplicaciones, servicios y sistemas diferentes.
y Las capas middleware tienden a ser bloques transitorios en las arquitecturas software: se utilizan en muchas l it t
ft
tili
h ocasiones para integrar tecnologías novedosas en sistemas más antiguos. A la larga acaban siendo i
incorporadas como parte integral del sistema.
d t i t
l d l i t
Arquitecturas Distribuidas 09/10
12