10
Tema 6: Comparativa CORBA/Servicios Web

Tema6

Embed Size (px)

Citation preview

Page 1: Tema6

Tema 6: Comparativa CORBA/Servicios Web

Page 2: Tema6

Introducción

n Para establecer una comparativa, es preciso tener en cuentan CORBA se introdujo en 1991 y Servicios Web en el 2000

n CORBA es una solución más madura y mucho más completa

n Microsoft nunca ha querido apoyar CORBA

n Orden de exposiciónn IIOP/SOAPn Implementación de clientes y servidoresn Estandarización de APIsn Soporte para servicios estándarn Otros aspectosn Conclusiones

Page 3: Tema6

IIOP/SOAP (1)

n Interoperabilidadn Con SOAP, todavía existen algunos problemas de

interoperabilidad (inexistentes en IIOP)

n Eficiencian IIOP es un protocolo binarion SOAP representa la información en XML

n Los mensajes ocupan más y es preciso parsear XML

n Por tanto, IIOP es más eficiente que SOAP

Page 4: Tema6

IIOP/SOAP (y 2)

n Uso en Internetn SOAP normalmente usa HTTP

n Todos los firewalls reconocen HTTPn Adecuado para integraciones en Internet

n En la práctica, es difícil usar IIOP sobre Internetn Existen firewalls que no reconocen IIOP (aunque hay terceros

que venden proxies de IIOP)n Existen túneles de IIOP sobre HTTP, pero no son óptimos

n Se precisa usar una tecnología ampliamente aceptadan Microsoft no fabrica implementaciones de CORBA (aunque hay

terceros que lo hacen)n El soporte para Servicios Web está presente en cualquier

plataforma

Page 5: Tema6

Implementación de clientes y servidores

n Definición de interfacesn IDL es más legible que WSDL

n Pero la idea es generar WSDL automáticamente

n Implementación de clientesn Ambos pueden usar proxies (más sencillo) o invocar

operaciones dinámicamente (más complejo)

n Implementación de servidoresn Los objetos CORBA pueden tener estado, mientras que los

puertos de los servicios web no lo tienenn El POA de CORBA permite implementar servidores eficientes

y escalablesn No existe algo equivalente al POA para Servicios Web

n Sin embargo, puede no ser necesarion Ej.: en Java, los Servicios Web se ejecutan en contenedores

(web o EJB), eficientes y escalables

Page 6: Tema6

Estandarización de APIs

n El API CORBA está estandarizadan Es posible cambiar de fabricante CORBA sin que ello afecte

al código fuente

n Las APIs de Servicios Web no están totalmente estandarizadasn No afecta a la interoperabilidad (los protocolos están

estandarizados), pero sí a la portabilidadn Las APIs Java se estandarizan

n Ej.: Apache Axis es una implementación de JAX-RPC

Page 7: Tema6

Soporte para servicios estándar (1)

n Localizaciónn Los Servicios de Nombres y Trading de CORBA

conceptualmente son equivalentes a UDDI

n Notificacionesn En CORBA, un operación puede recibir una referencia a un

interfaz remoto como parámetron Es posible aplicar el patrón Observer para enviar notificaciones

entre aplicaciones publicadoras y subscriptoras

n Además, CORBA ofrece servicios específicos para poder enviar notificaciones de forma escalable entre publicadores y subscriptores (Servicios de Eventos y Notificaciones)

n Actualmente SOAP no permite que una operación reciba o devuelva una referencia a un puerto

Page 8: Tema6

Soporte para servicios estándar (y 2)

n Transaccionesn Agrupar invocaciones a operaciones remotas dentro de una

misma transacciónn CORBA ofrece un potente Servicio de Transaccionesn Actualmente no existe un Servicio de Transacciones para

Servicios Web

n Seguridadn Restringir los usuarios que pueden invocar una operación

remotan CORBA ofrece un potente Servicio de Seguridadn Actualmente no existe un Servicio de Seguridad para

Servicios Web

Page 9: Tema6

Otros aspectos

n “Industry momentum”n Se “habla mucho” de Servicios Web

n Es normal porque es una tecnología muy reciente

n Se habla menos de CORBAn En normal porque ya está muy asentada

n Unas reflexiones ...n ¿ No es Servicios Web una reinvención de CORBA ?n ¿ Cuánto tiempo pasará hasta que la tecnología de Servicios

Web se equipare con CORBA ?n Desde un punto de vista técnico, ¿ no hubiese mejor adoptar

CORBA como tecnología universal de integración ?n Seguramente sí, pero Microsoft no ha querido ...

Page 10: Tema6

Conclusiones

n Integración de aplicaciones en Internetn En general, la tecnología de Servicios Web es la opción (aún

con sus limitaciones)n En general, CORBA no es una opción (aún con su madurez y

funcionalidad)

n Integración de aplicaciones en intranetsn Actualmente CORBA parece la mejor solución, dado que este

tipo de integraciones suelen requerir transacciones, seguridad, eventos, etc.

n Servicios Web podría ser una alternativa para integraciones sencillas (ej.: intercambio de datos)