Beruflich Dokumente
Kultur Dokumente
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Protocolo Pedido/Resposta
Projetado para suportar a troca de mensagem tpica do modelo Cliente/Servidor Comunicao sncrona
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Servidores web manipulam Dados: pginas, arquivos, imagens, applets Programas: servlets, ASP, PHP, Python Requisio do Cliente DNS hostname Porta Identificador do recurso
Sistema Distribuido
Protocolo Pedido/Resposta Hypertext Transfer Protocol - HTTP Negociao de contedo e autenticao Implementado sobre TCP Conexo entre cliente e servidor Cliente envia pedido Servidor processa e envia resposta Conexo encerrada Representao Externa de Dados e Empacotamento Atravs de ASCII Alguns recursos podem ser enviados em formato binrio Utilizao de estruturas MIME (text/plain, text/html, image/gif or image/jpeg. )
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Parmetros de entrada e retorno so mapeados para variveis ou pontos do retorno aps transmisso
Sistema Distribuido
Sistema Distribuido
IDL Exemplo
Sistema Distribuido
Sistema Distribuido
Modelo Servidor define uma interface remota de servios Cliente invoca servios da interface remota Stub empacota a chamada ORB envia a chamada Skeleton recebe, trata e responde
Sistema Distribuido
CORBA e IDL
Sistema Distribuido
idlj -fall Hello.idl (http://www.jacorb.org/download.html) Resultado HelloPOA.java (stub) HelloStub.java (stub) Hello.java (interface) HelloHelper.java HelloHolder.java HelloOperations.java
Sistema Distribuido
Servidor
Sistema Distribuido
Cliente
Sistema Distribuido
Rodando o exemplo 1 idlj -fall Hello.idl 2 javac *.java HelloApp/*.java 3 orbd -ORBInitialPort 1050& 4 java HelloServer -ORBInitialPort 1050 -ORBInitialHost localhost& 5 java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost
Sistema Distribuido
Conceito prximo a RPC, extendido para objetos Um objeto pode chamar um mtodo (no apenas um procedimento) em um objeto remoto Como em RPC, detalhes so escondidos do programador
Sistema Distribuido
RPC versus RMI Semelhanas Ambos os paradigmas suportam programao com interfaces Construdos sobre o protocolo pedido/resposta (request/response) Nvel similar de transparncia
Sistema Distribuido
RPC versus RMI Diferenas Sistemas distribudos orientados a objetos (expressividade e poder do paradigma) Modelo mais sofisticado de passagem de parmetros Passagem de parmetro por valor Passagem de parmetro por referncia
Sistema Distribuido
RMI
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Rodando o exemplo 1 javac *.java 2 rmic CalculatorImpl (cria o Stub) 3 rmiregistry & (levanta o servidor de nomes RMI) 4 java CalculatorServer & 5 java CalculatorClient