Arquivo de 1 de Dezembro de 2007
Papéis no Ciclo de Desenvolvimento SOA
Um aspecto muito importante dentro do mundo SOA é que novos papéis emergem e devem ser considerados na montagem de um time de projeto com orientação a SOA. Estes papéis são baseados nos papéis já conhecidos pelo mercado, mas algumas diferenças são notadas.
O ciclo de desenvolvimento SOA pode ser descrito em alto nível como mostrado na figura abaixo.
Dentro deste ciclo de vida, podemos identificar os seguinte papéis primários:
- Analista de Negócio. Descrito no passo (1), este analista é responsável pela modelagem dos processos de negócio da organização e pela exploração de novos cenários de negócios e pela definição e aferição de métricas de negócio (KPIs). Este analista não deve ser confundido com o analista de sistemas ou o analistas de requisitos. O analista de requisitos é responsável por descrever requisitos em modelos de casos de uso, enquanto que o analista de sistemas é responsável por exprimir a solução técnica de TI de um requisito. O analista de negócio, muitas vezes, se encontra fora da área de TI e possui um profundo conhecimento do seu segmento de negócio, como por exemplo o segmento bancário, indústria ou logística. O analista de negócio exprime o seu trabalho em notações como o BPMN ou o XPDL, entre outras. Não é incomum observamos em organizações mais evoluídas a figura do arquiteto de negócio, que tem a responsabilidade primária de organizar e garantir o reuso dos diversos processos de negócio de uma organização.
- Arquiteto de Integração. Este papel é responsável pela orquestração dos processos de negócio descritos pelo analista de negócio. Ele opera sobre modelos BPEL, entre outros, que são linguagens que permitem orquestrar um processo de negócio, i.e., implementar cada passo de um processo como chamadas a Web Services a recursos legados distintos tais como COBOL, ADABAS, MUMPS, SAP e PeopleSoft, entre outros. Para este trabalho, ele conta com o trabalho de desenvolvedores especialistas e arquitetos de sistemas, que a ele provêm adaptadores e conectores para o seu trabalho de integração. Este arquiteto produz códigos executáveis que irão rodar sobre servidores de processo, que são extensões sobre os famosos servidores de aplicação e que usam ESBs e servidores de filas de mensagens para conseguir rodar um processo de negócio.
- Implantador. Este papel é responsável pela implantação e operação dos processos de negócio nos ambientes de execução. Ele pode ser pensado como um papel similar ao *Deployer* Java EE, responsável pelo empacotamente, ajustes finos e garantia do uso dos melhores recursos do servidor de aplicação.
- Usuários e Administradores. Finalmente, conforme mostrado no passo 4, existem os usuários e administradores, que irão operar os processos de negócio. Os processos terão as suas métricas avaliadas em tempo real através dos servidores de processos e retroalimentarão os analistas de negócios com possíveis melhorias nos processos de negócio.