• Nenhum resultado encontrado

A arquitetura WSARCH, seus componentes e as possíveis interações entre eles são apresenta- dos de modo simplificado na Figura 4.2. As seguintes etapas são necessárias para a execução de uma requisição:

1. Cliente faz requisição ao Broker, o qual possui informações atualizadas do provedor do serviço (carga, tipo de serviço, classe de cliente, etc.);

2. Com base nas informações de QoS solicitadas pelo cliente do serviço, o Broker realiza uma busca num repositório de serviços com o objetivo de encontrar o serviço mais adequado; 3. Broker obtém a especificação do serviço apropriado e as respectivas informações de QoS do

52 4.3. FUNCIONAMENTO E SUB-MÓDULOS DA WSARCH

Aplicação Cliente

Ordem dos Estágios: 1 a 7

1 P1 3 5 P2 Pn LogServer 2 6 4 7 Legenda Log-Interações Broker - UDDI Broker - Provedor Cliente - Broker

WSARCH

Connecting Applications QoS Broker (Engine) UDDI Informação de QoS Descrição do Serviço Ganglia UDDI Seleção de Serviços Ganglia Broker Serviços Serviços Serviços Informação

de QoS Informação de QoS Informação de QoS

Atualização de info de QoS (2s)

Log Info QoS (1s) Provedores

Figura 4.2: WSARCH - Modelo Simplificado

4. Com a localização do serviço apropriado no repositório de serviços, e já de posse das in- formações dos provedores de serviços (essas informações de QoS são propagadas periodica- mente), o Broker escolhe o melhor provedor candidato (Seleção de Serviços)

5. Após a execução da função de seleção de serviços, o Broker realiza a requisição (invocação do Web Service) no provedor de serviços;

6. Depois de executada a requisição, a resposta é retornada diretamente ao Broker da WSARCH; 7. Finalmente a resposta é encaminhada ao cliente que inicialmente solicitou o Web Service.

Além das etapas referentes a uma requisição de serviço, é importante destacar que outras ativi- dades ocorrem em paralelo a uma requisição de um cliente do serviço. As informações de QoS dos provedores de serviços são atualizadas periodicamente a cada 1s no registro de serviço para cada um dos provedores cadastrados. Essa propagação de informações ocorre em função da utilização de uma aplicação de monitoração presente nos provedores de serviços e no UDDI, denominada

Ganglia(Massie et al., 2004). Os provedores de serviços possuem monitores escravos que enviam

as informações para um monitor mestre no registro UDDI, de modo que o Broker da WSARCH possa utilizar a informação de QoS (índice de desempenho) para a seleção do melhor prove- dor de serviços em determinada ocasião. Como a arquitetura proposta é utilizada também para

CAPÍTULO 4. A ARQUITETURA WSARCH 53 avaliar desempenho de Web Services um novo componente denominado LogServer foi adicionado à WSARCH. Esse componente é opcional e utilizado para armazenar dados sobre o desempenho dos vários componentes da WSARCH. Para uma melhor explanação da arquitetura WSARCH, será detalhado nesta Seção cada um dos sub-módulos referentes ao cliente, Broker e provedor de serviços, como mostra a Figura 4.3.

Registro UDDI Web Services Broker Provedor de Serviços Controle Admissão Classificador Registro/ Publicação Procura Serviço SOAP Gerenciador QoS-Prov Gerenciador QoS-Cliente Descritor QoS-Prov Descritor QoS-Cliente Gerenciador Intermediário match Módulo Cache Melhor-Serviço Provedor X Lista de provedores Lista de serviços Informação de QoS Módulo Info-QoS Gerenciador Busca QoS Algoritmos e métricas Requisição Broker Parâmetro de QoS SO A P Aplicação Cliente R eq u is ão Resposta SO A P SO A P SOAP SOAP SOAP

WSARCH

Connecting Applications

Figura 4.3: WSARCH - Modelo Atual

Broker

• Gerenciador de QoS-Cliente: Deve receber uma requisição de serviço levando em consid- eração parâmetros de qualidade de serviço determinados pela aplicação cliente;

• Gerenciador de Busca: Deve gerenciar as pesquisas efetuadas ao registro UDDI, na busca pelo tipo de serviço solicitado pela aplicação cliente. Outra função deste gerenciador deve ser a solicitação de informações de qualidade de serviço (índice de desempenho) do provedor de serviço e se esse possui o serviço adequado.

• Gerenciador de QoS-Provedor: Receberá informações de QoS (processador, carga de CPU, memória, ocupação de disco) do provedor de serviços por meio do gerenciador de

54 4.3. FUNCIONAMENTO E SUB-MÓDULOS DA WSARCH busca. Essas informações serão utilizadas pelo módulo gerenciador intermediário para pos- terior análise;

