Identificação e Reuso de Serviços

Em nosso primeiro post comentamos sobre a importância da Arquitetura Orientada a Serviços (SOA) dentro do contexto da gestão de processos de negócio (BPM). Percebemos que a visão de processos deve-se estender não só às unidades de negócio mas também à área de tecnologia de informação que, por sua vez, deve responder com uma infra-estrutura apresentada na forma de um "catálogo" de serviços. Porém, para que possamos obter valor nesta nova visão de serviços, precisamos saber identificar e reutilizar os serviços em nossos processos.

Recentemente visitando o OTN, encontrei um artigo bastante interessante sobre o reuso de serviços (What is a Reusable Service? Gabriel Bechara, Março/2009). Particularmente o que me chamou atenção neste artigo foi a forma como importantes conceitos foram apresentados no contexto da identificação e reutilização de serviços. Neste POST vou comentar um pouco mais sobre como identificar e reutilizar serviços, além de apresentar alguns conceitos importantes relacionados ao tema e que guiarão nossos debates futuros.


Indentificar Serviços

A identificação de serviços não é uma tarefa simples, requer além de boas práticas um bom conhecimento do negócio. Segundo Bechara: "In all cases a service must be related to a business purpose/process, and should provide a measurable business value at some point". Sendo assim, o primeiro passo para a determinarmos as fronteiras de um serviço é identificamos uma operação ou transação de negócios que ele deva atender.

A identificação dos serviços está associada diretamente ao conceito de reutilização. Um serviço deve ser uma unidade de negócios autônoma (auto-contida), de baixo acoplamento e que permita ser reutilizado em processos de negócios, aplicações compostas ou mesmo por outros serviços. Em outras palavras, um serviço deve ser independente para realizar uma operação de negócio especifica, define um contrato pelo qual expõe suas funcionalidades, apresenta políticas de utilização e segurança e pode ser medido através de contratos de nível de serviço ou SLA's (Service Level Agreements).


Governança

Outro conceito importante é a relação entre a visão de serviços e a governança de TI. Não basta apenas identificar os serviços, temos que adotar políticas, controles, definir responsabilidades e estabelecer processos que permitam gerenciar e controlar o ciclo de vida de serviços. Do design à execução, temos que estabelecer controles que garantam que as mudanças serão comunicadas e que as métricas de negócios (SLA's), definidas com as áreas de negócio, possam ser acompanhadas e garantidas. Esta abordagem permitirá a geração de informações valiosas sobre o ambiente e a utilização destes serviços, de modo a permitir, por exemplo, que os serviços possam ser prescritos ou '"recomendados" para utilização em diversos processos corporativos (desta maneira, promovendo o reuso). Neste contexto, dois componentes passam a exercer um papel fundamental: o repositório corporativo e o catálogo de serviços.

O repositório corporativo ou Enterprise Repository, governa todo o ciclo de vida de desenvolvimento e gerenciamento de serviços, da concepção à publicação do serviço, assegurando boas práticas, identificando associações e relacionamentos entre os processos e serviços, além de estimular a reutilização dos mesmos entre diferentes áreas, projetos e processos. O catálogo de serviços ou Service Registry, por sua vez exerce a função de catálogo, disponibilizando informações sobre os serviços, em tempo de execução, e permitindo que os mesmos sejam descobertos e acessados. Estes dois elementos são fundamentais para assegurar a visibilidade dos serviços em toda a organização. Segundo Bechara, "A service must be also visible across the entire organization. It must be prescribed for use in specific projects in order to avoid redundancy and duplication".

Conheça mais sobre os componentes de Governança Oracle.


Barramento de Serviços

O barramento de serviços ou Enterprise Service Bus (ESB) é um elemento fundamental para estimular o reuso, promovendo o isolamento entre os elementos da arquitetura, ao mesmo tempo em que habilita a evolução dos serviços e processos. Um ESB permite a comunicação multi-canal (entre diferentes protocolos e meios de comunicação) oferecendo maior independência aos consumidores de um determinado serviço, seja ele um processo de negócio ou um consumidor externo. Desta maneira, diferentes consumidores podem acessar serviços através de diferentes canais, sem alterar a implementação e a execução do serviço.

Conheça mais sobre a solução da Oracle: Oracle Service Bus.



Após esta rápida visão de serviços e de alguns cimportantes relacionados ao tema, caminharemos no sentido de mostrar como o BPM pode auxiliar no alinhamento estratégico entre as áreas (negócios e TI).

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

bocadmin_ww

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