DAS - Um aplicação web Java

Pessoal.

Preciso muito da ajuda de vocês.

Estou responsável por começar desenvolver uma aplicação na empresa que trabalho e como sempre trabalhei em projetos que somente implementava casos de uso estou tendo algumas dificuldades em escolher as tecnologias certas e adequadas.

Resumindo, a aplicação envia mensagens para o celular dos usuários cadastrados. Atualmente já existe o serviço que envia mensagem. O que aplicação fazerá é o cadastro dos usuários e dos grupos de usuários e consumirá o serviço que envia mensagens.

Não queria fazer mal feito. Por mais que eu demore um pouco, quero estudar um pouco para implementar uma solução coerente para que o desenvolvedor que vier dar manutenção não fique puto da vida comigo.

Acredito que as opiniões são quase unânimes com relação ao framework web e de persistencia: JSF e Hibernate.

Mas, além disso gostaria que vocês me orientasse o que mais preciso me concentrar para definir uma arquitetura.

Se vocês souberem, gostaria de informações., tutoriais, etc… de uma aplicação que utilize MVC com JSF. e outros padrões de projetos que poderão ser úteis.

Agradeço!

[quote=efcjunior]Pessoal.

Preciso muito da ajuda de vocês.

Estou responsável por começar desenvolver uma aplicação na empresa que trabalho e como sempre trabalhei em projetos que somente implementava casos de uso estou tendo algumas dificuldades em escolher as tecnologias certas e adequadas.

Resumindo, a aplicação envia mensagens para o celular dos usuários cadastrados. Atualmente já existe o serviço que envia mensagem. O que aplicação fazerá é o cadastro dos usuários e dos grupos de usuários e consumirá o serviço que envia mensagens.

Não queria fazer mal feito. Por mais que eu demore um pouco, quero estudar um pouco para implementar uma solução coerente para que o desenvolvedor que vier dar manutenção não fique puto da vida comigo.

Acredito que as opiniões são quase unânimes com relação ao framework web e de persistencia: JSF e Hibernate.

Mas, além disso gostaria que vocês me orientasse o que mais preciso me concentrar para definir uma arquitetura.

Se vocês souberem, gostaria de informações., tutoriais, etc… de uma aplicação que utilize MVC com JSF. e outros padrões de projetos que poderão ser úteis.

Agradeço!

[/quote]

Que tal trocar uma “orientação” por uma “consultoria”? :wink:

Olha Junior, pelo que você falou, aparentemente sua aplicação parece simples, sem muita complexidade.
Muito legal de sua parte tentar fazer algo redondo para que outro desenvolvedor não fique te criticando depois.
Minha opnião é que você deveria usar o struts como framework web ao invés do JSF, o struts na minha opnião é bem mais simples de se utilizar e aprender, mas ai vai do gosto do desenvolvedor, eu em particular acho que o JSF tem uma arquitetura mais complexa e robusta do que o struts, mas para ser usado em aplicação de maior complexidade, eu geralmente quando a aplicação é simples uso o bom e velho struts mesmo, você pode até usar a versão 2 do struts que é bem legal.

Agora em termos de arquitetura, geralmente o pessoal não inventa muito não, utilizam o MVC, com uma camada chamada de Service e uma camada de persistência chamada DAO, que te daria uma arquitetura simples mas eficiente, onde a camada Service ficaria a sua lógica de negócio, e o DAO a persistência.

Juntando-se a isso, é sempre bom ter um bom tratamento de erros com Exceptions específicas para o seu negócio, sem falar na parte de segurança, basicamente com login e senha, utilizando o JAAS, que é o que o pessoal costuma utilizar na maioria dos projetos, com isso vc tem uma pequena arquitetura que te atende e funciona bem
Att

[quote=andre_salvati][quote=efcjunior]Pessoal.

Preciso muito da ajuda de vocês.

Estou responsável por começar desenvolver uma aplicação na empresa que trabalho e como sempre trabalhei em projetos que somente implementava casos de uso estou tendo algumas dificuldades em escolher as tecnologias certas e adequadas.

Resumindo, a aplicação envia mensagens para o celular dos usuários cadastrados. Atualmente já existe o serviço que envia mensagem. O que aplicação fazerá é o cadastro dos usuários e dos grupos de usuários e consumirá o serviço que envia mensagens.

Não queria fazer mal feito. Por mais que eu demore um pouco, quero estudar um pouco para implementar uma solução coerente para que o desenvolvedor que vier dar manutenção não fique puto da vida comigo.

