Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aplicaciones Telemticas
David Melendi Palacio Abel Rionda Rodrguez
NDICE
Introduccin RPCs Sistemas de Objetos Distribuidos Lenguajes de Descripcin de Interfaces CORBA
OMA ORB Especificacin de Interfaces Protocolos Servicios Fundamentales
Atencin al Cliente
Ingeniera
Gestin Almacn
Fabricacin
Aprovisiona miento
Que se ejecutan en mltiples computadores Integrados entre ellos para cumplir una serie de objetivos Se sustenta en una red de comunicaciones
Una infraestructura de red comn Un protocolo de comunicacin comn o estndar Un mecanismo de interaccin entre componentes Un conjunto de funciones de conversin La implantacin entre las diferentes plataformas materiales y lgicas de una plataforma nica (middleware)
NDICE
Introduccin RPCs Sistemas de Objetos Distribuidos Lenguajes de Descripcin de Interfaces CORBA
OMA ORB Especificacin de Interfaces Protocolos Servicios Fundamentales
En local: Se llama a una funcin en una librera En programacin distribuida: se llama a una funcin que se ejecuta en otro computador
No hay diferencias entre una llamada local y una remota Tiene una alta intuitividad
Proceso B Definicin Funcin Definicin Funcin Definicin Funcin Definicin Funcin 4 Desembalaje de Argumentos 5 Ejecucin de Funcin 6 Embalaje de Resultado
STUB Servidor
Programa Servidor
NDICE
Introduccin RPCs Sistemas de Objetos Distribuidos Lenguajes de Descripcin de Interfaces CORBA
OMA ORB Especificacin de Interfaces Protocolos Servicios Fundamentales
Una aplicacin puede exportar su funcionalidad en forma de objetos Las aplicaciones interactan en forma de invocaciones a distancia de mtodos pertenecientes a objetos
Compilador
Programa Cliente
Programa Cliente
Gestor de Objetos
Almacenamiento de objetos
4 Servidor
1 Solicitud de objeto
3 Manejador de objeto
NDICE
Introduccin RPCs Sistemas de Objetos Distribuidos Lenguajes de Descripcin de Interfaces CORBA
OMA ORB Especificacin de Interfaces Protocolos Servicios Fundamentales
Algunas alternativas:
IDL o Interface Definition Language usado en CORBA Directamente en Java: RMI ISL o Interface Specification Language de Xerox DCOM de Microsoft
module IDLExample{
CLIENTE C++
SERVIDOR Java
STUB C++
PROTOCOLO
SKELETON Java
NDICE
Introduccin RPCs Sistemas de Objetos Distribuidos Lenguajes de Descripcin de Interfaces CORBA
OMA ORB Especificacin de Interfaces Protocolos Servicios Fundamentales
CORBA
Tecnologa de distribucin de objetos desarrollada por el OMG (Object Management Group) en 1991 Consorcio internacional creado en 1989 que agrupa a ms de 850 entidades a nivel mundial:
Constructores hw: HP, Fujistsu, Hitachi, etc. Fabricantes sw: Borland, EDS, Thales, etc. Clientes: Boeing, Telefnica I+D, Visa International, etc. Instituciones y universidades: MIT, UPM, W3C, etc.
Define especificaciones para arquitecturas distribuidas y abiertas Trabaja en estndares para la integracin de aplicaciones distribuidas heterogneas a partir de tecnologas orientadas a objetos
CORBA - OMA
En 1995, el OMG propuso una visin global de la construccin de aplicaciones distribuidas que llam OMA Object Management Architecture
CORBA Applications Especficos CORBA Domains
Finanzas Sanidad Telecom
CORBA Facilities
DataWare WorkFlow Impresin
CORBA
Trader Nombrado
Ciclo de Vida
Propiedades
Externalizacin
Bsqueda
Versiones
Eventos
Mensajera
Relaciones
Persistencia
Colecciones
Seguridad
Notificacin
CORBA Services
CORBA - ORB
ORB: Object Request Broker Es un gestor de objetos y forma el ncleo de CORBA Hace que la comunicacin entre Cliente y Servidor sea independiente de:
El lenguaje de programacin utilizado: C++, Java, La ubicacin de los elementos Aspectos relacionados con los Sistemas Operativos La utilizacin de soluciones propietarias
CORBA - ORB
Cliente y Servidor utilizan para intercambiar peticiones:
De forma transparente: las peticiones parecen locales, el bus se encarga de su encaminamiento Cliente y servidor tienen su propio ORB Cualquiera puede actuar como cliente y como servidor
CORBA - ORB
En el lado del cliente:
Acepta peticiones del cliente para invocar un objeto remoto Encuentra la implementacin de ese objeto Devuelve una referencia al objeto remoto para las llamadas a los mtodos Encamina llamadas a mtodos y las respuestas correspondientes
Programa Cliente
Servicio de Nombrado
ORB Servidor
CORBA - ORB
En el lado del servidor:
Recibe peticiones de ORBs de clientes y activa las implementaciones correspondientes usando el skeleton correspondiente Devuelve una referencia que identifica a cada objeto Llama a los mtodos solicitados por el ORB del cliente y devuelve los resultados
Servicio de Nombrado ORB Servidor Programa Servidor
Skeleton
ORB Cliente
o.Imprimir (string)
qu es o?, NO IMPORTA, se resuelve en tiempo de ejecucin: Quin Implementa un Mtodo Imprimir? Impresora o Programa Servidor DocumentoPDF o DocumentoPS o
ORB
IIOP
ORB
IR
IR
Pasos en el programa:
Identificar el objeto a invocar Obtener su interfaz desde el IR Construir una invocacin Ejecutar la invocacin y obtener el resultado
IR
IR
CORBA - Protocolos
CORBA se basa en los protocolos GIOP e IIOP El protocolo GIOP define:
Una representacin comn de los datos (CDR o Common Data Representation)
Un formato de referencia a los objetos (IOR o Interoperable Object Reference) Un conjunto de mensajes de transporte de peticiones
CORBA - Protocolos
Las referencias a los objetos (IOR) en IIOP contienen:
El nombre completo del interface IDL del objeto La direccin IP de la mquina en la que est el objeto El puerto en el que est el servidor de objetos Una clave que identifica al objeto en el servidor
CORBA - Servicios Fundamentales CORBA tambin proporciona servicios que pueden ser indispensables en la mayora de las aplicaciones distribuidas. CORBA Services Veremos algunos servicios bsicos:
Nombrado o Naming Service Eventos o Event Service Seguridad o Security Service Persistencia o Persistance Service Consulta o Query Service
URL: corbaname::acme.com:2980/Livingthing/Animal/Man/Fred
Permite a los objetos generar eventos asncronos hacia otros objetos a travs de canales de eventos Los canales funcionan de la siguiente manera:
Modo push: el objeto generador enva las notificaciones al consumidor por propia iniciativa Modo pull: El objeto consumidor informa al generador sobre los eventos que quiere recibir
Mecanismos para la autenticacin Realizacin de transferencias seguras Auditora de transferencias (para revisin posterior
Servicio de Consulta:
Permite interrogar a los objetos acerca de sus propiedades Utiliza estndares de consulta (SQL)
NDICE
Introduccin RPCs Sistemas de Objetos Distribuidos Lenguajes de Descripcin de Interfaces CORBA
OMA ORB Especificacin de Interfaces Protocolos Servicios Fundamentales
RMI
Remote Method Invocation Solucin DOT de SUN para la plataforma Java Muy similar a CORBA pero ms sencillo
Interfaz Java Programa Cliente Stub del Cliente Remote Reference Layer Programa Servidor Skeleton del Servidor Remote Reference Layer
RMI registry
rmic
Servicios RMI
Al igual que CORBA, RMI dispone de algunos servicios similares:
Servicio de Nombrado (Naming) Servicio de Seguridad (RMISecurity) Excepciones remotas (RMIExceptions)
CORBA vs RMI
CORBA:
Independiente del lenguaje de programacin Ms complejo Ms potente Aparentemente poco desarrollo actual
RMI:
Slo para Java Sencillo de utilizar Muchas perspectivas de futuro Muchos servicios de Java lo utilizan
PROBLEMAS DE CORBA/RMI
FIREWALLS
Trfico restringido al puerto 80 del protocolo HTTP Un solucin fue el tunneling pero degrada el rendimiento
PROBLEMAS DE CORBA/RMI
IMPLEMENTACIONES DEFICIENTES (CORBA)
Muy pocos fabricantes implementan los servicios que son esenciales para hacer CORBA realmente til. Implementaciones libres inestables y las comerciales bastante caras Sin embargo la JDK de Java viene con soporte de CORBA
idlj: Compilador de IDL-Java orbd: proceso servidor de soporte al servicio de nombrado servertool: interfaz de lnea de comandos para registrar/desregistar objetos y arrancar/parar servidores