el patron broker

Upload: sergio-victor-guardado-guzman

Post on 31-Oct-2015

623 views

Category:

Documents


1 download

TRANSCRIPT

  • PATRONES DE SISTEMAS DISTRIBUIDOS

    PATRN DE ARQUITECTURA BROKER

  • BROKER

    Es un patrn de arquitectura que se utiliza para

    estructurar sistemas de software distribuidos con

    componentes desacoplados que interactan por

    invocaciones de servicios remotos.

    El componente broker es responsable de

    coordinar la comunicacin; tanto de

    enviar/reenviar las peticiones, asi como de

    transmitir los resultados y las excepciones.

  • EJEMPLO

    supongamos que estamos desarrollando un

    sistema de informacin para la ciudad diseado

    para correr en un rea amplia de trabajo.

    Algunas computadoras en la red contienen uno o

    ms servicios de informacin acerca de los

    eventos, restaurantes, hoteles ,monumentos

    histricos, y transportacin pblica

  • Se tienen computadoras terminales conectadas a la red.

    Los turistas a travs de la ciudad pueden obtener informacin en la cual estn interesados desde las terminales usando un explorador web.

    El software soporta la obtencin de informacin en lnea de los servidores apropiados y la muestra en la pantalla.

    La informacin se obtendr a travs de la red y no se mantiene en las terminales.

  • Esperamos que el sistema cambie y/o crezca

    continuamente as que los servicios individuales

    deben estar desacoplados uno del otro.

    Adems el software de la terminal debe ser capaz

    de usar los servicios sin tener que conocer su

    localizacin. Esto nos permitir mover, replicar o

    migrar servicios.

  • CONTEXTO

    Su medio ambiente es un sistema distribuido y

    posiblemente heterogneo con diferentes

    componentes cooperativos independientes.

  • PROBLEMA

    Construir un sistema de software complejo como unconjunto de componentes desacoplados e inter-operativos, en lugar de una aplicacin monoltica.

    Esto resulta en mayor flexibilidad, mantenimiento yposibilidad de cambio.

    Al hacer la particin de funcionalidad en componentesindependientes el sistema llegara a serpotencialmente distribuible y escalable.

    Sin embargo cuando componentes distribuidos secomunican unos con otros, se necesitan algunasformas especiales de comunicacin entre procesos.

  • Si los componentes manejan la comunicacin

    ellos mismos, el sistema resultante enfrenta

    dependencias y limitaciones.

    Por ejemplo el sistema ser dependiente del

    mecanismo de comunicacin usado, y los clientes

    deben conocer la localizacin de los servidores, y

    en muchos casos la solucin es limitada a slo un

    lenguaje de programacin.

  • Los servicios para agregar, remover, intercambiaractivar y localizar componentes tambin sonrequeridos. Las aplicaciones que usan estos serviciosno deben depender de detalles especficos del sistemapara garantizar la portabilidad, incluso dentro de unared heterognea.

    Desde el punto de vista del desarrollador no debehaber diferencia entre el desarrollo de software parasistemas centralizados y desarrollar para sistemasdistribuidos. Una aplicacin que usa un objeto debeslo ver la interface ofrecida, por lo que no debenecesitar saber nada acerca de la implementacin delos detalles del objeto o acerca de su localizacin fsica

  • SOLUCION

    Introduzca un componente broker para llevar a

    cabo un mejor desacoplamiento entre los clientes

    y servidores.

  • Los servidores se registran ellos mismos con el

    broker y hacen sus servicios disponibles para los

    clientes a travs de interfaces-mtodo.

    Los clientes usan la funcionalidad de los

    servidores enviando peticiones va el broker.

    La tarea del broker incluye localizar el servidor

    apropiado, transmitir las peticiones al servidor y

    transmitir los resultados y excepciones de regreso

    al cliente.

  • Usando el patrn broker una aplicacin puede

    acceder a servicios distribuidos, simplemente

    enviando llamadas de mensaje al objeto

    apropiado, en lugar de enfocarse a la

    comunicacin entre procesos de bajo nivel.

    Adems la arquitectura del broker es flexible, y

    permite cambio dinmico: adicin, borrado y

    relocalizacin objetos.

  • El patrn broker reduce la complejidad envuelta

    en el desarrollo de aplicaciones destruidas,

    porque hace la distribucin transparente para el

    desarrollador.

    Esto lo realiza introduciendo un modelo objetos

    en el cual los servicios distribuidos son

    encapsulados dentro de objetos. As lo sistemas

    broker ofrecen un camino para la integracin de

    dos tecnologas basicas: distribucin y tecnologa

    de objetos.

  • Tambin extiende el modelo de objetos de

    aplicaciones simples a aplicaciones distribuidas,

    consistentes de componentes desacoplados que

    pueden correr en mquinas heterogneas y que

    pueden ser escritas en diferentes lenguajes de

    programacin.

  • El patrn Broker se utiliza para balancear las

    siguientes fuerzas:

    Los componentes deben ser capaces de accesar a los

    servicios provedos por otros a travs de invocaciones

    de servicios remotos transparentes en ubicacin.

    Se necesita intercambiar, aadir y quitar componentes

    en tiempo de ejecucin.

    La arquitectura debe esconder los detalles especficos

    de implementacin del sistema de los usuarios de

    componentes y servicios.

  • ELEMENTOS:

    1. Servidor

    2. Clientes

    3. Brokers

    4. Puentes Bridge

    5. Proxies del lado del Cliente

    6. Proxies del lado del Servidor

  • SERVIDOR

    Un servidor implementa objetos que exponen su funcionalidad a travs de interfaces que consisten de operaciones y atributos.

    Las interfaces estn disponibles a travs de un lenguaje de definicin de interfaz (IDL) o un estndar binario.

    Hay dos tipos de servidores:

    1. Los servidores que ofrecen servicios comunes a muchos dominios de aplicacin.

    2. Los servidores que implementan una funcionalidad especfica para un dominio de aplicacin particular.

  • CLIENTES

    Los clientes son aplicaciones que acceden los servicios de, al

    menos, un servidor.

    Para invocar servicios remotos, los clientes envan

    solicitudes al broker. Despus que la operacin se ha

    ejecutado, los clientes reciben respuestas o excepciones del

    broker. La interaccin entre clientes y servidores se basa en

    un modelo dinmico, lo cual significa que los servidores

    tambin pueden actuar como clientes.

    Los clientes no necesitan conocer la ubicacin de los

    servidores que acceden; esto es importante porque permite

    la agregacin de nuevos servicios, y el movimiento de los

    servicios existentes a otras ubicaciones, an mientras el

    sistema este ejecutndose.

  • BROKER

    Un broker es un mensajero, responsable de

    la transmisin de solicitudes de clientes a

    servidores, as como de la transmisin de

    respuestas.

    Localiza al receptor de una solicitud

    basndose en un sistema de

    identificadores nicos.

  • PROXIES DEL LADO DEL CLIENTE

    Representan una capa adicional entre los clientes y

    el broker, para proveer transparencia en el sentido que

    un objeto remoto aparece como local ante el cliente, es

    decir esconden los detalles de implementacin.

  • PROXIES DEL LADO DEL SERVIDOR

    Son responsables de recibir solicitudes,

    desempaquetar los mensajes de entrada,

    el unmarshaling de los parmetros,

    llamar al servicio apropiado, y el

    marshaling de resultados y excepciones

    antes de enviarlos al cliente.

    Marshaling : transformar la representacion

    en memoria de un objeto a un formato

    apropiado para almacenaje o transmision.

  • PUENTES

    Los puentes son componentes opcionales

    utilizados para esconder los detalles de

    implementacin cuando dos brokers

    interoperan.

    Supngase que un sistema Broker se ejecuta en

    una red heterognea. Si se transmiten solicitudes

    sobre la red, se deben comunicar brokers

    diferentes independientemente de las redes y de

    los sistemas operativos utilizados.

  • USOS

    CORBA: El patrn broker fue usado para

    especificar la Common Object Request Broker

    Architecture definida por el Object Management

    Group. CORBA es una tecnologa orientada a

    objetos para objetos distribuidos en sistemas

    heterogneos. Orbix, de IONA Technologies, usa

    la variante de comunicacin directa.

    SOM/DSOM de IBM: Es un sistema broker

    compatible con CORBA que implementa la

    interoperabilidad combinando el IDL de CORBA

    con un protocolo binario.

  • OLE de Microsoft: Define un formato estndar

    binario para exponer y acceder a las interfaces del

    servidor.

    RMI de Sun: Tecnologa para la invocacin remota de

    mtodos para la plataforma Java.

    ATM-P de Siemens: Es la implementacin de la

    variante de paso de mensajes en sistemas de

    telecomunicaciones basados en Asynchronous Transfer

    Mode (ATM).