Tenho dois bancos de dados. Um é o infomix acessado pelo ERP Logix e um outro um SQL Server. Minha dúvida é como integrar estes dois bancos de dados. como seria uma arquitetura perfeita? A utilização de web services é viável para isso? Ou o velho metodo de preencher objetos om os dados de um banco e salvá-lo no outro com Hibernate?
O que vc quer dizer quando fala “integrar dois bancos”?
Vc quer consultar em um e salvar no outro?!?
Vc quer salvar nos dois ao mesmo tempo?!?
mlamego
São dois banco de duas aplicações separadas que tem que ficar com as informações sincronizadas. Uma é o ERP da empresa e a outra é o ERP das franquias.
Marcio
rodrigoallemand
Crie uma aplicação transacional no meio delas, que faz todos os inserts, updates e deletes controlados por transação…
Só assim vc vai garantir que os comandos processados com as aplicações externas sejam commitados ao mesmo tempo, garantindo o sincronismo…
Ou use um transacional, tipo um Tuxedo (blarg, mas é o unico que me veio a cabeça) ou um MQSeries se o porte for grande!!!
mlamego
Gostei da idéia de utilizar um transacional, mas o MQSeries é demais para esta aplicação. Vc pode sugerir outros?
rodrigoallemand
JBoss Messaging pode ser uma solução…
Procure por WebService tb… SOA pode ser uma otima visão para fazer este sincronismo…
mlamego
Obrigado Rodrigo,
Gostei muito de sua ajuda, mas vc poderia explicar melhor como isto tem que ser feito utilizando WebServices / SOA?
rodrigoallemand
Como funcionaria com o JMS?
Vc criaria um consumidor para receber todas as chamadas que executarem alterações no banco de dados…
Com isso, vc teria que refatorar a sua aplicação pra postar uma mensagem na fila e esperar a resposta, no esquema de fila de PUT e fila de GET…
Com WebService seria da mesma maneira… vc teria um WebService que efetuaria tais transações… O refactory seria o mesmo… só que ao invez de se criar uma estrutura JMS (que é de complexidade média-alta) vc criaria apenas um WebService (que tem uma complexidade mais baixa).