• Nenhum resultado encontrado

6.1 MODELOS NA PLATAFORMA DSOA

6.2.2 Domínio de Qualidade

Como discutido anteriormente, a despeito da relevância das características de qualidade no contexto de SOA, não existe um modelo de qualidade de serviço único e universal- mente aceito (KRITIKOS et al., 2013; ORIOL; MARCO; FRANCH, 2014). Visando oferecer uma solução flexível para esse problema, a plataforma DSOA permite que cada aplica- ção estabeleça seu próprio vocabulário através da definição de um modelo de qualidade customizado.

Para viabilizar essa definição, a plataforma DSOA propõe a introdução de um conjunto de elementos representando, de forma simplificada, os conceitos do domínio de qualidade. Esses elementos são apresentados na Figura 27 e representam conceitos genéricos, tais como atributos e métricas de qualidade.

Na plataforma DSOA, cabe a um perfil de desenvolvedor específico, referenciado como especialista em qualidade, a responsabilidade pela identificação das características de qualidade relevantes do ponto de vista de uma aplicação e pela representação dessas

Figura 27 – Taxonomia de qualidade

Fonte: o autor

características através de um modelo de qualidade.

Enquanto isso, os desenvolvedores da aplicação se concentram na lógica de negócio, podendo fazer uso do modelo de qualidade para estabelecer as restrições definidas como parte dos requisitos não-funcionais da aplicação. Como vimos anteriormente, essas restri- ções são associadas aos serviços requeridos e providos pelos componentes, estabelecendo o nível de qualidade esperado desses elementos.

Para ser capaz de “compreender” esses modelos, a própria plataforma foi concebida em torno de elementos de qualidade genéricos, definidos como parte de seu meta-modelo. Assim, os modelos de qualidade, concebidos em tempo de desenvolvimento, são traduzidos em uma hierarquia de objetos mantida em execução como parte do repositório de serviços ciente de qualidade. A plataforma DSOA permite o acesso aos modelos de qualidade atra- vés de ferramentas de administração, viabilizando não só a visualização das características de qualidade já definidas, como a definição dinâmica de novas características.

Para permitir a elaboração de novos modelos de qualidade, o meta-modelo introduz a meta-classe QoSLibrary. Cada modelo de qualidade, identificado na plataforma através de um nome único, possui uma coleção de categorias, as quais permitem organizar os atributos de qualidade de forma hierárquica. Uma categoria pode conter sub-categorias, mas somente as folhas da hierarquia devem conter atributos de qualidade.

Na visão da plataforma DSOA, um atributo de qualidade representa uma propriedade não-funcional inerentemente dinâmica e que pode ser efetivamente mensurada, como por

exemplo, tempo de resposta. De uma forma geral, a avaliação de um atributo de qualidade pode ser realizada através de diferentes pontos de vista. Cada ponto de vista é representado no meta-modelo por uma métrica de qualidade. Na plataforma DSOA, uma métrica pode ter uma dimensão. Neste caso, cada valor associado à métrica deve indicar uma unidade correspondente. Cada dimensão possui uma unidade base e um conjunto de unidades derivadas associadas a um fator de conversão. Considerando-se essa estrutura simples, cada métrica na plataforma pode ser unicamente identificada através da composição dos nomes do modelo, das categorias, do atributo e da própria métrica.

Para ajudar a compreensão dos conceitos de atributo e métrica de qualidade, cabe um exemplo. Suponha que o tempo de resposta de um serviço utilizado seja importante para uma aplicação. Neste contexto, o conceito de tempo de resposta pode ser representado através de um atributo da categoria de desempenho. Contudo, existem diferentes formas de se avaliar tempo de resposta. Uma possibilidade é através da média, outra é através de um valor máximo aceitável. Cada uma destas perspectivas pode ser representada na plataforma através de uma métrica distinta.

Como se pode perceber, os elementos de qualidade representados no meta-modelo são genéricos, permitindo que cada aplicação defina sua própria taxonomia de qualidade através da concepção de um modelo de qualidade simples e que pode ser facilmente estendido através da criação dinâmica de instâncias das meta-classes correspondentes.

Por fim, deve-se destacar que, embora os conceitos representados no meta-modelo sejam semelhantes aos apresentados em outras propostas (e.g., (KRITIKOS et al., 2013)), há uma diferença fundamental: o modelo de qualidade da plataforma DSOA não descreve como as métricas devem ser computadas. Para entendermos o porquê, continuemos com o exemplo de tempo de resposta avaliado através de uma métrica como tempo médio.

Existem diferentes formas de calcular o tempo médio de resposta. Uma forma sim- ples é utilizar a média aritmética dos tempos observados. Outra é a utilização de uma métrica ponderada de forma a indicar que os valores obtidos recentemente tenham maior relevância. Mesmo no caso de uma média simples, uma pergunta razoável seria, quantas requisições devem ser consideradas para a obtenção da média? Diversas respostas seriam possíveis, tais como todas as requisições feitas até então, ou ainda, as requisições feitas na última hora. Todos estes pontos de vista são possíveis e válidos.

Para resolver esse problema, a plataforma separou a definição das métricas de quali- dade da lógica responsável pela sua computação. A definição dessa lógica é um aspecto fundamental da semântica de uma métrica. Do ponto de vista da plataforma DSOA, cada aplicação pode decidir como suas métricas de qualidade devem ser computadas, estabele- cendo a semântica adequada para a métrica no seu contexto de negócio. Como veremos, essa definição é realizada através da utilização de conceitos pertencentes ao domínio de eventos.

Figura 28 – Domínio de eventos

Fonte: o autor