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