Patrón de diseño BROKER

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Noveno Semestre UNIDEC
J2EE – Java 2 Enterprise Edition
Common Object Request Broker Architecture (CORBA)
Carlos Rojas Kramer Universidad Cristóbal Colón
Práctica II: Java RMI.
Common Object Request Broker Architecture
Estructura de un Sistema Operativo
Lenguajes Servicios Web
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
Tipos de Servicios Web.
Tecnología de objetos distribuidos y arquitectura de componentes.
Investigación Servidor de Aplicaciones WebSphere
Entornos orientados a objetos
RMI Remote Method Invocation
Base de Datos Distribuidas
Java 2 Platform Enterprise Edition
RMI (Remote Method Invocation)
Universidad Nacional de San Antonio Abad del Cusco
Desarrollo de Software Basado en Componentes
Objetos Distribuidos – Aplicaciones RMI
BASES DE DATOS ORIENTADAS A OBJETO
Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822 Modelo de Objetos Distribuidos CORBA: Un caso de Estudio.
Universidad Centroamericana
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Ingeniería del software II
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
Tecnologías para el desarrollo de aplicaciones Web
Ejemplo CORBA: Java IDL
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
CORBA IDL Ramón Mª Gómez Labrador Deptº Lenguajes y Sistemas Informáticos Universidad de Sevilla.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Arquitectura de una aplicación
JAVA RMI The Java Remote Method Invocation ELO330 – Programación de Sistemas Cesar Vásquez I
Como Desarrollar SW Distribuido de Calidad
CORBA: Un Modelo de Objetos Distribuidos
RMI Remote Method Invocation 2da. Clase del 19 de Junio
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
J2EE – Java 2 Enterprise Edition
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Servidores Conceptos Generales.
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.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
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.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Manuel I. Capel Tuñón Ramón A. Carrasco González
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors JINI Jose Antonio Pavón David Santos.
Modelo de 3 capas.
Programación Orientada a Aspectos
1. Introducción a los Sistemas de Internet Gestión de Sistemas en Internet Universidad Antonio de Nebrija 2003/04 Justo N. Hidalgo Sanz.
Distributed Component Object Model
TEMA: SERVICIOS WEB INTEGRANTES DEL EQUIPO: CELESTE ROMANO PEDRO VELAZQUEZ PEDRO MONTESINOS.
Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
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.
XML y Servicios Web Ricardo Eito Brun Sevilla, de octubre 2002.
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Invocación Dinámica en CORBA
Programación Orientada a Objetos: CLASES Y OBJETOS
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
1 Tema 2: Sistemas Distribuidos con CORBA Programación Concurrente y Distribuida Prácticas.
DCE: Entorno de Computación Distribuida Profesor: Daniel Acuña Expositores: Francisco Almarza Gustavo Espinoza.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Transcripción de la presentación:

Patrón de diseño BROKER Arquitectura de Objetos Distribuidos Patrón de diseño BROKER

Análisis y Diseño Orienteado a Objetos CONTEXTO AMBIENTE Sistema distribuido (Hetérogeneo) COMPONENTES desacoplados Interactúan por invocaciones de servicio remotos Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

PROBLEMA Mecanismo de comunicación entre procesos en SD COMUNICACION Mecanismo de comunicación entre procesos en SD Operaciones en tiempo de ejecución Esconder detalles del sistema e implementación Debe conocer la ubicacón de los servidores Servicios para añadir, quitar, intercambiar, activar y localizar componentes Sistemas distribuidos = Sistemas centralizados import java.rmi.Remote; import java.rmi.RemoteException; public interface Cuenta { public String nombreUsuario(); public float balance(); public void retiro(float amt); } Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos EJEMPLO Sistemas de información (CIS) Mantener información Hoteles Resutaurantes Eventos … Acceso desde WWW Continuos cambios y crecimiento Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos SOLUCION Introducir un componente BROKER que implemente la funcionalidad de los problemas anteriores, para lograr desacoplamiento y transparencia en la comunicación entre el cliente y el servidor CLIENTE SERVIDOR Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Estructura del Broker Formado por seis tipos de componentes: Clientes Servidores Brokers Puentes Proxy del lado del cliente Proxy del lado del servidor Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

