introducción a corba, omg y oma

Anuncio
ÍNDICE DEL CURSO
■
CORBA
➨
■
Antecedentes históricos.
Introducción a CORBA, OMG y OMA.
Arquitectura CORBA.
Angel García Baños
Escuela de Ingeniería de Sistemas y Computación
Universidad del Valle
27 de Noviembre de 2002
CORBA 3
AGB
2
INTRODUCCIÓN A CORBA, OMG y OMA
■
INTRODUCCIÓN A
CORBA, OMG Y OMA
■
■
¿Qué es CORBA?
¿Quién es OMG?
OMA (Object Management Architecture).
– Core Object Model.
– Reference Model.
■
■
■
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
AGB
¿Qué es CORBA?
INTRODUCCIÓN A CORBA, OMG y OMA
➨
■
■
■
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
■
■
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
AGB
5
CORBA es la especificación de una arquitectura,
diseñada por el grupo OMG, para facilitar la
interacción remota de aplicaciones.
– Es una especificación. OMG no ofrece implementaciones
(código).
– Es una arquitectura. Está basada en un modelo de
programación orientado a objetos (OMA).
– Core Object Model.
– Reference Model.
■
4
■
Ya salió la versión 3.0 de CORBA.
– La especificación completa ocupa muchos libros y es
difícil de entender. Está en continua evolución.
– Después de obtener una visión global, nos centraremos
en los aspectos mas importantes que permiten empezar a
crear aplicaciones.
6
AGB
¿Quién es OMG?
INTRODUCCIÓN A CORBA, OMG y OMA
■
➨
■
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
■
■
– Core Object Model.
– Reference Model.
■
■
■
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
AGB
7
¿Quién es OMG?
■
■
AGB
■
Organizado en grupos internos:
Estándares aprobados por votación (RFI, RFP).
Se chequean inconsistencias internas.
AGB
■
■
AGB
■
– Promoción del uso de tecnología OO para desarrollo de
software en general.
– Definición de un modelo y una interfase para el desarrollo
y uso de grandes aplicaciones distribuidas (procesamiento
distribuido abierto) basadas en tecnología OO.
– Promover cooperación para implantar estándares.
– Otros objetivos son crear consenso acerca de:
■
– La producción modular de software.
– La reutilización del software.
– La integración del software realizado por diferentes
personas, sobre distinto hardware y para distintos
sistemas operativos.
– El mantenimiento de ese software.
– La portabilidad e interoperatividad entre aplicaciones.
10
INTRODUCCIÓN A CORBA, OMG y OMA
Objetivos de OMG:
■
El grupo OMG llegó a la conclusión de que la
tecnología OO facilita:
9
¿Quién es OMG?
■
8
¿Quién es OMG?
– OMG Board.
– Architecture Board.
– Platform Technology Comittee (Object Services, Common
Facilities, Object Analysis and Design, Internet, Japan &
Internationalization, Real-Time).
– Domain Technology Comittee (Medical, Financial,
Telecommunications, Manufacturing, Multimedia &
Electronic Commerce, Business).
– Special Interest Groups (End User, Security, Metrics).
■
OMG = Object Management Group
Creado en 1989. Actualmente conformado por
alrededor de 800 compañías de software, hardware
y telecomunicaciones (Sun, IBM, 3Com, American
Airlines, Hewlett-Packard, Microsoft, Philips, Canon,
Data General, Unisys...).
El OMG no desarrolla software, sino que se limita a
definir y publicar estándares. El desarrollo del
software
se
realiza
en
cada
compañía
independientemente.
Los términos técnicos relacionados con los objetos.
Un modelo de referencia común.
Interfases y protocolos normalizados.
AGB
■
➨
– Core Object Model.
– Reference Model.
■
■
■
11
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
AGB
12
OMA (Object Management
Architecture)
■
■
INTRODUCCIÓN A CORBA, OMG y OMA
Toda la tecnología definida por OMG (incluyendo
CORBA) hace referencia a un modelo de manejo de
objetos: el OMA.
A su vez, el OMA comprende dos temas:
– Core Object Model: define los conceptos que facilitan el
desarrollo de aplicaciones distribuidas. Es importante para
quien diseña o implementa ORBs.
– Reference Model: Define grupos de objetos alrededor del
ORB. Es importante para quien diseña aplicaciones
CORBA.
AGB
– Las acciones se consiguen enviando mensajes a los
objetos.
– Firma (signature) de una acción: el nombre de la
operación, los parámetros de entrada y los de salida.
– Interfase de un objeto: su conjunto de firmas (las
operaciones ofrecidas por el objeto).
– Sustituibilidad: un objeto que ofrece una interfase puede
sustituirse por otro objeto ofreciendo “similar” interfase.
– Herencia: un objeto puede heredar la interfase de otro.
AGB
■
■
» Core Object Model: define como se describen los objetos.
– Reference Model: define como interactúan los objetos.
■
■
■
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
■
Por ejemplo, CORBA
extiende
la
firma
incluyendo contexto
y excepciones.
■
■
Profile
define
extiende (usando herencia)
16
AGB
Reference Model (interacción entre
objetos)
■
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
CORBAfacilities
(horizontal)
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
AGB
Core Object Model
Component
– Core Object Model: define como se definen los objetos.
» Reference Model: define como interactúan los objetos.
■
14
AGB
15
INTRODUCCIÓN A CORBA, OMG y OMA
■
■
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
Core Object Model
Su principal objetivo es proporcionar portabilidad e
interoperabilidad.
Es un modelo clásico OO:
■
■
13
Core Object Model (descripción de
objetos)
■
■
17
Domain
Interfaces
(vertical
industries)
Object Request Broker (ORB)
CORBAservices
■
■
■
Application
Objects
(nonstandard)
AGB
■
El ORB es el núcleo de
las comunicaciones.
Las aplicaciones no se
van a estandarizar.
Los servicios son para
los desarrolladores de
aplicaciones.
Las facilidades son
para
los
usuarios
finales, para todos los
dominios.
Las interfases para
dominios estandarizan
áreas de aplicación.
18
Reference Model
■
Reference Model (CORBAservices)
Servicios para los objetos (CORBAservices, COSS):
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
Nombres.
Eventos.
Ciclo de vida.
Relaciones.
Externalización.
Transacciones.
Concurrencia.
■
Licencias.
Interrogación.
Propiedades.
Seguridad.
Tiempo.
Colecciones.
Negocios (páginas amarillas).
Persistencia.
AGB
■
■
19
Reference Model (CORBAservices)
■
Reference Model (CORBAservices)
Relaciones (Relationships): permite crear relaciones entre
objetos, destruirlas y navegar por ellas. Lo logra definiendo
dos nuevas clases de objetos: relaciones y roles. Un rol
representa un objeto CORBA en una relación. Una relación
se crea pasando un conjunto de roles a una factoría de
relaciones. Se definen tres niveles de servicio:
– El nivel básico maneja relaciones y roles.
– Cuando los objetos están relacionados, forman un grafo. En el grafo
aparecen nodos y objetos intermedios.
– A un tercer nivel se definen relaciones mas específicas de contenido y
de referencia.
■
■
■
■
■
■
Externalización (Externalisation): define protocolos y
convenciones para externalizar (almacenar) el estado de un
objeto e internalizarlo (recuperarlo) dentro del mismo ORB o
en otro. Define el formato de
los datos externalizados.
21
AGB
Reference Model (CORBAservices)
■
Ciclo de vida (Life Cycle): proporciona un marco para la
creación, copiado, movimiento y destrucción de objetos. Los
objetos que pueden crear otros objetos se llaman factorías.
La operación de copia duplica el objeto sin cambiarlo de
computador. La operación de movimiento produce la
migración de un objeto de un computador a otro (realmente
ello solo se puede conseguir en escenarios muy
restringidos).
Transacciones (Transactions): cuando un cliente hace una
serie de peticiones a un servidor, este servicio las dota de
propiedades ACID (Atomicidad, Consistencia, aIslamiento y
Durabilidad). Las transacciones pueden ser planas o
anidadas (es decir, formadas a su vez de varias
transacciones internas). Necesita los servicios de
concurrencia y de persistencia,
22
AGB para funcionar.
Reference Model (CORBAservices)
Concurrencia (Concurrency): permite a un servidor ser
accedido por varios clientes simultáneamente, de una
manera consistente y coherente. Asegura que tanto los
clientes transaccionales como los no-transaccionales sean
serializados uno respecto al otro (asegura acceso sin
interrupciones).
Licencias (Licensing): proporciona facilidades para el manejo
de licencias de usuario, para medir el tiempo que el usuario
utiliza los objetos bajo licencia y para cobrarle costos.
Propiedades (Properties): las propiedades son valores con
nombre y tipo, que se pueden asociar dinámicamente a
objetos.
Colecciones (Collections): proporciona una manera uniforme
de agrupar objetos como conjuntos, colas, listas, stacks, etc.
AGB
Nombres (Naming): permite buscar objetos por su nombre.
Ofrece estándares para nombrar objetos, usando contextos
y ámbitos. Permite crear federaciones distribuidas de
espacios de nombres.
Páginas amarillas (Trading): permite buscar objetos por el
servicio que prestan.
Eventos (Events): se encarga de notificar eventos a los
objetos que se hayan suscrito previamente a un canal de
eventos. A cada canal pueden estar conectados múltiples
productores de eventos y múltiples consumidores de
eventos. Cada canal funciona según una política push (el
productor comienza la transferencia de un evento hacia el
canal) o pull (el consumidor es el que comienza pidiendo un
evento).
20
AGB
23
■
Seguridad (Security): proporciona a la comunicación entre
objetos:
– Confidencialidad: la información solo puede ser leída por el
objeto destinatario.
– Integridad: la información no puede ser alterada mientras va
en tránsito.
– Contabilidad: se guarda registro de las acciones de seguridad
realizadas por los usuarios (uso de passwords con éxito y
fallidos, uso de protocolos de seguridad, firmas de los
mensajes emitidos, etc).
– Disponibilidad: los usuarios autorizados no deben ser
rechazados por el sistema.
AGB
24
Reference Model (CORBAservices)
■
■
■
Reference Model
Tiempo (Time): proporciona mecanismos para sincronizar
relojes en un sistema distribuido. Soporta la noción de
tiempo compatible con el tiempo coordinado universal
(UTC). Necesita de los servicios de seguridad para funcionar.
Interrogación (Query): define interfases para realizar
operaciones en colecciones de objetos que tienen una
especificación declarativa basada en predicados y cuyo
resultado puede ser otra colección de objetos. Permite usar
SQL.
Persistencia (Persistence): proporciona mecanismos para
que los objetos almacenen su estado interno en una
memoria no-volátil (disco duro) de una manera
independiente del objeto. NOTA: este servicio no está bien
■
– Interfaz de usuario: para acceso del usuario a las
aplicaciones y para su presentación (ventanas, imprimir).
– Gestión
de
información:
para
el
modelado,
almacenamiento, recuperación e intercambio de
información.
■
■
■
26
Aplicaciones:
– Las aplicaciones son los clientes y los objetos. Los clientes
solicitan servicios a los objetos, que a su vez pueden
comunicarse con otros objetos.
– No hay ningún estándar en cuanto a la forma de diseñar
la aplicación.
– Si OMG identifica nuevos dominios de interés, podría
estandarizar nuevos servicios para esas aplicaciones (en
las interfases de dominios).
27
Reference Model
AGB
28
INTRODUCCIÓN A CORBA, OMG y OMA
Objetivos del ORB:
■
– Transparencia en la ubicación de los objetos.
– Transparencia en la implementación de cada objeto
(lenguaje de programación, sistema operativo y
hardware).
■
■
Telecomunicaciones (CORBAtelecoms).
Internet (CORBAnet).
Negocios, bancos, financieras (CORBAfinance).
Fabricación (CROBAmanufacturing).
Medicina (CORBAmed).
AGB
■
AGB
Reference Model
Interfases de dominio (orientadas al tipo de
aplicación):
–
–
–
–
–
Manejo de agentes estáticos y móviles.
25
Reference Model
■
Internacionalización y manejo del tiempo.
Documentos distribuidos (basada en OpenDoc de Apple).
– Gestión de sistemas: control, monitoreo, seguridad,
configuración, políticas de operación (adición de
usuarios, permisos, instalación de programas...).
– Gestión de tareas: para la automatización del trabajo.
pensado. Se sustituirá por otro que está diseñandose.
AGB
Facilidades comunes (CORBAfacilities):
■
■
– Core Object Model.
– Reference Model.
De este modo, los objetos que ofrecen la misma
interfase son sustituibles (aunque puede haber
variaciones en rapidez, costo, calidad e incluso
semántica). El servicio de negocios (TRADING)
permite a los clientes encontrar los objetos mas
adecuados según estos criterios.
AGB
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
➨
■
■
29
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
AGB
30
Ventajas de los objetos distribuidos
Ventajas de los objetos distribuidos
– Compartir información entre aplicaciones y/o usuarios.
– Sincronizar actividades entre diversos computadores.
– Aumentar el rendimiento de una aplicación, al ejecutarse
en paralelo entre varios computadores.
– Que los PCs puedan acceder a información (usualmente
bases de datos) de ambientes UNIX o Mainframes.
– Que gente en diferentes localidades pueda colaborar.
– Ser reemplazados por versiones mejoradas sin tener que
modificar las aplicaciones que los usen.
– Tener una gran potencia de cómputo accesible desde el
propio computador.
– Las aplicaciones crecen sin colapsarse (escalabilidad).
INTRODUCCIÓN A CORBA, OMG y OMA
■
■
➨
■
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
■
■
■
■
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
Compañías que ofrecen CORBA
Licencia
Orbix
IONA
Visibroker
MICO
ORBacus
JacORB
ORBit
TAO
Borland
X X
GNU
X
IONA
X X
GNU
X
GNU
X
GNU
X
OpenORB DOG
X X X
X
X
X
X
X
XX
X
X
X
X
X
■
■
■
X
X
X X X X X X X X X X
X
X X X X
X X X X X
X
X X
X X X
X
X X X X
X
X
X
X
XX X X X X X
X X
AGB
X X
X X X X
■
X X
X
X
X
X
X XX X
ATT: omniORB
Iona: Orbix
DOG: OpenORB
OOC: ORBacus
Inprise-Borland: VisiBroker (demo de 60 días)
GNU: TAO, ORBit, MICO y JacORB (gratis)
Hay varias decenas, y cada día aparecen mas.
AGB
Servicios (CORBAservices)
XX XX X
X
32
34
Compañías que ofrecen CORBA
C
C++
Java
Cobol
SmallT
Ada
Linux
Solaris
WinNT/
Namin
Life
Events
Tradin
Concu
Transa
Time
Proper
Securit
Relatio
Extern
Collect
Persist
Real
Ti /Q
ORB
Sistem
as
Operati
vos
■
33
AGB
Lenguajes
AGB
Compañías que ofrecen CORBA
– Core Object Model.
– Reference Model.
■
– Manejo automático del envío/recepción de parámetros
(tipos, marshalling/demarshalling, orden de bytes).
– El cliente puede averiguar los servicios ofrecidos por los
objetos: están en el depósito de interfases (IR).
– Se puede usar cualquier lenguaje de programación para
cliente y objetos, en cualquier sistema operativo, en
cualquier tipo de computador.
– El objeto puede estar dormido (en disco) y el ORB lo
activará antes de pasarle la llamada, de manera
transparente al cliente.
– El objeto llamado puede devolver como resultado una
referencia (puntero) a otro objeto.
31
AGB
■
Ventajas específicas de CORBA:
■
X
X
ORBacus, MICO, JacORB, OpenORB, ORBit y TAO se
consiguen gratis en internet. Visibroker se consigue gratis en
versión demo de 60 días.
TAO es un sistema experimental donde se investiga en
servicios de Tiempo Real y de QoS (Quality of Service,
Calidad de Servicio). Las QoS definen prioridades de unas
comunicaciones sobre otras o reservas de anchos de banda
extremo a extremo. De esta manera se podrá especificar,
por ejemplo para videoconferencia, la calidad de las
transmisiones de imágen y de sonido.
X
X
35
AGB
36
Compañías que ofrecen CORBA
■
■
INTRODUCCIÓN A CORBA, OMG y OMA
Si la aplicación distribuida a diseñar corre en varios
computadores y todos tienen el mismo sistema operativo y
tanto los clientes como los servidores los va a escribir en el
mismo lenguaje, entonces la tabla anterior le servirá para
elegir un único ORB.
En caso de que el entorno de trabajo sea heterogéneo,
deberá seleccionar varios ORB, de modo que cubran todas
las necesidades. Todos los ORB de CORBA son compatibles
entre sí, ya que siguen una especificación de comunicación
general llamada GIOP que está estandarizada. Si la
comunicación entre computadores se hace a través de
Internet (que es lo mas habitual) entonces usan una
especificación particular llamada IIOP.
AGB
■
■
■
■
■
■
■
■
■
➨
AGB
➨
■
■
■
■
■
– Sockets
– RPC (remote procedure calls)
– Database tables, triggers and polling
39
RMI-Java de Sun
DCE de OSF
DCOM (ActiveX) de Microsoft
.NET de Microsoft
SOAP
De bajo nivel:
AGB
40
Otras tecnologías MIDDLEWARE
Características generales:
– Es una extensión de la especificación del lenguaje Java.
– Permite descubrir servicios remotos (nombres de
funciones y tipos de parámetros).
– Permite el OBV (paso de objetos por valor) y no solo por
referencia.
■
38
– Sockets
– RPC (remote procedure calls)
– Database tables, triggers and polling
RMI de Sun
■
Ventajas de desarrollar aplicaciones conformadas
por objetos distribuidos.
Compañías que ofrecen CORBA.
Otras tecnologías de soporte de objetos distribuidos
(Middleware).
Otras tecnologías MIDDLEWARE
RMI-Java de Sun
DCE de OSF
DCOM (ActiveX) de Microsoft
.NET de Microsoft
SOAP
De bajo nivel:
AGB
¿Qué es CORBA?
¿Quien es OMG?
OMA (Object Management Architecture).
– Core Object Model.
– Reference Model.
37
Otras tecnologías MIDDLEWARE
■
■
Desventajas:
– El modelo de seguridad de Java impide comunicación
directa entre applets en equipos arbitrarios (se rompe la
transparencia en la ubicación). Hay que usar túneles
(Gatekeepers).
– Solo funciona con Java (no hay transparencia en el
lenguaje, aunque si en el SO y en el HW).
AGB
41
■
➨
■
■
■
■
RMI-Java de Sun
DCE de OSF
DCOM (ActiveX) de Microsoft
.NET de Microsoft
SOAP
De bajo nivel:
– Sockets
– RPC (remote procedure calls)
– Database tables, triggers and polling
AGB
42
DCE de OSF
■
■
■
■
DCE de OSF
Es orientado a procedimientos. Su IDL está basado
en C. Al no ser OO, no soporta herencia ni
excepciones. Tampoco tiene tipo any.
Puede crear un “contexto” entre cliente y servidor,
manejar pipes y pasar punteros de una máquina a
otra.
Tiene un número de identificación único para cada
interfase y versión. Los identificadores (UUIDs)
existen en un espacio plano (en CORBA hay un
espacio de nombres estructurado).
Solo permite una interfase por cada archivo IDL.
AGB
■
➨
■
■
■
■
■
Proporciona una implementación de referencia
(CORBA proporciona una especificación).
Solo proporciona una interfase estática.
Proporciona threads (en CORBA es opcional, a
través de los servicios de concurrencia).
43
AGB
44
DCOM (ActiveX) de Microsoft
Otras tecnologías MIDDLEWARE
■
■
RMI-Java de Sun
DCE de OSF
DCOM (ActiveX) de Microsoft
.NET de Microsoft
SOAP
De bajo nivel:
■
Ventajas:
– Dicen que es mas eficiente que CORBA.
■
Desventajas:
– No es de dominio público (freeware).
– Solo trabaja con sistemas operativos de Microsoft (Win95,
Win98, WinNT).
– Solo trabaja con Visual Basic.
– Sockets
– RPC (remote procedure calls)
– Database tables, triggers and polling
AGB
45
■
■
➨
■
■
RMI-Java de Sun
DCE de OSF
DCOM (ActiveX) de Microsoft
.NET de Microsoft
SOAP
De bajo nivel:
■
Ventajas:
– La herramienta es muy poderosa y fácil de usar para el
programador.
– Maneja el concepto de WebServices.
– Trabaja con sistemas operativos de Microsoft, pero
también está saliendo una versión para Linux.
– Soporta muchos lenguajes: C, C++, JScript, C#, Visual
Basic...
– Usa los siguientes protocolos:
– Sockets
– RPC (remote procedure calls)
– Database tables, triggers and polling
■
■
■
AGB
46
.NET de Microsoft
Otras tecnologías MIDDLEWARE
■
AGB
47
SOAP: envuelve cualquier objeto en XML. Es sencillo y no tiene
problemas con los firewall, puesto que funciona sobre HTTP.
WSDL: describe lo que hay en cada contenedor SOAP.
UDDI: para descubrir e invocar servicios.
AGB
48
.NET de Microsoft
■
Otras tecnologías MIDDLEWARE
Desventajas:
■
– No es de dominio público (freeware).
– Todos los lenguajes de programación son interpretados
(lentitud de ejecución), aunque hay un compilador “just
in time”.
■
■
■
➨
■
RMI-Java de Sun
DCE de OSF
DCOM (ActiveX) de Microsoft
.NET de Microsoft
SOAP
De bajo nivel:
– Sockets
– RPC (remote procedure calls)
– Database tables, triggers and polling
AGB
49
SOAP
■
■
SOAP no va a reemplazar a COM o a CORBA porque
no son la misma cosa. COM es un modelo de
componentes. CORBA es una especificación que
incluye muchos servicios de alto nivel (nombres,
trading, eventos...).
SOAP compite con los protocolos de cable de DCOM
y de CORBA (DCR de IIOP). No está atado a ningún
lenguaje ni a ningún sistema operativo. Funciona
sobre HTTP y admite transparentemente SSL y
HTTPS. Puede portarse fácilmente a otros
mecanismos de transporte distintos a HTTP.
■
51
■
Otras tecnologías MIDDLEWARE
■
– Transmite mas bytes (etiquetas XML).
– Corre sobre HTTP.
■
SOAP no soporta en principio comunicación
bidireccional (callbacks, eventos...). Tampoco ofrece
facilidades para comunicación entre dos servidores
(solo entre cliente y servidor) como garbage collector.
Tampoco ofrece servicios de alto nivel como
activación remota de objetos, ciclo de vida (mover y
copiar objetos), etc.
SOAP depende de XML. AGBNo es todavía un estándar.52
■
Las grandes ventajas de CORBA:
– Soportado por 800 fabricantes de software, hardware y
telecomunicaciones.
– Existe interoperabilidad (es un objetivo de OMG) entre:
■
■
Costo de las herramientas.
Conocimientos previos de los ingenieros de sistemas.
Expectativas de crecimiento de la empresa.
Soporte a aplicaciones antiguas.
Soporte a nuevos lenguajes, sistemas operativos,
hardware...
AGB
■
.NET usa SOAP. CORBA podría usarlo en un futuro
(aunque todavía no hay ninguna decisión al respecto).
SOAP es algo mas ineficiente que DCOM o que IIOP:
Otras tecnologías MIDDLEWARE
Se discute mucho cual es la mejor (mas rápida, mas
escalable, mas eficiente en recursos de memoria y
ancho de banda...).
Sin embargo, la razón de utilizar una u otra es
administrativa y no técnica:
–
–
–
–
–
50
SOAP
AGB
■
AGB
■
■
DCOM y CORBA.
DCE y CORBA: Environment Specific Interoperability Protocol
(DCE-ESIOP).
RMI y CORBA.
XML y CORBA.
– Existe la manera de integrar aplicaciones viejas (legacy
code) a CORBA, “envolviéndolas” de modo que presenten
una interfase IDL.
53
AGB
54
Descargar