Sistemas Distribu - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

Sistemas Distribu

Description:

Enterprise Java Beans . ... Corba Tolerante a Falhas. Replicar Objetos em Grupos de Objetos. Um grupo consiste em uma ou mais c pias id nticas do mesmo objeto. – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 55
Provided by: Rafael196
Category:

less

Transcript and Presenter's Notes

Title: Sistemas Distribu


1
Sistemas Distribuídos Baseados em Objetos
  • Sistemas Distribuídos
  • 17/08/2011

2
Introdução
  • Tudo tratado como Objeto
  • Serviços e recursos como objetos a serem
    invocados
  • Facilita
  • Transparência
  • Oculta aspectos da distribuição

3
Sistemas DistribuídosBaseados em Objetos
  • Arquitetura
  • Processos
  • Comunicação
  • Nomeação
  • Sincronização
  • Consistência e Replicação
  • Tolerância a Falha
  • Segurança

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.

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

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.

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 .

8
(No Transcript)
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
(No Transcript)
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
(No Transcript)
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
(No Transcript)
18
Arquitetura
  • Subobjeto de semântica.
  • Subobjeto do comunicação.
  • Subobjeto de controle.

19
Processos
  • Servidor de objeto
  • 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

20
Processos
  • 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.

21
(No Transcript)
22
Processos
  • Exemplo sistema de execução lce

23
(No Transcript)
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.

25
Comunicação
  • Vinculação implí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 versusVinculaçã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 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
  • 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
  • Objetos distribuídos
  • 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.

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

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

36
Troca de mensagens baseada em objetos
37
Nomeação
  • Referências de objeto em Corba
  • Referências de objeto em Globe

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á

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 ordenadoRealizado 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

42
Consistência e Replicação
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.

44
Ambientes de replicação
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.

46
Invocações Replicadas
47
Invocações Replicadas
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.

49
Corba Tolerante a Falhas
50
Java Tolerante a Falha
  • Backups Primários
  • 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.

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

52
Globe
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.

54
Invocação Segura de Métodos de objeto em Globe
  • Necessário usar um total de treze etapas
Write a Comment
User Comments (0)
About PowerShow.com