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

20
Comunicação Distribuída – Middleware Prof. Adriano Teixeira de Souza

description

 

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

Comunicação Distribuída – Middleware

Prof. Adriano Teixeira de Souza

“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

Prof. Adriano Teixeira de Souza

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

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

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

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

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

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

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

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

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

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

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

Prof. Adriano Teixeira de Souza

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

Middleware Orientado a Objetos (MOO)

Vantagens

◦ Grande suporte a heterogeneidade

◦ Marshalling e unmarshalling automáticos

◦ Versatilidade

Prof. Adriano Teixeira de Souza

Middleware Orientado a Objetos (MOO)

Desvantagens

◦ Pouca Escalabilidade

Uso

◦ Aplicações que não precisam de grande

escalabilidade

Prof. Adriano Teixeira de Souza

Prof. Adriano Teixeira de Souza

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