Corba.

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Common Object Request Broker Architecture (CORBA)
Práctica II: Java RMI.
Common Object Request Broker Architecture
Lenguajes Servicios Web
SISTEMAS EN TIEMPO REAL Y DISTRIBUIDOS CAPITULO 1
Tecnología de objetos distribuidos y arquitectura de componentes.
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
Universidad Nacional de San Antonio Abad del Cusco
Ingeniería del software II
Ejemplo CORBA: Java IDL
JAVA RMI The Java Remote Method Invocation ELO330 – Programación de Sistemas Cesar Vásquez I
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
CORBA: Un Modelo de Objetos Distribuidos
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca Universidad.
MAESTRIA EN CIENCIAS DE LA COMPUTACION Comparación de implementación de sistemas distribuidos usando COM y CORBA Jesús Gil Muñoz Julio 2001.
Patrón de diseño BROKER
Migración de informes de Oracle Reports 6i a IReport en el Escritorio de Tramitación de la Consejería de Salud de la Junta de Andalucía Dpto. Informática.
REDES INFORMÁTICAS Realizado por: Jero Silva Mulero, 2º Bachillerato A.
1 Universidad Del Caribe Telemática Sistemas Operativos Distribuidos y de Tiempo Real “Modelos de Sistemas” Profesor: Joel Antonio Trejo Sánchez Integrantes:
¡LOS SERVIDORES DE FTP Y NUBE!
San Juan Bautista Tuxtepec, Oaxaca a 01 de Septiembre de 2016 INSTITUTO TECNOLÓGICO de Tuxtepec PROGRAMACION EN AMBIENTE CLIENTE-SERVIDOR CORBA PRESENTA:
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
Administración de Sistemas Gestores de Bases de Datos.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Java RMI. Entornos orientados a objetos  Tendencia actual hacia sistemas compuestos por un conjunto de objetos que interactúan entre sí.  Un programa.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
UNIVERSIDAD NACIONAL DE CHIMBORAZO NOMBRE:ERIKA SALAO PRIMERO:A ESCUELADE:EDUCACION BASICA DOCENTE: FERNANDO BUFANTE AÑO LECTIVO Es un sistemas.
Espacios Virtuales. Un espacio virtual es un entorno interactivo adaptado para Internet, que representa escenarios reales o inventados que se han modelado.
Conceptos Básicos de Programación
MODELO CLIENTE -SERVIDOR
ARQUITECTURA DE COMPUTADORES
Luis Alfonso Sánchez Brazales
Conectividad de Bases de Datos
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
Modelo OSI.
Programación orientada a objetos
Novell Netware Autores: Cerrina Maria Josefina, Coto Marcelo,
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Definición de un Sistema Distribuido
2.5 Seguridad e integridad.
QUE ES UN SERVIDOR DE CORREO
INTERNET Actividad 3 Herramientas Tareas Ruben Dario Acosta V.
Parte 4 HTML.
Salvador Arteaga Gracia
INTRODUCCIÓN A JAVA.
Análisis para el Diseño de una Red de Área Local (Lan)
Servidor ¿Qué es? ¿Cómo funciona?.
Capa de Red: comunicación de host a host  La Capa de red o Capa 3 de OSI: Provee servicios para intercambiar secciones de datos individuales a través.
Protocolos Protocolos de red.
ARQUITECTURA DE SOFTWARE Y SUS COMPONENTES Integrantes: Luis Morel Braulio Jiménez Yeuris Ossers Rawel Lauciano
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
Introducción al Visual Basic  Un programa en sentido informático está constituido en un sentido general por variables que contienen los datos con los.
Características Generales y Entornos de Desarrollo
Curso: fundamentos de redes Profesor: Miguel farfan Sesion: 03
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED
“Conceptos Básicos de Java”
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Es un ordenador de software que puede ejecutar un sistema operativo por el mismo, este tipo de sistemas operativos, presentan una interface a cada proceso.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS Magallanes Napa, Anthony Yair.
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
Introducción a la Programación. Modulo 61 Programación Web Programación Web.
Creación de un servicio web con RMI 3Unidad N°. comprende el funcionamiento de un servicio web con RMI de manera eficiente y responsable. Logro.
Transcripción de la presentación:

Corba

