Você está na página 1de 4

UniversidadeCatlicadePernambuco

CentrodeCinciaseTecnologia
CinciadaComputaoSistemasDistribudos
Prof.AlmirPires

ALUNO:BrunoXavierPeixotodaRocha

ListadeExercciosCaptulo5
ObjetosDistribudoseInvocaoRemota

1.Descrevaospassosbsicosdeumachamadadeprocedimentoremota.
A chamada remota segue o modelo da chamada local sendo que o procedimento
chamado executa em um processo diferente normalmente em um computador
diferente. No nvel de RPC o servio fornecido por um servidor podeser vistocomo
um modulo com uma interface que exporta a funcionalidade apropriada. Ex: um
serviodearquivo(read,write,open,close,etc).

2.Expliquecomoosprocedimentosdasstubsdoclienteedoservidorpodemser
geradosautomaticamenteapartirdeumadefiniodeinterfaceemapeadaspara
umalinguagemespecfica.
Em linguagens orientadas a objetos, os stubs so implementados como objetos
proxy locais que delegam invocaes nos seus mtodos para o objeto de
implementao remota. O stubs so gerados por um compilador IDL para a
linguagem(eambienteORB)queoclienteestejausando.

3.DiscutaasdiferenasdaabordagemRPCdaabordagemdetrocademensagens
(e.g.queutilizasockets)emumacomunicaoclienteservidor.
Na troca de mensagens, as mensagens so objetos de dados cuja estrutura e
aplicao so definidas pelas prprias aplicaes que a usaro. Sendo a troca de
mensagensfeitaatravsdeprimitivasexplicitasdecomunicao:
send(destino,mensagem)enviodamensagemparaodestino
receive(origem,mensagem)recebimentodamensagemenviadapelaorigem
O RPC (Chamada remota de procedimento) permite que programas invoquem
procedimentos ou funes localizadas em outras mquinas como se ele estivesse
localmente definidos. A nvel do programa, as informaes so passadas do
chamador para o procedimento chamado atravs de parmetros e resultados so
retornadosatravsdoresultadodoprocedimento.Destemodo,nenhumamensagem
ouentrada/sadavisvelaoprogramador.
4.Paracadaumadasseguintesaplicaesqualsemnticavocescolheria(no
mnimoumavez,ounomximoumavez)?Justifique.
.

a)Leituraeescritadeumprograma

ARPCSunfornecesemnticadechamadapelomenosumavez
b)Compilaodeumprograma
c)Aplicaobancriaremota

RMIJavaeCORBAasemnticadeativaonomximoumavez,masoCORBA
permitequeasemnticatalvezsejausadaparamtodosquenoretornam
resultados.

5.Qualafuncionalidadedoskeletondinmicoedorepositriodeimplementao.

Skeletons
interfaceestticaparaosservios(mtodos)remotos.responsvel
porreceberasrequisiesdoclienteerepasslasparaoservidor.

RepositriodeImplementao
umrepositrio,emtempodeexecuo,paraas
classesqueumservidorsuporta,osobjetosinstanciadosesuasidentificae
s

6.QualaprincipalvantagemoferecidapelomecanismodeRPC(RemoteProcedure
Call)emrelaoaomtodotradicionalusadopelomodeloclienteservidor?
Independedelinguagemdeprogramao.

7.IlustreedescrevaaoperaobsicadomecanismodeRPC.
1. procedimentoclienteinvocaostubdocliente
2. stubclientecompeumamensagemeinvocaoSOdocliente
3. SOdoclienteenviaamensagemparaoSOremoto
4. SOremotoentregaamensagemparaostubdoservidor
5. stubdoservidordesempacotaosdadoseinvocaachamadanoservidorservidor
processaachamadaeretornavaloraostub
6. stubdoservidorempacotaamensagemechamaoSOdoservidor
7. SOdoservidorenviaamensagemparaoSOdocliente
8. SOdoclienterecebeamensagemeentregaaostubcliente
9. stubclientedesempacotaamensagemerepassaaocliente.

