ComposiçËao e Performance Musical Utilizando Agentes Móveis
ComposiçËao e Performance Musical Utilizando Agentes Móveis
ComposiçËao e Performance Musical Utilizando Agentes Móveis
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CAPÍTULO 4. O SISTEMA ANDANTE 32<br />
Figura 4.2: Arquitetura básica de um sistema que utiliza CORBA<br />
uma só vez. Em cada momento de expansão da rede, a tecnologia que parece ser a melhor alternativa<br />
quase sempre difere das adotadas anteriormente. Além disso, a heterogeneidade também<br />
tem vantagens, já que nenhuma combinação de máquina e sistema operacional é a melhor para<br />
todas as tarefas. Outra vantagem é que problemas que atingem uma determinada plataforma<br />
provavelmente não atingem outras, o que torna a rede mais tolerante a falhas.<br />
A heterogeneidade é, portanto, inevitável e traz muitos desafios para os desenvolvedores de<br />
sistemas distribuídos. O objetivo de CORBA é facilitar a construção de sistemas distribuídos<br />
heterogêneos. CORBA especifica uma arquitetura e um conjunto de serviços voltados a soluções<br />
de problemas relacionados à heterogeneidade. O componente principal da especificação descreve<br />
um sistema de objetos remotos que segue um modelo muito semelhante ao descrito na Seção 2.2.1.<br />
A Figura 4.2 mostra a arquitetura desse sistema, que discutimos rapidamente a seguir.<br />
CORBA permite que os objetos que compõem uma aplicação estejam distribuídos em máquinas<br />
diferentes da rede. Cada tipo de objeto deve ter uma interface escrita na linguagem OMG IDL<br />
(Interface Definition Language), que é uma descrição dos serviços que o objeto fornece.<br />
Essa<br />
interface em IDL é mapeada para diversas linguagens de programação, o que permite que o<br />
programa que utiliza o objeto possa ser escrito em uma linguagem diferente da linguagem em<br />
que é implementado o objeto. Sendo assim, para o cliente usuário do objeto, a interface IDL é<br />
mapeada para o Stub IDL, enquanto que para o servidor que fornece o objeto, é mapeada para o<br />
Esqueleto IDL. O cliente faz a requisição para o Stub IDL do objeto e o Esqueleto IDL transmite<br />
a requisição para o objeto.