Framework DUVIDA

Olá
vo começar a desenvolver um projeto e preciso saber qual a melhor framework,
o sistema vai ser um sistema que vai conter um ecommerce , um mural (noticias) , sistema de login, faq, chat online, suporte online… e varias outras coisinhas assim…kk

entao eu queria usar Struts 2 … ai eu fiquei sabendo que Struts 2 uniu-se ao Webwork eu lembro que uma serie de coisas como upload do webWork nao funcionava no IE??
Alguem ja utilizou o struts 2 se sim… como esta a relação do mesmo com o IE???

Eu queria ultilizar Hibernate + JPA + EJB 3 + Struts 2.

Alguma sugestão???

VLW!!!

Você poderia responder a algumas perguntas referentes a seu negócio para ver se tais frameworks lhe serviriam, como por exemplo:

Hibernate + JPA :arrow: Seu sistema basicamente será um CRUD, ou terá regras complexas de consultas e inserções em banco ? O mal uso de JPA e Hibernate para sistemas complexos pode ser um “tiro no pé”, principalmente relacionado ao desempenho do sistema. (Não estou dizendo que não de para utilizar em sistemas complexos, mas na minha opinião tem que conhecer a fundo tais tecnologias)

EJB 3 :arrow: Você vai precisar que suas classes de negócios sejam gerenciadas por um container, com estados transacionais e tudo mais ? Pensando que possa ser um sistema com acessos simultaneos, EJB talvez seria uma boa pedida, mas por que não utilizar Spring, onde vc teria um container de seus Beans e daria para fazer uma inversão de controle legal em seu sistema (Não estou fazendo associação alguma de Spring com EJB).

Struts 2 :arrow: Apesar de recente, ele traz junto maturidades do webwork e do próprio Struts 1, tirando finalmente a necessidade dos ActionForms para validação, é um bom Framework Web, com injeção de depedência, suporte a Ajax, validações e mais n coisas.

Eu recentemente fiz um projeto com Struts 2 + Spring + Hibernate, fico legalzinho, era um CRUD simples, o desempenho do sistema ficou legal, além de estar bem estrurado de acordo com o MVC.

[]'s

Ola… meu sistema vai ser um CRUD… nao vai conter regras muito complexas…
sim o sistema vai ter acessos simultaneos… por isso eu estava pensando em ejb .
Como eu disse o webwork não funcionava tão legal assim no IE…
a minha duvida mesmo era quanto a utilizar Struts2…
Ja trabalhei com struts 1
Struts2 ate agora me pareceu muito antiprodutivo muito XML muita configuração…
eu estava pensando mesmo em utilizar VRaptor… andei pesquisando umpouco… e me pareceu legal…
mais ainda fico naquela… Struts 2 e padrão de mercado… (Sendo assim seria uma boa eu aprender!).
vc conheçe o VRaptor?

vlw pela resposta!

Então quais componentes vc usava do webwork ?

Eu utilizei ele apenas como framework web interceptando minhas requisições e direcionando para as “Actions”, eu usava a injeção de dependência dele também, o Struts 2 ta legal sim viu, realmente ainda temos os xml da vida, mas pelo menos deu uma diminuida rs.

Nuca trabalhei com o VRaptor, nem mesmo vi, não sei quais as diferenças e melhoras entre Struts 2 x VRaptor :cry: , se tiver como fazer uma analogia manda ai pra gente :lol:

[]'s :thumbup:

Struts X VRaptor

Olha… oque mais me impressionou foi a diferança da ACTION

Public class CarroAction extends Action{
public ActionForward cadastrarCarro (ActionMapping map,ActionForm form,HttpServletRequest req,HttpServletResponse res) throws Excrption
{
   Carro carro = new Carro();
   carro.setModelo(form.getModelo());
   carro.setColor(form.getColor());
    //outros setters
   CarroDAO dao = new CarroDAO();
   dao.cadastrar(carro);
  return map.findForward("certo");
}
}

VRaptor

@Component("Teste")
public class CarroAction
{
   public String cadastrar(Carro carro)
 {
   CarroDAO dao = new CarroDAO();
   dao.cadastrar(carro);
   return "sucesso";
  }
}

Tem um negocio legal tbm (@OUT)… no vraptor que disponibiliza o objeto para a view
por exemplo

@Component("Teste")
public class CarroAction
{
  @Out
  
   private String modelo;
   public String buscar)
 {
   CarroDAO dao = new CarroDAO();
   dao.buscar("SELECT p FROM TESTE p");
   return "lista";
  }
}

Fiz esse exemplo com base no material da java magazine
Olhem como fazer uma aplicação sem usar nenhum XML!!
http://www.vraptor.com.br/tutoriais.primeiraAplicacao.jsp

estou estudando tbm
http://www.vraptor.com.br/tutoriais.jsp

Lembrando tbm… que o VRaptor eh Brasileiro

nussa que propaganda heimm…

Você comparou uma action do Struts 1 com o VRaptor, ai é covardia :evil: , agora se for comparar o Struts 2 com o VRaptor… bom, eu continuo com o VRpator :lol: :lol: :lol:

Você tem base de quantos acessos simultaneos terá seu sistema? 10, 20, 100, 1000? Rodará em Cluster? Vai utilizar mensagem assincrona? Caso para as respostas sejam não, eu descartaria o uso do EJB e optaria pelo Spring. (Spring + Hibernate faz uma dupla muito boa).

Olhe também o DWR (framework Ajax) para deixar a interface mais rica.

Essas são minhas opiniões

Eu calculo que pode chegar a 100 acessos simultaneos…
vo olhar tbm. o DWR !!!
e vo pensar ainda… sobre oque vc falo de usar Spring + Hibernate sei que a combinação é otima…

Vlw pela AJUDA!!!

Hmmmm … o VRaptor parece ter um comportamento semelhante ao JBoss Seam.

1 Voto para Spring e Hibernate :lol: , o Struts 2 também tem suporte a Spring onde as instancias de suas actions são todas gerenciadas pelo Spring, seria um trio interessante a se utilizar.

Aqui tem um exemplo legal de Struts 2 com Spring:
http://struts.apache.org/2.0.11.2/docs/struts-2-spring-2-jpa-ajax.html

[]'s

Exatamente!! Lembrando que dá para usar o container IoC do Spring ao invés do container do Struts 2. Isso ajuda MUITO!!!

Na minha opinião, o VRaptor é mais fácil e gostoso de utilizar, porém o Struts 2 também é um excelente framework.

Struts2 x Mentawai

Alguns sistemas desenvolvidos com o Mentawai:

http://forum.mentaframework.org/posts/list/2093.page

Alguns comentários:

http://forum.mentaframework.org/posts/list/157.page

[quote]
Struts2 ate agora me pareceu muito antiprodutivo muito XML muita configuração…[/quote]Acho que vc. não foi muito feliz na tua colocação, pois vc. pode usar Annotations.Abusar dos interceptors e substituir o Spring pelo Guice :
http://docs.google.com/View?docid=dd2fhx4z_5df5hw8
sds.