mom

Post on 11-Jan-2017

112 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MOMMiddleware Orientado a Mensagens

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.

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.

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.

APLICAÇÕES MOM

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

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.

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.

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

CARACTERÍSTICAS DAS MENSAGENS

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.

ARQUITETURAConceitos

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

EXEMPLO

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.

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.

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

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

construir uma árvore eficiente!

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

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.

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.

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)

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!

top related