• Módulo Cache: Esse módulo deverá armazenar informações temporárias do provedor e seus serviços. A vantagem na utilização de um cache é que um serviço anteriormente consultado e com informações já caracterizadas, não necessita ser buscado novamente no registro UDDI; • Descritor de QoS-Provedor: Informações de desempenho em formato padronizado, obtidas

e filtradas pelo gerenciador de QoS do provedor de serviços;

• Descritor de QoS-Cliente: Informações de QoS obtidas e filtradas pelo gerenciador de QoS do cliente do serviço;

• Gerenciador Intermediário: Funcionará como um agente otimizador com o objetivo de realizar as seguintes tarefas:

– Fazer a associação do serviço (e suas características) solicitado pelo cliente, com as informações sobre a disponibilidade de recursos computacionais dos provedores can- didatos à execução daquele serviço;

– Oferece métricas e algoritmos utilizando as informações dos descritores de QoS do cliente e do provedor para selecionar o melhor serviço possível nos casos em que exis- tam vários provedores candidatos para execução de um mesmo serviço.

• Melhor - Serviço Provedor X: Esse oferecimento de QoS deve incluir o serviço adequado que será invocado pelo Broker da WSARCH.

Cliente

• Parâmetros de QoS: Requisição (mensagem) contendo as informações (parâmetros) exigi- dos pelo cliente, de modo que o serviço solicitado seja cumprido adequadamente;

• Requisição Broker: Invocação, pelo cliente, do serviço propriamente dito. Provedor de Serviços

• Módulo Info QoS: Coletar informações sobre o desempenho dos provedores de serviços, em determinados períodos (memória utilizada, ocupação da CPU, tipo de serviço em execução); • Web Services: Os serviços que serão invocados pelo cliente;

• Controle de admissão: Deverá controlar o acesso ao serviço no provedor em situações de sobrecarga;

• Classificador: Utilizado para classificar as requisições de acordo com o tipo de serviço requisitado, os critérios de QoS solicitados, etc.

CAPÍTULO 4. A ARQUITETURA WSARCH 55 UDDI

Para os propósitos da WSARCH, o UDDI foi modificado para armazenar dinamicamente infor- mações não-funcionais. Este tipo de informação pode ser um atributo de QoS usado para descrever alguma característica de uma entidade ou componente. A ferramenta de monitoração Ganglia é utilizada para coletar parâmetros relacionados a ocupação de CPU e memória. Os valores de CPU e memória obtidos pela ferramenta de monitoração são processados e normalizados para compor um índice de desempenho. A normalização permite que novos índices de carga possam ser parte do índice de desempenho. O índice de desempenho deve estar entre 0 (zero) e 1 (um) o que significa que quanto mais próximo de 0 (zero) estiver o índice menor é a sobrecarga no provedor de serviços e quanto mais próximo de 1 (um) maior será a sobrecarga nos provedores. Periodicamente, o índice é enviado ao UDDI e associado com a WSDL do provedor de serviços anteriormente cadastrado. Assim, o índice pode ser utilizado pelo Broker para selecionar o melhor Web Service de acordo com o critério desejado pelo cliente do serviço. O índice de desempenho usado nos experimentos da arquitetura é simples e válido somente para ambientes homogêneos. No entanto, já está imple- mentado no Broker da WSARCH um novo índice de carga para ambientes heterogêneos baseado nos estudos de (Branco, 2004), pronto para ser utilizado em experimentos futuros.

Observações Importantes

Algumas observações adicionais também serão levadas em consideração com a proposição dessa arquitetura:

• O descritor de QoS do provedor poderá ser parametrizado para cada tipo de aplicação, visto que cada aplicação possui um requisito de qualidade de serviço - QoS particular. A arquite- tura proposta pode apresentar métodos genéricos para negociação de QoS.

• O módulo gerenciador de QoS do cliente receberá como entrada uma requisição contendo informações de QoS de um cliente em particular ou de uma classe de serviços. A idéia é que a requisição de QoS seja um documento XML que possua as informações necessárias para que o serviço solicitado pelo usuário seja cumprido obedecendo determinados critérios (tempo de resposta, etc.).

• A proposta é que a arquitetura seja capaz de negociar dinamicamente com os clientes, garan- tias de QoS e contratos de serviços, na forma de acordo de níveis de serviço.

• O UDDI deve possuir uma lista de provedores de serviço e os serviços que cada um deles suporta, bem como informações atualizadas sobre o desempenho (índice de carga e índice de desempenho).

56 4.4. RELAÇÃO DE ATRIBUTOS DE QOS COM A WSARCH