SlideShare a Scribd company logo
1 of 34
Patrón de Arquitectura
“Broker”
ANDRÉS FELIPE MONTOYA RÍOS
RE.VU/ANDRESMONTOYA
@MONTOYA118
Contexto
 Muchos sistemas se construyen a partir de un conjunto de servicios
distribuidos a través de varios servidores.
La implementación es complejo porque:
 Cómo los sistemas van a funcionar
 La forma en que se conectan entre sí
 Cómo van a intercambiar información
 La disponibilidad de los servicios de componentes.
Problemas que ataca el patrón
1. Construir un sistema de software complejo como un conjunto de
componentes desacoplados e inter-operativos, en lugar de una
aplicación monolítica.
2. Los servicios para agregar, remover, intercambiar, activar y
localizar componentes también son requeridos.Las aplicaciones
que usan estos servicios no deben depender de detalles
específicos del sistema para garantizar la portabilidad, incluso
dentro de una red heterogénea.
3. Si los componentes manejan la comunicación ellos mismos, el
resultante enfrenta dependencias y limitaciones.
Por ejemplo:
Si el sistema es dependiente del mecanismo de comunicación
usadoLos clientes deben conocer la localización de los servidores, y
en muchos casos la solución es limitada a sólo un lenguaje de
programación.
4. Los servicios para agregar, remover, intercambiar, activar y
localizar componentes también son requeridos.Las aplicaciones
que usan estos servicios no deben depender de detalles
específicos del sistema para garantizar la portabilidad, incluso
dentro de una red heterogénea.
5. Desde el punto de vista del desarrollador no debe haber
diferencia entre el desarrollo de software para sistemas
centralizados y desarrollar para sistemas distribuidos.
Por lo que no debe necesitar saber nada acerca de la
implementación de los detalles del objeto o acerca de su localización
física
Pregunta
 ¿Cómo estructuramos software distribuido de manera que los
usuarios del servicio no necesiten conocer la naturaleza y la
ubicación de los proveedores de servicios, haciendo fácil cambiar
dinámicamente los enlaces entre los usuarios y los proveedores?
Solución
 Introducir un componente Broker para
llevar acabo un mejor desacoplamiento
entre los clientes y servidores.
Definición
 “Es un patrón de arquitectura que se utiliza para estructurar sistemas
de software distribuidos con componentes desacoplados que
interactúan por invocaciones de servicios remotos.”
 El componente broker es responsable de coordinar la
comunicación; tanto de enviar/reenviar las peticiones, asi como de
transmitir los resultados y las excepciones.
Elementos - Cliente
 Son aplicaciones que acceden los servicios de, al menos, un
servidor.
 Para invocar servicios remotos, los clientes envían solicitudes al
broker. Después que la operación se ha ejecutado, los clientes
reciben respuestas o excepciones del bróker
 No necesitan conocer la ubicación de los servidores que acceden;
esto permite la agregación de nuevos servicios, y el movimiento de
los servicios existentes a otras ubicaciones, aún mientras el sistema
este ejecutándose.
Servidor
 Implementa objetos que exponen su funcionalidad a través de
interfaces que consisten de operaciones y atributos.
 Están disponibles a través de un lenguaje de definición de interfaz
(IDL) o un estándar binario.
Hay dos tipos de servidores:
 ofrecen servicios comunes a muchos dominios de aplicación.
 implementan una funcionalidad específica para un dominio de
aplicación particular.
Broker
 Es un mensajero, responsable de la transmisión de solicitudes de
clientes a servidores, así como de la transmisión de respuestas.
 Localiza al receptor de una solicitud basándose en un sistema de
identificadores únicos.
Proxy - 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
implementación.
Proxy - Servidor
Son responsables de:
 Recibir solicitudes
 Desempaquetar los mensajes de entrada
 El unmarshaling de los parámetros
 Llamar al servicio apropiado
 El marshaling* de resultados y excepciones antes de enviarlos al
cliente.
*Marshaling: transformar la representación en memoria de un objeto a
un formato apropiado para almacenaje o transmisión.
Puente
 Los puentes son componentes opcionales utilizados para esconder
