A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Baseados em Objetos

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Baseados em Objetos"— Transcrição da apresentação:

1 Sistemas Distribuídos Baseados em Objetos
17/08/2011 Sistemas Distribuídos Baseados em Objetos – Capítulo 10

2 Introdução Tudo tratado como Objeto;
Serviços e recursos como objetos a serem invocados; Facilita: Transparência Oculta aspectos da distribuição Sistemas Distribuídos Baseados em Objetos – Capítulo 10

3 Sistemas Distribuídos Baseados em Objetos
Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Tolerância a Falha Segurança Sistemas Distribuídos Baseados em Objetos – Capítulo 10

4 Arquitetura Neste seção, em primeiro lugar, examinaremos com mais profundidade a arquitetura geral de sistemas distribuídos baseados em objetos. E logo após iremos ver como foram desenvolvidos princípios específicos nesses sistemas. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

5 Objetos distribuídos A característica fundamental de um objeto é que ele encapsula dados, denominados estado, e as operações executadas nesses dados, denominadas métodos. Métodos são disponibilizado por meio de uma interface . É importante entender que não há nenhuma modo legal pelo qual um processo possa acessar ou manipular o estado de um objeto, exceto pela invocação dos métodos disponibilizado para ele por meio de uma interface de objeto Sistemas Distribuídos Baseados em Objetos – Capítulo 10

6 Objetos distribuídos Para começar a ter um entendimento sobre o objetos distribuídos. Quando um cliente se vincula a um objeto distribuído, uma implementação da interface do objeto, denominada Proxy, é carregada no espaço de endereço do cliente. Um Proxy é a análogo a um apêndice de cliente em sistemas RPC. A única coisa que ele faz é montar invocações a métodos em mensagens e desmontar mensagens de respostas. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

7 Objetos distribuídos O objeto propriamente dito reside em uma maquina do servidor, onde oferece a mesma interface oferecida na maquina cliente. Requisições de invocações que chegam são passadas para um apêndice servidor, que as desmonta para fazer invocações de métodos na interface de objetos que esta no servidor. O apêndice do servidor também é responsável por montar mensagens de respostas para o cliente. O apêndice do lado servidor é denominado esqueleto, por fornecer o necessário para fazer com que o middeware acesse os objetos . Sistemas Distribuídos Baseados em Objetos – Capítulo 10

8

9 Objetos de tempo de compilação versus objetos de tempo de execução
A utilização de objetos de tempo de compilação em sistemas distribuídos muitas vezes facilita bastante a construção de aplicações. A compilação da definição de classe resulta em códigos que permite a ela instanciar objetos em Java. Sendo assim interfaces pode ser compilados do lado do cliente e do servidor o que permite que objetos em Java pode ser invocados remotamente. A desvantagem deste tempo de compilação seria a dependência de determinada linguagem.

10 Objetos de tempo de compilação versus objetos de tempo de execução
Para isso o objeto de tempo de execução seu modo de implementar é basicamente deixado aberto. A essência é como deixar que tal implementação aparente ser um objeto cujos métodos possam ser invocados de uma maquina remota. Uma abordagem comum e usar um adaptador de objeto. O adaptador de objeto desempenha o papel registrar uma implementação de uma interface e na seqüência, disponibiliza aquela interface para invocações( remotas ).

11 Objetos persistente e transientes
Um objeto persistente é o que continua a existir mesmo que, no momento em questão, ele não esteja contido no espaço de endereços de qualquer processo servidor. Um objeto transiente é um objeto que existe somente enquanto existir o servidor que o está hospedando. Quando o servidor sai ele deixa de existir.

12 Enterprise Java Beans UM EJB (Enterprise Java Beans) e um objeto em java hospedado por um servidor especial que oferece aos clientes remotos modos diferentes para invocar aquele objeto. Este servidor tem que fornecer suporte para separar funcionalidade de aplicação de funcionalidade orientada a sistemas.

13

14 Arquitetura Modelo de objetos
O Globe não adota modelo de objetos remotos. Estado do processo pode ser distribuído e replicado A figura 10.3 apresenta um objeto distribuído por 4 processos, cada um executando em uma máquina diferente. Em Globe, objetos são denominados objetos compartilhados distribuídos.

15

16 Arquitetura A implementação local é denominada representação local ou objeto local. Há dois tipos de objetos locais Objeto local primitivo Objeto local composto A composição é usada para construir objeto local que é necessário para implementar objetos compartilhados distribuídos.