Acredito que as opiniões são quase unânimes com relação ao framework web e de persistencia: JSF e Hibernate.

Mas, além disso gostaria que vocês me orientasse o que mais preciso me concentrar para definir uma arquitetura.

Se vocês souberem, gostaria de informações., tutoriais, etc… de uma aplicação que utilize MVC com JSF. e outros padrões de projetos que poderão ser úteis.

Agradeço!

[/quote]

Que tal trocar uma “orientação” por uma “consultoria”? ;)[/quote]

Você fica mandando essas mensagens assim só pra aumentar a quantidade de mensagens postadas? Continue assim, rumo a milésima mensagem! “Mensagens: 838”

Ou então, porque você não cria um fórum de consultoria pago ? Quem sabe assim, dúvidas iguais a minha eu tiro nele. :lol:

Abraços!

[quote=rodrigo.manfre]Olha Junior, pelo que você falou, aparentemente sua aplicação parece simples, sem muita complexidade.
Muito legal de sua parte tentar fazer algo redondo para que outro desenvolvedor não fique te criticando depois.
Minha opnião é que você deveria usar o struts como framework web ao invés do JSF, o struts na minha opnião é bem mais simples de se utilizar e aprender, mas ai vai do gosto do desenvolvedor, eu em particular acho que o JSF tem uma arquitetura mais complexa e robusta do que o struts, mas para ser usado em aplicação de maior complexidade, eu geralmente quando a aplicação é simples uso o bom e velho struts mesmo, você pode até usar a versão 2 do struts que é bem legal.

Agora em termos de arquitetura, geralmente o pessoal não inventa muito não, utilizam o MVC, com uma camada chamada de Service e uma camada de persistência chamada DAO, que te daria uma arquitetura simples mas eficiente, onde a camada Service ficaria a sua lógica de negócio, e o DAO a persistência.

Juntando-se a isso, é sempre bom ter um bom tratamento de erros com Exceptions específicas para o seu negócio, sem falar na parte de segurança, basicamente com login e senha, utilizando o JAAS, que é o que o pessoal costuma utilizar na maioria dos projetos, com isso vc tem uma pequena arquitetura que te atende e funciona bem
Att[/quote]

Rodrigo…

Caberia também o pattern facade ?
Você acha desnecessário o uso do spring para fazer o controle de transações e DI ?

Olha padrões de projetos são sempre bem vindos em aplicações, mesmo por que é um padrão, onde qualquer outro desenvolvedor que for dar manutenção no teu software vai conseguir identificar e dar manutenção com mais facilidade, eu em particular gosto bastante e procuro usar sempre que posso, acho que no seu caso você poderia usá-lo também, fazer um Facade entre seu controller e seu Service ficaria legal.

Sobre o Spring, eu não tinha trabalhado com ele até o momento, mas agora que estou trabalhando com ele achei bem legal, ainda estou a versão antiga, sem annotations, mas mesmo assim tem recursos muito bons que ajudam e deixam o desenvolvimento mais rápido, a parte de DI achei muito legal, sem falar no MVC dele que também é muito bom, tem gente que acha que o Spring é muita tecnologia pra pouca coisa, mas acho que é melhor o desenvolvedor ter experiências tanto com JSF, Struts e Spring para tirar suas conclusões, do que tirar conclusões por post, mas minha opinião é que vale a pena você usar o Spring sim
[]s

Rodrigo. Você conhece algum designer pattern para se trabalhar com JSF ?

Projetar uma aplicação nada mais é interpretar os requisitos func e não-func da solução e propor uma arquitetura que resolva e satisfaça todas elas.
Não teria como indicar frameworks, componentes, padrões ou qualquer outra coisa sem ter o cenário e suas restrições…

[quote]
É melhor viajar de carro ou avião?
Depende dos requisitos…
Para onde?
La tem aeroporto?
Qual a cidade mais perto q tem aeroporto dela?
Tem tempo para chegar?
Que horas ?
Até que dia?
Tem passagem de avião disponível? Que dia tem? Custo?
Quanto tempo levaria de carro? Custo?
Tem limite de dinheiro para gasta na viagem?
Tem que levar alguma coisa? Um geladeira? Um armário? Uma cueca?
Qualquer resposta destas pode mudar completamente o cenários e consequentemente sua decisão![/quote]
Neste tipo de pergunta jogada ao vento…tudo pode, tudo fica bom…

Só conheço padrões de projeto para Java, não sei se tem algum específico para JSF, precisa dar uma procurada na net
[]s