los detalles de implementación cuando dos brokers interoperan.
 Supóngase que un sistema Broker se ejecuta en una red
heterogénea. Si se transmiten solicitudes sobre la red, se deben
comunicar brokers diferentes independientemente de las redes y
de los sistemas operativos utilizados.
Ejemplo
 El desarrollo del sistema de información de una ciudad (SIC) diseñado para
ejecutarse en una red de área amplia. utilizando un browser WWW.
 Los clientes son los browsers.Recuperan streams de datos desde los servidores httpd,
los interpretan, e inician acciones tales como el despliegue de documentos en la
pantalla, o la ejecución de applets de Java.Los servidores son servidores WWW que
proveen acceso a páginas HTML.
 Los servidores WWW se implementan como procesos demonios httpd que esperan la
entrada de solicitudes en puertos específicos. Cuando llega una solicitud al servidor,
se envía el documento solicitado y algunos datos adicionales al cliente.
 Un broker es la combinación de un gateway de Internet, y la infraestructura misma
de Internet. Cada intercambio de información entre un cliente y un servidor pasa a
través del broker. Un cliente especifica la información que requiere mediante URLs.
Utilizando estos identificadores únicos, el broker localiza los servicios requeridos, y
envía las solicitudes a los servidores apropiados. Cuando se agrega un nuevo
servidor, éste debe registrarse con el broker. Los clientes y servidores utilizan el
gateway de Internet como una interfaz al broker.
 Los browsers WWW y los servidores httpd proveen capacidades incorporadas para la
comunicación con el gateway del proveedor de Internet, así que, en este caso, no
es necesario preocuparse por los proxies.
Relaciones y Restricciones
 La relación de unión asocia clientes
(y, opcionalmente, proxies del lado
del cliente) y servidores (y,
opcionalmente, los proxies de
servidor) con brokers.
 El cliente sólo puede conectarse a
un broker (posiblemente a través de
un proxy del cliente). El servidor sólo
se puede unir a un broker
(posiblemente a través de un proxy
server-side).
Debilidades - Eficiencia Restringida
 Usualmente son más lentas que las aplicaciones cuya distribución
de componentes es estática y conocida.
 Los sistemas que dependen directamente de un mecanismo
concreto para la comunicación entre procesos también dan un
mejor desempeño que una arquitectura Broker
Baja Tolerancia a Fallos
 El broker puede ser un punto único de fallo.
 Un broker puede ser un objetivo para los ataques de seguridad.
 Si un servidor o un broker falla durante la ejecución de un
programa, Todas las aplicaciones que dependen del servidor o
broker no serán capaces de continuar satisfactoriamente.
Pruebas y Debugging
 Es tedioso debido a que el número de componentes implicados es
grande.
 Un Broker puede resultar complicado de probar
Tácticas - Disponibilidad
Recuperación de datos
 Redundancia activa (Hot spare)
 Redundancia pasiva (Warm spare)
 Spare (cold spare)
Detección
 Ping/Echo
 Excepciones
Modificabilidad
Prevención efecto dominó
 Ocultar información
 Manteniendo las interfaces
 Uso de intermediarios
Defer binding time
 Registro en runtime
 Reemplazo de componentes(servidores)
Seguridad
Resistiendo los ataques
 Autenticar usuarios
 Autorizar usuarios
 Mantener la confidencialidad de los datos
Detectando ataques
 Detección de intrusos
Recuperación de un ataque
 Restauración (Tacticas de disponibilidad)
 Identificación (Log de auditoría)
Variaciones del patrón – Sistemas
Broker de Comunicación Directa
 En esta variante los clientes pueden comunicarse directamente
con los servidores.
 El broker indica a los clientes los canales de comunicación que
provee el servidor, entonces el cliente puede establecer un enlace
directo al servidor solicitado.
 En estos sistemas, los proxies se encargan de las responsabilidades
