Integração de sistemas, como fazer?

Pessoal, eu sempre vejo em alguns blogs, escuto de programadores a seguinte expressão: “Integrar nosso sistema em Java com os aplicativos do cliente”.

Pelo que eu entendo, digamos que um programador tenha um cliente, que em sua máquina utilize por exemplo um aplicativo para retaguarda (controle de estoque, etc), porem não tenha um PDV (frente do caixa), e também faça uso de algum aplicativo como sei lá, uma agenda motherfucker não sei das quantas feita em C. O cliente não quer perder os dados destes sistemas, quer apenas o PDV e quer “integrar” os 3 juntos em uma interface apenas.

Bem, aí vem a dúvida, se você não tem acesso ao banco de dados dos dois programas que ele já tem, como voce integra esses esquemas?

Existe alguma forma de se ler os dados que estão em um aplicativo feito em C ou Delphi por exemplo, através do Java?

Obrigado.

Olá

Isto pode ser feito de várias maneiras:

  • Um dos sistemas grava os dados em um arquivo texto (separado por vírgulas ou por |) em um diretório em que o outro sistema fica monitorando se chegou algo novo. Sempre que tiver algo novo, lê os dados, processa e devolve a resposta ao outro sistema do mesmo modo.

  • Os 2 sistemas trocam dados via sockets

Há outros meios, estes dois são os mais simples e fáceis de usar em qualquer linguagem.

O mais importante é limitar a integração a pura e simples troca de dados. Os dois sistemas não devem saber como o outro lado trata os dados, isto é, passa em texto e o outro lado se vira para converter em formato interno. Nenhum dos dois sistemas deve ficar amarrado ao outro. Precisam ser desacoplados para que no futuro possam evoluir de forma independente.

[]s
Luca

Interessante, mas veja bem, o aplicativo a ser integrado precisa ter o recurso de salvar em texto certo?

Olá

Sim, não conheço linguagem nenhuma que não possa fazer isto. E se a aplicação Java for uma Applet, basta assinar que ele passa a poder.

[]s
Luca

Obrigado pelo esclarecimento das dúvidas.

Só mais uma questão, um pouco fora do assunto, voce conhece alguma ferramenta para converter um banco de dados com os dados de firebird para mysql ou postgresql?

Encontrei uma muito boa, mas é trial e só consigo migrar 5 tabelas por vez mysql e 1 postgresql, exportando de firebird. É ferramenta paga, entaõ…

Se tiver alguma em mede ficaria agradecido, tenho 377 tabelas para migrar, então é muito trampo!

Valeu por tudo, obrigado!

Olá

Há uns 9 anos atrás fiz isto em Java usando JDBC na raça e meu programinha migrava de qualquer coisa para qualquer outra coisa que tivesse dados compatíveis ou informados.

Nem me lembro mais em qual HD antigo isto ficou. Mas lembro que foi bem fácil fazer. A estrutura de dados era informada em um arquivo txt.

[]s
Luca

Valeu Luca.

Eu exportei em um arquivo sql a estrutura do banco firebird, mas quando tentei importar no mysql e/ou no postgresql acusava vários erros de sql, e como disse, um banco com mais de 300 tabelas, o arquivo tem 1.4 mb é muita coisa! Isso só com a estrutura do banco.

Estou desinformado, mas no arquivo foram gerados algumas sqls, do tipo “CREATE EXCEPTION” e “CREATE GENERATOR”, que não foram reconhecidas pelo mysql.

No caso do mysql, as sqls de procedures e triggers serão reconhecidas? Sabe me dizer se o mysql suporta? Obrigado.

Olá

No meu programinha não dava erro porque eu informava os tipos a serem convertidos de uma base para outra.

[]s
Luca