• No results found

Esta atividade visa responder completamente às questões de competência 1, 2, 3, 5. Além disso, a fusão das ontologias OWL-S e WSMO apóia a definição dos primeiros conceitos referentes às questões de competência 4 e 6.

Diante de conceitos com mesmo significado nas duas ontologias de entrada, o termo utilizado na ontologia OWL-SOA é o mais apropriado conceitualmente.

Para a atividade de fusão das ontologias, foi utilizado o método de fusão de ontologias PROMPT descrito na seção 3.5.3.1 direcionado pelas questões de competência definidas. A estratégia adotada para a fusão das ontologias seguiu os passos abaixo:

i. Listar operações sugeridas – Levantamento de todos os conceitos, propriedades e relações das ontologias OWL-S e WSMO. Muitos desses conceitos possuem mesmo significado semântico mas diferentes identificadores de nomes. Para tratar esses casos foi construída uma tabela com o identificador do nome do conceito na ontologia OWL-S, o seu respectivo mapeamento com o identificador de nome do conceito de mesmo significado semântico no WSMO e a inclusão ou exclusão deste conceito na ontologia OWL-SOA. A lista de operações de fusão é composta por operações de fusão (quando os conceitos existem nas duas ontologias), de cópia (quando existe em apenas uma das duas ontologias) ou de exclusão (quando o conceito não será incorporado à ontologia OWL-SOA). ii. Selecionar e realizar a próxima operação – Execução da fusão, cópia ou exclusão

de cada um dos elementos da ontologia a partir do que foi definido na lista de operações.

iii. Localizar conflitos e atualizar lista de operações – Potenciais conflitos podem gerar novas linhas na tabela de fusão. Se ocorrerem conflitos, uma nova iteração ou ciclo de fusão será executado abordando os conceitos ou propriedades que tiveram algum conflito durante a realização das operações de fusão. A cada iteração, uma nova lista de operações de fusão é construída e o processo é reiniciado.

Foram realizadas duas iterações da metodologia PROMPT. A primeira iteração visa realizar as operações de fusão iniciais. A segunda iteração busca resolver os conflitos provenientes de operações de fusão realizadas na primeira iteração da metodologia PROMPT.

Na atividade de fusão das ontologias OWL-S e WSMO foram localizados arquivos no formato OWL contendo a implementação da ontologia OWL-S. Esses arquivos foram abertos e visualizados utilizando a ferramenta Protégé. Eles representaram importante insumo para a realização da captura e entendimento da ontologia OWL-S.

4.2.2.1 1ª Iteração de fusão das ontologias OWL-S e WSMO

Na primeira iteração foram identificadas as operações de fusão iniciais. Essas operações indicam a fusão, exclusão, cópia parcial ou completa de determinado conceito das ontologias de entrada (OWL-S e WSMO) na ontologia de saída OWL-SOA, visando responder as questões de competência definidas.

Para a construção da primeira lista de operações de fusão seguindo a metodologia PROMPT, foram listados todos os conceitos das ontologias OWL-S e WSMO. Em seguida, orientado pelas questões de competência, foram identificados os conceitos de mesmo significado semântico ou de nomenclatura similar, e que tratam cada uma das questões de competência para serem integrados. O Quadro 5 apresenta a lista das operações de fusão organizadas por questões de competência. Cabe ressaltar que nenhum dos conceitos atuais das ontologias OWL-S e WSMO respondem totalmente às questões de competência de números 4 e 6, pois tratam apenas a tecnologia de Web Services e o ambiente de execução do serviço. Além disso, para atender alguns requisitos definidos nos Quadros 3 e 4 foram acrescentadas algumas atividades explícitas de exclusão de conceitos por não serem contemplados na ontologia OWL-SOA.

Após apresentar o Quadro 5, cada operação de fusão é explicada visando detalhar a atividade de realização de cada uma das operações de fusão.

Os conceitos que não se aplicam aos cenários definidos e às questões de competência especificadas não foram incluídos na ontologia OWL-SOA.

