Friday, June 09, 2006

SOA

Nos últimos dias muito tem se falado sobre SOA, é um + uma sigla do mundo TI - Service Oriented Architecture. A itenção é resolver um "grande tabu" (pelo menos na minha visão) de desenvolvimento modularizado.

A idéia é muito interessante, vc deixa de pensar em software como um todo, e começa a pensar em serviços. O software é "quebrado" em serviços (módulos) com fraco acoplamento, ou seja, os módulos ñ tem dependência estrutural um entre o outro.

Um exemplo (idéia...) seria um sistema Contábil, com serviços de Contas a Pagar, Contas a Receber, Emissão de Faturas, e outros. Tendo um outro software gerenciando esses serviços, para agregar vinculo entre esses módulos.

Uma técnologia que prove isso, é Web Services. No cenário acima poderiamos ter cada módulo implementado com uma Linguagem, ou seja, Contas a Pagar e Receber em Java e Emissão de Faturas em C++, e o "gerenciador" tbém em Java.

Web Service, é muito interessante, mas seu uso deve ser estudado com cautela! Em um cenário aonde serviços pertencentes a empresa, feitos em uma mesma tecnologia, como Java, talvez ñ seja interessante a integração com Web Services. O custo de parsing de XML em Web Services é alto, e deve ser considerado! Talvez a adoção do puro RMI, com EJB (principalmente o 3) seja interessante.

No comments: