ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZO FACULTAD DE INFORMTICA Y ELECTRNICA ESCUELA DE INGENIERA EN SISTEMAS CORBA EN JAVA
Andrea Moncayo
SISTEMAS DISTRIBUIDOS
Un sistema distribuido es la coleccin de elementos de cmputo autnomo que se encuentran fsicamente separados y no comparten una memoria comn, se comunican entre s a travs del intercambio de mensajes utilizando un medio de comunicacin. Caractersticas:
Compuesto por mltiples ordenadores: Hay interconexin entre ellos Tienen un estado compartido
Ventajas:
Procesadores ms poderosos y a menos costos Avances en la Tecnologa de Comunicaciones. Comparticin de Recursos. Eficiencia y Flexibilidad. Disponibilidad y Confiabilidad. Crecimiento Modular.
Desventajas:
Requerimientos de mayores controles de procesamiento. Velocidad de propagacin de informacin (Muy lenta a veces). Servicios de replicacin de datos y servicios con posibilidades de fallas. Mayores controles de acceso y proceso (Commit ). Administracin ms compleja. Costos.
CORBA
CORBA (Common Object Request Broker Architecture) Es una arquitectura estndar para sistemas de objetos distribuidos. Permite una coleccin distribuida y heterognea de objetos que interoperan entre s. CORBA utiliza el lenguaje de definicin de interfaces (IDL) para especificar las interfaces con los servicios que os objetos ofrecern. Al compilar una interfaz en idl se genera cdigo para el cliente y el servidor El cdigo del cliente sirve para poder realizar llamadas a mtodos remotos, conocido como stub, que incluye un proxy del objeto remoto El cdigo generado para el servidor consiste en skeletons que tiene para implementar los mtodos del objeto
Ventajas
Estandarizado, mltiples implementaciones (no se depende de un fabricante) Las especificaciones se adoptan por consenso Buena infraestructura para construir aplicaciones distribuidas Permite integrar aplicaciones heterogneas
Desventajas
No es la tecnologa ms sencilla de utilizar Las especificaciones tardan en desarrollarse, y en consecuencia las implementaciones tardan en salir al mercado
ARQUITECTURA CORBA
CORBA define una arquitectura para objetos distribuidos.
ARQUITECTURA CORBA
El paradigma bsico de CORBA es que se hace una peticin para obtener un servicio de un objeto distribuido, lo dems est definido por el OMG Los servicios que proporciona un objeto son dados por su interfaz, definidas en el IDL del OMG. Los objetos distribuidos estn identificados por referencias a objetos, las cuales se describen mediante los interfaces IDL. Un cliente tiene una referencia a un objeto distribuido, la que est descrita por un interface. El ORB entrega la peticin al objeto y devuelve el resultado al cliente.
ORB
El ORB es el servicio distribuido que implementa la peticin al objeto remoto. Localiza el objeto remoto en la red, le comunica la peticin, espera a los resultados y cuando estn disponibles se los devuelve al cliente. El cliente que lanza la peticin se puede escribir en uno de los diferentes lenguajes que aceptan objetos CORBA. ORB hace las conversiones necesarias entre lenguajes de programacin.
SERVICIOS DE CORBA
Servicio Ciclo de vida del objeto Nominacin Eventos Relaciones Externalizacin Transacciones Control de concurrencia Propiedad Negociacin Consultas Descripcin Define como los objetos CORBA se crean, eliminan, mueven y copian. Define como los objetos CORBA pueden tener nombres simblicos amigables. Desacopla la comunicacin entre objetos distribuidos. Proporciona una red arbitraria de relaciones entre objetos CORBA. Coordina la transformacin entre objetos CORBA a y desde el medio extremo. Coordina accesos atmicos a objetos CORBA. Proporciona un servicio de bloqueo para objetos CORBA que asegura accesos serializables. Soporta la asociacin de pares nombre-valor con objetos CORBA. Soporta la bsqueda de objetos CORBA propiedades que describen el servicio ofrecido Soporta las consultas a objetos. basados en
DEFINIR EL INTERFAZ REMOTO
La interfaz para el objeto remoto usa el lenguaje para la definicin de interfaces del OMG. Se usa IDL en lugar de Java porque el compilador idl2java automticamente genera los ficheros de stub y skeleton en Java a partir de la definicin IDL, as como toda la infraestructura para conectar con el ORB. Tambin usando IDL hace posible a los desarrolladores implementar clientes y servidores en cualquier otro lenguaje compatible con CORBA. Si se ha implementando un cliente para un servicio existente de CORBA, o un servidor para un cliente ya existente, se coge los interfaces IDL del implementador. Deber ejecutar el compilador idl2java pasando como parmetro esos interfaces e implementar los mtodos que necesite.
IMPLEMENTAR EL SERVIDOR
Luego de ser ejecutado el compilador idl2java, se puede usar el esqueleto (skeleton) generado para implementar la aplicacin servidora. Adems de implementar los mtodos del interface remoto, su cdigo del servidor incluye un mecanismo para iniciar el ORB y esperar una peticin de un cliente remoto.
IMPLEMENTAR EL CLIENTE
Se usar los stubs generados por el compilador El cdigo del cliente inicia su ORB, busca el servidor usando el servicio de nombrado proporcionado con Java IDL, obtiene una referencia al objeto remoto y llama a su mtodo.
INICIAR LAS APLICACIONES
Luego de haber implementado el cliente y el servidor, se puede iniciar el servicio de nombrado, iniciar el servidor y por ltimo arrancar el cliente.
APLICACIN
Estos son los pasos que se lleva a cabo:
El cliente invoca la operacin sayHello del servidor HelloServer. El ORB transfiere dicha invocacin al objeto servidor registrado
para el interface IDL.
El mtodo sayHello del servidor se ejecuta, devolviendo un
String.
El ORB transfiere ese String de vuelta al cliente. El cliente imprime el valor del String obtenido.