Corba Corba (Common Object Request Broker Architecture) es un conjunto de trabajo distribuido (distributed framework*) creado para ofrecer soporte a la comunicación de arquitecturas heterogéneas en hw/sw. Mientras que RMI (Java) ofrece soporte a arquitecturas homogéneas, siempre y cuando Java ocupe ambos extremos y exista un cableado en el medio, CORBA permite la conexión de sistemas de sistemas con hardware, software y aplicaciones de distintos fabricantes. Java IDL ofrece una implementación de la especificación 2.0 de CORBA. CORBA es el resultado del trabajo de un grupo de ingenieros de Object Management Group (OMG). Como resultado de dicho trabajo se ha creado una especificación que cubre los elementos necesarios para permitir la comunicación entre un sistema hw/sw y otro. Actualmente, OMG es un consorcio que incluye aproximadamente 700 empresas. Toda la información referente a CORBA puede encontrarse en http://www.omg.org * "framework" hace referencia a un conjunto de códigos reutilizables prácticamente "listos para usar" que pueden aplicarse para solucionar problemas con alguna personalización (customing).

Qué es CORBA no es un producto. El estándar denominado CORBA define el modo en que las empresas pueden implantar el estándar. Una típica implantación de CORBA incluye: 1. Una aplicación ORB (Object Request Broker) 2. Un compilador IDL (Interface Definition Language) 3. Una o mas aplicaciones de COS (Common Object Services) (conocidas también como CORBAServices) 4. Aplicaciones comunes, conocidas como CORBAFacilities En CORBA 2.0 se introdujo el protocolo IIOP Internet Inter-ORB Protocol, un estándar que especifica cómo los ORB se comunican a través de la red.

ORB Object Request Broker Es el mecanismo que permite la conexión de objetos entre espacios de direcciones remotos. Cuando dos sistemas CORBA quieren comunicarse entre sí en un espacio de dirección remoto, el ORB asegura su realización, independientemente del hardware, del sistema operativo y del lenguaje de las aplicaciones implicadas. ORB asegura la correcta invocación al objeto remoto. Es responsabilidad del objeto ORB: a) establecer la comunicación con el sistema remoto. b) empaquetar/transformar los parámetros para la llamada remota (marshaling). c) gestionar las peticiones simultaneas procedentes de múltiples clientes.

Marshaling Marshaling es la técnica utilizada para empaquetar los parámetros, los valores de retorno y las excepciones para su envío a los sistemas. Básicamente se trata de convertir los datos en un formato de plataforma independiente para finalmente convertirlos en el tipo especifico de la plataforma de destino.

COS Common Object Services Son servicios de CORBA para asistir a ORB. 1. Naming Service. El Servicio de Nombres permite a clientes y servidores encontrar objetos en la red. Un servidor registra un objeto con un Service Naming utilizando una representación jerárquica. Los clientes pueden utilizar el Service Naming para encontrar objetos. 2. Event Service. Este servicio permite a clientes y servidores enviar mensajes a uno o mas recibidores. Los objetos puede registrarse a la escucha (listen) de un determinado canal de evento. El Servicio de Eventos almacena los eventos antes de transmitirlos, por lo que no es necesario que clientes y servidores estén conectados. 3. Security Service. Este servicio se encarga de autentificar los mensajes, autorizar el acceso a objetos y garantizar la comunicación.

COS 4. Transaction Service. Este servicio permite la gestión de las transacciones hacia un database. Otros servicios menores son: - Persistent Object Service. - Concurrency Control Service. - Lyfe Cycle Service. - Relationship Service. - Externalization Service. - Query Service. - Licensing Service. - Property Service. - Time Service. - Object Trader Service. - Object Collections Service.

IDL Interface Definition Language La definición de las interfaces se crean utilizando el lenguaje IDL. IDL es similar a C, C++ o Java si bien no puede compilarse directamente en un programa en binario. IDL se entiende como un lenguaje intermediario que define las interfaces que un cliente tiene que utilizar y el servidor implementar. También puede decirse que con IDL se genera un vínculo entre el sistema que utiliza un objeto y el sistema que lo implementa. Una vez desarrolladas las interfaces, éstas se compilan utilizando una herramientas que es especifica para cada lenguaje (C, C++, Java, SmallTalk, Ada). En Java se utiliza idlj.exe que es un programa que viene con el J2SDK1.4.