Quadro 5 - Lista de operações para fusão – 1ª Iteração. Operação

de Fusão

Operação OWL-S WSMO OWL-SOA

Questão de Competência 1: Como um serviço pode ser decomposto?

1 Fusão Service WebService Service

2 Exclusão Process --- ---

3 Cópia Parcial AtomicProcess --- AtomicService 4 Cópia Parcial CompositeProcess --- CompositeService

5 Exclusão SimpleProcess --- ---

Questão de Competência 2: Como um serviço pode ser categorizado?

Quadro 5 (cont.) - Lista de operações para fusão – 1ª Iteração. Operação

de Fusão

Operação OWL-S WSMO OWL-SOA

Questão de Competência 3: Como se caracteriza a interface pública de um serviço?

7 Cópia Completa --- Interface Interface

8 Cópia Completa --- Orchestration Orchestration 9 Cópia Completa --- Choreography Choreography 10 Fusão ServiceProfile Capability ServiceProfile 11 Fusão ServiceParameter Parameter ServiceParameter Questão de Competência 4: Em qual tecnologia um determinado serviço está disponível?

12 Cópia Parcial ServiceGrounding --- ServiceGrounding 13 Cópia Parcial ServiceGrounding --- WebService Questão de Competência 5: A que conceitos do negócio o serviço está relacionado?

14 Cópia Completa --- Ontology Ontology

15 Cópia Completa --- Concept Concept

16 Cópia Completa --- Attribute Property

17 Cópia Completa --- Relation Relation

18 Cópia Completa --- Axiom Axiom

19 Exclusão --- Function ---

20 Exclusão --- Instance ---

21 Exclusão --- AttributeValue ---

22 Exclusão --- LogicalExpression ---

23 Exclusão --- RelationInstance ---

24 Cópia Parcial --- Goal BusinessProcess

Questão de Competência 6: Quais são os ativos de desenvolvimento correlatos a um serviço?

25 Cópia Parcial --- Non Functional Properties

Non Functional Properties

Demais operações de fusão

26 Exclusão ControlConstr

uct

Quadro 5 (cont.) - Lista de operações para fusão – 1ª Iteração. 27 Exclusão Expression --- --- 28 Exclusão Binding --- --- 29 Exclusão ServiceModel --- --- 30 Exclusão --- Mediator --- 31 Exclusão --- Value --- 32 Exclusão --- SharedVariables ---

Questão de competência 1 : Como um serviço pode ser decomposto?

Para responder à questão de competência número 1, foram realizadas as operações de fusão de 1 a 5. Através da realização das cinco operações de fusão citadas é possível constatar que um serviço pode ser decomposto em um ou mais serviços atômicos ou compostos, conforme descrito nas seções 2.3 e 3.7.1.

A operação de fusão 1 define a fusão dos conceitos Service, da ontologia OWL-S, e WebService da ontologia WSMO, resultando no conceito Service na ontologia OWL-SOA. Na ontologia OWL-S o conceito Service é um conceito que contém apenas relações com outros conceitos, ou seja, contém apenas referências para outros conceitos e não contém nenhuma propriedade. Este conceito representa um ponto de referência para a declaração e instanciação dos Web Services. Na ontologia WSMO o conceito WebService é o conceito que descreve as instâncias de cada um dos serviços SOA da ontologia. Não diferente, o conceito WebService na ontologia WSMO possui somente relações com outros conceitos e não possui propriedades, conforme apresentado na seção 3.7.2. Portanto, o conceito Service na ontologia OWL-SOA também é um conceito sem propriedades. Na ontologia OWL-SOA este conceito é denominado Service, como na ontologia OWL-S, pois este é o termo mais adequado semanticamente.

A operação de fusão 2 trata da exclusão do conceito Process na ontologia OWL- SOA. Conforme seção 3.7.1, na ontologia OWL-S os serviços são modelados como processos. Como na ontologia OWL-S as propriedades do conceito Process são replicadas no conceito ServiceProfile, este conceito foi excluído da ontologia OWL-SOA.

