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?
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ó 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!
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.
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.