| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 11:02:00
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
Gostaria de saber se ficaria coerente usar Ejb com pattern Command.
Eu teria um único EJB para todos os commands que delegam para a camada de negocio.
ex:
Este código é seguro ?
Eu aproveito as transações e recursos do EJB ?
|
O bom menino !!! |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 11:25:25
|
mister__m
Virtual Machine Man
![[Avatar]](/images/avatar/89b9c689a57b82e59074c6ba09aa394d.jpg)
Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline
|
Bem, a idéia do EJB Command pattern em si não é ruim, mas existem diversas considerações a serem feitas.
Primeiro, caso vá realmente utilizar este modelo mais simples, faça com que o método de seu EJB receba uma instância do Command para não ficar tão limitado. O uso indiscriminado desse padrão pra tudo leva a um código assustadoramente procedural conforme o sistema cresce e por isso é preciso ter cuidado.
Eu recomendo seguir uma abordagem que permita que o uso desse mecanismo seja invisível para quem chama o código, não limitando a classe a ter somente um método "executável" no EJB. O genesis implementa este padrão de forma invisível, algo que talvez você também devesse fazer. Vale a pena dar uma olhada.
|
Michael Nascimento Santos, aka Mister M
Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 11:30:24
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
não limitando a classe a ter somente um método "executável" no EJB
Não entendi isso me explique...
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 11:34:30
|
mister__m
Virtual Machine Man
![[Avatar]](/images/avatar/89b9c689a57b82e59074c6ba09aa394d.jpg)
Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline
|
jprogrammer wrote:
não limitando a classe a ter somente um método "executável" no EJB
Não entendi isso me explique...
Do jeito que você mesmo postou:
somente o método execute, com uma assinatura fixa, pode ser chamado no EJB. Isso é extremamente limitante para uma arquitetura.
|
Michael Nascimento Santos, aka Mister M
Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 11:46:55
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
É essa a minha dúvida.
Teria apenas um ÚNICO ejb responsavel por toda comunicação client e server.
Mas esse EJB apenas passaria os dados do client para o server e chamaria o command apropriado para a camada de negócios.
Outra coisa, as classes commands não poderiam ser passadas porque elas seriam instanciadas no server e o cliente não necessariamente teria essas classes por motivo de centralizacão.
O EJB poderia ser coberto por uma camada envoltória apenas para não expo-lo.
Essa fina camada involtória se comunica com a camada de apresentação.
o execute poderia retornar valores também
Estava pensando nisso apenas como idéia. Por que isso traria idenpencia na comunicação entre client e server.
Qual sua opinião ?
This message was edited 1 time. Last update was at 13/04/2005 11:48:09
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 11:48:42
|
mister__m
Virtual Machine Man
![[Avatar]](/images/avatar/89b9c689a57b82e59074c6ba09aa394d.jpg)
Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline
|
Mantenho os meus comentários iniciais. Dê uma olhada na abordagem do genesis para esta questão, veja o que você acha e, caso ache que não serve pra você, explique o porquê.
|
Michael Nascimento Santos, aka Mister M
Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 13:59:26
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
Gostei desse genesis. Não vi com detalhes mais parece que ele faz um refactory no código baseado nas anotações. É +- como o XDoclet.
Mas ele dá suporte a aplicações web ?
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2005 14:10:13
|
mister__m
Virtual Machine Man
![[Avatar]](/images/avatar/89b9c689a57b82e59074c6ba09aa394d.jpg)
Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline
|
jprogrammer wrote:Gostei desse genesis. Não vi com detalhes mais parece que ele faz um refactory no código baseado nas anotações. É +- como o XDoclet.
Hmmm, não é bem isso
O modelo do genesis que funciona out-of-the-box utiliza anotações e AOP para abstrair a complexidade e arquitetura de deployment da sua aplicação do código de negócios.
jprogrammer wrote:Mas ele dá suporte a aplicações web?
Sim e não. Toda a parte relativa a sua pergunta - que é relacionada com a camada de negócios - funcionaria em qualquer ambiente. As APIs de suporte a interface com o usuário são no momento voltadas a aplicações desktop, mas nada impede você de usar WebWork/JSF/Struts/Whatever + genesis.
Na versao 4 o genesis deve prover seu proprio suporte à aplicações web.
|
Michael Nascimento Santos, aka Mister M
Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m |
|
|
 |
|
|