• No results found

Implementing the system

Este trabalho parte da adaptação de uma concepção generalizada de um modelo telefônico, com similaridades de [30]. Para a generalização deste modelo, os elementos básicos neces- sários são: (i) os componentes usuários, que correspondem a entidades que utilizam dire- tamente os serviços, e (ii) os provedores, que são os responsáveis pelo funcionamento dos serviços durante sua operação. Usuários e provedores são, geralmente, equipamentos e pro- dutos de hardware e software. Estes compõem o ambiente de oferecimento de serviços a um conjunto de usuários e aos respectivos provedores. A figura 5.1 ilustra um ambiente de oferecimento de serviços com um provedor e quatro usuários.

Figura 5.1 Ambiente de oferecimento de serviços

A definição destes serviços de comunicação é abstrata no que diz respeito à dispersão dos usuários. Usuários podem, por exemplo, estar tão próximos quanto os objetos implementa- dos em uma mesma linguagem de programação e ativados em um mesmo processo de um sistema operacional de uma máquina isolada, ou mesmo tão distante quanto objetos locali- zados em máquinas de sub-redes distintas.

Cada componente tem uma interface. Essas interfaces definem como e quais são as infor- mações trocadas entre os componentes, estabelecendo o seu comportamento observável perante o provedor de serviços e os outros componentes, i.e., suas formas de cooperação. Neste trabalho, a interface adotada entre os componentes de usuário e o provedor de servi- ço é a de distribuição de serviços WEB.

Para que haja cooperação entre essas interfaces, alguma forma de associação deve existir entre os componentes que desejam se comunicar. Segundo [3], essas associações podem ser explícitas ou implícitas.

Nas entidades implícitas, geralmente, não exite uma entidade que represente toda a associ- ação. Aqui, os usuários utilizam, diretamente, alguma identificação dos componentes com quem se comunicam. A partir dessa identificação, em uma comunicação com associação implícita, o provedor é responsável por encaminhar os fluxos de informação aos destinos. Um exemplo de comunicação implícita adotada neste trabalho é a associação existente en- tre os termos de uma variável lingüística e a própria variável a qual esses termos perten- cem. Outra associação implícita pode ser vista entre o valor de um parâmetro qualquer co- letado da rede e a amostra que compõe todos esses parâmetros. O primeiro é uma associa- ção no nível do Módulo de Inferência, visto na figura 5.10. O segundo faz parte do Módulo de Coleta, visto na mesma figura. Todos estes módulos serão explicados na seção 5.6; cada um deles, formado por um conjunto de inúmeras associações implícitas.

Nas associações explícitas (figura 5.2), por outro lado, as entidades especiais são criadas a fim de conectar pontos terminais dos fluxos das informações (componentes). Uma associa- ção explícita tem um ponto terminal fonte e um ou mais pontos terminais de destino, cor- respondendo, a uma abstração ponto-a-multiponto unidirecional denominada pipe. Na tese aqui apresentada, os pipe estão localizados nas interfaces de cada módulo do modelo pro- posto. Cada módulo tem como interface uma estrutura de implementação do padrão de pro- jeto denominado facade [29] que se comunica com as demais associações internas do mesmo módulo.

Componentes que se comunicam através de associações explícitas são denominados filtros. Os filtros são componentes que referenciam diretamente os pipes e não a outros compo- nentes, como na associação implícita. Na tese aqui apresentada, os filtros são caracteriza- dos pela implementação através de uma infra-estrutura baseada em serviços WEB. Esses serviços acessam o padrão facade que implementam os pipes para manipular as associa- ções implícitas.

Aos pipes podem ser associadas especificações de QoS utilizadas para definir e regular a forma de comunicação entre os filtros que os utilizam. Os Pipes que são associados a espe- cificações de QoS passam a ser denominados MediaPipes [30] e poderão ser encontrados no Plano Gerencial apresentado na figura 5.9.

Figura 5.2 Representação gráfica de uma associação explícita entre os filtros. A implementação de um provedor (servidor) é realizada através da utilização de elementos denominados componentes de implementação do serviço (ou componentes do serviço), conforme afirma [30]. Para a realização de suas funções, esses componentes comunicam-se entre si e utilização serviços fornecidos por outros provedores mais primitivos, cada qual denominado provedor de infra-estrutura do serviço, conforme ilustrado na figura 5.3. Na tese aqui proposta, um exemplo de provedor de infra-estrutura de serviço é o Componente de Geração de Tráfego Telefônico, embutido dentro do sub-módulo: Modelo de Tráfego (figura 5.10).

Além disso, todo provedor de serviços deverá fornecer uma forma de acesso para que usu- ários se comuniquem com componentes de implementação desses serviços. Essa forma de comunicação varia conforme a distribuição dos serviços e a linguagem de programação usada. Na tese aqui proposta, esse acesso emprega o protocolo de comunicação SOAP (discutido no capítulo 4 e na seção 5.3.2, adiante) para componentes distribuídos, e chama- da a procedimento local para a comunicação entre processos localizados num mesmo dis- positivo físico.

Uma das grandes dificuldades encontradas em arquiteturas de QoS esta na diversidade com que os aspectos de qualidade são especificados e, posteriormente, da forma com que eles são abordados nos diferentes sistemas que compõem o ambiente de comunicação e de pro- cessamento. A modelagem de serviços de acesso por meio da abstração de um provedor, abstração que é idêntica à utilizada na modelagem da comunicação entre quaisquer usuá- rios independentes de sua dispersão, propõe uma forma de tornar mais homogêneo o trata- mento da QoS em ambientes de processamento e de comunicação [3]. Alguns frameworks de QoS [31] e multicast [32] confirmam essa homogeneidade através de uma modelagem única. A modelagem proposta neste trabalho dá continuidade a essa linha de proposição, onde o modelo aqui adotado pode ser extensível a demais infra-estruturas de telefonia mó- vel. Ademais, essa característica ganha importância fundamental devido ao rápido processo evolutivo da Engenharia de Serviços de Telecomunicações.