Arquitetura de objetos distribuidos

qual é o minimo necessario p/ uma aplicacao ser considerada
como de objetos distribuidas em vez de cliente/servidor ?

desde ja agradeco pela atencao !!

[quote=marcelostanley]qual é o minimo necessario p/ uma aplicacao ser considerada
como de objetos distribuidas em vez de cliente/servidor ?

desde ja agradeco pela atencao !![/quote]

Uma aplicação é de objetos distribuidos se vc distribui objetos entre os vários nodos (máquinas) em que a aplicação corre. Normalmente isso implica em usar Serialização.

Mas tenho uma questao e mesmo objeto que esta sendo distribuido para as maquinas no cluster ou cada uma tem uma instância do objeto diferente?
marcelostanley:tenho um projetinho com java rmi que meu professor coisa simples se te ajudar me manda seu email via mp.

Ambos os casos podem ocorrer. Normalmente cada nodo possui sua instância e existe algum mecanismo de troca de mensagens e sincronização entre os objetos. Compartilhar o mesmo objeto na rede implica em replicar o estado atual da memória da máquina virtual e gerenciar as mudanças ocorridas em cada nodo, e a complexidade que isso adiciona ao sistema faz com que essa situação seja mais rara de ser vista.

é …obrigado pelos toques, melhorou um pouco.
literalmente falando o que seriam esses objetos ?

Seria objetos implementeriam uma interface com metodos com throws RemoteExecption ,e esse objetro ainda teria que se estender da classe unicast do java
rmi

[quote=Daniel.F]Seria objetos implementeriam uma interface com metodos com throws RemoteExecption ,e esse objetro ainda teria que se estender da classe unicast do java
rmi[/quote]

ummmm… ok !

1- mais essa arqutetura pode ser implantada independente do java certo ?
2- a linguagem precisa ser OO ?

sobe !!

“objetos distribuidos” de fato eh um conceito do paradigma OO… q se dah pelo fato de vc instanciar um objeto remotamente

marcelostanley,

Objetos distribuídos e interações cliente/servidor não são coisas mutuamente exclusivas. Aliás, muito pelo contrário. Uma aplicação baseada em objetos distribuídos é, em princípio, estruturada de forma conceitualmente semelhante a uma aplicação OO comum - uma coleção de objetos que se comunicam por meio de interfaces bem-definidas. A diferença é que esses objetos podem ou não residir em espaços de endereçamento distintos. Além disso, para preservar a sintaxe das chamadas locais, a comunicação com objetos remotos é tipicamente feita por meio de chamadas síncronas e bloqueantes. Quando um objeto chama um método em um outro objeto remoto, no entanto, você está essencialmente produzindo uma interação no estilo cliente/servidor. O conceito é antigo prá burro (início dos anos 90) e já passou por inúmeras transformações e bastante evolução.

Alguns exemplos de middleware para objetos distribuídos: implementações de CORBA, Java/RMI, DCOM e o ICE (meu favorito).

Abraços,