del broker para manejar la mayoría de las actividades de
comunicación.
Sistemas Broker de Paso de
Mensajes
 Esta variante es apropiada para sistemas que se enfocan en la
transmisión de datos.
 Los servidores utilizan un tipo de mensaje para determinar lo que
deben hacer, en vez de ofrecer servicios que los clientes pueden
invocar.
 En este contexto, un mensaje es una secuencia de datos en bruto
junto con información adicional que especifica el tipo de mensaje,
su estructura y otros atributos relevantes.
Sistemas Broker Adaptadores
 Para aumentar la flexibilidad, se puede esconder la interfaz del
broker a los servidores utilizando una capa adicional, llamada capa
adaptadora, que es responsable de registrar e interactuar con los
servidores.
Sistemas Broker Negociantes
 Usualmente, un cliente envía una solicitud a un servidor identificado
en forma única, pero en algunas circunstancias los servicios y no los
servidores son el destino de las solicitudes de los clientes.
 En esta variante el broker debe conocer que servidores pueden
proveer un servicio especificado, y enviar la solicitud al servidor
apropiado.
 Sin embargo, los proxies del lado del cliente usan identificadores de
servicio en vez de identificadores de servidor para accesar a la
funcionalidad de los servidores. La misma solicitud puede enviarse a
varios servidores que implementen el mismo servicio.
Sistemas Broker Callback
 En vez de implementar un modelo de comunicación activa donde
los clientes producen solicitudes y los servidores las consumen, se
puede utilizar un modelo reactivo que se maneja por eventos sin
hacer distinción entre clientes y servidores.
 Cuando un evento llega, el broker invoca el método callback del
componente registrado para reaccionar ante ese evento, cuya
ejecución, a su vez puede generar nuevos eventos causando que
el broker dispare nuevas invocaciones de métodos callback.
Atributos de Calidad –
Interoperatibilidad
 Sistemas Broker diferentes pueden interoperar si entienden un
protocolo común para el intercambio de mensajes.
 Este protocolo es implementado y manejado por puentes, los
cuales son responsables de traducir el protocolo específico del
broker en un protocolo común, y viceversa.
La Transparencia de Ubicación
 Como el broker localiza un servidor utilizando un identificador único,
los clientes no necesitan conocer la ubicación de los servidores.
 De manera similar, los servidores no necesitan tomar en cuenta la
ubicación del cliente solicitante, ya que reciben todas las
solicitudes del componente broker local.
La Portabilidad
 El sistema Broker esconde el sistema operativo y los detalles del
sistema de red utilizando capas indirectas como APIs, proxies y
puentes.
 Cuando se requiera portar el sistema, es suficiente, en muchos
casos, portar el broker y sus APIs a una nueva plataforma, y
recompilar clientes y servidores.
 Si las capas más bajas esconden los detalles específicos del sistema
del resto del broker, sólo se requiere portar estas capas más bajas,
en vez de portar el broker completamente.
Extensibilidad
 Si los servidores cambian pero sus interfases permanecen sin
cambio, no se tiene impacto funcional sobre los clientes.
 Modificando la implementación interna del broker, pero no los APIs
que éstos proveen, no tiene efecto en clientes y servidores más que
cambios en el desempeño.
Reusabilidad
 Cuando se construyen nuevas aplicaciones cliente,
frecuentemente el desarrollador puede basar la funcionalidad de
su aplicación en los servicios existentes.
 Si están disponibles componentes que ofrecen servicios tales como
edición, visualización, impresión, acceso a bases de datos u hojas
de cálculo, no es necesario desarrollar nuevamente estos servicios,
sino integrarlos en la aplicación.
Usos
 CORBA: es una tecnología orientada a objetos para objetos distribuidos en
sistemas heterogéneos. Orbix, de IONA Technologies, usa la variante de
comunicación directa.
 SOM/DSOM de IBM: Es un sistema bróker compatible con CORBA que
implementa la interoperabilidad combinando el IDL de CORBA con un
protocolo binario.
 OLE de Microsoft: Define un formato estándar binario para exponer y acceder
