BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

O Open Group lança um novo padrão técnico - Ontologia SOA

por Boris Lublinsky , traduzido por Marcelo Costa em 28 Dez 2010 |

Em um esforço para eliminar o déficit de comunicação entre as áreas de negócios e de TI sobre o que diz respeito a Arquitetura Orientada a Serviços (SOA), o Open Group lançou um novo padrão técnico - Ontologia da Arquitetura Orientada a Serviços - que visa ajudar a definir melhor os conceitos, termos e semânticas envolvidas com o SOA. O padrão:

 ... define os conceitos, terminologias e semânticas do SOA, tanto em termos comerciais quanto em tremos técnicos, a fim de:

  • Criar uma base para trabalhos futuros em áreas de domínio específicas
  • Permitir comunicações entre as pessoas de negócios e técnicos
  • Reforçar a compreensão dos conceitos de SOA nos negócios e nas comunidades técnicas
  • Fornecer um meio para a situação dos problemas e suas soluções de forma clara e inequívoca de forma a promover uma compreensão mútua.

 Os dois conceitos fundamentais da ontologia são de sistema e elemento, onde: 

Um elemento é uma entidade opaca que é indissociável de um determinado nível de abstração. O elemento tem uma fronteira claramente definida.

Enquanto que:

Um sistema é uma coleção organizada de idéias. Especificamente idéias em uma coleção de sistemas são instâncias de um elemento, cada um desses casos sendo usado pelo sistema. 

Ambos os conceitos são genéricos, e podem ser usados para descrever qualquer implementação e permitir descrever conceitos comuns, incluindo a noção de que sistemas possuem elementos e que esses sistemas podem ser hierarquicamente combinados (sistemas de sistemas). O que difere de domínio para domínio é a natureza específica dos sistemas e seus elementos. 

Um conceito fundamental da ontologia é o serviço. Este é um conceito fundamental para o SOA e sempre é utilizado na prática quando descrevemos ou construimos sistemas SOA. 

Um serviço é uma representação lógica de uma atividade que se repete e que possui um resultado específico. É auto-contida e está numa "caixa preta" para os seus consumidores.

A definição de ontologia omite o termo comumente usado "negócio" em sua definição de serviço, informando que: 

... a noção de negócios é relativa ao ponto de vista de uma pessoa - como exemplo, a noção de uma pessoa de TI é uma outra noção de negócios (o negócio de TI). Serviços tal como definido pela ontologia são agnósticos se o conceito é aplicado à noção clássica de um domínio de negócio, ou a noção clássica de um domínio de TI. 

Embora a ontologia defina um serviço como uma subclasse de um elemento, ela afirma que nos casos de classes de alto nível por exemplo, os sistemas podem fornecer recursos que podem ser oferecidos como serviços. 

Outras implementações de alto nível relacionadas com serviços, conforme definido pela ontologia, são Contratos de Serviço, Interface de Serviço e Tipo de Informação (ServiceContract, ServiceInterface e InformationType). 

Um Contrato de Serviço define os termos, condições e regras de interação que os participantes que interagem [provedores de serviços e consumidores] devem concordar (direta ou indiretamente). Um contrato de serviço é obrigatório para todos os participantes na interação, incluindo o serviço em si e o elemento que fornece esse serviço para a interação específica em questão. 

Ele representa os acordos específicos necessários para a correta utilização de um serviço. Eles podem ser oriundos dos requisitos necessários para o bom funcionamento do serviço ou do desejo de regulamentar a utilização do serviço. 

Uma Interface do Serviço define a maneira em que outros elementos podem interagir e trocar informações com um serviço. 

Interfaces de serviço bem definidas facilitam a interação correta com os serviços, e permitem que outros elementos possam utilizá-las de forma estruturada. Uma interface de serviço pode permitir que outro elemento lhe dê informações ou receba informações de um serviço. Alguns tipos específicos de informações trocadas com um serviço são definidas pelas classes de Tipo de Informação (informationType). 

Uma das principais vantagens do SOA é a composição de serviços. Esta propriedade do SOA é definida por dois conceitos da ontologia - composição e composição de serviços (composition and serviceComposition). 

Uma composição é definida como o resultado da construção de uma coleção de idéias para um propósito em particular. A ontologia SOA define uma composição como uma subclasse de um sistema, ressaltando que, enquanto uma composição é um sistema, um sistema não é necessáriamente uma composição. A ontologia distingue ainda os padrões complexos de composição, incluindo o padrão de composição de Orquestração, padrão de Composição de Coreografia e o padrão de Composição de Colaboração (Orchestration Composition Pattern, Choreography Composition Pattern e o Collaboration Composition Pattern). 

Um caso especial de composição ocorre quando: 

... a composição de serviços, é o resultado da construção de um conjunto de serviços, com o objetivo de executar um novo serviço de nível mais alto. 

Finalmente, a ontologia acrescenta eventos como sendo fundamental ao conceito do SOA: 

Eventos e os elementos que geram ou respondem por eles, são aspectos importantes de qualquer sistema que emite eventos. Sistemas SOA estão, de fato, muitas vezes emitindo [e consumindo] eventos. 

A publicação da norma causou muito interesse entre os praticantes do SOA. De acordo com Dana Gardner: 

O padrão técnico Ontologia SOA conecta diferentes arquiteturas, engenharias, negócios e domínios de marketing, oferecendo conceitos e terminologia comuns mapeando de tal forma que pessoas técnicas e de negócios possam usá-lo para discutir seus problemas e oportunidades. Ele também servirá como base para trabalhos futuros em áreas de domínio específico, fornecendo um framework coerente que possa ser reutilizado com a evolução dos projetos SOA.

De acordo com Heather Kreger: 

[Ontologia] pode ser usado simplesmente para ler e entender os principais conceitos do SOA, e mais importante, um conjunto de definições e ENTENDIMENTOS dos conceitos chave que você pode concordar e utilizar com outras pessoas na sua empresa e entre empresas. Tendo a certeza de que você está “falando a mesma língua” é essencial para que qualquer arquiteto seja capaz de comunicar-se eficazmente com a TI, os negócios e os profissionais de marketing de dentro da empresa, bem como com os vendedores e fornecedores fora da empresa. 

A proliferação atual de terminologias SOA ferem o SOA. Um novo padrão do Open Group, que está tentando reunir e organizar essas definições torna-se um grande passo na criação de uma linguagem comum para o SOA. Essa linguagem comum pode ajudar a garantir que você possa fazer as perguntas certas e interpretar as respostas que você recebe sem ambiguidades.

A ontologia SOA define uma composição como uma subclasse de um sistema, ressaltando que, enquanto uma composição é um sistema, um sistema não é necessáriamente uma composição. A ontologia distingue ainda os padrões complexos de composição, incluindo a composição Orchestration padrão, o padrão e Composição Coreográfica Colaboração Composição Padrão.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Ontologia SOA validada pelo UFO by Marcelo Fernandes

Fiz uma análise parcial da SOA Ontology do The Open Group sob o olhar de alguns conceitos existentes na ontologia de fundamentação UFO proposta em “Ontological Foundations For Structural Conceptual Models”. Quem quiser ler a respeito veja em www.slideshare.net/MarceloFernandes3/ontologia-soa

Re: Ontologia SOA validada pelo UFO by Marcelo Fernandes

Complementando o comentário anterior...

Para quem interessar e quiser discutir o assunto, o artigo da análise que fiz também está disponível em thoughtsasaservice.wordpress.com/2011/07/03/ont...

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

2 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT