Sistemas Distribuídos - Comunicação Distribuída – Middleware

5,637 views
5,467 views

Published on

Published in: Technology, Education

Sistemas Distribuídos - Comunicação Distribuída – Middleware

  1. 1. Comunicação Distribuída – Middleware Prof. Adriano Teixeira de Souza
  2. 2.  “Um middleware pode ser visto como uma camada de software intermediária localizada entre o sistema operacional e a aplicação.” Desenvolvimento de Sistemas distribuídos mais fácil e ágil. Prof. Adriano Teixeira de Souza
  3. 3. Prof. Adriano Teixeira de Souza
  4. 4. Requisitos de um Middleware Permitir Comunicação ◦ Uso de protocolos de comunicação ◦ Marshalling e Unmarshalling ◦ IDL para garantir (un)marshalling dos dados Prof. Adriano Teixeira de Souza
  5. 5. Requisitos de um Middleware Permitir Escalabilidade ◦ Medida de Capacidade de adaptação ◦ Replicação de componentes como solução  Transparência de acesso  Transparência de localização  Transparência de migração  Transparência de replicação Prof. Adriano Teixeira de Souza
  6. 6. Requisitos de um Middleware Lidar com Heterogeneidade ◦ Não restringe o sistema a uma só tecnologia ◦ Permite que componentes legados sejam integrados a novos componentes. Prof. Adriano Teixeira de Souza
  7. 7.  Serviços de Middleware ◦ Ciclo de vida  Gerenciamento do Ciclo de vida dos objetos ◦ Serviço de nomes  Permite referenciar objetos pelo nome ◦ Transação  Faz gerenciamento de transações Prof. Adriano Teixeira de Souza
  8. 8.  Serviços de Middleware ◦ Negócio  Permite localização de serviços ◦ Segurança  Oferece funcionalidades de segurança ◦ Tempo  Serviço de sincronização de relógios Prof. Adriano Teixeira de Souza
  9. 9.  Middleware Transacional ◦ Suporte a transações síncronas ◦ Coordena requisições entre clientes e servidores ◦ Pode suportar as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) Prof. Adriano Teixeira de Souza
  10. 10. Middleware Transacional Vantagens ◦ Componentes se mantêm consistentes ◦ Bastante confiável ◦ Boa performance ◦ Escalonamento e priorização de solicitações Prof. Adriano Teixeira de Souza
  11. 11. Middleware Transacional Desvantagens ◦ Ausência de padronização para descrever serviços ◦ Executa numa menor quantidade de plataformas ◦ Bloqueios desnecessários ◦ Marshalling e unmarshalling implementadas manualmente Prof. Adriano Teixeira de Souza
  12. 12.  Middleware Orientado a Mensagens (MOM) ◦ Message queuing  Comunicação indireta  Assincrona  Mensagens enviada para filas ◦ Message Passing  Comunicação direta  Síncrona  Destaque para o modelo publish-subscribe Prof. Adriano Teixeira de Souza
  13. 13. Middleware Orientado a Mensagens (MOM) Vantagens ◦ Suporta comunicação em grupo de forma atômica ◦ Confiabilidade ◦ Amplo suporte a protocolos de rede Prof. Adriano Teixeira de Souza
  14. 14. Middleware Orientado a Mensagens (MOM) Desvantagens ◦ Escalabilidade e heterogeneidade limitadas ◦ Pouca portabilidade por falta de padronização Uso ◦ Aplicações cuja disponibilidade da rede ou de todos os componentes não seja um problema Prof. Adriano Teixeira de Souza
  15. 15. Prof. Adriano Teixeira de Souza
  16. 16.  Middleware Orientado a Objetos (MOO) ◦ Evolução dos middlewares procedurais ◦ Interação por invocação de métodos ◦ Comunicação tipicamente síncrona ◦ IDLs para descrever serviços Prof. Adriano Teixeira de Souza
  17. 17. Middleware Orientado a Objetos (MOO) Vantagens ◦ Grande suporte a heterogeneidade ◦ Marshalling e unmarshalling automáticos ◦ Versatilidade Prof. Adriano Teixeira de Souza
  18. 18. Middleware Orientado a Objetos (MOO) Desvantagens ◦ Pouca Escalabilidade Uso ◦ Aplicações que não precisam de grande escalabilidade Prof. Adriano Teixeira de Souza
  19. 19. Prof. Adriano Teixeira de Souza
  20. 20.  Transacionais ◦ Tuxedo (BEA) ◦ CICS (IBM) MOM ◦ MQSeries (IBM) ◦ JMS (Sun) ◦ HornetQ (Jboss) MOO ◦ CORBA - Common Object Request Broker Architecture (OMG) ◦ DCOM - Distributed Component Object Model (Microsoft) ◦ RMI - Remote Method Invocation (Java) Prof. Adriano Teixeira de Souza

×