IDL - Un fichero IDL está formado por varios elementos que juntos crean un espacio de nombres. - Los identificadores no son sensibles al tamaño de las letras. - Los identificadores pueden utilizarse sólo una vez en el mismo espacio de nombres. - IDL no soporta la sobrecarga y/o la sobre escritura de las operaciones. - IDL soporta herencia simple y múltiple.

Módulo IDL Módulo IDL El módulo es un contenedor de un grupo de interfaces IDL (un paquete en Java). Un módulo puede contener en su interior una o varias interfaces, además de otros módulos. Ejemplo: module calculator{ interface Functions{ float square_root(in float number); float power (in float base, in float exponent); };

IDL

IDL Ficheros generados Utilizando el comando idlj -fall Xxx.idl se generarán los ficheros fuente en Java para sus asociaciones del lado servidor y del lado cliente: idlj generará 6 ficheros: 1. Xxx.java - interfaz sin operaciones. 2. XxxOperations.java - las operaciones declaradas en el fichero IDL. 3. XxxHelper.java - funcionalidades auxiliares para CORBA. 4. XxxHolder.java - sirve para gestionar los parámetros in o inout. 5. _XxxStub.java - es el fichero stub para el lado cliente. 6. XxxPOA.java - es el fichero skeleton para el lado servidor; extiende XxxOperations

Implementaciones lado cliente – lado servidor Obviamente falta la implementación lado servidor y la aplicación lado cliente. XxxImpl.java - el servant (objeto que hay que servir) - tiene que extender de XxxPOA. XxxServer.java - el servidor (crea el objeto servant y la da de alta en el servidor de nombres). XxxClient.java - la aplicación lado cliente.

Ficheros generados en el ejemplo Calculadora IDL Ficheros generados en el ejemplo Calculadora Lado servidor Functions.java FunctionsOperations.java FunctionsPOA.java Lado Cliente _FunctionsStub.java FunctionsHelper.java FunctionsHolder.java

IDL Las interfaces de IDL pueden tener atributos, excepciones y operaciones. Un atributo define un tipo de variable CORBA al que se puede acceder desde métodos predefinidos. Los tipos CORBA pueden ser de tipo IDL u otra interfaz IDL. Un atributo generará métodos de obtención e impostación (getter/setter). Ejemplo: attribute float price; se convierte en los siguientes métodos Java: float price(); void price(float arg); Los atributos pueden ser “read only” y en este caso se generará sólo el método de obtención de la variable. Comprobar que el compilador IDL no declara ninguna variable price sino sólo los métodos de acceso a dicha variable.

IDL Las operaciones se convierten en métodos Java. Cada operación tiene que declarar un tipo de retorno y cero o más argumentos. Los argumentos pueden ser de tipo in, out o inout. Un parámetro in se refiere a un atributo de tipo paso por valor. Un parámetro out se refiere a un atributo de tipo paso por referencia. Un parámetro inout se refiere a un atributo de tipo paso por valor/retorno de paso por referencia. Excepciones: Las operaciones pueden lanzar excepciones. Ejemplo: interface ordenes{ void ordenar(in Orden o, out res) raises (ProductoException); };

IIOP Internet Inter-ORB Protocol es una implementación TCP/IP de GIOP (General Inter-ORBProtocol). GIOP especifica cómo comunican los ORBS, envían los mensajes, especifica cómo se ordenan los byte para los integer y los float y el marshalling de los parámetros y los valores de retorno. Gracias a GIOP se puede desarrollar un servidor con un ORB y un IDL de un vendedor distinto al del cliente y realizar un juego de servicios intermediarios utilizando ORB y IDL de un tercero vendedor; distintos OS, distinto HW y SW... Todo esto será posible si el vendedor declara que cumple con CORBA 2.0.

Ejemplo Calculadora En este ejemplo se desarrollará una calculadora utilizando un sistema cliente/servidor CORBA. Partiendo del fichero “calculadora.zip” habrá que extraer los ficheros y ponerlos en un directorio del disco duro como c:\corba. Winzip creará varios directorios: calculadora - server - cliente. En el directorio raíz de la aplicación habrá varios ficheros cmd numerados. Habrá que ejecutarlos siguiendo la numeración. Se necesita el j2sdk1.4 y las siguientes variables de entorno configuradas del siguiente modo: JAVA_HOME=c:\j2sdk1.4.0 path= %JAVA_HOME%\bin;%path%s classpath= .;%classpath% -fin-