¿Cómo lo logra? HETEROGENEIDAD Registra con el Broker Interoperar con otros BROKERS UNMARSHALLING MARSHLLING Registra servidores PUENTE PROXY SERVIDOR PROXY CLIENTE Envía solicitudes Ejecuta el servicio Localiza al servidor INTERMEDIARIOS Cliente – Broker Servidor - Broker Envía solicitud MARSHLLING Transmite resultados y excepciones Avisa de la disponibilidad de sus servicios Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos llamarServidor() enviarSolicitud() empaquetaDatos() enviarSolicitud() localizaServidor() llamarServicio() desempaqueta() ejecutaServicio() empaquetaDatos() enviaRespuesta() localizaCliente() regresar() resultado() desempaqueta() Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos enviarSolicitud() localizarServidor() enviarMensaje() empaquetarDatos() enviarMensaje() desempaquetarDatos() enviarSolicitud() localizarServidor() Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Diagrama de Clases Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos CORBA Common Object Request Broker Architecture Estándar de objetos distribuidos desarrollado por el Object Management Group (OMG). Da un marco general para construir sistemas que involucran objetos distribuidos. Independencia de Lenguaje. Independencia de Plataforma. Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Servicios de CORBA ORB. Provee los medios para: Enviar y recibir llamadas a métodos remotos incluyendo argumentos Localizar objetos por su nombre Servicios de seguridad Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos ORB Media entre el cliente y el objeto en cuestión Controla las llamadas a métodos remotos Transparencias (facilidad de localización de objetos, invocación de manera tradicional) La administración de objetos remotos: Cliente llama un método a través del Stub El ORB genera la petición, y se activa la implementación La implementación comunica que está activa y disponible Se recoge la petición y se pasa a través de skeleton a la impementacion del objeto solicitado El objeto devuelve un resultado al cliente a través del ORB Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Control de peticiones ORB Máquina Cliente Máquina Servidor Cliente Objeto ORB Llamada a método Cliente Implementación O R B Stub BOA Skeleton Gestión de una llamada sobre un objeto remoto Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Componentes de CORBA Compiladores de IDL generan los Stubs del cliente y los Skeletons del lado del servidor El Stub realiza solicitudes en nombre del cliente El Skeleton entrega la solicitud a la implementación del objeto Corba IIOP, Protocolo binario para cominicación entre ORB’s BOA (Basic Object Adapter), sirven como pegamento entre la implementación del objeto Corba y el ORB. Responsabilidades (Registro de objetos, genereración de referencias, llamada directas a objetos) Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

IDL: Interface Definition Language Lenguaje para definición de interfaces de objetos remotos que es independiente del lenguaje de implementación. La OMG ha definido como convertir interfaces IDL en código C, C++, Java, Smalltalk, COBOL, etc. IDL es un lenguaje declarativo basado en C++ Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Ejemplo IDL module OS{ exception DivisionCero { float op1; float op2; } interface Calculadora float add (in float x1, in float x2); float div (in float x1, in float x2) raises (DivisionCero); }; Nota: Parametros tipo in son pasados por valor Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Ejemplo IDL module OS{ module services { interface Server { readonly attribute string serverName; boolean init (in string sName); }; interface Printable { boolean print (in string header); interface PrintServer : Server { boolean printThis (in Printable p); Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos RMI vs. CORBA RMI es sólo Java, CORBA es independiente del lenguaje. Hay compiladores de interfaces CORBA para C, C++, Java, Cobol, etc. CORBA es adecuado cuando se requiere integrar sistemas legados CORBA es mas maduro y complejo. Tiene mayor aceptación en aplicaciones corporativas RMI permite migrar objetos a otra JVM Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos VALORACION VENTAJAS Transparencia en ubicación Cambio y extensibilidad de componentes Portabilidad del sistema broker Interoperabilidad entre diferentes sistemas broker Reusabilidad DESVENTAJAS Eficiencia Restringida Baja tolerancia a fallos Prueba y debbuging Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Tarea Realizar un ejemplo de un IDL ( libre) en donde se definan los dos tipos de parametros que se pueden pasar. Compilar con una versión de CORBA y analizar el código que genera. A que lado ( cliente y servidor) de la aplicación le corresponde cada código generado. Justificar. Que diferencia existe entre Basic Object Adaptery el Portable Object Adapter(POA) Que ventajas ofrece cada uno. Patrón de diseño broker Análisis y Diseño Orienteado a Objetos

Análisis y Diseño Orienteado a Objetos Bibliografía Pattern Design Alex Chaffee, Bruce Martín. And Introduction to CORBA Patrón de diseño broker Análisis y Diseño Orienteado a Objetos