05.04.2015 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!