Ambientes de homologação e de produção com governança SOA

A governança SOA é tratada em dois momentos diferentes:

  • design-time: desde quando o serviço está sendo concebido até passar pela modelagem, implementação, testes podendo chegar ao final do ciclo de vida de um serviço com a sua remoção. Esse período é o foco da ferramenta Oracle Enterprise Repository (OER)
  • runtime: quando o serviço está em funcionamento, por exemplo, atendendo requisições num ambiente de produção. Esse período pode ser tratado com ferramentas como o Oracle Enterprise Manager ou mesmo o Oracle WebServices Manager e pelo Oracle Service Registry (OSR).

O OER e o OSR serão o foco do post de hoje. Na tabela abaixo tem-se uma lista de funcionalidades atendidas por ambas as ferramentas.

OER OSR
Gerenciamento de ativos e artefatos

Implementação UDDI v3

Análise de dependência e de impacto

Service discovery

Relatório de conformidade

Auto-synchronized w/repository

Reúso de serviços

Endpoint management

Gerenciamento do ciclo de vida  
Federação: armazenamento de artefatos, políticas, métricas em tempo de execução, etc.  

O OSR será utilizado como um catálogo de serviços. O objetivo dele é conter referências para os serviços existentes dentro do ambiente corporativo e permitir a localização desses serviços. No momento de design o OSR pode ser preenchido com uma lista de serviços em uso na empresa. Em tempo de execução o OSR pode ser usado como uma ponte para que o serviço seja executado. Ou seja, ele conterá os endpoints que implementam um determinado contrato de serviço.

Já o OER conterá os ativos dos serviços. Ou seja, requisitos que o originaram,  modelos criados, testes efetuados e todas as aprovações necessárias entre uma fase e outra. A figura abaixo ilustra uma árvore de dependências entre artefatos gerenciados pela ferramenta.

image

Entre o OER e o OSR existem integrações: serviços existentes no OER podem ser usados para alimentar o catálogo de serviços. Serviços que são acessados em tempo de execução tendo o OSR como ponte geram métricas que podem depois ser alimentadas no OER.

É possível, com o uso de ambas as ferramentas, ter um gerenciamento de serviços que estejam rodando em ambientes diferentes. Por exemplo, um consumidor A chama um serviço B. Esse serviço possui um endpoint no ambiente de desenvolvimento.

Já no ambiente de homologação o endpoint muda. O mesmo acontece no ambiente de produção. Porém os ativos/artefatos são os mesmos. As ferramentas, combinadas, permitem acompanhar esse processo e realizar uma ação que é chamada de promoção: levar um serviço para um novo ambiente e sincronizar as referências entre consumidores e provedores.

Os slides abaixo ilustram esse processo.

  1. Num ambiente de desenvolvimento o serviço é criado pelo desenvolvedor, usando uma ferramenta de desenvolvimento (por exemplo, o Jdeveloper).
  2. No OER o serviço é criado e o desenvolvimento tem início.
  3. Os artefatos criados no Jdeveloper ou Eclipse são enviados para o OER num processo conhecido como Harvest
  4. No ciclo de vida o serviço é aprovado e enviado para um ambiente de testes. O arquivo SAR/JAR que contém o serviço é implantado no container correspondente.
  5. O endpoint do serviço no ambiente de testes é atualizado no OER
  6. No processo, o serviço é promovido no OER …
  7. fazendo com que o endpoint seja sincronizado com o OSR do ambiente de testes.
  8. O OSR aponta para o serviço existente no container no ambiente de testes. Eventuais modificações/atualizações são gerenciadas através da sincronização envolvendo OER e OSR.
  9. Do mesmo modo o serviço, após aprovado em testes, deve seguir para produção.
  10. O endpoint do ambiente de produção é também publicado no OER
  11. O serviço novamente é promovido no OER …
  12. … e vai para o OSR do ambiente de produção
  13. De modo análogo ao ambiente de testes, o OSR de produção aponta para o container de produção
  14. OER e OSR mantém-se sincronizados
  15. Os endpoints são gerenciados tanto através do OER quanto através do OSR
  16. O Enterprise Manager – SOA Management Pack pode ser utilizado para rastrear as chamadas ao serviço no container e gerar uma série de métricas (número de chamadas, tempo médio, número de falhas, dentre outros). Esses dados podem ser sumarizados e alimentados novamente no OER.

Obs: O cenário apresentado representa uma possibilidade de uso das ferramentas. Vários outros cenários podem ser criados.

Comments:

Congratulations for posting such a useful blog. Your blog isn't only informative but also extremely artistic too. There usually are extremely couple of individuals who can write not so easy articles that creatively. Keep up the good writing !!

Posted by homes for sale in columbus ms on Agosto 19, 2010 at 08:12 AM BRT #

Wonderful to read!

Posted by Home Security System on Setembro 22, 2010 at 06:48 AM BRT #

Fantastic read. Man, I really wish I could have stuff like this nearly as interesting on my site. Your stuff is nicely written. Anyways, just wanted to let you know. God bless

Posted by natural face lift on Novembro 14, 2010 at 03:12 AM BRST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Comentários, dicas, artigos e textos sobre SOA, desenvolvimento de software, gerenciamento de projetos, processos de negócio, governança, virtualização, e outros assuntos interessantes.

Search

Categories
Archives
« Abril 2014
SegTerQuaQuiSexSábDom
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today