Revista Engenharia de Software, artigo CBD x SOA
May 27, 2008 – 12:26 am by Gustavo S. Sinis
Foi publicado na revista Engenharia de SoftwareSoft, numero dois, um artigo meu, em que relaciono CBD com SOA. (A revista está nascendo agora e formando sua personalidade)
SOA tem recebido significativa atenção do mercado. O resultado desta atenção é a proliferação de muitas definições conflitantes sobre SOA (com grande contribuição dos vendedores de ferramentas). Apenas na classificação de serviços, por exemplo, existem vários autores com abordagens diferentes. Neste cenário, é interessante relacionar serviços (no contexto de SOA), com conceitos mais estáveis, no caso do artigo, componentes de negócio (no contexto de CBD), consolidando, assim, os conceitos.
SOA enfatiza a importância de separar verdadeiramente a lógica do processo de negócio da lógica da aplicação, e considerar serviços orientados a processo - obtidos com metodologias de decomposição de processo - como um vocabulário comum na comunicação e automatização dos processos de negócio. Assim, possibilita a agilidade na assimilação de mudanças no negócio.
Na prática, não é fácil que uma equipe comprometida com os resultados imediatos do projeto tenha tempo ou interesse em usar uma estratégia SOA, uma vez que a mesma não traz muitos benefícios imediatos para o projeto (talvez reuso), salvo se pensarmos corporativamente e no efeito acumulativo da abordagem. Por isso, governança é importante para SOA.
Vocabulário auxiliar utilizado:
Foram usados, no artigo, alguns termos genéricos (abstraindo os detalhes, a fim de evitar longas definições de conceitos), para focar nas principais idéias.
Subsistema: possui a semântica de um pacote, de modo que possa conter outros elementos e que tenha comportamento. O comportamento do subsistema é definido por classes ou outros subsistemas contidos nele. Um subsistema compreende uma ou mais interfaces, que definem o comportamento que ele pode apresentar.
Componentes de negócio: um subsistema que contém regras de negócio e seus dados. Poderiam ser classificados, dependendo do autor, como um serviço básico (ou algo parecido com serviços corporativos, na definição de Erl).