17

18 Arquitetura Subobjeto de semântica. Subobjeto do comunicação.
Subobjeto de controle.

19 Processos Servidor de objeto Alternativas para invocar objetos
Suporte a objetos distribuídos Um objeto consiste em duas partes. (podem estar separadas) Alternativas para invocar objetos Considerar que há somente um modo de invocar objetos Servidor suportar políticas diferentes (objetos transientes) Vantagens: Só necessita de recurso quando for utilizado Desvantagem: Pode demorar algum tempo para ser concluída Sistemas Distribuídos Baseados em Objetos – Capítulo 10

20 Processos Adaptador de objetos
Abordagem alternativa, objetos compartilhem, no mínimo o código Abordagem mais simples com um único thread de controle. Adaptador de objetos Software que implementa uma política de ativação específica. Tem mais de um objeto sob seu controle Não conhecem a interface específica dos objetos, por isso são genéricos. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

21 Sistemas Distribuídos Baseados em Objetos – Capítulo 10

22 Processos Exemplo: sistema de execução lce

23

24 Comunicação Clientes remotos invocam objetos.
Baseado em RPC (chamada a procedimento remoto); Sistemas que suportam objetos distribuídos X RPC Sistemas: referência dos objetos no âmbito do sistema. Transparência de distribuição aprimorada com implementação de referência de objeto sendo ocultada. Processos vinculados à objetos; Proxy no espaço de endereços do processo; Interface com métodos acessíveis. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

25 Comunicação Vinculação implícita Vinculação explícita
Cliente invoca métodos diretamente; Utiliza referência a um objeto. Vinculação explícita Cliente chama função especial para se vincular ao objeto. Após chamar, consegue invocar os métodos.

26 Vinculação Implícita versus Vinculação Explícita

27 Comunicação Implementação de referências do objeto
Endereço de rede da máquina do objeto; Porta que identifica o servidor; Indicação do objeto. Desvantagens da implementação: Se servidor cair e novas portas forem designadas para ele, referências serão inválidas; Solução: Daemon local para monitorar designações servidor/porta com tabela de portas;

28 Comunicação Desvantagens da implementação:
Servidor muda de máquina: necessário invalidar referências aos seus objetos; Solução: servidor de localização – monitora a máquina que o servidor executa num momento e mantém referência do objeto; Cliente e servidor devem ter mesmos protocolos: de transporte; para montar/desmontar parâmetros; para estabelecer conexão inicial; etc.

29 Comunicação Manipulador de implementação
Implementação completa do proxy referenciada; Cliente carrega de forma dinâmica quando vincula ao objeto e não precisa implementação de protocolo específico; Proxy pode ser específico para cada objeto;

30 Comunicação Invocação de método remoto (RMI) Invocação estática
Invocação do objeto por proxy; Melhor que RPC; Invocação estática Interface do objeto tem que ser reconhecida quando aplicação cliente em desenvolvimento; Se interface mudar, aplicação cliente tem que ser recompilada Invocação dinamica Aplicação seleciona método a ser invocado em runtime;

31 Comunicação Transferência de parâmetros Referência à objeto remoto:
Objetos distribuídos acessados por máquinas remotas. Referência à objeto remoto: Copiada e transferida como parâmetro de valor; Referencia à objeto local: Objeto copiado e passado junto à invocação;

32 Comunicação

33 Modelo de objetos distribuídos em Java
Java também adota objetos remotos como a única forma de objetos distribuídos Interfaces são implementadas do modo usual por meio de um proxy, que oferece exatamente as mesmas interfaces que o objeto remoto. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

34 Invocação de objeto remoto em Java
Objetos locais e remotos em Java Como a distinção entre objetos locais e remotos dificilmente é visível no nível de linguagem ,Java pode ocultar a maioria das diferenças durante a invocação de um método remoto Distinção feita entre objetos locais e objetos remotos durante uma RMI Construção do objeto remoto Em essência é construído com base em duas classes diferentes. Função do Proxy Sistemas Distribuídos Baseados em Objetos – Capítulo 10

35 Troca de mensagens baseada em objetos
Troca de mensagem em Corba Faz uma inerente abordagem da comunicação baseada em objeto. Invocação assíncrona de método Modelo de chamada de retorno do Corba Sistemas Distribuídos Baseados em Objetos – Capítulo 10

