Arquitetura "SOA" em sistemas de "ERP"
14 de setembro de 2006
Muito tem se falado sobre a arquitetura "SOA" (Service-Oriented Architecture) e
WebServices, mas afinal, o que é "SOA" e o que esta arquitetura pode ser útil
para os ERPs?
Para facilitar a explicação e os exemplos, vamos expor o seguinte cenário real:
O Virto ERP é um sistema de gestão totalmente baseado na arquitetura SOA, e
utiliza uma camada de WebServices para efetuar qualquer transação com o banco
de dados.
Quando um cliente precisa ser inserido, em vez de o ERP inserir diretamente no
banco de dados este cliente, ele aciona um WebService que faz todas as
validações das regras de negócio que a empresa possui e, em seguida, insere o
cliente no banco de dados, retornando para o Virto ERP o resultado da execução.
Assim, quem fez todas as validações e a comunicação com o banco de dados foi o
WebService e não o Virto ERP diretamente.
Mas afinal, qual a vantagem dessa camada de WebServices?
É importante entender que um WebService é um padrão aberto de comunicação entre
sistemas de tecnologias diferentes, e os WebServices são implantados sobre um
padrão de comunicação chamado XML (que é um padrão aberto e não proprietário).
A primeira vantagem é que a inclusão deste cliente poderia ter sido feita por
qualquer outro sistema da empresa e não somente pelo Virto ERP.
Outra vantagem é que este outro aplicativo que a empresa possui para fazer a
inclusão de clientes poderia ser escrito em qualquer linguagem com capacidade
de acionar WebServices (atualmente, quase todas as linguagens modernas são
compatíveis). E o mais importante é que as regras de negócio da empresa
continuam sendo validadas pelo WebService, evitando que inconsistências
ocorram, bem como, reduzindo o desenvolvimento de validações que estes outros
aplicativos precisariam fazer.
Esta aplicação poderia ser, por exemplo, o próprio site de sua empresa, que
precisa inserir no ERP os clientes que visitaram seu site e pediram para
receber a newsletter periódica. Neste exemplo, seu site pode estar hospedado em
um provedor fora do Brasil, enquanto o ERP está instalado em sua Matriz em São
Paulo. Esta "conversa" entre seu site e o WebService que insere o cliente no
ERP será transparente, pois WebServices foram feitos para funcionarem pela
Internet de forma segura, ágil e multi-plataforma.
No segmento de automação de indústrias é muito comum precisarmos que sensores,
balanças eletrônicas e robôs se comuniquem com o ERP para reportarem pesos,
números de lote, números de série e mudança de status no fluxo de produção.
Isso torna-se muito fácil de implementar quando o ERP é baseado na arquitetura
SOA (que utiliza WebServices), pois vários "mini-aplicativos" precisam ser
desenvolvidos em linguagens de programação diversas, para compreender os sinais
eletrônicos dessas balanças, sensores e robôs, e todos precisam informar ao ERP
estas informações. Como os webservices usam o padrão XML (que é aberto), isto
se torna muito mais simples, rápido, seguro e íntegro.
Este artigo foi escrito por Erick Vils, diretor de tecnologia da WebSoftware
(fábrica do Virto ERP).
Você pode entrar em contato com Erick Vils pelo e-mail
erick@websoftware.com.br e esclarecer suas dúvidas sobre a
arquitetura SOA ou sistemas ERP.
|