Nas operações de fusão 3 e 4 os conceitos AtomicProcess e CompositeProcess são incorporados à ontologia OWL-SOA alterando seus nomes para: AtomicService e CompositeService. Essa mudança de nome ocorre em decorrência da ontologia OWL-S tratar

os serviços como processos conforme explicitado na seção 3.7.1. Sendo assim, o conceito Service possui dois sub-tipos: AtomicService e CompositeService. Além disso, a relação de composição (composedOf) entre os conceitos CompositeService e Service também foi incorporada à ontologia OWL-SOA.

A ontologia OWL-S aborda um tipo de serviço denominado SimpleProcess. Conforme apresentado na seção 2.3, na arquitetura de referência SOA os serviços podem ser compostos ou atômicos. Sendo assim, a operação de fusão 5 define a exclusão do conceito SimpleProcess da ontologia OWL-SOA, pois este conceito não é abordado na arquitetura de referência SOA.

As propriedades dos conceitos incorporados à ontologia OWL-SOA são descritas no Apêndice C.

A Figura 16 apresenta o modelo inicial da ontologia OWL-SOA após responder a questão de competência 1.

Figura 16 – Ontologia OWL-SOA para as operações de fusão que tratam a questão de competência 1

Questão de competência 2 : Como um serviço pode ser categorizado?

A operação de fusão 6 é a fusão do conceito ServiceCategory (OWL-S) com o atributo Type do conceito Annotation (WSMO). A partir da versão 1.2 da ontologia OWL-S, o conceito ServiceCategory é tratado separadamente em uma outra ontologia. Todavia, este foi reincorporado à ontologia OWL-SOA para representar os tipos e categorias em que um serviço pode ser classificado. Na ontologia WSMO existe uma propriedade do conceito Annotation chamada Type. Essa propriedade define categorias e funções de um serviço

(ROMAN et al., 2005). Semanticamente o conceito ServiceCategory (OWL-S) e a propriedade Type do conceito Annotation possuem o mesmo significado. O conceito Annotation na ontologia WSMO possui outras propriedades que foram tratadas posteriormente. Dado que o conceito Annotation está sofrendo uma operação de fusão nesta iteração, a análise completa deste conceito gerou uma nova operação de fusão a ser realizada na segunda iteração da metodologia PROMPT.

Na ontologia OWL-S a relação entre os conceitos Service e ServiceCategory chamada hasServiceCategory foi incorporada à ontologia OWL-SOA. Todavia esta relação foi renomeada para classifies (classifica), pois este termo agrega maior valor semântico à relação. A Figura 17 representa o início da ontologia OWL-SOA após responder as questões de competência 1 e 2.

Figura 17 – Ontologia OWL-SOA para as operações de fusão que tratam as questões de competência 1 e 2

Questão de competência 3 : Como se caracteriza a interface pública de um serviço? Para responder à questão de competência 3, foram realizadas as operações de fusão 7, 8, 9, 10 e 11. Através dos conceitos provenientes dessas operações de fusão, é possível conhecer a interface pública de um serviço e como invocá-la. Os conceitos Interface, Orchestration, Choreography, ServiceProfile e ServiceParameter respondem a essa questão de competência.

As operações de fusão 7, 8 e 9 dizem respeito à cópia completa dos conceitos Interface, Orchestration e Choreography, respectivamente. Segundo Roman et al. (2006), o conceito Interface da ontologia WSMO define como uma funcionalidade de um Web Service

pode ser obtida. Esse conceito define como determinado serviço é externalizado. O conceito Interface fornece duas visões da competência operacional de um Web Service, conforme descrito nas duas definições abaixo (ROMAN et al., 2006):

• O conceito Choreography decompõe o perfil do serviço em termos da interação com o Web Service, e

• O conceito Orchestration decompõe o perfil do serviço em termos da funcionalidade requerida pelo serviço e que é fornecida por outros Web Service.

Portanto, o conceito de coreografia representa o ponto de vista consumidor e o conceito de orquestração representa o ponto de vista provedor do serviço. As relações provenientes da ontologia WSMO (Figura 18) foram incorporadas à ontologia OWL-SOA.