36 Troca de mensagens baseada em objetos
Sistemas Distribuídos Baseados em Objetos – Capítulo 10

37 Nomeação Referências de objeto em Corba Referências de objeto em Globe
Sistemas Distribuídos Baseados em Objetos – Capítulo 10

38 Sincronização Sincronização no Servidor de objetos
Se chegarem varias requisições para o mesmo objeto o servidor pode decidir serializar as requisições e travar o objeto quando ele precisar fazer requisições remotas Problema- se o o cliente q Trava pode ser feita no lado servidor Abordagem adotada em JAVA, se dois processos chamarem um método sincronizado, um será bloqueado o outro seguirá Sistemas Distribuídos Baseados em Objetos – Capítulo 10

39 Sincronização Processo de trava visível para o processo que acessa os recursos Processo que acessa os recursos não tem conhecimento de possíveis travas *Travas ocorre quando o objeto é protegidos contra acessos concorrentes

40 Consistência e Replicação
Consistência de entrada Quando um método do objeto estiver em execução, nenhum outro método poderá ser executado Nunca duas invocações de métodos independentes ocorram em replicas diferentes ao mesmo tempo Como? Baseado em primarios: esforço do desenvolvedor para serializar invocaçoes do objeto Multicast totalmente ordenado:Realizado no middleware, sem esforço do desenvolvedor

41 Consistência e Replicação
Granularidade: Threads processem requisições em ordem no servidor Não é necessário escalonamento determinístico para os threads Assegurar que todas as requisições para o mesmo objeto replicado sejam manipulados na ordem que são entregues Sistemas Distribuídos Baseados em Objetos – Capítulo 10

42 Consistência e Replicação
Sistemas Distribuídos Baseados em Objetos – Capítulo 10

43 Ambientes de replicação
Invocações para objetos são interceptadas em: No lado do cliente-um pouco antes de a invocação ser passada para o apêndice. Dentro do apendice do cliente, onde a intercepção é parte do algoritmo de replicação No lado do servidor, um pouco antes do objeto ser invocado. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

44 Ambientes de replicação
Sistemas Distribuídos Baseados em Objetos – Capítulo 10

45 Invocações Replicadas
É quando um objeto chama outro que esta chamando outro, se o intermediário for replicado o ultimo objeto também será invocado essa quantidade de vezes. Como resolver: Não permitíla-as Os outros modos serão detalhados no slide 10 de acordo com as figuras. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

46 Invocações Replicadas
Sistemas Distribuídos Baseados em Objetos – Capítulo 10

47 Invocações Replicadas
Sistemas Distribuídos Baseados em Objetos – Capítulo 10

48 Corba Tolerante a Falhas
Replicar Objetos em Grupos de Objetos Um grupo consiste em uma ou mais cópias idênticas do mesmo objeto. Transparente para os cliente Gerenciador de Replicações Responsável por criar e gerenciar um grupo de objetos replicados. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

49 Corba Tolerante a Falhas
Sistemas Distribuídos Baseados em Objetos – Capítulo 10

50 Java Tolerante a Falha Backups Primários Replicação ativa
Um servidor coordena todas as ações que precisam ser executadas e institui periodicamente o backup para fazer o mesmo. Replicação ativa As réplicas são mantidas atualizadas permitindo que cada uma delas execute as mesmas operações na mesma ordem. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

51 Globe Repete o tópico em cima se precisar Segurança de Plataforma
Controle Reverso de Acesso Chave de Objeto Chave de Réplica Chave do Usuário Sistemas Distribuídos Baseados em Objetos – Capítulo 10

52 Globe Sistemas Distribuídos Baseados em Objetos – Capítulo 10

53 Invocação Segura de Métodos de objeto em Globe
A invocação segura de método pode ser subdividida em pequenas unidades, sendo que cada uma delas é necessária para assegurar que um cliente autenticado possa executar uma invocação autorizada em uma réplica autenticada. Sistemas Distribuídos Baseados em Objetos – Capítulo 10

54 Invocação Segura de Métodos de objeto em Globe
Necessário usar um total de treze etapas Sistemas Distribuídos Baseados em Objetos – Capítulo 10


Carregar ppt "Sistemas Distribuídos Baseados em Objetos"

Apresentações semelhantes


Anúncios Google