a las interfaces del servidor.
 World Wide Web utiliza el patrón bróker para que los navegadores actúen
como intermediarios y los servidores de WWW como proveedores de servicios
 RMI de Sun: Tecnología para la invocación remota demétodos para la
plataforma Java.
 ATM-P de Siemens: Es la implementación de la variante de paso de mensajes
en sistemas de telecomunicaciones basados en Asynchronous Transfer Mode
(ATM).
Referencias
 Bass, L., Clements, P., & Kazman, R. (2013). Software Architecture in
Practice.
 Guardado Guzman, S. V. (2013). El Patrón Broker. Obtenido de
http://es.scribd.com/doc/143875290/El-Patron-Broker
 Mendoza Chapa, S. G. (1996). Seminario de Sistemas Distribuidos.
Broker.
 Rojas Rodríguez, M. (2010). Patrones Arquitectónicos para
Programación Distribuida. México D.F.

More Related Content

What's hot

Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasJimRocy
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Unidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasUnidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasIsidro Lopez Riuz
 
Diseño logico de una base de datos
Diseño logico de  una base de datosDiseño logico de  una base de datos
Diseño logico de una base de datosRobert Rodriguez
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareMoises Medina
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Resumen Del Capitulo 4 De Cisco
Resumen Del Capitulo 4 De CiscoResumen Del Capitulo 4 De Cisco
Resumen Del Capitulo 4 De Ciscodsrfgdsf
 
Protocolo tftp
Protocolo tftpProtocolo tftp
Protocolo tftpkarivperez
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelaspineda2
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 

What's hot (20)

Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
RPC
RPCRPC
RPC
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Arquitectura de aplicaciones
Arquitectura de aplicacionesArquitectura de aplicaciones
Arquitectura de aplicaciones
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Modo de transferencia asíncrona (atm)
Modo de transferencia asíncrona (atm)Modo de transferencia asíncrona (atm)
Modo de transferencia asíncrona (atm)
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Unidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasUnidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones Distribuidas
 
Diseño logico de una base de datos
Diseño logico de  una base de datosDiseño logico de  una base de datos
Diseño logico de una base de datos
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Resumen Del Capitulo 4 De Cisco
Resumen Del Capitulo 4 De CiscoResumen Del Capitulo 4 De Cisco
Resumen Del Capitulo 4 De Cisco
 
Protocolo tftp
Protocolo tftpProtocolo tftp
Protocolo tftp
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelas
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 

Similar to Patron de Arquitectura Broker

Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Samhya LLerena
 
Fresdes silvasalazar
Fresdes silvasalazarFresdes silvasalazar
Fresdes silvasalazarjulymci
 
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-IntroducciónLuis Fernando Aguas Bucheli
 
Tarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrisonTarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrisonJarrison Buenaventura
 
Arquitecturaclienteservidor
ArquitecturaclienteservidorArquitecturaclienteservidor
ArquitecturaclienteservidorFernando Solis
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidorJramos_95
 
Cliente servidor primera parte
Cliente servidor primera parteCliente servidor primera parte
Cliente servidor primera parteHolger Vergara
 
Actividad 3 german orlando tinjaca
Actividad 3 german orlando tinjacaActividad 3 german orlando tinjaca
Actividad 3 german orlando tinjacaGermanOrlandoTinjaca
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidorHenry Bravo
 
48190798 arquitecturas-de-sistemas-distribuidos
48190798 arquitecturas-de-sistemas-distribuidos48190798 arquitecturas-de-sistemas-distribuidos
48190798 arquitecturas-de-sistemas-distribuidosJonas Segovia Velazquez
 
Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.camilaml
 

Similar to Patron de Arquitectura Broker (20)

Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
 
Ensayo Cliente Servidor
Ensayo Cliente ServidorEnsayo Cliente Servidor
Ensayo Cliente Servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Fresdes silvasalazar
Fresdes silvasalazarFresdes silvasalazar
Fresdes silvasalazar
 
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
 
Tarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrisonTarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrison
 