Figura 18 – Relações dos conceitos Service, Interface, Orchestration e Choreography na ontologia OWL-SOA

Segundo Papazoglou (2003) e Erl (2008), todo serviço possui uma interface. Sendo assim, os conceitos Interface, Orchestration e Choreography se aplicam a qualquer tecnologia de implementação de serviços.

A relação hasInterface entre os conceitos WebService e Interface existente na ontologia WSMO foi incorporado à ontologia OWL-SOA, através da relação exposes (expõe) entre os conceitos Service e Interface. As relações hasChoreography e hasOrchestration existentes no WSMO entre os conceitos Interface e Choreography, e Interface e Orchestration, foram incorporadas na ontologia OWL-SOA, mas como os nomes choreographs (coreógrafa) e orchestrates (orquestra), respectivamente.

A operação de fusão 10 diz respeito à fusão dos conceitos ServiceProfile da ontologia OWL-S com o conceito Capability da ontologia WSMO, resultando no conceito ServiceProfile na ontologia OWL-SOA.

O conceito ServiceProfile da ontologia OWL-S fornece as informações necessárias para um agente descobrir um serviço. O ServiceProfile define o que o serviço faz (LARA et al., 2004). Além das informações básicas de um serviço, como nome e contato, o conceito ServiceProfile contém as propriedades que compreendem o IOPE (Input, Output, Precondition e Effect, conforme a OWL-S) ou PPAE (Precondition, Postcondition, Assumption e Effect, conforme WSMO). Na ontologia WSMO, as propriedades referentes ao IOPE estão definidas no conceito Capability. Como mostra a Figura 19, apenas as propriedades de mesmo significado semântico nos conceitos ServiceProfile (OWL-S) e Capability (WSMO) foram incorporadas à ontologia OWL-SOA.

Após a fusão dos conceitos ServiceProfile (OWL-S) e Capability (WSMO), as propriedades serviceName, textDescription e contactInformation do conceito ServiceProfile na ontologia OWL-S não foram tratadas. Semanticamente essas propriedades possuem uma afinidade muito maior com o conceito Service do que com o conceito ServiceProfile ou Capability, pois são propriedades constitutivas do serviço. Por possuírem uma maior afinidade semântica com o conceito Service e não com o conceito Capability ou ServiceProfile, essas propriedades geraram uma nova operação de fusão para a segunda iteração da aplicação da metodologia PROMPT. Essa nova operação de fusão diz respeito à fusão do conceito ServiceProfile (OWL-S) com o conceito Service da ontologia OWL-SOA.

A relação presents entre os conceitos Service e ServiceProfile da ontologia OWL-S foi incorporado à ontologia WSMO entre os conceitos Service e ServiceProfile.

Figura 19 – Fusão dos conceitos ServiceProfile (OWL-S) e Capability (WSMO) resultando no conceito

ServiceProfile (OWL-SOA)

A operação de fusão 11 trata a fusão do conceito ServiceParameter existente na ontologia OWL-S com o conceito Parameter da ontologia WSMO. O conceito ServiceParameter (OWL-S) define os parâmetros de entrada e saída de um serviço através da sua relação com o conceito ServiceProfile. Já o conceito Parameter (WSMO) define a lista dos parâmetros das relações (Relation) na meta-ontologia. Apesar desses conceitos possuírem significados semânticos diferentes nas ontologias OWL-S e WSMO, eles são considerados uma operação de fusão na metodologia PROMPT, pois possuem o mesmo nome. O conceito proveniente da realização desta operação de fusão é denominado ServiceParameter na ontologia alvo OWL-SOA, sendo o mesmo com o significado semântico do conceito ServiceParameter da ontologia OWL-S.

Além da fusão do conceito ServiceParameter, a relação hasParameter entre os conceitos ServiceProfile e ServiceParameter da ontologia OWL-S foi incorporada à ontologia OWL-SOA através do termo parameterize (parâmetriza) que possui melhor significado semântico.

