ERP Web

Galera, estou para começar a desenvolver um ERP web em java.

Estou lendo a respeito de Hibernate, JPA, JBoss e SOAP. Porém não tenho um caminho fixo pra seguir, o que vocês me aconselham?
O Erp trabalha com NF-e, NFC-e, Sintegra entre outras coisas.

Estava pensando em utilizar o protocolo de comunicação SOAP e desenvolver em EJB com JBoss, o que acham? Vocês tem algum material, artigo, coisa do tipo pra estudo que possa me ajudar ??

Desde já, agradeço!

Pense bem, muito bem mesmo.
EJB é engessado, complexo e, particularmente, acho de difícil manutenção.
Obviamente que as versões mais recentes são, sim, mais tranquilas que a 2.5, mas, mesmo assim, não se compara em complexidade com uma aplicação Spring.
Precisa, mesmo, usar SOAP e, penso eu, tanto XML? Não é mais fácil e mais adequado usar RESTful e, para o que é possível, usar JSON, deixando o xml só para o que é realmente fundamental?

1 curtida

Shoow amigo, conversei com um camarada hoje a respeito ele me disse a mesma coisa.

Vou aderir então, trabalhar com WS e Spring, você terei mais alguma ferramenta pra me indicar que vá ajudar no desenvolvimento? Ex. Hibernate, JPA, JSF…

qual é o problema que vc quer resolver com SOAP?

peczenyj nenhum até o momento, estou apenas estudando a melhor tecnologia a ser utilizada

Primeiro a necessidade, depois a tecnologia. Dependendo do caso até PHP atende, custando menos em desenvolvimento e infra.

pois bem, SOAP é uma solução onde vc especifica como 2 sistemas diferentes vão interagir.

se vc tem essa necessidade, vc tem um sistema distribuido. se vc tem um sistema distribuido é interessante estudar o CAP Theorem, afinal uma desses dois sistemas pode parar de funcionar e babau.

se vc não tem um sistema distribuido, vc pode ter um monolito, ou seja um sistema unico que faz tudo. o q não é ruim. um monolito sozinho se cair vc tem indisponibilidade. para vc ter 2 ou mais monilitos funcionados juntos (seja para ter disponibilidade ou aguentar a carga), atras de um load balancer, é interessante estudar arquiteturas shared nothing.

a arquitetura de uma solução é muito trabalhosa de mudar, é dificil de testar ( as vezes vc precisa de tudo pronto para executar um teste de carga e ver que podia ser melhor ) e é algo que demanda experiência. se vc investe na arquitetura, a implementação pode ate ter problemas mas eles provavelmente serão problemas isolados que podem ser corrigidos sem muitos efeitos colaterais.

Não vai ter como fugir do SOAP, o WS da Secretaria de Fazenda para emissão de NF-e é SOAP

javaflex, mas o estudo da tecnologia foi baseado na necessidade, achei que EJB + SOAP poderia ser melhor por questão de segurança. Mas vi que á suporte para rest e Spring.

Porém como o amigo programdor disse o WS da Secretaria da Fazenda é SOAP, ai complica. Se eu fizer um WS em Rest vou ter problemas na hora de implementar o WS da NF-e ?

vc vai usar Rest no que?

hoje em dia tem varias aplicações web com muito javascript acessando um front-end rest.

se o seu frontend é rest, é php, é jsp, é cgi-bin isso não muda o fato de que uma parte do seu sistema de backend vai falar via SOAP com a Secretaria da Fazenda.

uma coisa não exclui a outra.

Se não quiser de jeito algum usar SOAP, existem APIs Rest pagas para a emissão de NF-e

Voce tem a necessidade somente de consumir um webservice SOAP da Secretaria da Fazenda, e não criar webservice SOAP ou REST.

Nada contra SOAP se tiver como usar esses dois protocolos faço assim mesmo, sem problemas.
O que eu to buscando é um caminho mais RAD possível, a empresas tem esse ERP como produto de venda. Trabalham hoje atualmente com Delphi7, Firebird, Vidalink, eu quero mudar esse sistema, coloca-lo em WEB via RESTFULL por ser mais prático.

Não sei como funciona esse desenvolvimento da melhor maneira, por isso estou agregando conhecimento. Teriam algum material pra me ajudar ?

É um sistema grande não envolve apenas NF-e, possui também Sintegra, NFC-e, NFS-e, eSocial, tudo isso e mais um pouco…

olha eu acho q com tecnologias como JSF ( isso ainda existe ? ) vc tem uma boa produtividade para fazer telas, que em geral toma bastante tempo do desenvolvimento.

o resto é maven e reuso de codigo pronto.

edit: não sou especialista, posso estar errado

Java está muuuito longe de ser opção “RAD”.

houve uma epoca q .Net era bem redondinho pra implementar telas … não sei qual o estado hoje

javaflex depende do programador e do nível de conhecimento sobre essa linguagem. É a que tenho mais afinidade até o momento.
Qual outra aconselharia pra esse tipo de programação?

Se está falando de component based, essa forma de trabalho morreu faz um tempo para novos projetos, pelo menos pra comunidade .NET. Pros anos 2000 atendia que era uma maravilha, as exigencias do mercado eram bem bobas em UI. Mas passou a ser desencorajado por ser engessado para os tempos atuais.

Em relação a telas, é mais jogo o programador buscar “RAD” diretamente no lado client, a exemplo do css Bootstrap.

O mais “RAD” hoje no .NET Core é ASP.NET Razor Pages. Compete com PHP mas sob o poder do .NET.

A escolha tem que ser sua após experimentar cada sugestao. Já trabalhei com várias e .NET me faz focar mais no negócio do que em complicações de código, assim como era no Delphi se for comparar na mesma categoria desktop, pois web é outro mundo, não é um simples client/server, são duas aplicacoes, cliente (browser) e server (qualquer programa controlando requisições HTTP).

PHP também é muito produtivo e indicado para pequenas e médias empresas.