Arquitectura cliente
Arquitectura cliente Arquitectura cliente
Arquitectura cliente
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Arquitecturaclienteservidor
ArquitecturaclienteservidorArquitecturaclienteservidor
Arquitecturaclienteservidor
 
cliente servidor
cliente servidorcliente servidor
cliente servidor
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidor
 
c-s.pptx
c-s.pptxc-s.pptx
c-s.pptx
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Cliente servidor primera parte
Cliente servidor primera parteCliente servidor primera parte
Cliente servidor primera parte
 
Actividad 3 german orlando tinjaca
Actividad 3 german orlando tinjacaActividad 3 german orlando tinjaca
Actividad 3 german orlando tinjaca
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
48190798 arquitecturas-de-sistemas-distribuidos
48190798 arquitecturas-de-sistemas-distribuidos48190798 arquitecturas-de-sistemas-distribuidos
48190798 arquitecturas-de-sistemas-distribuidos
 
Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.
 

More from Andrés Felipe Montoya Ríos

Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasAndrés Felipe Montoya Ríos
 

More from Andrés Felipe Montoya Ríos (17)

La creatividad, ¿de quien depende?
La creatividad, ¿de quien depende?La creatividad, ¿de quien depende?
La creatividad, ¿de quien depende?
 
Seo Para Principiantes
Seo Para PrincipiantesSeo Para Principiantes
Seo Para Principiantes
 
Todo sobre HTML5
Todo sobre HTML5Todo sobre HTML5
Todo sobre HTML5
 
La Importancia De Aprender A Investigar
La Importancia De Aprender A InvestigarLa Importancia De Aprender A Investigar
La Importancia De Aprender A Investigar
 
Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De Sistemas
 
Articulo - El Futuro Tiene Nombre Y Es LTE
Articulo - El Futuro Tiene Nombre Y Es LTEArticulo - El Futuro Tiene Nombre Y Es LTE
Articulo - El Futuro Tiene Nombre Y Es LTE
 
Artículo - Simulador NS (Network Simulator)
Artículo - Simulador NS (Network Simulator)Artículo - Simulador NS (Network Simulator)
Artículo - Simulador NS (Network Simulator)
 
Telemedicina
TelemedicinaTelemedicina
Telemedicina
 
Planificador SSTF (shortest seek time first)
Planificador SSTF (shortest seek time first)Planificador SSTF (shortest seek time first)
Planificador SSTF (shortest seek time first)
 
Raid (redundant array of independent disks)
Raid (redundant array of independent disks)Raid (redundant array of independent disks)
Raid (redundant array of independent disks)
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
LTE (Long Term Evolution)
LTE (Long Term Evolution)LTE (Long Term Evolution)
LTE (Long Term Evolution)
 
Sistema de Posicionamiento Global
Sistema de Posicionamiento GlobalSistema de Posicionamiento Global
Sistema de Posicionamiento Global
 
NS 2 (network simulator)
NS 2 (network simulator)NS 2 (network simulator)
NS 2 (network simulator)
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Cuarta Generación De Los Sistemas Operativos
Cuarta Generación De Los Sistemas OperativosCuarta Generación De Los Sistemas Operativos
Cuarta Generación De Los Sistemas Operativos
 

Recently uploaded

MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSRicardo Chegwin
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimientoMaxanMonplesi
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfOmarPadillaGarcia
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASejcelisgiron
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 

Recently uploaded (20)

MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimiento
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 

