Sei sulla pagina 1di 5

Primeira Lista Objetos Distribudos

1. Quais so os requisitos no funcionais que tipicamente conduzem a adoo da


arquitetura de um sistema distribudo? Discuta o conceito de cada uma destes
requisitos.
1. sca!abi!idade: capacidade de suportar o crescimento, esperado ou no, de carga
sobre o sistema. Em sistemas distribudos isso pode ser alcanado adicionando
novos hosts para atender o servio e dividir a carga.
2. "anutenibi!idade: facilidade de realizar manutenes e epanses em um
sistema. !atores "ue facilitam a obteno desta "ualidade so: interface bem
de#nidas e documentadas e adoo de padres abertos e bem aceitos, de forma
"ue componentes do sistema possam ser atualizados e trocados facilmente e "ue
no ha$a depend%ncia de fornecedores.
&. #etero$eneidade% comumente novos sistemas precisam se integrar a
componentes ou sistemas eistentes, desenvolvidos com tecnologias diferentes,
como linguagem e protocolos. 'uitas vezes os sistemas legados so, inclusive,
dependentes de plataformas de hard(are, impedindo "ue os diferentes
componentes se$am eecutados num mesmo host e conse")entemente precisam se
comunicar atrav*s da rede.
+. &cesso e comparti!'amento de recursos% recursos podem ser e"uipamentos
,hardware, como impressoras e scanners-, soft(are ,aplicativos- e dados ,banco de
dados, ar"uivos, etc-. .ara uma utilizao e#ciente ,principalmente em termos de
custos- * necess/rio compartilhar os recursos com os diversos usu/rios, se$am eles
pessoas ou outros componentes e sistemas de soft(are "ue fazem uso dos
recursos. 0r"uiteturas cliente1servidor centralizadas prov%em m*todos e#cientes de
compartilhamento de recursos, por*m em ar"uiteturas distribudas os recursos
podem ser encapsulados e representados atrav*s de ob$etos, criando modelos mais
so#sticados para distribuio e controle de acesso ao recursos.
2. (o!er)ncia a fa!'as% um sistema tolerante a falhas deve ser capaz de continuar
provendo seus servios mesmo na presena de falhas e erros em seus
componentes. !alhas incluem erros de soft(are, falhas de infra3estrutura ,rede,
energia, etc-, m/ utilizao entre outras. 0r"uiteturas distribudas prov%em m*todos
e#cazes de toler4ncia a falhas atrav*s de conceitos como replicao de dados e
servios e redund4ncia de servidores.
*. Qua! + a diferena entre um sistema c!iente,ser-idor e um sistema
distribudo?
5istemas 6liente15ervidor 5istemas 7istribudos
8o h/ autonomia entre os
componentes "ue formam o
sistema pois todos so controlados
de forma centralizada e 9nica.
6ada componente do sistema
* aut:nomo em relao aos
demais. 6ada um cuida de
seus pr;prios recursos e
utilizam interfaces bem
de#nidas para comunicarem3
se entre si.
6omponentes
homog%neos: mesma
linguagem, compilador e
representao de dados.
6omponentes heterog%neos:
comumente as diferentes
partes de um sistema
distribudo so desenvolvidas
utilizando linguagens
diferentes e eecutando em
plataformas diferentes. <asta
"ue o protocolo de
comunicao ,e1ou interface-
entre os componentes se$am
comuns para "ue ha$a a
comunicao necess/ria
entre eles.
.onto 9nico de controle:
estado, mem;ria e
recursos so gerenciados e
controlados no servidor.
5istemas cliente1servidor
podem ser desenvolvidos
para serem eecutados em
um 9nico processador, at*
mesmo em uma 9nica
thread.
.ela natureza aut:noma dos
componentes, o controle *
distribudo e concorrente.
=eralmente os componentes
so eecutados em
processadores e m/"uinas
diferentes, e precisam
utilizam m*todos de
comunicao entre processos
para se comunicarem
localmente ou atrav*s de
redes.
.onto 9nico de falha:
geralmente o sistema ou
est/ funcionando ou no.
6omo o processamento e
controle esto
centralizados no servidor,
se este falhar todo o
sistema para. 5ituaes
em "ue parte do sistema
funciona e outra no so
incomuns.
'9ltiplos pontos de falha: em
sistemas distribudos
componentes podem falhar
isoladamente causando
falhas em partes espec#cas
do sistema en"uanto outras
funcionam normalmente.
'*todos de replicao e
redund4ncia podem ser
utilizados para amenizar os
problemas.
.. Qua! + a diferena entre transpar/ncia de !oca!izao e transpar/ncia de
acesso?
1. >ranspar%ncia de 0cesso signi#ca "ue a interface para comunicao local e remota
so iguais.
2. >ranspar%ncia de ?ocalizao signi#ca "ue para utilizar um servio a localizao
fsica do componente "ue prov% tal servio no precisa ser conhecida.
0. 1onceitue e e2emp!i3que
1. Objeto
@b$etos so inst4ncias de tipos de ob$eto "ue possuem um con$unto de atributos
"ue representam o estado interno do ob$eto e m*todos "ue podem epor e
alterar seus atributos ou realizar computaes, inclusive utilizando outros
ob$etos. Am ob$eto pode apenas representar um con$unto de dados ,um paralelo
seriam os POJOs da linguagem Bava- como tamb*m servios "ue podem ser
utilizados por outros ob$etos.
*. (ipo objeto
>ipos de ob$eto so as especi#caes das caractersticas de ob$etos similares,
basicamente os m*todos e atributos p9blicos "ue sero epostos por esses
ob$etos. Essas caractersticas so especi#cadas atrav*s das chamadas interfaces
e de#nem um contrato para as interaes entre os ob$etos cliente e servidor.
.. 4equisio de Objeto
Ce"uisio de ob$etos so chamadas de m*todos "ue um ob$eto cliente faz a um
ob$eto servidor. .or*m em sistemas distribudos os ob$etos cliente e servidor
podem estar em hosts diferentes, o "ue leva a uma s*rie de etapas adicionais
em relao a chamadas de m*todos simples eistentes em linguagens de
programao orientadas a ob$etos. Essas etapas podem incluir a transmisso de
par4metros atrav*s da rede, traduo da forma de representao dos dados em
diferentes plataformas de hard(are, sincronizao entre os ob$etos cliente e
servidor dentre outras.
5. Diferena entre objeto e tipo objeto
>ipos de @b$eto so especi#caes do comportamento ,m*todos- "ue @b$etos da"uele
tipo ,inst4ncias- apresentam.
6. 1omo os ser-ios so mode!ados em um meta,mode!o orientados a objetos?
1. Em um meta3modelo orientado a ob$etos os servios so modelados como m*todos
disponibilizados pelos ob$etos. 8a nomenclatura de ob$etos distribudos a utilizao
dos servios se d/ atrav*s de Requests de ob$etos, "ue so chamadas remotas aos
m*todos disponibilizados pelos ob$etos.
7. D/ e2emp!o de quando se de-eria uti!izar po!imor3smo no projeto de objetos
distribudos.
Duando dese$amos "ue um servio ,m*todo- se$a realizado de forma diferente
dependendo do tipo de ob$eto "ue foi instanciado para uma determinada interface.
8. Qua! a diferena entre as dec!ara9es private, protected and public em
dia$ramas de c!asses da :"L?
Am m*todo ou atributo declado private pode ser acessado somente pela pr;pria classe
e * representado no diagrama A'? com um sinal E3F.
@ tipo protected permite "ue ob$etos "ue tenham relacionamento de herana possam
acessar tamb*m.
0tributos e m*todos public podem ser acessados por "ual"uer outro ob$eto e so
representados no diagrama A'? com um sinal EGF.
;. Quais re!acionamentos de consist/ncia t/m que 'a-er entre dia$rama de
seq</ncia e dia$rama de c!asses?
>odos os m*todos utilizados no diagrama de se"u%ncia devem estar modelados no
diagrama de classes e as chamadas de m*todos devem obedecer as de#nies de
controle de acesso ,public, protected e private-
1=.2p!ique as raz9es porque a distribuio de-e ser considerada durante o
projeto de objetos distribudos.
0 distribuio de#ne fatores como con#abilidade, escalabilidade e integrao de
servios.
11.O que + um midd!e>are? 1omo o midd!e>are au2i!ia no desen-o!-imento de
sistemas distribudos?
'iddle(are * uma camada de soft(are "ue abstrai os servios de comunicao em
rede disponibilizados pelo 5istema @peracional de Cede, tornando transparente para o
programador a compleidade desta comunicao, incluindo particularidades de
hard(are e linguagens de programao. @s 'iddle(ares fornecem um modelo
computacional uniforme para o desenvolvimento de aplicaes distribudas,
disponibilizando servios de invocao remota de ob$etos, troca de mensagens e
controle de transaes.
1*.1omparando com o mode!o O?@ da @?OA em que n-e! ocorre as intera9es do
mode!o c!iente,ser-idor BrequisioCrespostaD ? Quais as camadas que fazem
interface com a ap!icao?
Em aplicaes cliente1servidor desenvolvidas diretamente sobre as primitivas de rede
do 5istema @peracional de Cede, ou se$a, sem a utilizao de frameworks de
comunicao, as interaes iro ocorrer na camada de >ransporte, por eemplo
utilizando sockets >6. orientados a coneo ou datagramas A7.. Hndependente do
protocolo de transporte utilizado a aplicao dever/ implementar um controle de
sesses na camada de 5esso, lidando diretamente com endereamento de rede e
portas de comunicao. 7ependendo da forma em "ue os dados so transmitidos pela
rede a aplicao ainda ter/ "ue lidar com as representaes dos dados na camada de
0presentao, para ento #nalmente trabalhar com os dados na camada de 0plicao.
1..1onsiderando o e2emp!o de 1!ienteC?er-idor usando a &P@ Ea-a para socFet
em comunicao :DPA apresentado em au!a%
1. Descre-a como o c!iente recupera o endereo do ser-idorA que tipo de
mecanismo e que ser-io de nomes so uti!izados?
@ endereo H. do servidor * recuperado atrav*s do nomes utilizando o
mecanismo de 785 ,Domain Name System-. 8o caso da linguagem Bava o
m*todo net!ddress"#et$yName%&NO'()S(R*DOR+, pode ser utilizado.
*. 1omo o ser-idor identi3ca o c!iente que estG se comunicando com o
mesmo?
Em uma coneo >6.1H., independente do protocolo de transporte, cada cliente
possui um identi#cador 9nico formado pelo endereo H. e porta de origem.
10.1onsiderando o e2emp!o apresentado em au!a sobre a &P@ Ea-a para ser-ios
de stream baseado no (1PA o!'ando o cHdi$o do ser-idor e2p!ique como se dG
o mecanismo de aceitao de cone2o?
.rimeiro um ob$eto do tipo ServerSocket * criado especi#cando uma porta local para
receber as solicitaes. Em seguida o m*todo accept%, do ob$eto ServerSocket *
eecutado e a thread * blo"ueada at* "ue uma coneo se$a estabelecida.
15.Discuta as diferenas da aborda$em 4P1 da aborda$em de troca de
mensa$ens Be.$. que uti!iza socFetsD em uma comunicao c!iente,ser-idor.
8a troca de mensagens cliente3servidor simplesmente * aberto um canal de comunicao ,e.g.
5ocIet- onde dados so transmitidos. B/ na abordagem C.6 temos o conceito de invocao de
procedimentos ,ou m*todos- remotamente, mas da mesma forma "ue faramos localmente.
8esse processo esto envolvidos mecanismos de sincronizao de estados, traduo de
representao de dados etc.
16.1omente as simi!aridades e diferenas entre c'amada de procedimento
remotoA arquitetura c!iente,ser-idor e objetos distribudos.
8a ar"uitetura cliente-servidor temos basicamente o conceito de re"uisio3resposta.
8o h/ uma abstrao em relao a localizao e acesso aos dados nem um padro
de#nido para a troca de informaes, o programador * "uem de#ne o protocolo
utilizado entre o cliente e servidor.
@ C.6 introduz uma padronizao em relao a forma em "ue os dados so enviados e
recebidos: um m*todo remoto * chamado passando3se seus argumentos e um valor *
retornado. >oda a compleidade inerente a comunicao atrav*s de uma rede *
abstrada pela camada de C.6.
.or #m o conceito de @b$etos 7istribudos estende a tecnologia C.6 adicionando
sincronizao de estado ,atributos- dos ob$etos e transpar%ncia de localizao e acesso.
0 sintae utilizada para trabalhar com @b$etos 7istribudos * muito parecida com a
utilizada ao se trabalhar com ob$etos locais, diferenciando apenas em particularidades
relacionadas a tratamento de erros e ecees.
17.& !in$ua$em Ea-a possui um mecanismo nati-o de distribuio de objetos% 4"@
B4emote "et'od @n-ocationD. Pesquise como este mecanismo funciona.
1. Bava C'H * uma 0.H "ue permite "ue ob$etos instanciados em uma m/"uina virtual
Bava ,BJ'- possa invocar m*todos de ob$etos instanciados em uma BJ' remota,
geralmente rodando em outra m/"uina. @ Bava C'H pode ser considerado um
'iddleware @rientado a @b$etos.
2. 0 ar"uitetura b/sica do Bava C'H envolve o uso de classes Stub no lado cliente, "ue
implementa a interface do ob$eto remoto e * respons/veis pela comunicao via
rede com um ob$eto Skeleton no lado servidor. .ara o programador as classes Stub
se apresentam como ob$etos EnormaisF, com a mesma interface de programao
utilizada se os ob$etos estivessem instanciados na BJ' local.
&. @ servidor registra os ob$etos remotos disponveis atrav*s de um sistema de registro
de interfaces, geralmente um daemon rodando na m/"uina servidora. .or sua vez o
cliente solicita uma int4ncia do ob$eto remoto para o servio de registro "ue *
respons/vel por ativar o ob$eto, caso necess/rio, no lado servidor e controlar a
sincronizao de estados e invocao dos m*todos.
18. 2p!ique como os pap+is das stubs do c!iente e do ser-idor no mode!o 4P1 e
como so $eradas e mapeadas numa !in$ua$em espec3ca.
5tubs so respons/veis por converter a chamada em uma transmisso de uma
mensagem destinada para a m/"uina onde se encontra o servidor com as seguintes
informaes: nome do procedimento e par4metros para o procedimento. 8a m/"uina
servidora deve eistir tamb*m o stub do servidor "ue ser/ respons/vel em receber a
mensagem e convert%3la em uma chamada do procedimento re"uisitado. .ara "ue ha$a
compatibilidade entre os stubs em ambos os lados de um C.6 devem seguir o mesmo
protocolo, ou se$a, o mesmo formato das mensagens e mesmo formato dos dados e de
estruturas de dados.

Potrebbero piacerti anche