next up previous contents index
Next: O Lado do Up: Distribuição Previous: Inicialização de Ligações

O Lado do Servidor

 

A figura 5.3 mostra as várias entidades do mecanismo de controlo de distribuição, aplicado ao exemplo anterior, para o lado do servidor. Note-se a existência de uma tabela de envelopes por cada servidor e a ausência de distinção, ao nível dos servidores de interface, entre os objectos que foram exportados explicitamente e os que o foram implicitamente. A distinção é externa ao modelo, processando-se a tradução automática de nomes, para que se verifique a transparência desejada. Esta figura é limitada, uma vez que mostra apenas os vários elementos intervenientes, sem mostrar as acções desencadeadas. Apesar de ser um modelo estático, é, no entanto, útil para identificar as entidades envolvidas na comunicação do lado do servidor.

  
Figure: Lado do servidor (visão estática).

A partir do momento em que foi estabelecido um canal de comunicação entre dois contextos e, por isso, a possibilidade de entre eles serem efectuadas invocações remotas, quaisquer objectos do nível de ligação neles residentes estão sujeitos a serem exportados, bastando para tal que atravessem as fronteiras do contexto pai ``a bordo'' de uma invocação remota. A saída tanto pode ser como argumento de entrada da operação, como como o seu valor de retorno.

A acção de exportação de um objecto por um dado contexto pode obedecer a um de dois cenários: (i) o objecto a exportar é o primeiro do seu tipo a ser alvo da operação; ou, (ii) o objecto a exportar pertence a uma classe da qual já existem instâncias exportadas.

No primeiro caso, é criado um objecto que representa a interface da classe à qual o objecto pertence, o SIF, sendo o objecto do nível de ligação por ele registado na sua tabela de envelopes de destino, TED, i.e., a tabela onde estão registados os envelopes do contexto local capazes de responder a invocações recebidas através do canal de comunicação associado ao SIF. No segundo caso, a ligação já se encontra inicializada, pelo que as acções a efectuar correspondem apenas ao registo do objecto na tabela do SIF.

O objecto registado é sempre o envelope e nunca a carta. A razão deve-se ao facto de o envelope ser uma entidade com identidade fixa, enquanto que a carta pode assumir os mais variados aspectos.

A comunicação do SIF com os mecanismos de transporte de baixo nível depende do sistema real a utilizar, assim como as entidades de comunicação entre o SIF e o mecanismo de transporte. Estes aspectos serão tratados quando se abordar a realização concreta do módulo.



next up previous contents index
Next: O Lado do Up: Distribuição Previous: Inicialização de Ligações



David M. M. de Matos
Thu Jun 29 14:58:09 MET DST 1995