Patron de Arquitectura Broker

  • 1. Patrón de Arquitectura “Broker” ANDRÉS FELIPE MONTOYA RÍOS RE.VU/ANDRESMONTOYA @MONTOYA118
  • 2. Contexto  Muchos sistemas se construyen a partir de un conjunto de servicios distribuidos a través de varios servidores. La implementación es complejo porque:  Cómo los sistemas van a funcionar  La forma en que se conectan entre sí  Cómo van a intercambiar información  La disponibilidad de los servicios de componentes.
  • 3. Problemas que ataca el patrón 1. Construir un sistema de software complejo como un conjunto de componentes desacoplados e inter-operativos, en lugar de una aplicación monolítica. 2. Los servicios para agregar, remover, intercambiar, activar y localizar componentes también son requeridos.Las aplicaciones que usan estos servicios no deben depender de detalles específicos del sistema para garantizar la portabilidad, incluso dentro de una red heterogénea.
  • 4. 3. Si los componentes manejan la comunicación ellos mismos, el resultante enfrenta dependencias y limitaciones. Por ejemplo: Si el sistema es dependiente del mecanismo de comunicación usadoLos clientes deben conocer la localización de los servidores, y en muchos casos la solución es limitada a sólo un lenguaje de programación.
  • 5. 4. Los servicios para agregar, remover, intercambiar, activar y localizar componentes también son requeridos.Las aplicaciones que usan estos servicios no deben depender de detalles específicos del sistema para garantizar la portabilidad, incluso dentro de una red heterogénea. 5. Desde el punto de vista del desarrollador no debe haber diferencia entre el desarrollo de software para sistemas centralizados y desarrollar para sistemas distribuidos. Por lo que no debe necesitar saber nada acerca de la implementación de los detalles del objeto o acerca de su localización física
  • 6. Pregunta  ¿Cómo estructuramos software distribuido de manera que los usuarios del servicio no necesiten conocer la naturaleza y la ubicación de los proveedores de servicios, haciendo fácil cambiar dinámicamente los enlaces entre los usuarios y los proveedores?
  • 7. Solución  Introducir un componente Broker para llevar acabo un mejor desacoplamiento entre los clientes y servidores.
  • 8. Definición  “Es un patrón de arquitectura que se utiliza para estructurar sistemas de software distribuidos con componentes desacoplados que interactúan por invocaciones de servicios remotos.”  El componente broker es responsable de coordinar la comunicación; tanto de enviar/reenviar las peticiones, asi como de transmitir los resultados y las excepciones.
  • 9. Elementos - Cliente  Son aplicaciones que acceden los servicios de, al menos, un servidor.  Para invocar servicios remotos, los clientes envían solicitudes al broker. Después que la operación se ha ejecutado, los clientes reciben respuestas o excepciones del bróker  No necesitan conocer la ubicación de los servidores que acceden; esto permite la agregación de nuevos servicios, y el movimiento de los servicios existentes a otras ubicaciones, aún mientras el sistema este ejecutándose.
  • 10. Servidor  Implementa objetos que exponen su funcionalidad a través de interfaces que consisten de operaciones y atributos.  Están disponibles a través de un lenguaje de definición de interfaz (IDL) o un estándar binario. Hay dos tipos de servidores:  ofrecen servicios comunes a muchos dominios de aplicación.  implementan una funcionalidad específica para un dominio de aplicación particular.
  • 11. Broker  Es un mensajero, responsable de la transmisión de solicitudes de clientes a servidores, así como de la transmisión de respuestas.  Localiza al receptor de una solicitud basándose en un sistema de identificadores únicos.
  • 12. Proxy - 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 implementación.
  • 13. Proxy - Servidor Son responsables de:  Recibir solicitudes  Desempaquetar los mensajes de entrada  El unmarshaling de los parámetros  Llamar al servicio apropiado  El marshaling* de resultados y excepciones antes de enviarlos al cliente. *Marshaling: transformar la representación en memoria de un objeto a un formato apropiado para almacenaje o transmisión.
  • 14. Puente  Los puentes son componentes opcionales utilizados para esconder los detalles de implementación cuando dos brokers interoperan.  Supóngase que un sistema Broker se ejecuta en una red heterogénea. Si se transmiten solicitudes sobre la red, se deben comunicar brokers diferentes independientemente de las redes y de los sistemas operativos utilizados.
  • 15. Ejemplo  El desarrollo del sistema de información de una ciudad (SIC) diseñado para ejecutarse en una red de área amplia. utilizando un browser WWW.  Los clientes son los browsers.Recuperan streams de datos desde los servidores httpd, los interpretan, e inician acciones tales como el despliegue de documentos en la pantalla, o la ejecución de applets de Java.Los servidores son servidores WWW que proveen acceso a páginas HTML.  Los servidores WWW se implementan como procesos demonios httpd que esperan la entrada de solicitudes en puertos específicos. Cuando llega una solicitud al servidor, se envía el documento solicitado y algunos datos adicionales al cliente.  Un broker es la combinación de un gateway de Internet, y la infraestructura misma de Internet. Cada intercambio de información entre un cliente y un servidor pasa a través del broker. Un cliente especifica la información que requiere mediante URLs. Utilizando estos identificadores únicos, el broker localiza los servicios requeridos, y envía las solicitudes a los servidores apropiados. Cuando se agrega un nuevo servidor, éste debe registrarse con el broker. Los clientes y servidores utilizan el gateway de Internet como una interfaz al broker.  Los browsers WWW y los servidores httpd proveen capacidades incorporadas para la comunicación con el gateway del proveedor de Internet, así que, en este caso, no es necesario preocuparse por los proxies.
  • 16. Relaciones y Restricciones  La relación de unión asocia clientes (y, opcionalmente, proxies del lado del cliente) y servidores (y, opcionalmente, los proxies de servidor) con brokers.  El cliente sólo puede conectarse a un broker (posiblemente a través de un proxy del cliente). El servidor sólo se puede unir a un broker (posiblemente a través de un proxy server-side).
  • 17. Debilidades - Eficiencia Restringida  Usualmente son más lentas que las aplicaciones cuya distribución de componentes es estática y conocida.  Los sistemas que dependen directamente de un mecanismo concreto para la comunicación entre procesos también dan un mejor desempeño que una arquitectura Broker
  • 18. Baja Tolerancia a Fallos  El broker puede ser un punto único de fallo.  Un broker puede ser un objetivo para los ataques de seguridad.  Si un servidor o un broker falla durante la ejecución de un programa, Todas las aplicaciones que dependen del servidor o broker no serán capaces de continuar satisfactoriamente.
  • 19. Pruebas y Debugging  Es tedioso debido a que el número de componentes implicados es grande.  Un Broker puede resultar complicado de probar
  • 20. Tácticas - Disponibilidad Recuperación de datos  Redundancia activa (Hot spare)  Redundancia pasiva (Warm spare)  Spare (cold spare) Detección  Ping/Echo  Excepciones
  • 21. Modificabilidad Prevención efecto dominó  Ocultar información  Manteniendo las interfaces  Uso de intermediarios Defer binding time  Registro en runtime  Reemplazo de componentes(servidores)
  • 22. Seguridad Resistiendo los ataques  Autenticar usuarios  Autorizar usuarios  Mantener la confidencialidad de los datos Detectando ataques  Detección de intrusos Recuperación de un ataque  Restauración (Tacticas de disponibilidad)  Identificación (Log de auditoría)
  • 23. Variaciones del patrón – Sistemas Broker de Comunicación Directa  En esta variante los clientes pueden comunicarse directamente con los servidores.  El broker indica a los clientes los canales de comunicación que provee el servidor, entonces el cliente puede establecer un enlace directo al servidor solicitado.  En estos sistemas, los proxies se encargan de las responsabilidades del broker para manejar la mayoría de las actividades de comunicación.
  • 24. Sistemas Broker de Paso de Mensajes  Esta variante es apropiada para sistemas que se enfocan en la transmisión de datos.  Los servidores utilizan un tipo de mensaje para determinar lo que deben hacer, en vez de ofrecer servicios que los clientes pueden invocar.  En este contexto, un mensaje es una secuencia de datos en bruto junto con información adicional que especifica el tipo de mensaje, su estructura y otros atributos relevantes.
  • 25. Sistemas Broker Adaptadores  Para aumentar la flexibilidad, se puede esconder la interfaz del broker a los servidores utilizando una capa adicional, llamada capa adaptadora, que es responsable de registrar e interactuar con los servidores.
  • 26. Sistemas Broker Negociantes  Usualmente, un cliente envía una solicitud a un servidor identificado en forma única, pero en algunas circunstancias los servicios y no los servidores son el destino de las solicitudes de los clientes.  En esta variante el broker debe conocer que servidores pueden proveer un servicio especificado, y enviar la solicitud al servidor apropiado.  Sin embargo, los proxies del lado del cliente usan identificadores de servicio en vez de identificadores de servidor para accesar a la funcionalidad de los servidores. La misma solicitud puede enviarse a varios servidores que implementen el mismo servicio.
  • 27. Sistemas Broker Callback  En vez de implementar un modelo de comunicación activa donde los clientes producen solicitudes y los servidores las consumen, se puede utilizar un modelo reactivo que se maneja por eventos sin hacer distinción entre clientes y servidores.  Cuando un evento llega, el broker invoca el método callback del componente registrado para reaccionar ante ese evento, cuya ejecución, a su vez puede generar nuevos eventos causando que el broker dispare nuevas invocaciones de métodos callback.
  • 28. Atributos de Calidad – Interoperatibilidad  Sistemas Broker diferentes pueden interoperar si entienden un protocolo común para el intercambio de mensajes.  Este protocolo es implementado y manejado por puentes, los cuales son responsables de traducir el protocolo específico del broker en un protocolo común, y viceversa.
  • 29. La Transparencia de Ubicación  Como el broker localiza un servidor utilizando un identificador único, los clientes no necesitan conocer la ubicación de los servidores.  De manera similar, los servidores no necesitan tomar en cuenta la ubicación del cliente solicitante, ya que reciben todas las solicitudes del componente broker local.
  • 30. La Portabilidad  El sistema Broker esconde el sistema operativo y los detalles del sistema de red utilizando capas indirectas como APIs, proxies y puentes.  Cuando se requiera portar el sistema, es suficiente, en muchos casos, portar el broker y sus APIs a una nueva plataforma, y recompilar clientes y servidores.  Si las capas más bajas esconden los detalles específicos del sistema del resto del broker, sólo se requiere portar estas capas más bajas, en vez de portar el broker completamente.
  • 31. Extensibilidad  Si los servidores cambian pero sus interfases permanecen sin cambio, no se tiene impacto funcional sobre los clientes.  Modificando la implementación interna del broker, pero no los APIs que éstos proveen, no tiene efecto en clientes y servidores más que cambios en el desempeño.
  • 32. Reusabilidad  Cuando se construyen nuevas aplicaciones cliente, frecuentemente el desarrollador puede basar la funcionalidad de su aplicación en los servicios existentes.  Si están disponibles componentes que ofrecen servicios tales como edición, visualización, impresión, acceso a bases de datos u hojas de cálculo, no es necesario desarrollar nuevamente estos servicios, sino integrarlos en la aplicación.
  • 33. Usos  CORBA: es una tecnología orientada a objetos para objetos distribuidos en sistemas heterogéneos. Orbix, de IONA Technologies, usa la variante de comunicación directa.  SOM/DSOM de IBM: Es un sistema bróker compatible con CORBA que implementa la interoperabilidad combinando el IDL de CORBA con un protocolo binario.  OLE de Microsoft: Define un formato estándar binario para exponer y acceder a las interfaces del servidor.  World Wide Web utiliza el patrón bróker para que los navegadores actúen como intermediarios y los servidores de WWW como proveedores de servicios  RMI de Sun: Tecnología para la invocación remota demétodos para la plataforma Java.  ATM-P de Siemens: Es la implementación de la variante de paso de mensajes en sistemas de telecomunicaciones basados en Asynchronous Transfer Mode (ATM).
  • 34. Referencias  Bass, L., Clements, P., & Kazman, R. (2013). Software Architecture in Practice.  Guardado Guzman, S. V. (2013). El Patrón Broker. Obtenido de http://es.scribd.com/doc/143875290/El-Patron-Broker  Mendoza Chapa, S. G. (1996). Seminario de Sistemas Distribuidos. Broker.  Rojas Rodríguez, M. (2010). Patrones Arquitectónicos para Programación Distribuida. México D.F.