A Figura 20 representa a ontologia OWL-SOA atualizada para responder às questões de competência 1, 2 e 3.

Figura 20 – Ontologia OWL-SOA para as operações de fusão que tratam as questões de competência 1, 2 e 3.

Questão de competência 4 : Em qual tecnologia um determinado serviço está disponível? Para responder parcialmente à questão de competência 4, foram realizadas as operações de fusão 12 e 13. Através dessas operações de fusão é possível constatar que um serviço é implementado em uma plataforma tecnológica e uma das suas possíveis implementações é através da tecnologia de Web Services. Para responder totalmente à questão de competência 4, é necessário incorporar novos conceitos referentes às outras possíveis plataformas tecnológicas para implementação dos serviços. Essa análise é feita na seção seguinte.

A operação de fusão 12 diz respeito à cópia parcial do conceito ServiceGrounding existente na ontologia OWL-S para a ontologia de destino OWL-SOA. De acordo com Martin et al. (2007), o conceito ServiceGrounding define os detalhes da implementação de um serviço, tais como: protocolo, mensagem, porta, endereçamento etc. Esse conceito é responsável por mapear as informações abstratas (metadados) na sua realização concreta (MARTIN et al., 2007). De acordo com Lara et al. (2005), diferente da ontologia OWL-S com o conceito ServiceGrounding, os serviços especificados utilizando o WSMO não

possuem a definição da implementação concreta do serviço. Todavia, na ontologia OWL-S, este conceito está associado exclusivamente à tecnologia de Web Services. A versão atual da especificação OWL-S possui um sub-tipo específico do conceito ServiceGrounding para WSDL (Web Services Description Language). O conceito ServiceGrounding foi incorporado à ontologia, pois ele desempenha papel fundamental na ontologia OWL-SOA para responder à questão de competência número 4. Na ontologia OWL-SOA o conceito ServiceGrounding representa o super-tipo para as várias tecnologias de implementação de serviços que são apresentadas posteriormente na seção 4.2.3.2. As propriedades existentes no conceito ServiceGrounding e que são independentes da tecnologia de implementação de serviços foram mantidas no conceito ServiceGrounding na ontologia de destino. Além disso, foi criado um sub-conceito do conceito ServiceGrounding chamado WebService, para tratar as propriedades específicas da tecnologia de Web Services, conforme representado na Figura 21.

A relação supports entre os conceitos Service e ServiceGrounding da ontologia OWL- S foi incorporada à ontologia OWL-SOA.

Figura 21– Derivação dos conceitos ServiceGrounding (OWL-SOA) e WebService (OWL-SOA) a partir do conceito ServiceGrounding (OWL-S)

A operação de fusão 13 trata da criação do conceito WebService e da incorporação das propriedades do conceito ServiceGrounding sobre a tecnologia de Web Service. As propriedades do conceito ServiceGrounding que são específicas para a tecnologia de Web Services foram incorporados ao conceito WebService, que é um sub-tipo do conceito ServiceGrounding na ontologia OWL-SOA.

A Figura 22 representa a ontologia OWL-SOA atualizada para responder às questões de competência 1, 2, 3 e 4 (parcialmente).

Figura 22 – Ontologia OWL-SOA para as operações de fusão que tratam as questões de competência 1, 2, 3 e 4 (parcialmente)

Questão de competência 5 : A que conceitos do negócio o serviço está relacionado? Visando responder à questão de competência 5, foram realizadas as operações de fusão de 14 a 24. Os conceitos que representam os elementos básicos constituintes de uma ontologia foram incorporados à ontologia OWL-SOA. As operações de fusão de 14 a 18 tratam da cópia dos conceitos Ontology, Concept, Attribute, Relation e Axiom da ontologia WSMO para a ontologia OWL-SOA.

