estrutura message brokers
play

Estrutura Message Brokers O que so Message Brokers O Porqu! - PDF document

Estrutura Message Brokers O que so Message Brokers O Porqu! Arquitectura Geral Amadeu Dias Publisher-Subscriber amadeu@di.fc.ul.pt Aspectos a ter em conta Referncias O que so Message Brokers O porqu!


  1. Estrutura Message Brokers � O que são Message Brokers � O Porquê! � Arquitectura Geral Amadeu Dias � Publisher-Subscriber amadeu@di.fc.ul.pt � Aspectos a ter em conta � Referências O que são Message Brokers O porquê! � Middleware MOM específico: � Insuficiência dos mecanismos já existentes: � Também chamados de Integration Brokers � RPC � Orientado para interacções entre “servidores” � MOM básico � Tratam de: � Lidar com processos complexos de : � Encaminhamento e distribuição; � Interacções Assíncronas � Processamento; � Endereçamento Dinâmico � Filtragem ... � ...sendo necessário extender o MOM básico de mensagens para diferentes aplicações 1

  2. O porquê! O porquê! Exemplo Exemplo � Ambiente � Caso � Processamento de uma ordem de encomenda numa cadeia de produção ���������� ���������� ��� ���������� �������� ������� ���������� ������ ������ ������ ������ ��������������������������� O porquê! O porquê! Exemplo Exemplo � Problemas MOM básico � � Ao surgir nova aplicação interessada (Mont-end Cada aplicação é que decide para que filas e/ou destinatários a enviar � Ordem de encomenda (OE): � closing) : � Origem Dispatcher � � A aplicação Dispatcher tem que re-escrever a lógica Destino � � Inventory de encaminhamento necessária para escrever para as ERP � filas � Shipping � Encaminhamento O Dispatcher têm que explicitar quais as filas / aplicações que tem que receber a � OE � Cada mensagem só seria entregue a uma aplicação pelo que teriam existir várias filas ( uma por aplicação interessada) Tudo isto suportado pela aplicação que envia (Dispatcher) � 2

  3. O porquê! O porquê! Exemplo Exemplo � Num MOM � Message Broker (MB) � Cada aplicação é que tem que saber qual o formato a usar � São explicitadas regras de encaminhamento por cada ao escrever para as filas aplicação que recebe mensagens � Num MB � Exemplo � Cada aplicação escreve e recebe no formato que quer mas pode associar no MB uma transformação a aplicar as � O Dispatcher diz ao MB que tem uma mensagem mensagens quando estas lhes são entregues disponível � Exemplo � O MB encarrega-se de fazer o encaminhamento para � O Dispatcher especifíca na OE um preço em $US quem está interessado nessas mensagens � Ao escrever para a fila da aplicação de Shipping o MB � As regras podem ser aplicadas ao nível do broker ou de transforma esse valor em � fila O porquê! Sumário Arquitectura Geral Passar para o middleware varias decisões � A arquitectura de um sistema de Message � Regras � Broker é constituída por: Tipo de encaminhamento � � Transformações específicas para cada aplicação � Núcleo Existe separação lógica entre as aplicações que enviam e que � recebem � Adaptadores Cria-se um sistema capaz de integrar várias aplicações � heterogéneas ������ �������� ������������������� �������� ������ ������� ������� ������������������� ����� ����������� �������������� 3

  4. Arquitectura Arquitectura � Núcleo � Adaptadores � Executa e mantém as regras � Interagem com sistemas específicos � Faz a gestão das filas internas � Realizam a tradução de mecanismos de comunicação e de esquemas de dados � Mantém os dados � Rede Tamanho de pacotes � � Representação dos dados (IDL, XML) � Esquemas de dados Content Enricher / Content Filter � � Normalizer Publisher-Subscriber Publisher-Subscriber � Implementado na maioria dos Message Brokers � CORBA,... � Assenta sobre: � Publisher: produz conteúdos que são consumidos � Subscriber: “assina” um conjunto de conteúdos que são do seu interesse 4

  5. Publisher-Subscriber Publisher-Subscriber propriedades Comparações � Separação: � PS vs RPC � Espaço � O vulgar mecanismo de RPC não tem separação Anonimato e � no: confidencialidade � Tempo: ambos tem que participar activamente na � Tempo acção � Não permanência simultânea � Espaço: quem invoca tem que ter referência para o � Sincronização serviço invocado Não obrigatoriedade de � � Sincronização: quem invoca fica bloqueado à espera bloqueio nas actividades de resposta � Com RPC assíncrono evita-se o bloqueio de quem invoca ( não espera resposta ) Publisher-Subscriber Publisher- Subscriber Comparações Classificações � PS vs Filas de Mensagens (MOM) � Push � Apresenta separação a nível de: � Os intervenientes são passivos � Tempo: as mensagens são guardadas e não requerem a participação simultânea de ambos � Espaço: Os participantes não necessitam de saber � Pull que produz ou consome � A nivel de sincronização: � Os intervenientes são activos � O consumidor necessita de ficar bloqueado aquando da aquisição das mensagens das filas 5

  6. Publisher- Subscriber Publisher-Subscriber Classificações Classificações � Topic-based � Content- based � Cada subscriber assina um tópico individual � Sujeito às propriedades ou meta-dados da descrito por uma “keyword” mensagem � Cada tópico fica associado assim a um canal � As propriedades dos eventos a receber são expressas por: � Cada topico é visto como um serviço próprio � Condições de filtragem aquando da inicialização da � Tipos endereçamento: subscrição � Explo: Newsgroups � Eventos padrão que são inicializados com as � Flat (informatica) propriedades a observar � Hierachical ( informatica.disciplinas.pg.tm) Publisher-Subscriber Publisher-Subscriber Classificações Classificações •Content-based (exemplo) � Type-based � Existe um conjunto pré-definido de tipos de eventos que podem estar hierarquizados � No momento da subscrição explicita-se que apenas estamos interessados em subscrever um determinado tipo de eventos � Apenas esse tipo de eventos é entregue ao subscriber 6

  7. Publisher-Subscriber MB Classificações Aspectos ter em conta � Type-based (exemplo) � Prós + � Boa aproximação para integração de aplicações heterogéneas � Bom suporte para comunicação assíncrona � Contras – � Devido à lógica associada, o processamento de mensagens grandes pode afectar o desempenho dos sistemas. Referências � Gustavo,Casati,Kuno, Machiraju, “Web Services - Concepts, Architecture and Applications”, Springer � Hohpe,Woolf, “Enterprise Integration Patterns”, Addison Wesley � Eugster, Felber, Guerraoui,Kermarrec, “The Many Faces of Publish/Subscribe” � Oki,Pfluegl,Siegel,Skeen,”The Information Bus – An architecture for Extensible Distributed Systems” � Alonso,Pautasso,”Web Services – Concepts, Architecture and Applications” 7

Recommend


More recommend