| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2008 15:39:34
|
paula_16ago
Entusiasta Java
Membro desde: 13/04/2006 11:08:48
Mensagens: 16
Offline
|
Preciso montar uma arquitetura em MVC onde primeiramente será bem simples:
Apenas JSP e Servlet, só clases java simples com regras de negócio e acesso a banco de dados via JDBC.
Hoje esta aplicação irá ficar em apenas um servidor único.
Mas amanhã ela deve estar preparada para migrar para o modelo EJB3.
Como eu devo prepara-la para quando chegar a hora desta migração, esta ocorra da forma menos trabalhosa possivel?
Vi duas sugestões:
1- usando business delegate e façade. Onde minhas classes de negocios iriam implementar uma interface, que mais para frente seria a interface dos meus EJB's, e todos os meus objetos de negócio seriam do tipo desta interface.
2- usar uma fabrica (Abstract Factory) onde sempre seriam retornados objetos também do tipo da interface.
Alguma dessas sugestões é mais correta? Ou existe outra forma de fazer isto?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2008 18:23:43
|
rissato
JavaEvangelist
![[Avatar]](/images/avatar/e355ad06c5a89f911fbb0aff2de52435.jpg)
Membro desde: 16/05/2006 22:07:12
Mensagens: 446
Localização: Uberlândia
Offline
|
vc pode criar suas classes normalmente desde que:
- Sempre crie uma interface para definir os métodos que vc vai usar;
- Todas as classes tenham um construtor padrão;
O principal problema que vc deve mudar depois é a chamada às classes que serão gerenciados pelo EJB. Sem EJB, vc deve instanciar seus objetos usando "new SuaClasse();" e, com EJB, vc faz lookup da sua classe usando a classe InitialContext.
Mas tome muito cuidado durante o desenvolvimento sem EJB. Dependendo de como vc fizer, pode acabar ficando com muitos objetos consumindo memória no servidor, já que não haverá um container fazendo o controle.
|
Quer vc pense que é capaz ou não, vc está certo!
Sun Certified Java Programmer 6.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2008 08:10:22
|
paula_16ago
Entusiasta Java
Membro desde: 13/04/2006 11:08:48
Mensagens: 16
Offline
|
Mas eu vou usar ejb 3... não vou precisar fazer o lookup manual...
o que eu preciso saber então é como organizar o código, de forma a implementar o delegate e o façade e as interfaces dos meus objetos de negócios no pacote certo. E é nisto que estou com dúvida.
Onde devo codificar os delegates? E os façades?
Só criando interfaces para as minhas classes de negócio será suficiente?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2008 09:35:48
|
nicholas.bittencourt
JavaTeenager
![[Avatar]](/images/avatar/7522a10ddf6916abccf0163b58ca0543.jpg)
Membro desde: 17/01/2007 00:17:42
Mensagens: 161
Localização: Niterói, RJ, Brasil
Offline
|
Aqui no trabalho passamos por esse problema e usamos a seguinte solução... Nao sei se eh a melhor porque ainda nao fizemos a migracao, mas parece funcionar bem.
1 - Como disse o rissato, todas as classes tem interface e um construtor padrao
2 - Elas sao mapeadas como atributos nos Managed Bean dos JSF
3 - Ao recuperar uma classe de negocio, vemos se a mesma foi "injetada" pelo repositorio. Caso contrario, usamos um ServiceLocator para buscar no Spring e entao no InitialContext.
Acho que atende...
|
--
Nicholas Dacal A. Bittencourt
http://goronah.blog.br
We also realized that solving everyone?s problems was too big of a challenge for the first release. It would be better to build a product that a lot of people love, than one that everyone tolerates (...) - Paul Buchheit, Gmail Engineer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2008 23:15:25
|
Rubem Azenha
GUJ Master
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.jpg)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline
|
Que tal ja fazer a aplicacao usando algum EJB3-like ? Se voce nao quer usar um AS enorme, pode experimentar:
http://docs.jboss.org/ejb3/embedded/embedded.html
http://www.springsource.com/pitchfork/
Infelizmente nao faco ideia se essas geringoncas funcionam de verdade :/
Qualquer abordagem que escolha usar, crie CENTENAS de testes de integracao\teste funcionais automatizados para garantir que tua aplicacao vai continuar funcionando apos a migracao.
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning
|
|
|
 |
|
|