Na operação de integração 14 é realizada uma cópia completa do conceito Ontology para a ontologia OWL-SOA. Esse conceito representa o elemento central para inclusão de ontologias de domínio na ontologia OWL-SOA. Conforme apresentado na seção 3.7.2, a utilização conjunta de uma ontologia de serviços integrada a uma ontologia de domínio é de grande importância para realizar busca e recuperação de serviços em uma arquitetura SOA. Esse conceito foi incorporado como ponto de entrada para uma meta-ontologia, da mesma

maneira que é abordado na ontologia WSMO. Falbo et al. (2005) também apresentam uma meta-ontologia contendo um conceito Ontology composto pelos conceitos elementares de uma ontologia.

Na meta-ontologia foram realizadas as operações de fusão 15, 16, 17 e 18, realizando a cópia completa dos conceitos básicos de uma ontologia. Só os conceitos Concept, Relation, Property e Axiom foram incorporados à ontologia OWL-SOA, pois são os elementos básicos de uma ontologia, conforme apresentando na seção 3.2, e são representados na meta-ontologia de Falbo et al. (2005). Dessa forma a ontologia OWL-SOA contempla apenas um extrato da meta-ontologia presente na ontologia WSMO para facilitar a utilização da ontologia OWL- SOA e evitar a geração de novos compromissos ontológicos.

As relações da meta-ontologia incorporadas à ontologia OWL-SOA são as relações propostas por Falbo et al. (2005), pois na ontologia WSMO alguns desses conceitos não possuem relação direta entre si. Sendo assim, segundo Falbo et al. (2005), um conceito (Concept) possui propriedades (Properties) e relações (Relation) correlatas a ele.

A operação de fusão 16 define a cópia parcial do conceito Attribute. Essa operação é uma cópia parcial, pois o conceito Attribute foi incorporado à ontologia OWL-SOA com o nome de Property. Essa mudança de nome foi realizada para se manter o alinhamento com os elementos básicos de uma ontologia apresentados na seção 3.2. As relações entre os elementos essenciais de uma ontologia estão representadas na Figura 23.

Figura 23 – Relações dos elementos essenciais de uma meta-ontologia com o conceito Service na ontologia OWL-SOA

As operações de fusão de 19 a 23 dizem respeito à exclusão dos conceitos Function, Instance, AttributeValue, LogicalExpression e RelationInstance da ontologia WSMO. Esses conceitos foram removidos, pois não são elementos essenciais de uma meta-ontologia, conforme apresentando na seção 3.2. A ontologia OWL-SOA incorpora apenas um extrato da meta-ontologia existente no WSMO.

A operação de fusão 24 diz respeito à cópia parcial do conceito Goal da ontologia WSMO. O conceito Goal representa o processo de utilização de um serviço (ROMAN et al., 2006). Segundo Gilman (2006), os serviços de uma arquitetura SOA suportam processos de negócio. Todo serviço deve estar associado à pelo menos um processo de negócio. No WSMO todo Goal invoca interfaces (Interface) que, por sua vez, externalizam serviços (Service).

Para alinhar semanticamente com a nomenclatura da arquitetura de referência SOA, apresentada na seção 2.3, o conceito Goal da ontologia WSMO é chamado de BusinessProcess na ontologia OWL-SOA. O conceito BusinessProcess representa o processo

de negócio que determinado serviço compõe. Neste cenário, o conceito BusinessProcess desempenha um papel primordial na implementação de uma ontologia para SOA.

A relação importsOntology, proveniente do conceito Goal da ontologia WSMO, e renomeada para imports (importa) foi incluída na ontologia OWL-SOA. Além disso, foi criada uma nova relação chamada composedBy entre os conceitos BusinessProcess e Service, denotando que um processo de negócio é composto por um ou mais serviços.

As propriedades dos conceitos incorporados à ontologia OWL-SOA são descritas no Apêndice C.

A Figura 24 representa a ontologia OWL-SOA atualizada para responder às questões de competência 1, 2, 3, 4 (parcialmente) e 5.

Figura 24 – Ontologia OWL-SOA para as operações de fusão que tratam as questões de competência 1, 2, 3, 4 (parcialmente) e 5

Os conceitos pertinentes à meta-ontologia, apresentados na Figura 23, representam os