GLEASON PATERNLERİ (DERECELERİ) (69):
11) İHK inceleme: Hepsin, LC3A ve NGEP ile yapılan incelemede benign prostat
O requisito R4 é fundamental para diminuir o tempo de desenvolvimento dos serviços Web semânticos e, também, evitar erros e possíveis conflitos gerados quando se usa diferentes ferramentas para construção de um serviço Web semânticos como, por exemplo, quando se usa uma determinada ferramenta para criação da ontologia de domínio que usa uma determinada versão da linguagem de especificação de ontologias que não é compatível com outra ferramenta que dá suporte a criação da descrição semântica do serviço Web. O requisito R5 tem como objetivo assegurar a corretude dos artefatos de códigos gerados pela ferramenta, uma vez que, um trecho de código quando gerado de forma errada, inevitavelmente necessita que o usuário tenha certo grau de conhecimento da tecnologia para sua correção. Por fim, o requisito R6 proporciona suporte a manutenção da ferramenta, seja para inserção de novas funcionalidades ou então para evolução das funcionalidades atuais como, por exemplo, a atualização para uma versão mais recente da linguagem de descrição semântica do serviço Web.
4.2 Visão Geral da Ferramenta
O AutoWebS é um plugin da IDE Eclipse e relaciona-se com outros plugins de forma a prover um ambiente que integra as várias funcionalidades necessárias - modelagem, implementação, compilação e deploy - para a criação automática de serviços Web semânticos (requisitos R4 e R6)1. Através do ambiente oferecido por AutoWebS é possível i) modelar o serviço Web, isto é, modelar os inputs e outputs de cada operação do serviço Web, ii) criar a descrição semântica do serviço Web, ou seja, associar os inputs e outputs de cada operação com os elementos de uma ontologia de domínio, iii) criar um arquivo OWL-S que contém a descrição semântica do serviço Web e, iv) gerar automaticamente o código fonte do serviço Web modelado na linguagem Java.
O uso da ferramenta AutoWebS, conforme ilustrado na Figura 4.8, constitui-se de três principais atividades: (a) importação, (b) design e (c) geração. A ferramenta requer como entrada ontologias OWL (requisito R3) e fornece como saída um arquivo OWL-S que contém a ontologia do serviço Web (requisito R2), além do código fonte do serviço Web na linguagem Java (requisito R1).
A primeira atividade para criação de serviços Web semânticos usando-se a ferra- menta AutoWebS é a atividade de importação de ontologias OWL (a). Nesta atividade a ferramenta faz o mapeamento dos elementos da ontologia OWL para elementos da UML, de forma que o resultado é um modelo UML (diagrama de classes) que representa a on- tologia OWL de entrada. Neste modelo UML estereótipos e propriedades definidas em um perfil UML asseguram informações suplementares inerentes à ontologia de entrada
4.2 Visão Geral da Ferramenta 53
Figura 4.1: Visão geral da ferramenta AutoWebS
e também informações relevantes do contexto dos serviços Web semânticos como, por exemplo, propriedades que definem a porta onde está o serviço Web, o endPoint e name- sapaces.
No ambiente fornecido pelo AutoWebS é possível se definir a interface do serviço Web semântico usando os elementos do diagrama de classes UML. Do ponto de vista do projetista do serviço Web semântico a ferramenta assemelha-se a um editor de diagrama de classes UML (requisito R0). Na atividade (b), modelagem, o projetista trabalha no nível de modelagem, criando modelos que especificam a interface do serviço Web semântico ao invés de manusear as linguagens para descrição semântica dos serviços Web.
Na atividade (c), geração, o modelo UML que especifica a interface do serviço Web semântico é a entrada para ferramenta AutoWebS usar um conjunto de regras de transformações QVT e templates Acceleo para gerar automaticamente a descrição semântica do serviço Web em um documento OWL-S (requisito R2) e um projeto para IDE Eclipse do serviço Web (requisito R1). O projeto de um serviço Web contém o documento WSDL, o descritor do serviço Web, o script de build que automatiza a compilação e empacotamento do serviço Web, além das classes que compõem a infraestrutura de comunicação SOAP.
Para assegurar que a descrição semântica do serviço Web é válida, alguns va- lidadores disponíveis na Internet e uma API (requisito R5) são utilizados. O validador RDF [Prod’hommeaux, 2007], disponibilizado pela W3C, é utilizado para validar as cons- truções em RDF da ontologia do serviço Web. O validador OWL [Rager et al., 2004] é utilizado para validar as construções OWL enquanto que para validar as constru- ções e a sintaxe OWL-S é utilizado o validador OWL-S, disponível na API OWL-S [Sirin and Parsia, 2004].
4.3 Arquitetura 54
A ferramenta AutoWebS implementa uma abordagem MDD para atender prin- cipalmente os requisitos R0, R1, R2 e R3, com a função de gerenciar a complexidade inerente do emprego de ontologias para especificação de serviços Web semânticos, pois MDD está centrado na criação de modelos, em vez de código de programa, permitindo separação de interesses entre especificação e implementação, provendo ao usuário um maior nível de abstração da linguagem OWL.
O AutoWebS implementa um mecanismo de importação de ontologias de domí- nio que usa um conjunto de transformações XSLT e um perfil UML (requisito R3). XSLT é uma linguagem declarativa para transformações de documentos XML que usa um me- canismo de casamento de padrões capaz de selecionar pedaços de documentos XML para criação de novos documentos com a sintaxe XML ou textual. No processo de importa- ção de ontologias de domínio, alguns elementos da linguagem OWL são mapeados para elementos da UML (ver Seção 3.2). Este processo não assegura a representação de todos os elementos da ontologia no modelo UML, pois são mapeados somente os elementos necessários para modelagem de um serviço Web semântico.
4.3 Arquitetura
O AutorWebS é um plugin para a plataforma Eclipse e fornece um ambiente composto por um editor UML, um mecanismo de importação de ontologias e um meca- nismo para criação automática da descrição semântica do serviço Web e do código fonte a partir de um modelo UML (requisito R4). Conforme ilustrado na Figura 4.2, o AutoWebS interage com outros plugins da plataforma Eclipse, com o middleware Axis2 e também com Ant [Loughran and Hatcher, 2007]. Novas funcionalidades podem ser integradas à ferramenta com a inserção de novos plugins (requisito R6), usufruindo-se da infraestru- tura oferecida pelo Eclipse para o desenvolvimento de aplicações modulares. Ademais, a abordagem MDD implementada pela ferramenta permiti a inserção de uma nova lin- guagem de descrição semântica com a criação de um metamodelo para tal linguagem e a definição do mapeamento entre os elementos definidos no perfil UML com o metamodelo além, é claro, das transformações model-to-text.
O AutoWebS utiliza o editor gráfico UML Papyrus [Gérard et al., 2007] que é parte oficial do Eclipse Modeling Project. O Papyrus oferece suporte a perfis UML de forma a permitir a criação de editores para DSLs (Domain Specific Language) baseados no padrão UML. A principal característica do Papyrus em relação à criação de editores para DLSs é um conjunto poderoso de mecanismos de personalização que podem ser utilizados para criação de perspectivas customizáveis para os editores de DSLs. Assim, usando o Papyrus e seus mecanismos de personalização, juntamente com o perfil UML, foi concebido um editor de diagramas de classes UML customizado para o AutoWebS
4.3 Arquitetura 55
Figura 4.2: Arquitetura da ferramenta AutoWebS
(requisito R0). Este editor UML permite a criação de modelos UML que contêm a interface do serviço Web semântico. Estes modelos UML são exportados pelo editor como documentos XMI.
Para importação da ontologia é necessária a execução das regras de transforma- ções descritas em XSLT. O componente ImporterModule realiza a execução das regras XSLT usando o processador XSLT do componente XSL Tools, que faz parte do projeto Web Tools Platform[Dai et al., 2007]. O plugin QVTo é usado para execução do conjunto de regras de transformações QVT para geração automática de um modelo OWL-S a partir de um modelo UML, codificado em um documento XMI. Além do modelo OWL-S, o có- digo fonte em Java do modelo UML (requisito R1) é gerado utilizando o plugin UML to Java Generator[Obeo Network, 2012]. O código fonte gerado a partir do modelo contém todos os elementos do modelo UML, inclusive a interface que defi ne o serviço Web e os elementos da ontologia que foram representados como classes UML.
O componente WebServiceModule é responsável por estender a funcionalidade do Axis2 a fim de prover não somente a geração do código fonte, mas também a criação de projetos de serviços Web para plataforma Eclipse (requisito R0) e algumas facilidades para a compilação, empacotamento e deploy do serviço Web em um contêiner Web. O projeto de um serviço Web contém o documento WSDL, o descritor do serviço Web, utilizado para realizar o deploy, além das classes que compõem a infraestrutura de comunicação SOAP. Todas as facilidades oferecidas por este componente são acessíveis por botões ou menus na ferramenta.