21
MOM Middleware Orientado a Mensagens

MOM

Embed Size (px)

Citation preview

Page 1: MOM

MOMMiddleware Orientado a Mensagens

Page 2: MOM

CONCEITOS Conhecidos como sistemas de enfileiramento de

mensagens. Suporte para comunicação assíncrona persistente. Capacidade de armazenamento de médio prazo

para as mensagens trocadas Aplicações se comunicam retirando e colocando

mensagens em filas específicas. Mensagem será eventualmente entregue ao

receptor.

Page 3: MOM

CONCEITOS Sistemas de enfileiramento de mensagens

ajudam fornecendo meios básicos para empacotar cada subconsulta em uma mensagem e roteá-la até o banco de dados adequado.

Exemplo: Consulta que abranja vários bancos de dados pode ser

repartida em subconsultas que são repassadas para bancos de dados individuais.

Page 4: MOM

QUANDO UTILIZAR? Quando se desejar que os componentes de uma

aplicação não dependam de informações a respeito da interface de outros componentes de forma a poder facilmente substitui-los;

Deseja-se executar uma aplicação sem que exista a necessidade que todos os componentes estarem executando simultaneamente;

O modelo de negócios da aplicação permite que um componente envie informações a outro e continue a operar sem receber uma resposta imediatamente.

Page 5: MOM

APLICAÇÕES MOM

E-mailFluxo de trabalhoGroupwareProcessamento em lotesIntegração de banco de dadosAplicações em Geral

Page 6: MOM

FUNCIONAMENTO

1. Aplicações se comunicam inserindo mensagens em filas específicas.

2. Mensagens são repassadas por uma série de servidores de comunicação.

3. Mensagens são entregues ao destinatário, mesmo que ele não esteja em funcionamento quando a mensagem foi enviada

Remetente e Receptor podem executar em completa independência.

Page 7: MOM

ESTADOS DO REMETENTE E DO RECEPTOR

A ideia básica é a comunicação por filas. Assim as aplicações se comunicam inserindo mensagens em filas específicas. Nenhuma garantia é dada sobre quando, e nem ao menos se, a mensagem será lida.

Uma fila só pode ser lida por sua aplicação associada, mas é possível que várias aplicações compartilhem uma mesma fila.

Page 8: MOM

CARACTERÍSTICAS DAS MENSAGENSMensagens podem conter qualquer tipo de dadoMensagens devem ser adequadamente

endereçadasO endereçamento é feito com o fornecimento de

um nome exclusivo da fila destinatária no âmbito do sistema

Page 9: MOM

CARACTERÍSTICAS DAS MENSAGENS

Page 10: MOM

ARQUITETURAConceitos Fila de Fonte: Fila na qual o remetente envia a mensagem. Estas

filas são filas locais do remetente. Fila de Destino: Uma mensagem colocada em uma fila contém a

especificação de uma fila de destino para a qual ela deve ser transferida.

Gerenciadores de Fila: Um gerenciador de fila interage diretamente com a aplicação que está enviando ou recebendo uma mensagem.

Repassadores: Repassam mensagens que chegam para outros gerenciadores de fila.

Page 11: MOM

ARQUITETURAConceitos

Sistema de enfileiramento de mensagens pode crescer até uma rede de sobreposição (overlay) completa de nível de aplicação.

Page 12: MOM

EXEMPLO

Page 13: MOM

EXEMPLO:VENDA DE INGRESSOSA figura mostra como vários clientes podem acessar

um servidor Web de venda de ingressos pela Internet. Os clientes Web exibem páginas HTML que mostram disponibilidade e preço de ingressos e diagramas dos assentos.

Uma empresa que venda ingressos para eventos pode usar os seguintes recursos dos Serviços de Enfileiramento de Mensagens para melhorar seu sistema:Serviço de mensagens sem conexão. Atualização

de conta e envio de ingresso, realizados de maneira assíncrona.

Page 14: MOM

EXEMPLO:VENDA DE INGRESSOS Conexão à Internet. Aceita pedidos pela Internet

usando um aplicativo dos Serviços de Enfileiramento de Mensagens e componentes COM, em conjunto com páginas ASP e IIS (Serviços de Informação da Internet). Isto é feito por meio de formulários da Web, que dão um suporte de segurança e de várias plataformas.

Suporte de várias plataformas. Integra computadores pessoais e sistemas legados. Por exemplo, o servidor de venda de ingressos pode estar sendo executando em um computador com UNIX.

Page 15: MOM

MULTICASTINGIdeia Básica: Nós se organizam em uma rede de

sobreposição que é usada para disseminar informações para seus membros

Nós na rede de sobreposição podem cruzar vários enlaces físicos: roteamento pode não ser ótimo

Construção do overlayÁrvore: único caminho entre cada par de nósMalha: Cada nó terá vários vizinhos, em geral,

existem vários caminhos entre cada par de nós

Page 16: MOM

MULTICASTINGMulticasting de Nível de Aplicação (MNA)No caso da estrutura em árvore, o problema é

construir uma árvore eficiente!

Page 17: MOM

MULTICASTINGMNA - Qualidade da estrutura

Estresse de enlace: Quantas vezes uma mensagem atravessa o mesmo enlace?

Exemplo: mensagem de A a D atravessa Ra,Rb duas vezes Penalidade de atraso relativo: Razão entre o atraso

entre dois nós na sobreposição e o atraso que esses dois nós sofreriam na rede subjacente.

Exemplo: mensagens de B a C possuem um atraso de 71 no overlay, mas de 47 no nível de rede, que gera uma penalidade de 1.51

Custo da árvore: parâmetro de medição global, relacionado com a minimização dos custos agregados de enlaces.

Exemplo: atraso entre dois nós finais → spanning tree

Page 18: MOM

MULTICASTINGDisseminação de Dados – Algoritmos Epidêmicos

Ideia Básica: propagar informações rapidamente entre um grande conjunto de nós usando somente informações locais. Não há nenhum componente central que coordena a disseminação de informações.

Atualizações para um item de dado específico são iniciadas em um único nó, evitando conflito de escrita.

Page 19: MOM

MULTICASTINGModelos de Disseminação de DadosTrês tipos de nós:

Infectado: se contiver dados que está disposto a espalhar para outros nós

Suscetível: nó que ainda não tenha visto esses dados

Removido: nó atualizado que não está disposto ou capacitado para propagar os dados.

Page 20: MOM

MULTICASTINGAntientropia

Ideia Básica: Um nó P escolhe aleatoriamente um outro nó QPush: P envia suas próprias atualizações a QPull: P recebe novas atualizações de QPush-Pull: P e Q enviam atualizações um ao

outro (abordagem enviar-receber)

Page 21: MOM

MULTICASTINGGossipingIdeia Básica: Se um nó P acabou de ser

atualizado com o item de dado x, ele contata um nó arbitrário Q e tenta enviar a atualização a Q. Contudo, é possível que Q já tenha sido atualizado por um outro nó. Nesse caso, P pode perder o interesse em levar adiante a propagação da atualização, com probabilidade 1/k

Problema: Nós poderão não receber atualizações!