Download - Sistemas Distribuídos Baseados em Objetos
Sistemas Distribudos Captulo 10
Introduoy Tudo tratado como Objeto; y Servios e recursos como objetos a serem invocados; y Facilita: y Transparncia y Oculta aspectos da distribuio
Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos Baseados em Objetosy Arquitetura y Processos y Comunicao y Nomeao y Sincronizao y Consistncia e Replicao y Tolerncia a Falha y Segurana
Sistemas Distribudos - Captulo 10 - Os Incrveis
Arquiteturay Neste seo, em primeiro lugar, examinaremos com
mais profundidade a arquitetura geral de sistemas distribudos baseados em objetos. E logo aps iremos ver como foram desenvolvidos princpios especficos nesses sistemas.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Objetos distribudosy A caracterstica fundamental de um objeto que ele
encapsula dados, denominados estado, e as operaes executadas nesses dados, denominadas mtodos. Mtodos so disponibilizado por meio de uma interface . y importante entender que no h nenhuma modo legal pelo qual um processo possa acessar ou manipular o estado de um objeto, exceto pela invocao dos mtodos disponibilizado para ele por meio de uma interface de objetoSistemas Distribudos - Captulo 10 - Os Incrveis
Objetos distribudosy Para comear a ter um entendimento sobre o objetos
distribudos. Quando um cliente se vincula a um objeto distribudo, uma implementao da interface do objeto, denominada Proxy, carregada no espao de endereo do cliente. Um Proxy a anlogo a um apndice de cliente em sistemas RPC. A nica coisa que ele faz montar invocaes a mtodos em mensagens e desmontar mensagens de respostas.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Objetos distribudosy O objeto propriamente dito reside em uma maquina
do servidor, onde oferece a mesma interface oferecida na maquina cliente. Requisies de invocaes que chegam so passadas para um apndice servidor, que as desmonta para fazer invocaes de mtodos na interface de objetos que esta no servidor. O apndice do servidor tambm responsvel por montar mensagens de respostas para o cliente. y O apndice do lado servidor denominado esqueleto, por fornecer o necessrio para fazer com que o middeware acesse os objetos .Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos - Captulo 10 - Os Incrveis
Objetos de tempo de compilao versus objetos de tempo de execuoy A utilizao de objetos de tempo de compilao em
sistemas distribudos muitas vezes facilita bastante a construo de aplicaes. A compilao da definio de classe resulta em cdigos 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. y A desvantagem deste tempo de compilao seria a dependncia de determinada linguagem.Sistemas Distribudos - Captulo 10 - Os Incrveis
Objetos de tempo de compilao versus objetos de tempo de execuoy Para isso o objeto de tempo de execuo seu modo de
implementar basicamente deixado aberto. A essncia como deixar que tal implementao aparente ser um objeto cujos mtodos possam ser invocados de uma maquina remota. Uma abordagem comum e usar um adaptador de objeto. y O adaptador de objeto desempenha o papel registrar uma implementao de uma interface e na seqncia, disponibiliza aquela interface para invocaes( remotas ).Sistemas Distribudos - Captulo 10 - Os Incrveis
Objetos persistente e transientesy Um objeto persistente o que continua a existir
mesmo que, no momento em questo, ele no esteja contido no espao de endereos de qualquer processo servidor.
y Um objeto transiente um objeto que existe somente
enquanto existir o servidor que o est hospedando. Quando o servidor sai ele deixa de existir.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Enterprise Java Beansy 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 aplicao de funcionalidade orientada a sistemas.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos - Captulo 10 - Os Incrveis
Arquiteturay Modelo de objetos y O Globe no adota modelo de objetos remotos. y Estado do processo pode ser distribudo e replicado y A figura 10.3 apresenta um objeto distribudo por 4 processos, cada um executando em uma mquina diferente. y Em Globe, objetos so denominados objetos compartilhados distribudos.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos - Captulo 10 - Os Incrveis
Arquiteturay A implementao local denominada representao
local ou objeto local. y H dois tipos de objetos locaisy y
Objeto local primitivo Objeto local composto
y A composio usada para construir objeto local que
necessrio para implementar objetos compartilhados distribudos.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos - Captulo 10 - Os Incrveis
Arquiteturay Subobjeto de semntica. y Subobjeto do comunicao. y Subobjeto de controle.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Processosy Servidor de objeto y Suporte a objetos distribudos y Um objeto consiste em duas partes. (podem estar separadas) y Alternativas para invocar objetos y Considerar que h somente um modo de invocar objetos y Servidor suportar polticas diferentes (objetos transientes)y y
Vantagens: S necessita de recurso quando for utilizado Desvantagem: Pode demorar algum tempo para ser concludaSistemas Distribudos - Captulo 10 - Os Incrveis
Processosy Abordagem alternativa, objetos compartilhem, no
mnimo o cdigo y Abordagem mais simples com um nico thread de controle.
y Adaptador de objetos y Software que implementa uma poltica de ativao especfica. y Tem mais de um objeto sob seu controle y No conhecem a interface especfica dos objetos, por isso so genricos.Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos - Captulo 10 - Os Incrveis
Processosy Exemplo: sistema de execuo lce
Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicaoy Clientes remotos invocam objetos.y
Baseado em RPC (chamada a procedimento remoto);
y Sistemas que suportam objetos distribudos X RPCSistemas: referncia dos objetos no mbito do sistema. y Transparncia de distribuio aprimorada com implementao de referncia de objeto sendo ocultada.y
y Processos vinculados objetos;Proxy no espao de endereos do processo; y Interface com mtodos acessveis.y
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicaoy Vinculao implcitay y
Cliente invoca mtodos diretamente; Utiliza referncia a um objeto.
y Vinculao explcitaCliente chama funo especial para se vincular ao objeto. y Aps chamar, consegue invocar os mtodos.y
Sistemas Distribudos - Captulo 10 - Os Incrveis
Vinculao Implcita versus Vinculao Explcita
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicaoy Implementao de referncias do objetoEndereo de rede da mquina do objeto; y Porta que identifica o servidor; y Indicao do objeto.y
y Desvantagens da implementao:y
Se servidor cair e novas portas forem designadas para ele, referncias sero invlidas; y Soluo: Daemon local para monitorar designaes servidor/porta com tabela de portas;
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicaoy Desvantagens da implementao:Servidor muda de mquina: necessrio invalidar referncias aos seus objetos; y Soluo: servidor de localizao monitora a mquina que o servidor executa num momento e mantm referncia do objeto; y Cliente e servidor devem ter mesmos protocolos: y de transporte; y para montar/desmontar parmetros; y para estabelecer conexo inicial; y etc.y
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicaoy Manipulador de implementaoImplementao completa do proxy referenciada; y Cliente carrega de forma dinmica quando vincula ao objeto e no precisa implementao de protocolo especfico; y Proxy pode ser especfico para cada objeto;y
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicaoy Invocao de mtodo remoto (RMI)Invocao do objeto por proxy; y Melhor que RPC;y
y Invocao estticay Interface do objeto tem que ser reconhecida quando aplicao cliente em
desenvolvimento; y Se interface mudar, aplicao cliente tem que ser recompilada
y Invocao dinamicay
Aplicao seleciona mtodo a ser invocado em runtime;
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicaoy Transferncia de parmetrosy
Objetos distribudos acessados por mquinas remotas. Copiada e transferida como parmetro de valor; Objeto copiado e passado junto invocao;
y Referncia objeto remoto:y
y Referencia objeto local:y
Sistemas Distribudos - Captulo 10 - Os Incrveis
Comunicao
Sistemas Distribudos - Captulo 10 - Os Incrveis
Modelo de objetos distribudos em Javay Objetos distribudosy Java tambm adota objetos remotos como a nica forma de
objetos distribudos y Interfaces so implementadas do modo usual por meio de um proxy, que oferece exatamente as mesmas interfaces que o objeto remoto.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Invocao de objeto remoto em Javay Objetos locais e remotos em Javay Como a distino entre objetos locais e remotos dificilmente
visvel no nvel de linguagem ,Java pode ocultar a maioria das diferenas durante a invocao de um mtodo remoto y Distino feita entre objetos locais e objetos remotos durante uma RMI
y Construo do objeto remotoEm essncia construdo com base em duas classes diferentes.
Funo do ProxySistemas Distribudos - Captulo 10 - Os Incrveis
Troca de mensagens baseada em objetosy Troca de mensagem em Corba y Faz uma inerente abordagem da comunicao baseada em objeto. y Invocao assncrona de mtodo y Modelo de chamada de retorno do Corba
Sistemas Distribudos - Captulo 10 - Os Incrveis
Troca de mensagens baseada em objetos
Sistemas Distribudos - Captulo 10 - Os Incrveis
Nomeaoy Referncias de objeto em Corba y Referncias de objeto em Globe
Sistemas Distribudos - Captulo 10 - Os Incrveis
Sincronizaoy Sincronizao no Servidor de objetos y Se chegarem varias requisies para o mesmo objeto o servidor pode decidir serializar as requisies e travar o objeto quando ele precisar fazer requisies remotas y Problema- se o o cliente q y Trava pode ser feita no lado servidor y Abordagem adotada em JAVA, se dois processos chamarem um mtodo sincronizado, um ser bloqueado o outro seguir
Sincronizao
Processo de trava visvel para o processo que acessa os recursos
Processo que acessa os recursos no tem conhecimento de possveis travas *Travas ocorre quando o objeto protegidos contra acessos concorrentes
Consistncia e Replicaoy Consistncia de entrada y Quando um mtodo do objeto estiver em execuo, nenhum outro mtodo poder ser executado y Nunca duas invocaes de mtodos independentes ocorram em replicas diferentes ao mesmo tempo y Como? y Baseado em primarios: esforo do desenvolvedor para serializar invocaoes do objeto y Multicast totalmente ordenado:Realizado no middleware, sem esforo do desenvolvedor
Consistncia e Replicaoy Granularidade: y Threads processem requisies em ordem no servidor y No necessrio escalonamento determinstico para os threads y Assegurar que todas as requisies para o mesmo objeto replicado sejam manipulados na ordem que so entregues
Sistemas Distribudos - Captulo 10 - Os Incrveis
Consistncia e Replicao
Sistemas Distribudos - Captulo 10 - Os Incrveis
Ambientes de replicaoInvocaes para objetos so interceptadas em:
y No lado do cliente-um pouco antes de a invocao ser
passada para o apndice. y Dentro do apendice do cliente, onde a intercepo parte do algoritmo de replicao y No lado do servidor, um pouco antes do objeto ser invocado.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Ambientes de replicao
Sistemas Distribudos - Captulo 10 - Os Incrveis
Invocaes Replicadas quando um objeto chama outro que esta chamando outro, se o intermedirio for replicado o ultimo objeto tambm ser invocado essa quantidade de vezes. Como resolver: y No permitla-as y Os outros modos sero detalhados no slide 10 de acordo com as figuras.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Invocaes Replicadas
Sistemas Distribudos - Captulo 10 - Os Incrveis
Invocaes Replicadas
Sistemas Distribudos - Captulo 10 - Os Incrveis
Corba Tolerante a Falhasy Replicar Objetos em Grupos de Objetosy Um grupo consiste em uma ou mais cpias idnticas do
mesmo objeto.
y Transparente para os cliente y Gerenciador de Replicaes y Responsvel por criar e gerenciar um grupo de objetos replicados.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Corba Tolerante a Falhas
Sistemas Distribudos - Captulo 10 - Os Incrveis
Java Tolerante a Falhay Backups Primrios y Um servidor coordena todas as aes que precisam ser executadas e institui periodicamente o backup para fazer o mesmo. y Replicao ativa y As rplicas so mantidas atualizadas permitindo que cada uma delas execute as mesmas operaes na mesma ordem.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Globey Repete o tpico em cima se precisar y Segurana de Plataforma y Controle Reverso de Acesso y Chave de Objeto y Chave de Rplica y Chave do Usurio
Sistemas Distribudos - Captulo 10 - Os Incrveis
Globe
Sistemas Distribudos - Captulo 10 - Os Incrveis
Invocao Segura de Mtodos de objeto em Globey A invocao segura de mtodo pode ser subdividida
em pequenas unidades, sendo que cada uma delas necessria para assegurar que um cliente autenticado possa executar uma invocao autorizada em uma rplica autenticada.
Sistemas Distribudos - Captulo 10 - Os Incrveis
Invocao Segura de Mtodos de objeto em Globey Necessrio usar um total de treze etapas
Sistemas Distribudos - Captulo 10 - Os Incrveis
Sistemas Distribudos Baseados em Objetosy Dvidas? Crticas? Sugestes?
Sistemas Distribudos - Captulo 10 - Os Incrveis