Automação comercial com JAVA

Olá amigos.
Estou em um dilema cruel, então venho pedir ajudas aos amigos.
Atualmente minha empresa vem passando por diversas mudanças, uma delas é a mudança de linguagem e IDE de programação. Até o momento trabalhamos com Delphi, que por sinal é uma excelente ferramenta e nos ajudou por muito tempo, rápido desenvolvimento, muitas bibliotecas prontas que nos economiza tempo e etc… mas chegou a hora de trocar de ferramenta, devido o auto custo de licença e, também, por ser meio que “limitado” quando se trabalha com conexões via web services e outras coisas que não vem ao caso, tomaria o post todo falar a respeito.
Então estamos com algumas dúvidas em trocar de linguagem e ferramenta. Uma solução era usar o C#, mas seria trocar 6 por meia dúzia. A nossa intenção é trabalhar em plataformas, linux, mac e etc… para ser um diferencial no mercado. Uma outra alternativa é usar C++ com a Framework Qt++ que diga-se de passagem é uma ótima opção, mas teríamos que recriar várias coisas, principalmente no que se refere a internet, SOAP e certificado digital. Então, a outra opção é o java que praticamente já tem tudo pronto, você não precisa reinventar a roda, é só pegar e usar. Em relação a isso surgiu algumas dúvidas:
1 - Trabalho com serial. O java responde bem para se trabalhar diretamente com equipamentos via porta serial?
2 - Banco de dados. O desenvolvimento JPA e Framework como hibernate, EclipseLink e OpenJPA são realmente vantajosos e não deixam a aplicação lenta quando se trabalha com muitos dados e muitas tabelas?
3 - Swing ou JavaFX. Deve-se usar preferencialmente o JavaFX porque o Swing já está quase “morto”?
4 - Relatórios. Existem bons gerenciadores de relatórios para java?

Então amigos, essas são umas das nossas dúvidas. Exitem outras mas essas são as mais complicadas.

Obrigado a todos pela atenção. Bom dia!

Mais ou menos, mas existem projetos para facilitar isso. Veja por exemplo este link .

Outra opção é criar dlls ou executáveis em Delphi (ou outra linguagem) para fazer essa comunicação, e chamar esses componentes pelo Java.

Podem deixar a aplicação lenta sim, mas geralmente só se são mal aplicados, ou se os dados são realmente muitos (na casa dos Terabytes). A ideia desses frameworks é facilitar o trabalho, então depende da equipe ver se vale a pena ou não. Recriem os cenários mais intensos e façam testes.

Existe a possibilidade de usar JDBC direto nas partes críticas, para minimizar esse problema. Só exigiria mais trabalho para manter.

Se fazem mesmo questão de usar Java para desktop, vá de JavaFX.

Existem. Por exemplo o Jasper Reports. Não sei se existe algo no nível que o Delphi provê (com editor visual e etc), mas existem.

Abraço.

2 curtidas

Java não é uma boa escolha nesse caso. Como o colega falou, faça em Delphi, C# ou C++ (se precisar portar para outro SO).

São pesados sim, principalmente se for escalar em n instâncias. Quanto mais próximo ao JDBC puro menos recursos irá consumir. Um ótimo meio termo seria usar o JdbcTemplate.

Nenhum deles, principalmente se teu cliente só usa Windows. Java para desktop nunca foi boa solução.

1 curtida

1 - Trabalho com serial. O java responde bem para se trabalhar diretamente com equipamentos via porta serial?
SIM…muito bom…ja fiz varios…

2 - Banco de dados. O desenvolvimento JPA e Framework como hibernate, EclipseLink e OpenJPA são realmente vantajosos e não deixam a aplicação lenta quando se trabalha com muitos dados e muitas tabelas?
São muito vantajosos…não fica lento não, bem configurado e mapeado, na verdade fica até mais rápido com recursos avançados de cache nivel 1, 2 , preparetStatments e etc…Tenho soluções com milhares de transações mensais…

3 - Swing ou JavaFX. Deve-se usar preferencialmente o JavaFX porque o Swing já está quase “morto”?
Swing não ta nada morto não…Agora vc tem 2 opções para fazer sistemas desktop…Swing velho de guerra vai continuar e se vc vir vantagens no JavaFX,vc usar tb…Tem produtos com os 2.

4 - Relatórios. Existem bons gerenciadores de relatórios para java?
Sim…Vc tem JasperReports para fazer coisas mais rapidas como RAD…e tem IText para fazer relatorio via programação para coisas mais elaboradas…

Sugestão de treinamento para formação completa de desenvolvedor deskop - https://for-j.myedools.com/java-se-desktop

1 curtida