Selecionando um bom quadro para web-development
-
05-07-2019 - |
Pergunta
Com base na resposta aceita a esta questão Eu tenho uma configuração NetBeans ambiente / tomcat. Ao testar esta configuração Eu estou tentando criar um aplicativo Java Web / Web, mas está perplexo pela escolha de estruturas para esse teste aplicativo.
As opções são:
- Spring Web MVC 2.5
- JavaServer Faces
- Struts 1.3.8
- Hibernate 3.2.5
Na minha leitura-up (pesquisando & SO) e rapidamente se perdeu na floresta, então eu estou considerando apenas escolher um e se não pan out, a chave mais tarde / Migrar para um diferente. Será que tal abordagem seja viável?
Fundo no projeto
(Deve ser baseado em Java devido ao código legado)
Ele usa um applet auto-assinado para fazer a renderização do lado do cliente e interação;
Servlets recuperar conjuntos de dados solicitados ao cliente;
Banco de dados pode estar em algum servidor remoto, assim que eu pretendo usar JDBC para acessá-lo;
O sistema legado foi CORBA (ACE / TAO) com base com muitos módulos C ++ que precisam ser traduzidos para Java e Java-módulos existentes (felizmente poucos) que fazem CORBA-chamadas precisam ser alterado para usar o Java- recentemente traduzido módulos.
Se você pode vir até com melhor abordagem para lidar com este projeto, por favor me diga.
(Este projeto tem todas as características de que eu gosto: é interessante, desafiador e eu aprendo algo novo)
Solução
Bem, primeiro de tudo, não pode ferir a ter um olhar mais atento sobre o todo Spring Framework em geral. A documentação é bastante boa partida no módulo básico de trabalho é caminho até a camada MVC web (onde você pode decidir se você quiser usá-lo, por exemplo, Struts Integração é possível, também - mas eu achei Struts sempre que ser um aborrecimento de qualquer maneira). Hibernate é o Objeto Relation quadro Mapper provavelmente o mais popular. Ele é usado para armazenar, consultar e recuperar você modelo de domínio Objetos (tudo o que você deseja armazenar no banco de dados), mas não tem nada a ver com a camada web.
Eu, pessoalmente, não gosto JSF (outro monstro especificação que leva muito mais tempo para chegar a ele do que ele precisa). Se você prefere uma abordagem baseada widget (colocando-página em conjunto com Componentes em vez de produzir plain HTML de idade) que você pode querer ter um olhar para Google web Toolkit .
Outra sollution Primavera é Grails . É realmente divertido de usar e até mesmo se você tem que aprender outra língua (scripting) (chamado Groovy), você ainda pode usar toda classe o seu legado Java no Quadro porque as classes Groovy são compatíveis com classes Java (e vice-versa).
E btw. Pensei que CORBA é uma tecnologia / protocolo / padrão que especialmente permite métodos de acesso e objetos independentemente da língua. Wikipedia:
O Request Broker Common Object Arquitectura (CORBA) é uma norma definido pelo Object Management Group (OMG) que permite que os componentes de software escrito em várias linguagens de computador e em execução em vários computadores para trabalhar em conjunto, ou seja, ele suporta múltiplas plataformas.
Então, por que você tem que traduzir os módulos C ++ para falar com Java?
Outras dicas
Em primeiro lugar, cruz Hibernate fora de sua lista - enquanto você ia ser aconselhados a usá-lo se você tem uma exigência ORM não está relacionada com a web-tier
.Então eu acho que você tem duas opções:
- Spring MVC e JSF
- Struts
Descendo uma rota vai cometer você que / (s) aqueles API e um interruptor em uma data posterior não vai ser indolor.
Meu conselho seria:
- usar Spring MVC -. Você provavelmente vai estar usando Primavera de qualquer maneira e por isso é uma escolha natural
- ignorar JSF, escrever o HTML mesmo, utilizando JSTL para tornar feijão.
- usar JQuery / JavaScript para enriquecer a experiência do usuário.
- usar o Hibernate para persistência de objetos.
Eu acho que é uma boa idéia para apenas pegar o mínimo, e adicione se necessário. As chances são de que você ganha simplicidade dessa forma.
Uma idéia poderia ser para começar com a Primavera como sua "grande esquema das coisas", e tecnologia de integração. Em seguida, adicione complementos conforme necessário:
- persistência: Hibernate
- javascript: escolher uma biblioteca JS que vai bem com o módulo Spring MVC você está usando