Home > Governance, SOA, soa-fundamental > Carol, Yto e a Ontologia de SOA (parte I)

Carol, Yto e a Ontologia de SOA (parte I)

November 5th, 2009 davi Leave a comment Go to comments

Carol é uma arquiteta de software, recém-casada, sem filhos, está prestes a receber seu 6o. certificado Java. Formada em análise de sistemas, é autodidata e adora música (não desgruda do seu iPod).

Yto é o gerente de desenvolvimento. Filho de japoneses, ele é casado, tem 1 filha, e está cursando uma pós-graduação em engenharia de software. Foi desenvolvedor por muito tempo e este é seu primeiro cargo como gerente.

carol&yto01 São 17:52 (veja o relógio) quando Yto chega próximo da mesa da Carol e pergunta:

[Yto] – Carol?

[Carol] – (ouvindo “Bangers and Mash”, do Radiohead, não ouve a pergunta)

[Yto] – (chegando mais perto) Carol, eu sei que já está tarde, mas preciso da sua ajuda para pensarmos sobre a Ontologia e a Taxonomia dos serviços que já construímos.

[Carol] – “Taxo” o que Yto? (ao mesmo tempo em que pensava, “O Yto não tem mesmo o que inventar, perguntar desta tal de ‘taxo-não sei-o-que’ quase 6 da noite…”)

Ontologia e Taxonomia

Os termos parecem difíceis para quem nunca ouviu falar mas o conceito é relativamente simples. Carol não precisa se preocupar mas, claro, às 06:00 PM não é a hora do Yto solicitar um planejamento de como classificar os serviços que eles já desenvolveram.

Quando se tem poucos Serviços – um número entre 20 e 100, então pode-se assumir que uma pessoa será envolvida no trabalho de entender e descrever a semântica deste Serviço.

Entretanto quando temos centenas de ou milhares de serviços, e estes estão sendo constantemente atualizados, é difícil ou mesmo impossível manter a semântica de cada um destes Serviços atualizado. Em algum momento se faz necessário uma representação formal, um padrão para representar a semântica destes Serviços.

soa-ontology(Evolução da Taxonomia para a Ontologia, SOASimples.com a partir de várias fontes)

Definições

Taxonomia são esquemas básicos, primários, de classificação através de hierarquia. A Taxonomia entretanto é uma estrutura muito simples para se utilizar em sistemas com muitas mudanças. Algumas vantagens:

  • Auxilia na definição de complexidade, melhorando estimativas de custo
  • Evita a quebra de uma regra básica de orientação a serviço que define que “serviços só podem utilizar outros serviços do mesmo nível (layer) ou de um nível inferior”
  • Suporta a linha de negócios (LoB) no entendimento do nível de reusabilidade quando surgem novos requisitos

Introduzir o conceitos de novos Serviços em uma ambiente de constante mudança (como o de uma operadora de telefonia) é uma das desvantagens desta classificação “horizontal”. Surgiu então necessidade de algo mais resiliente a mudanças, e a Ontologia tem esta característica importante.

Pode ser utilizada para capturar visões alternativas dentro de um arcabouço único, uma classificação “vertical”. Algumas vantagens:

  • Quando se desenha os serviços no contexto de “domínios” fica estabelecido uma linguagem comum entre TI e negócios
  • A visão de alto nível, simplifica o desenvolvimento de requisitos de negócio
  • Uma visão do todo (“big picture”) é compartilhada com todos facilitando a interoperabilidade dos novos serviços e evitando a duplicação de funcionalidades
  • Facilita a identificação de “quem” é o dono do novo serviço

Acompanhe aqui como a estória se desenrola. Abcs!

  1. Glaucio Guerra
    December 8th, 2009 at 12:11 | #1

    Muito interessante, pretende dar continuidade a esse assunto?

  2. December 8th, 2009 at 16:56 | #2

    Sim Glaucio, aguarde a continuação. Parte 2 e 3 vem em breve. Grato!

    Davi

  3. Glaucio Guerra
    December 8th, 2009 at 17:19 | #3

    Bacana, fico no aguardo!

    Um abraço

  1. No trackbacks yet.