8.Quemtodooclienteutilizaparalocalizaroservidoremumsistemabaseadoem
RPC?Apresenteumavantagemeumadesvantagemdessemtodo.

Umclienteparaenviarumamensagemaumservidor,deveutilizarum
serviodenomesdisponvelnosistemadistribudo.Oclienteprocuranesteservio
denomesporumservidorquepossaatendersuachamadadeprocedimento.Em
geraloservioexecutadoporservidoresportmmap.
Desvantagem:
Chamadorechamadoexecutamemespaosdeendereamentodiferentes
Comofazerapassagemdeparmetroseresultadosquandoasmaquinas
envolvidastmarquiteturasdistintas
Vantagem:

Chamadademtodosemoutraslinguagens,poiselenofocadoemuma
linguagemespecfica,oqueresultaemumamaiorflexibilidade.

9.QuaissoasdiferenasexistentesentreoJavaRMIeCorba?

A diferena que maissedestacaentreRMI eCORBAofatodeque,enquanto RMI


uma implementao especfica, CORBA umpadrogenrico.Dessaforma,RMI
totalmente baseado na tecnologia Java, enquanto existem diversas
implementaes de CORBA em diversas linguagens diferentes. Nocasoespecfico,
portanto, de uma implementao Java de CORBA e do RMI, podese apontar
algumas diferenas especficas. O protocolo de comunicao de ambas, por
exemplo, diferente: CORBA utiliza o IIOP, enquanto RMI usa o JRMP. As
referncias a objetos, no caso do CORBA, so resolvidas pelos Object Adapters e
pelo ORB. No caso do RMI, a prpria mquina virtual Java responsvel por essa
tarefa. Experincias demonstram que o desempenho de sistemas CORBA maior
que os baseados em RMI. No caso do CORBA, a modularidade maior, uma vez
que a definio da interface separada da implementao. Dessa forma, uma
mesma interfacepodegerarmaisdeumaimplementao.NocasodoRMI,interface
e implementao esto embutidas no cdigo Java. A curva de aprendizado de
ambas as tecnologias praticamente a mesma, com a diferena de que
programadores que no estejam habituados com Java devem primeiro aprender
essalinguagemparaentousarRMI.

10.OquesignificaotermoIDL?

InterfaceDescriptionLanguage.uma
linguagemdecomputador
utilizadapara
descrevera
interface
dos
componentesdesoftware
.

11.CitequaissoosprincipaiscomponentesdomodelodeObjetoRemoto?

Doladodocliente:
Stubs Clientes tratase de uma interface esttica gerada atravs da
compilao de uma IDL. Compe uma mensagem que contm uma
identificaoeprottiposdosmtodosinvocadosaumservidor.
Interface de Invocao Dinmica (DII) permite que o cliente invoque um
mtodo no servidor sem que tenha conhecimento, emtempo decompilao,
desuainterface.
Repositrio de Interfaces contm uma base de dados com a definio de
todasasinterfacesdeserviosconhecidospeloORB.

Doladodoobjetoservidor:
Skeletons interface esttica para os servios (mtodos) remotos.
responsvel por receber as requisies do cliente e repasslas para o
servidor.
Interface de Skeletons Dinmica (DSI) semelhante ao DII, porm ocorre
no lado do servidor. Fornece um mecanismo que permite, em tempo de

execuo, que servidores entreguem requisies de um ORB para uma


implementao de objeto sem que tenha conhecimento, em tempo de
compilao,desuainterface
Repositrio de Implementao um repositrio, em tempo de execuo,
para as classes que um servidor suporta, os objetos instanciados e suas
identificaes
Adaptador de Objetos (OA) responsvelpor: registrarasclassesservidoras
no repositrio de implementao instanciar os objetos chamados em tempo
de execuo, de acordo com a demanda dos clientes receberaschamadas
para os objetos e repasslas aos mesmos gerar e gerenciar asreferncias
deobjetos(ORB).
Interface ORB permite o acesso s funcionalidades no oferecidas pelas
demais interfaces, pois no depende da interface do objeto ou doadaptador
doobjeto.