SOA, CBD e processos

June 3, 2008 – 11:50 pm by Gustavo S. Sinis

SOA tem uma base sólida em Design by Contract (DbC) e Component Based Development (CBD). A literatura de CBD, por exemplo, possui vários conceitos recorrentes que são essenciais para SOA, quais sejam: alta coesão; baixo acoplamento; sistemas distribuídos; composição; reuso; interfaces bem definidas. Tal como acontece com qualquer tema complexo, é difícil fazer progressos significativos em sua compreensão, sem referenciar pontos comuns, isso é verdade com SOA e CBD.

A adoção da SOA não revogou nada de CBD, pelo contrário, representou uma evolução deste. Isto porque, o CBD trouxe a base essencial para que fosse possível suportar SOA, ou seja, a infra-estrutura fundamental para a implementação de serviços orientados ao processo. A evolução não é tecnológica, mas de práticas/métodos como, por exemplo, a necessidade de se considerar processos de negócio (Decomposição do Processo de Negócio), de assimilar a heterogeneidade e de ter governança. SOA, hoje, representa uma coleção de abordagens úteis no desenvolvimento corporativo.

Considerando que as empresas são grandes coleções de processos de negócio [1] [2] e que SOA promove flexibilidade ao negócio, concluímos que o serviço representando diretamente uma tarefa do processo de negócio é uma abstração chave da abordagem. Funciona como um vocabulário comum entre TI e as áreas de negócio e orienta a separação da lógica do processo de negócio da lógica da aplicação (temos vários ganhos com essa abordagem, mesmo sem BPM). É a aderência dos serviços aos processos de negócio que possibilita a flexibilidade na assimilação de mudanças no processo.

“But there is a more sensible way to SOA, which maintains loose coupling and drives high cohesion and the secret is this: build your services to implement business processes. Don’t let the data guys scream at you that you need an enterprise data model (you don’t) and don’t let the application portfolio guys demand that you buy everything and stitch it together later (you can’t, this only gets you Frankenstein systems).” Anemic Service Model , Jim Webber, Ph.D. Global Architecture Lead, ThoughtWorks.

—————————————————————–
[1] Durante muito tempo, as empresas foram dirigidas por meio de metas estabelecidas para as áreas funcionais, mas hoje as metas são definidas para os processos essenciais, que constituem um nível fundamental de avaliação de desempenho da organização. (Rummler e Brache, 1990)

[2] A idéia de processo tem estado presente nos textos e nas discussões sobre Administração de Empresas nos últimos anos. É praticamente impossível evitar temas como redesenho de processos, organização por processos e gestão por processos. (José Ernesto Lima Gonçalve, Revista de Administração de Empresas, 2000)

Post a Comment