11/7/2018 Capitulo2
file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 1/4
1 Capas intermedias de software orientadas a mensajes
¿Qué son los MOMs? ¿Sobre qué conceptos y tecnologías se sustentan?
1.0.1 Introducción
Para comenzar, es interesante definir que es un MOM. Según Wikipedia (https://en.wikipedia.org/wiki/Message-
intermedia de software orientada a mensajes es una infraestructura de software o hardware que soporta el enví
sistemas distribuidos".
Como se ve en la figura anterior, al hablar de sistemas de software orientados a mensajería, aparecen, desde e
conceptos importantes a considerar.
1. Comunicación Asíncrona: Los componentes no tienen que esperar respuestas ni estar conectados continua
2. Desacople: Las interfaz entre componentes son mensajes y no llamadas a funciones, lo que permite una re
nodos.
3. Concurrencia: Cuando un nodo recibe una gran cantidad de mensajes a ser procesados debe hacer frente
es decir la atención simultánea de todas las peticiones. La programación asíncrona (Atención: no es lo m
forma de resolver esta problemática.
4. Integración: Los sistemas de comunicación basados en mensajería permiten la integración de distintos nod
permitiendo manejar componentes distribuídos a través de una red de comunicaciones.
Ahora bien, para entender dichos conceptos es necesario manejar ciertas herramientas relacionadas con el sof
Algunas herramientas que se desarrollan en este capítulo del curso son:
Concurrencia
Programación Asíncrona
Una vez que se entiendan estas herramientas, será posible visualizar de forma general cómo se aplican los con
MOMs.
Finalmente, en los siguientes dos capítulos del curso se verán algunas implementaciones de sistemas MOM.
Contents  
 1 Capas intermedias de sof
1.0.1 Introducción
1.0.2 Concurencia
1.0.3 Programación As
1.0.4 Modelo de interc
1.0.5 Nombres jerárqu
1.0.6 Estructura de Me
1.0.7 Garantías de ent
1.0.8 Formatos de men
1.0.9 Ventajas de Midd
1.0.10 Conclusion
11/7/2018 Capitulo2
file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 2/4
1.0.2 Concurencia
Dicho en pocas palabras, la concurrencia es la ejecución simultanea de varias tareas. Ya que el tema es compl
principalmente en la concurrencia de tareas de I/O de red (en castellano sería E/S).
Lo primero a destacar es que el I/O de red es bloqueante por defecto. Para ilustrar este comportamiento es pos
consulta el correo electrónico con una aplicación: La misma queda esperando hasta que recibe la respuesta de
definitiva, bloquea esperando una respuesta del servidor. Eso es intrínseco al software que hace la comunicació
es mucho más lento que cualquier operación relativa a CPU o RAM (o incluso el acceso a un disco local). Aqui
concurrencia, ya que no pueden pasar varias cosas a la vez si cada una de ellas bloquea el programa completo
Para lograr que el I/O de red no bloquee todo el hilo de ejecución y así permitir que el sistema sea concurrente,
entre ellas : multihilos, multiprocesamiento y programación asíncrona. Ahora bien, ya que tanto los multihilos, co
concurrencia genéricos y sirven para todo tipo de concurrencia, su poca especialización los hace elecciones po
otro lado, ya que la programación asíncrona permite soluciones específicas para I/O de red, a continuación se a
tema.
1.0.3 Programación Asíncrona
¿Qué es por tanto la asincronía?. En pocas palabra, no bloquear esperando a que termine el I/O de red, sino se
cuando termine el I/O de red continuar ejecutando esa parte del código que se había bloqueado.
Nuevamente, para ilustrarlo, observese el ejemplo de la aplicación de correo electrónico. Mientras se espera re
de bloquear se puden realizar otras tareas, por ejemplo enviar un correo, actualizar tareas de calendario, entre
asincronía, las tareas se ejecutan cuando les corresponde, no en orden secuencial.
Entre otros modelos de programación asíncrona se puede citar (en Python dado que ese lenguaje se eligió para
(Twisted), Corrutinas (Gevent) y Asyncio (python3). A partir de estos conceptos se estudiarán las características
Contents  
11/7/2018 Capitulo2
file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 3/4
1.0.4 Modelo de intercambio de mensajes en los MOM
Los sistemas MOM tienen por lo general dos tipos bien diferenciado de intercambio de mensajes:
Punto a Punto: Provee un intercambio asincrónico directo de mensajes entre entidades de software vía una
Cada mensaje es brindado una sola vez y a un solo cliente y, si bien multiples consumidores pueden leer d
podrá ser leído por uno de ellos. Esta técnica permite el balance de cargas en el sistema. En este modelo d
siempre transmitidos a destino y cada uno será almacenados en la cola hasta que el consumidor esté listo
Publicador / Suscriptor: Este es un mecanismo muy poderoso para hacer difusión de mensajes entre consu
De hecho, bajo este modelo está permitida la distribución de mensajes uno a muchos u muchos a uno. Es
de las partes necesitan tener conocimiento holístico del sistema. Así, cuando desea transmitir, el publicado
un canal (llamado “tópico”) al cual se suscribirá todo aquel que esté interesado en recibir los mensajes. Est
motor o núcleo de publicaciones o subscripciones.
1.0.5 Nombres jerárquicos de tópicos
Los canales jerárquicos (o "tópicos") son un mecanismo de agrupación de destino en el modelo de mensajería
estructura permite que los canales se aniden bajo otros canales según detalle. Cada subcanal ofrece una selec
contenidos en su matriz. Los clientes de los canales jerárquicos pueden suscribirse al nivel más apropiado de c
más relevantes para ellos. En los sistemas de gran escala, la agrupación de mensajes en tipos relacionados (po
gestionar grandes volúmenes de diferentes mensajes. Cabe aclarar que es un requisito indispensable que el es
canales sea bien definido y conocido por las partes intervinientes del sistema. Asimismo, es responsabilidad de
publicará; el receptor debe ser capaz de buscar dentro de la estructura jerárquica de tópicos y escoger a cuál s
1.0.6 Estructura de Mensajes
Cuando se pasan datos entre dos procesos con espacios de memoria separados, los datos deben ser empaque
que el receptor será capaz de dessempaquetar y entender. El remitente del mensaje pasa el mensaje a través d
recupera el mensaje del canal de mensajes y transforma el mensaje en las estructuras de datos internas aprop
mensaje se compone de dos partes fundamentales:
Cabecera: Describe detalles del mensaje (Ej.: estampa de tiempo, tiempo de expiración, origen, etc.).
Cuerpo: El contenido o datos “útiles” para el receptor.
También, a la hora de mandar un mensaje, el que lo envía puede tener una determinada "intención" o propósito
Mensaje de comando: invoca un procedimiento en el receptor.
Mensaje de documentación: pasa datos al receptor.
Mensaje de evento: notifica un cambio de estado al receptor.
Mensaje de respuesta: envía una respuesta a la aplicación receptora.
Obviamente es muy importante que todos los que intervienen en la comunicación acuerden un formato de mens
interoperabilidad entre las partes, mejor reuso de componentes y facilidad en la extensión y escalado del sistem
1.0.7 Garantías de entrega de mensajes
Para garantizar la entrega de los mensajes en las plataformas MOM, estos se almacenan en una memoria no v
consumidor confirma la recepción de los mismos. Si la confirmación se demora más de un tiempo razonable, el
1.0.8 Formatos de mensajes
Dependiendo de la implementación de MOM que se considere, se puede hallar disponibles distintos tipo de form
comunes son: Texto (incluyendo XML), Objeto, Flujo de Datos, Mapas Hash, Flujo Multimedia, etc. Algunos MO
mensaje en cierto formato a otro.
1.0.9 Ventajas de Middlewares orientados a mensajes
Las principales ventajas de las capas intermedias son:
Modularidad de software
Abstracción de arquitectura de hardware: de esta manera se oculta las características específicas del hard
desarrolladores APIs (del inglés: Application Programming Interface) más convenientes y estandarizadas.
Contents  
11/7/2018 Capitulo2
file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 4/4
Independencia de plataforma
Portabilidad: debe poderse correr en cualquier plataforma con sólo cambiar la configuración del sistema. P
ningún dispositivo o algoritmo de software específico.
Escalable y actualiable.
Robusto, confiable, fácil de usar, flexible y soportar programción en paralelo y sistemas distribuídos. Tambi
configuraciones en tiempo real a la vez que brinda algunos aspectos de seguridad, como autentificación, a
seguras.
1.0.10 Conclusion
En el presente capítulo se presentó el concepto de MOMs, sus ventajas, arquitectura y herramientas fundamen
se implementan los MOMs. A continuación se sugiere realizar el práctico correspondiente a esta unidad.
Contents  

Más contenido relacionado

DOCX
Trabajo de teleproceso
PDF
Introduccion a los sistemas distribuidos
PPTX
Sistemas operativos distribuidos
PPTX
Sistemas distribuidos
PDF
Osi protocolos y capas
DOCX
DOCX
Tipos de sistemas distribuidos.
PPSX
Sistemas distribuidos
Trabajo de teleproceso
Introduccion a los sistemas distribuidos
Sistemas operativos distribuidos
Sistemas distribuidos
Osi protocolos y capas
Tipos de sistemas distribuidos.
Sistemas distribuidos

La actualidad más candente (17)

PPTX
Shavaaaaaa
PPTX
unidad 3 comercio electronico
PPTX
unidad 3
PPT
Sistema Distribuidos
PDF
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
DOCX
Modelo osi y sus 7 capas
PPTX
PPTX
Arquitectura de sistemas distribuidos
DOCX
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
PDF
Herramientas de Sistemas Distribuidos
PDF
Quasi - Arquitectura de la comunicación
DOCX
Middleware en los sistemas distribuidos
PDF
Sistema de control distribuido parte 6
PPTX
comunicacion de sistemas distribuidos
DOCX
Introducción a la arquitectura de red en windows95
PDF
Capitulo2 rev0
PPTX
Modelo de Referencia OSI
Shavaaaaaa
unidad 3 comercio electronico
unidad 3
Sistema Distribuidos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Modelo osi y sus 7 capas
Arquitectura de sistemas distribuidos
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Herramientas de Sistemas Distribuidos
Quasi - Arquitectura de la comunicación
Middleware en los sistemas distribuidos
Sistema de control distribuido parte 6
comunicacion de sistemas distribuidos
Introducción a la arquitectura de red en windows95
Capitulo2 rev0
Modelo de Referencia OSI
Publicidad

Similar a Capitulo2 (20)

PDF
Patrones de Integración Empresariales
PPT
Redes i
DOCX
Trabajo de teleproceso
PPTX
Términos de Programación Distribuida 5
PPT
capamodelososi
PDF
Business Data Communications Infrastructure Networking and Security 7th Editi...
PPTX
Modelo OSI Parte 2
PDF
Business Data Communications Infrastructure Networking and Security 7th Editi...
PPT
Modelo Osi
PPT
Modelo Osi
PPT
Modelo Osi
PDF
Presentacion sistemas distribuidos
PPTX
Sistema operativo
DOCX
REDES COMPUTADORA
DOCX
Redes de Computadores
PPTX
MODELOS OSI.pptx
DOCX
Redes de computadoras
DOCX
Redes de computadoras
DOCX
Redes de computadoras
PPT
07 middleware
Patrones de Integración Empresariales
Redes i
Trabajo de teleproceso
Términos de Programación Distribuida 5
capamodelososi
Business Data Communications Infrastructure Networking and Security 7th Editi...
Modelo OSI Parte 2
Business Data Communications Infrastructure Networking and Security 7th Editi...
Modelo Osi
Modelo Osi
Modelo Osi
Presentacion sistemas distribuidos
Sistema operativo
REDES COMPUTADORA
Redes de Computadores
MODELOS OSI.pptx
Redes de computadoras
Redes de computadoras
Redes de computadoras
07 middleware
Publicidad

Último (20)

PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PPTX
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PDF
CURRICULAR DE PRIMARIA santa ursula..pdf
PDF
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
PPTX
4. Qué es un computador PARA GRADO CUARTO.pptx
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
PDF
Introducción a la historia de la filosofía
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
informe tipos de Informatica perfiles profesionales _pdf
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
CURRICULAR DE PRIMARIA santa ursula..pdf
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
4. Qué es un computador PARA GRADO CUARTO.pptx
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
Introducción a la historia de la filosofía
Manual del Gobierno Escolar -MINEDUC.pdf
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf

Capitulo2

  • 1. 11/7/2018 Capitulo2 file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 1/4 1 Capas intermedias de software orientadas a mensajes ¿Qué son los MOMs? ¿Sobre qué conceptos y tecnologías se sustentan? 1.0.1 Introducción Para comenzar, es interesante definir que es un MOM. Según Wikipedia (https://en.wikipedia.org/wiki/Message- intermedia de software orientada a mensajes es una infraestructura de software o hardware que soporta el enví sistemas distribuidos". Como se ve en la figura anterior, al hablar de sistemas de software orientados a mensajería, aparecen, desde e conceptos importantes a considerar. 1. Comunicación Asíncrona: Los componentes no tienen que esperar respuestas ni estar conectados continua 2. Desacople: Las interfaz entre componentes son mensajes y no llamadas a funciones, lo que permite una re nodos. 3. Concurrencia: Cuando un nodo recibe una gran cantidad de mensajes a ser procesados debe hacer frente es decir la atención simultánea de todas las peticiones. La programación asíncrona (Atención: no es lo m forma de resolver esta problemática. 4. Integración: Los sistemas de comunicación basados en mensajería permiten la integración de distintos nod permitiendo manejar componentes distribuídos a través de una red de comunicaciones. Ahora bien, para entender dichos conceptos es necesario manejar ciertas herramientas relacionadas con el sof Algunas herramientas que se desarrollan en este capítulo del curso son: Concurrencia Programación Asíncrona Una vez que se entiendan estas herramientas, será posible visualizar de forma general cómo se aplican los con MOMs. Finalmente, en los siguientes dos capítulos del curso se verán algunas implementaciones de sistemas MOM. Contents    1 Capas intermedias de sof 1.0.1 Introducción 1.0.2 Concurencia 1.0.3 Programación As 1.0.4 Modelo de interc 1.0.5 Nombres jerárqu 1.0.6 Estructura de Me 1.0.7 Garantías de ent 1.0.8 Formatos de men 1.0.9 Ventajas de Midd 1.0.10 Conclusion
  • 2. 11/7/2018 Capitulo2 file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 2/4 1.0.2 Concurencia Dicho en pocas palabras, la concurrencia es la ejecución simultanea de varias tareas. Ya que el tema es compl principalmente en la concurrencia de tareas de I/O de red (en castellano sería E/S). Lo primero a destacar es que el I/O de red es bloqueante por defecto. Para ilustrar este comportamiento es pos consulta el correo electrónico con una aplicación: La misma queda esperando hasta que recibe la respuesta de definitiva, bloquea esperando una respuesta del servidor. Eso es intrínseco al software que hace la comunicació es mucho más lento que cualquier operación relativa a CPU o RAM (o incluso el acceso a un disco local). Aqui concurrencia, ya que no pueden pasar varias cosas a la vez si cada una de ellas bloquea el programa completo Para lograr que el I/O de red no bloquee todo el hilo de ejecución y así permitir que el sistema sea concurrente, entre ellas : multihilos, multiprocesamiento y programación asíncrona. Ahora bien, ya que tanto los multihilos, co concurrencia genéricos y sirven para todo tipo de concurrencia, su poca especialización los hace elecciones po otro lado, ya que la programación asíncrona permite soluciones específicas para I/O de red, a continuación se a tema. 1.0.3 Programación Asíncrona ¿Qué es por tanto la asincronía?. En pocas palabra, no bloquear esperando a que termine el I/O de red, sino se cuando termine el I/O de red continuar ejecutando esa parte del código que se había bloqueado. Nuevamente, para ilustrarlo, observese el ejemplo de la aplicación de correo electrónico. Mientras se espera re de bloquear se puden realizar otras tareas, por ejemplo enviar un correo, actualizar tareas de calendario, entre asincronía, las tareas se ejecutan cuando les corresponde, no en orden secuencial. Entre otros modelos de programación asíncrona se puede citar (en Python dado que ese lenguaje se eligió para (Twisted), Corrutinas (Gevent) y Asyncio (python3). A partir de estos conceptos se estudiarán las características Contents  
  • 3. 11/7/2018 Capitulo2 file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 3/4 1.0.4 Modelo de intercambio de mensajes en los MOM Los sistemas MOM tienen por lo general dos tipos bien diferenciado de intercambio de mensajes: Punto a Punto: Provee un intercambio asincrónico directo de mensajes entre entidades de software vía una Cada mensaje es brindado una sola vez y a un solo cliente y, si bien multiples consumidores pueden leer d podrá ser leído por uno de ellos. Esta técnica permite el balance de cargas en el sistema. En este modelo d siempre transmitidos a destino y cada uno será almacenados en la cola hasta que el consumidor esté listo Publicador / Suscriptor: Este es un mecanismo muy poderoso para hacer difusión de mensajes entre consu De hecho, bajo este modelo está permitida la distribución de mensajes uno a muchos u muchos a uno. Es de las partes necesitan tener conocimiento holístico del sistema. Así, cuando desea transmitir, el publicado un canal (llamado “tópico”) al cual se suscribirá todo aquel que esté interesado en recibir los mensajes. Est motor o núcleo de publicaciones o subscripciones. 1.0.5 Nombres jerárquicos de tópicos Los canales jerárquicos (o "tópicos") son un mecanismo de agrupación de destino en el modelo de mensajería estructura permite que los canales se aniden bajo otros canales según detalle. Cada subcanal ofrece una selec contenidos en su matriz. Los clientes de los canales jerárquicos pueden suscribirse al nivel más apropiado de c más relevantes para ellos. En los sistemas de gran escala, la agrupación de mensajes en tipos relacionados (po gestionar grandes volúmenes de diferentes mensajes. Cabe aclarar que es un requisito indispensable que el es canales sea bien definido y conocido por las partes intervinientes del sistema. Asimismo, es responsabilidad de publicará; el receptor debe ser capaz de buscar dentro de la estructura jerárquica de tópicos y escoger a cuál s 1.0.6 Estructura de Mensajes Cuando se pasan datos entre dos procesos con espacios de memoria separados, los datos deben ser empaque que el receptor será capaz de dessempaquetar y entender. El remitente del mensaje pasa el mensaje a través d recupera el mensaje del canal de mensajes y transforma el mensaje en las estructuras de datos internas aprop mensaje se compone de dos partes fundamentales: Cabecera: Describe detalles del mensaje (Ej.: estampa de tiempo, tiempo de expiración, origen, etc.). Cuerpo: El contenido o datos “útiles” para el receptor. También, a la hora de mandar un mensaje, el que lo envía puede tener una determinada "intención" o propósito Mensaje de comando: invoca un procedimiento en el receptor. Mensaje de documentación: pasa datos al receptor. Mensaje de evento: notifica un cambio de estado al receptor. Mensaje de respuesta: envía una respuesta a la aplicación receptora. Obviamente es muy importante que todos los que intervienen en la comunicación acuerden un formato de mens interoperabilidad entre las partes, mejor reuso de componentes y facilidad en la extensión y escalado del sistem 1.0.7 Garantías de entrega de mensajes Para garantizar la entrega de los mensajes en las plataformas MOM, estos se almacenan en una memoria no v consumidor confirma la recepción de los mismos. Si la confirmación se demora más de un tiempo razonable, el 1.0.8 Formatos de mensajes Dependiendo de la implementación de MOM que se considere, se puede hallar disponibles distintos tipo de form comunes son: Texto (incluyendo XML), Objeto, Flujo de Datos, Mapas Hash, Flujo Multimedia, etc. Algunos MO mensaje en cierto formato a otro. 1.0.9 Ventajas de Middlewares orientados a mensajes Las principales ventajas de las capas intermedias son: Modularidad de software Abstracción de arquitectura de hardware: de esta manera se oculta las características específicas del hard desarrolladores APIs (del inglés: Application Programming Interface) más convenientes y estandarizadas. Contents  
  • 4. 11/7/2018 Capitulo2 file:///E:/MAESTRIA%20UNRC/TEMA2/TAREA/Capitulo2.html 4/4 Independencia de plataforma Portabilidad: debe poderse correr en cualquier plataforma con sólo cambiar la configuración del sistema. P ningún dispositivo o algoritmo de software específico. Escalable y actualiable. Robusto, confiable, fácil de usar, flexible y soportar programción en paralelo y sistemas distribuídos. Tambi configuraciones en tiempo real a la vez que brinda algunos aspectos de seguridad, como autentificación, a seguras. 1.0.10 Conclusion En el presente capítulo se presentó el concepto de MOMs, sus ventajas, arquitectura y herramientas fundamen se implementan los MOMs. A continuación se sugiere realizar el práctico correspondiente a esta unidad. Contents  