Uma proposta de modelagem para a Ontologia SOA do The Open Group baseada numa ontologia de fundamentação<br />Marcelo Carv...
Ontologia SOA
Ontologia SOA
Ontologia SOA
Ontologia SOA
Ontologia SOA
Ontologia SOA
Ontologia SOA
Ontologia SOA
Próximos SlideShares
Carregando em…5
×

Ontologia SOA

1.207 visualizações

Publicada em

Esse artigo apresenta uma análise da modelagem existente na
“Ontologia da Arquitetura Orientada a Serviços”, criada pelo The Open
Group, sob o ponto de vista da Ontologia de Fundamentação proposta por
Giancarlo Guizzardi em seu trabalho intitulado “Ontological Foundations
For Structural Conceptual Models”. Por diversos motivos a criação de
ontologias de domínio baseadas em ontologias de fundamentação é extrema
importância, uma vez que as ontologias de fundamentação permitem o
estabelecimento de ontologias de domínio mais consistentes, expressivas e
semanticamente mais ricas.

Publicada em: Tecnologia, Turismo
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.207
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
14
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Ontologia SOA

  1. 1. Uma proposta de modelagem para a Ontologia SOA do The Open Group baseada numa ontologia de fundamentação<br />Marcelo Carvalho Fernandes<br />Programa de Pós Graduação em Informática (PPGI) – Universidade Federal do Rio de Janeiro (UFRJ)<br />Rio de Janeiro – RJ – Brasil<br />mcf@ufrj.br<br />Resumo. Esse artigo apresenta uma análise da modelagem existente na “Ontologia da Arquitetura Orientada a Serviços”, criada pelo The Open Group, sob o ponto de vista da ontologia de fundamentação proposta por Giancarlo Guizzardi em seu trabalho intitulado “Ontological Foundations For Structural Conceptual Models”. Por diversos motivos a criação de ontologias de domínio baseadas em ontologias de fundamentação é de extrema importância, uma vez que as ontologias de fundamentação permitem o estabelecimento de ontologias de domínio mais consistentes, expressivas e semanticamente mais ricas.<br />1. Introdução<br />Um dos maiores desafios que as organizações têm enfrentado atualmente é conseguir manter o dinamismo num ambiente de negócio de extrema competitividade. Esse ambiente tem dado origem a organizações obrigadas a, de forma continua, adaptarem suas estruturas, processos, estratégias e políticas para se manterem competitivas. Entretanto, a maneira com que essas empresas constroem e integram seus sistemas não oferece a flexibilidade e agilidade necessária para permitir o ajuste rápido, sem efeitos colaterais e com baixos custos de seus sistemas para atenderem as constantes mudanças nos ambientes de negócio FERNANDES (2008).<br />Como consequência, nos últimos anos muitas organizações passaram a adotar a Arquitetura Orientada a Serviço, ou simplesmente SOA (do inglês, Service Oriented Architecture). Através da criação dos chamados Serviços, que são componentes de software que implementam funções que fazem sentido para os usuários de negócio, uma quantidade cada vez maior de organizações têm recorrido à SOA em busca de uma maior agilidade na resposta às mudanças ocorridas em suas áreas de atuação.<br />Esse artigo apresenta uma análise de alguns aspectos da modelagem existente na “Ontologia da Arquitetura Orientada a Serviços” criada pelo The Open Group sob o ponto de vista da ontologia de fundamentação proposta por Giancarlo Guizzardi em seu trabalho intitulado “Ontological Foundations For Structural Conceptual Models”. <br />Vale ressaltar que o autor do presente artigo, ao participar do 4o Simpósio Internacional de Arquitetura Orientada a Serviços em Maio de 2011, assistiu a apresentação “Deciphering The Open Group’s SOA Ontology” de Chris Harding líder do projeto “SOA Ontology” na The Open Group. Ao perguntar se tal ontologia fora validada de acordo com alguma ontologia de fundamentação, a resposta foi negativa. Na ocasião, Chris Harding afirmou que isso não havia sido feito por questões políticas.<br />Ao longo das próximas seções utilizaremos o termo “Ontologia SOA” para nos referir à “Ontologia da Arquitetura Orientada a Serviços” do The Open Group e o termo “UFO” (do Inglês Unified Foundational Ontology) para nos referir à proposta de Giancarlo Guizzardi em “Ontological Foundations For Structural Conceptual Models”.<br />Considerando o propósito da criação desse artigo como trabalho da disciplina Fundamentos da Modelagem do Mestrado no PPGI em Junho de 2011 e suas restrições de tempo e escopo, analisaremos apenas parte da Ontologia SOA e utilizaremos parte dos conceitos da UFO.<br />2. A validação da modelagem da Ontologia SOA e a proposta de uma nova modelagem<br />2.1. A entidade Elemento e suas especializações<br />Um dos principais conceitos existentes na Ontologia SOA é a entidade “Elemento”. Segundo o The Open Group:<br />“An element is an opaque entity that is indivisible at a given level of abstraction. The element has a clearly defined boundary”<br />A entidade Elemento é definida como sendo uma generalização de outras quatro outras entidades: Sistema, Ator, Tarefa e Serviço. (Veja Figura 1)<br />Figura 1. A entidade Elemento e suas Especializações Serviço, Ator, Tarefa e Sistema<br />A Figura 1 representa apenas uma parte da Ontologia SOA. Para facilitar e focar a análise optamos por não mostrar as demais entidades, relacionamentos e suas cardinalidades.<br />Tanto no diagrama apresentado na Figura 1 quando no diagrama original, o The Open Group optou por não modelar uma série de conceitos que são descritos ao longo da especificação da Ontologia SOA usando linguagem natural, no caso a língua Inglêsa. Discutimos a seguir alguns desses conceitos.<br />Embora a Ontologia SOA tenha representado na sua modelagem apenas essas quatro especializações, ao definir Elemento, ela cita que outros tipos de especializações poderiam existir. Exemplos de tais especializações de Elementos seriam componentes de software ou componentes tecnológicos, como por exemplo, um Barramento Corporativo de Serviços (do inglês Enterprise Service Bus ou ESB).<br />A entidade Ator é definida como podendo ser uma Pessoa ou uma Organização sendo que uma Organização poderia também ser interpretada como sendo um tipo de Sistema que é outra entidade modelada. Por esse motivo, a Ontologia SOA considera que pode haver uma sobreposição entre as entidades Ator e Sistema.<br />Analisando as restrições de exclusividade e sobreposição do relacionamento de generalização/especialização entre as cinco entidades da Figura 1, chegamos ao resumo apresentado na Tabela 1.<br />Tabela 1. As restrições de exclusividade e sobreposição entre as especializações da entidade Elemento<br />ServiçoAtorTarefaSistemaServiço-ExclusivoExclusivoExclusivoAtorExclusivo-ExclusivoSobrepostoTarefaExclusivoExclusivo-ExclusivoSistemaExclusivoSobrepostoExclusivo-<br />Podemos aplicar tais conceitos à modelagem feita na Figura 1 e juntamente com ela utilizar a UFO a fim entender e representar melhor a semântica proposta pela Ontologia SOA. Como resultado, temos o diagrama apresentado na Figura 2 que representa essa nova modelagem.<br />Figura 2. Uma nova modelagem da entidade Elemento e suas especializações<br />A nova modelagem proposta na Figura 2 considera Sistema e Ator dentro de um mesmo relacionamento de especialização da entidade Elemento, separadas de outro relacionamento de especialização compreendido pelas entidades Tarefa e Serviço. Tal fato deve-se principalmente pelas restrições de exclusividade e sobreposição apresentadas na Tabela 1 e também pelas informações de cobertura (Ex: completo e incompleto) existentes entre as entidades especializadas. Isso nos sugere dois conjuntos distintos de especializações: um conjunto possuindo as entidades Sistema e Ator, e outro conjunto possuindo as entidades Tarefa e Serviço.<br />Sobre a entidade Ator, na modelagem original da Ontologia SOA, estava claro que não seria a entidade Elemento a fornecedora de sua identidade. O mesmo vale para as demais entidades especializadas: Sistema, Tarefa e Serviço. <br />A definição de Elemento nos leva a considerá-la como sendo uma abstração de propriedades comuns às suas quatro especializações, sendo que algumas dessas propriedades podem ser consideradas apenas circunstanciais ou acidentais a algumas das especializações. Tais propriedades, que não seriam essenciais, são definidas na Ontologia SOA como (i) a opacidade, (ii) a indivisibilidade em certo nível de abstração e (iii) a característica de possuir fronteiras bem definidas. Pelo exposto, ao aplicarmos os conceitos propostos pela UFO, classificamos Elemento e Sistema como sendo do tipo Mixin, a entidade Pessoa, Organização, Tarefa e Serviço como sendo do tipo Kind, e Ator como sendo um Role Mixin com duas especializações do tipo Role: PessoaAtora e OrganizaçãoAtora.<br />Ainda sobre a entidade Ator, classificada como Role Mixin, como sua definição original considera apenas a existência de atores do tipo Pessoa ou Organização, definimos um relacionamento de generalização e especialização com as restrições do tipo exclusiva e completa. Isso porque, um Ator ou é uma Pessoa ou uma Organização, e não são considerados outros tipos de Atores além de Pessoa e Organização.<br />2.2. A entidade Composição e sua especialização<br />O conceito de Composição é um dos mais importantes da Arquitetura Orientada a Serviços. Existem serviços que são composições de outros serviços e existem processos que são composições de atores, tarefas e serviços. Praticantes de SOA aplicam o conceito de composição naturalmente e intuitivamente quando estão arquitetando e projetando sistemas baseados em SOA.<br />Na Ontologia SOA, a entidade Composição é definida como sendo uma coleção organizada de outros elementos mais simples. Segundo o The Open Group:<br />“A composition is the result of assembling a collection of things for a particular purpose. While a composition is always a system, a system is not necessarily a composition in that it is not necessarily a result of anything.”<br />Como uma Composição é uma especialização de Elemento, todas as composições possuem uma fronteira bem definida e são opacas para um observador externo no sentido que podem ser vistas como uma “caixa preta”.<br />Uma composição pode ter seus elementos compostos de várias formas. A Ontologia SOA considera que existem três tipos de composição, os chamados “Composition Patterns”: Orquestração, Coreografia e Colaboração. Na modelagem existente na Ontologia SOA há uma propriedade na entidade Composição que foi nomeado de “compositionPattern” e que representa justamente esses três tipos de composição.<br />A Figura 3 apresenta o diagrama da Ontologia SOA resultado da modelagem feita pelo The Open Group para a entidade Composição, suas especializações e as entidades a ela relacionadas.<br />Figura 3. A entidade Composição, sua especialização e seus relacionamentos.<br />Podemos aplicar os conceitos proposto na UFO à modelagem feita na Figura 3 a fim entender e representar melhor a semântica proposta pelo The Open Group na Ontologia SOA. Como resultado, temos o diagrama apresentado na Figura 4 que representa essa nova modelagem.<br />Figura 4. Uma nova modelagem da entidade Composição, suas especializações, atributos e relacionamentos.<br />A nova modelagem para a entidade Composição, proposta no diagrama da Figura 4, considera as a criação das entidades Orquestração, Coreografia e Colaboração como sendo Roles, ou seja, essas 3 entidades passam a representar papéis que uma Composição tem e não mais apenas uma propriedade da entidade Composição. Além disso, como só existem esses três papéis de composição e uma dada composição só pode ser de um desses papéis, decoramos o relacionamento de generalização e especialização com as restrições “exclusivo” e “completo”.<br />Outro ponto importante a ser destacado é a mudança nos relacionamentos “orquestra” e “orquestrado por”. Na modelagem original tais relacionamentos existiam entre as entidades Composição e Elemento sendo que através de linguagem natural a Ontologia SOA considera que apenas Composições do tipo Orquestração possuem tais relacionamentos. Dessa forma, torna-se mais apropriado e semanticamente mais representativo deslocar tais relacionamentos da entidade Composição para a especialização Orquestração que adicionamos na nova modelagem.<br />A Ontologia SOA considera apenas a existência de composições de serviços e composições denominadas Processo. Em SOA, uma composição de serviços pode ser considerada também como sendo um serviço, ou seja, como um serviço composto. Nesse sentido, consideramos a entidade “ComposiçãoDeServiço” como sendo uma especialização do tipo Subkind da entidade Serviço. Por outro lado, uma coleção de tarefas, atores e serviços, ou seja, um Processo, possui características particulares e uma identidade até então não existente em nenhum outra entidade existente na Ontologia SOA. Como consequência, consideramos a entidade Processo como sendo um Kind.<br />3. Conclusão<br />Ao longo desse artigo analisamos a ontologia de domínio para a Arquitetura Orientada a Serviços, a Ontologia SOA, criada pelo The Open Group e aplicamos alguns conceitos da UFO propostos por Giancarlo Guizzardi em “Ontological Foundations For Structural Conceptual Models”) com o objetivo de criar uma nova modelagem para um subconjunto da modelagem existente Ontologia SOA. A Figura 5 mostra a nova modelagem na íntegra.<br />Figura 5. Uma nova modelagem após aplicação dos conceitos da UFO.<br />Por diversos motivos a criação de ontologias de domínio baseadas em ontologias de fundamentação é de extrema importância, uma vez que as ontologias de fundamentação permitem o estabelecimento de ontologias de domínio mais consistentes, expressivas e semanticamente mais ricas.<br />A modelagem proposta nesse artigo atinge o objetivo proposto inicialmente uma vez que ela torna mais explícita uma série de conceitos que na proposta original da Ontologia SOA estavam implícitos ou apenas descritos em linguagem natural, no caso a língua Inglesa. Dessa forma, os praticantes da Arquitetura Orientada a Serviços poderão se beneficiar dessa nova modelagem uma vez que ela permite um melhor entendimento dos conceitos da Arquitetura Orientada a Serviços e consequentemente um maior alinhamento entre seus praticantes.<br />Outro aspecto relevante da modelagem proposta é que ela representa um passo a mais em direção à implementação de SOA orientada a modelo (do inglês “Model-driven SOA implementation”), o que facilita ainda mais a adoção de SOA.<br />4. Trabalhos futuros<br />Como o objetivo desse artigo era de aplicar à Ontologia SOA do The Open Group um subconjunto de conceitos existentes na ontologia de fundamentação proposta por Giancarlo Guizzardi em seu trabalho intitulado “Ontological Foundations For Structural Conceptual Models”, optamos por apenas analisar parte da Ontologia SOA. Dessa forma uma série de aspectos e conceitos tanto da Ontologia SOA quando da UFO não foram abordados ao longo desse trabalho caracterizando assim uma oportunidade de evolução do mesmo.<br />A seguir, apresentamos os aspectos e conceitos da Ontologia SOA proposta pelo The Open Group que poderiam ser consideradas em trabalhos futuros.<br />Ao apresentar a entidade Elemento e suas especializações na seção 2.1 do presente trabalho, omitimos propositalmente alguns relacionamentos que esta entidade possui mas que estão presentes na Ontologia SOA. Dentre os relacionamentos omitidos estão os autorelacionamentos “representa”, “representado por”, “usa” e “usado por”. Também não mostramos e discutimos a entidade Evento e seus cinco relacionamentos com a entidade Elemento: “respondido por”, “responde para”, “gera” e “gerado por”.<br />Ainda na seção 2.1, não analisamos os dois relacionamento existents entre as entidades Tarefa e Ator: “executa” e “executada por”.<br />Na análise realizada na seção 2.2, não consideramos a cardinalidade dos relacionamentos entre as entidades e eventuais relacionamentos indiretos com outras entidades existents na Ontologia SOA.<br />Todos esses aspectos, embora não tenham sido considerados nesse trabalho, são de extrema relevância para capturar e adicionar ainda mais semântica e representatividade à modelagem podendo contribuir ainda mais para a melhoria e evolução da Ontologia SOA do The Open Group.<br />5. Referências<br />Accenture (2006) “Building a foundation for high performance with Service Oriented Architectures”, http://www.accenture.com/SiteCollectionDocuments/PDF/SOA_OverviewBrochure_July2006.pdf, Junho.<br />Biske, Todd. (2008), SOA Governance – The key to successful SOA adoption in your organization, Packt Publishing, 1st edition. <br />Carter, S. (2007), The new language of business: SOA & Web 2.0, IBM Press.<br />Erl ,Thomas and Manes, Anne Thomas et al. (2011), SOA Governance: overning Shared Services On-Premise & in the Cloud, Prentice Hall/PearsonPTR, 1st edition. <br />Fernandes, Marcelo Carvalho and Alencar, Antônio Juarez et al. (2008). On the complexity of computing. “A Multicriteria Approach to the XP Release Plan that Maximizes Business Performance in Uncertain Environments”. In Proceedins of the 2008’s IEEE Systems and Information Engineering Design Symposium.<br />Holton, M. and Alexander, S. (1995) “Soft Cellular Modeling: A Technique for the Simulation of Non-rigid Materials”, Computer Graphics: Developments in Virtual Environments, R. A. Earnshaw and J. A. Vince, England, Academic Press Ltd., p. 449-460.<br />SEI, Software Engeneering Institute (2009) “A Scenario-Based Technique for Developing SOA Technical Governance”, http://www.sei.cmu.edu/reports/09tn009.pdf, Junho.<br />The Open Group (2011) “SOA Governance Reference Model (SGRM)”, http://www.opengroup.org/soa/source-book/gov/sgrm.htm, Junho.<br />

×