| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 05:44:37
|
Jaba
JavaGuru
![[Avatar]](/images/avatar/6cf8ae4c2312ba4a0103e20d0ace1ea3.jpg)
Membro desde: 08/08/2008 20:56:54
Mensagens: 243
Offline
|
E aew pessoal!
Bom, andei ouvindo uns comentarios sendo carregados com os ventos, e não sei se isso já é pratica antiga, realidade de mercado ou não tem nada á ver, mas, como vocês tem desenvolvido sua camada de persistência?
Ela está direta na aplicação ou está em um projeto diferente? Porque o que eu vi, se a sua camada está em um projeto diferente, é possível que duas aplicações, por exemplo, uma WEB e uma DESKTOP, acessem a mesma camada,
E se isso tem sido prática, me desculpem a ignorancia, mas, como vocês integram os dois projetos?
Valew!
|
OCWCD - Oracle Certified Web Component Developer
OCJP - Oracle Certified Java Programmer
KET - Key English Test
PET - Preliminary English Test |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 08:21:11
|
andredecotia
JWizard
![[Avatar]](/images/avatar/3e0c75ef9041e74cc2a533fa0fbbf33a.jpg)
Membro desde: 19/10/2009 14:37:32
Mensagens: 2267
Localização: São Paulo
Offline
|
Pergunta interessante...
|
--
André AS
Analista Programador Java Web freelancer / home office
Linkedin: http://www.linkedin.com/profile/view?id=41470291&trk=tab_pro
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 08:41:50
|
rdsilio
JavaBaby
![[Avatar]](/images/avatar/53fa2bb31e7b9c5afebcd5bc6212c09d.png)
Membro desde: 19/09/2007 09:22:19
Mensagens: 82
Localização: Curitiba-PR
Offline
|
Distribuir ou não uma aplicação em n projetos é uma decisão de arquitetura e está relacionado ao tamanho do projeto, estudo de escalabilidade e a real necessidade dessa distribuição.
No caso de classes de negócio disponibilizadas a n projetos, uma das tecnologias mais empregadas e o EJB.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 08:44:26
|
leonardobhbr
Virtual Machine Man
![[Avatar]](/images/avatar/e18cfe46b96c30852b565e561152d055.jpg)
Membro desde: 10/08/2006 16:22:17
Mensagens: 530
Offline
|
É interessante separar a camada de persistência em outro projeto sim!
No eclipse vc pode ir na propriedade do seu projeto principal e ir em project references e amarrar um outro projeto ao seu.
E depois e só gerar um jar de seu projeto onde tem as entidades do banco de dados e pode ser usada em qualquer projeto
rdsilio No caso de classes de negócio disponibilizadas a n projetos, uma das tecnologias mais empregadas e o EJB.
Voce acha interresante apenas se for utilizado EJB ?
This message was edited 1 time. Last update was at 11/01/2011 08:45:30
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 08:46:36
|
paulo1911
JavaEvangelist
![[Avatar]](/images/avatar/bfe50086ca73fad392f894e58eb2bf4b.jpg)
Membro desde: 12/01/2008 09:45:49
Mensagens: 436
Localização: São Paulo/SP Brasil
Offline
|
Olá amigo,
Tanto no eclipse como no netbeans é possivel vc incluir um projeto como dependencia...no maven é possivel configurando o projeto como um artefato de dependencia. O interessante é que o maven ja gera o jar do projeto com todas as dependencias.
No eclipse lah aonde vc configura as libs do seu projeto tem uma opção de projects reference...onde vc especifica os projetos ao qual o seu projeto depende.
Espero ter ajudado.
Fallow
|
Paulo Roberto
Pós Graduado em Gestão de TI
OCPJP - Oracle Certified Programmer for the Java 2 Platform, SE 6.0.
OCPJWCD - Oracle Certified Professional, Java EE 5 Web Component Developer
OCEEJBD - Oracle Certified Expert, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 08:54:49
|
rdsilio
JavaBaby
![[Avatar]](/images/avatar/53fa2bb31e7b9c5afebcd5bc6212c09d.png)
Membro desde: 19/09/2007 09:22:19
Mensagens: 82
Localização: Curitiba-PR
Offline
|
leonardobhbr wrote:É interessante separar a camada de persistência em outro projeto sim!
No eclipse vc pode ir na propriedade do seu projeto principal e ir em project references e amarrar um outro projeto ao seu.
E depois e só gerar um jar de seu projeto onde tem as entidades do banco de dados e pode ser usada em qualquer projeto
rdsilio No caso de classes de negócio disponibilizadas a n projetos, uma das tecnologias mais empregadas e o EJB.
Voce acha interresante apenas se for utilizado EJB ?
Não, citei o EJB apenas como referência, principalmente porque o uso dele deve ser bem analisado devido ao custo/benefício. Como disse, depende muito do projeto ou projetos envolvidos.
O paulo1911 mesmo fez uma consideração muito importante que é o uso do maven para atrelar projetos na forma de dependências e que de fato é uma ótima tecnologia.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 08:56:09
|
andredecotia
JWizard
![[Avatar]](/images/avatar/3e0c75ef9041e74cc2a533fa0fbbf33a.jpg)
Membro desde: 19/10/2009 14:37:32
Mensagens: 2267
Localização: São Paulo
Offline
|
Bom saber. Obrigado gente.
|
--
André AS
Analista Programador Java Web freelancer / home office
Linkedin: http://www.linkedin.com/profile/view?id=41470291&trk=tab_pro
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 08:59:08
|
visola
JavaGuru
![[Avatar]](/images/avatar/d3dd22a54983c30e02c9c0cf04277689.jpg)
Membro desde: 06/01/2011 10:07:55
Mensagens: 219
Offline
|
Com certeza isso é uma boa prática pois você consegue até reaproveitar o seu modelo para outras aplicações, dependendo do caso.
Eu tenho trabalhado desta forma no Eclipse e além de referenciar um projeto no outro, você pode adicioná-lo no Build Path para que ele seja exportado para outros projetos (quando tem um projeto que depende de outro projeto que depende de outro projeto ...).
Além disso, também pode adicioná-lo no "Deployment Assembly" (versão Helios do Eclipse) para que ele seja colocado dentro do WAR/EAR da sua aplicação web automaticamente como um JAR na hora que você exportar sua aplicação.
|
Dépasser - Escola de Tecnologia
www.depasser.com.br
https://twitter.com/#!/visola
http://br.linkedin.com/pub/vinicius-isola/5/957/26b |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 09:30:49
|
aluisiodsv
JavaEvangelist
![[Avatar]](/images/avatar/27a766161775d1d3bfe4a298feef7b99.jpg)
Membro desde: 01/07/2010 17:28:24
Mensagens: 368
Offline
|
Como já disseram, depende de cada aplicação.
Ter todo um trabalho pra fazer isso não necessariamente é a melhor forma!
Hj em dia vc deve pensar na solução, não em tudo q tem de melhor, pq pode ser mais trabalhoso.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 11:55:18
|
paulo1911
JavaEvangelist
![[Avatar]](/images/avatar/bfe50086ca73fad392f894e58eb2bf4b.jpg)
Membro desde: 12/01/2008 09:45:49
Mensagens: 436
Localização: São Paulo/SP Brasil
Offline
|
Mas é mais importante antes de pensar na solução pensar tb na evolução da solução...
Nenhuma solução pode ser a 100% definitiva, vamos lembar que na concepção dos engenheiros de software incluindo os lendarios da Antiga Sun...
20% do trabalho está na elaboração da solução e 80% nas melhorias dela...
Quando vc vai contruir uma casa vc já faz o alicerce de modo que permita alterações e expansao de acordo com uma possivel necessidade futura...depois que vc levantar as paredes da casa vc nao vai mais conseguir ajustar os alicerces com tanta facilidade....não é impossivel mas tb não será facil...
Perder uma semana configurando ambiente e definindo a arquitetura mais adiante no decorrer do projeto vai ser um ganho...
Fica aqui minha opinião...
|
Paulo Roberto
Pós Graduado em Gestão de TI
OCPJP - Oracle Certified Programmer for the Java 2 Platform, SE 6.0.
OCPJWCD - Oracle Certified Professional, Java EE 5 Web Component Developer
OCEEJBD - Oracle Certified Expert, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 12:11:56
|
aluisiodsv
JavaEvangelist
![[Avatar]](/images/avatar/27a766161775d1d3bfe4a298feef7b99.jpg)
Membro desde: 01/07/2010 17:28:24
Mensagens: 368
Offline
|
Eu já fiz parte de alguns projetos críticos, arquitetura pesada e servidores em cloud.
A maior necessidade era a de separar o business do front end. Cada um em um cloud.
Nunca cresceram. Depois de pronto acabaram.
Mas minha opinião tbm é essa. A maioria dos projetos tendem a crescer (se for bom).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 12:16:50
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
Como sempre, separe sua aplicação em módulos. Um módulo Web deve conter aquilo que é específico da Web (JSF, Servlets, Struts Actions, etc.). O resto (a camada de negócio) deve ser empacotado em módulos EJB ou módulos utilitários (JAR), dependendo da sua tecnologia.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 01:59:04
|
Jaba
JavaGuru
![[Avatar]](/images/avatar/6cf8ae4c2312ba4a0103e20d0ace1ea3.jpg)
Membro desde: 08/08/2008 20:56:54
Mensagens: 243
Offline
|
Valew galera, discussão esclarecedora!
Agora a questão é:
leonardobhbr wrote:No eclipse vc pode ir na propriedade do seu projeto principal e ir em project references e amarrar um outro projeto ao seu.
Se eu fizer isso, o projeto referenciado vai ser exportado no meu WAR?
E se o projeto referenciado for modificado, o eclipse pega essas modificações?
|
OCWCD - Oracle Certified Web Component Developer
OCJP - Oracle Certified Java Programmer
KET - Key English Test
PET - Preliminary English Test |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 08:15:36
|
visola
JavaGuru
![[Avatar]](/images/avatar/d3dd22a54983c30e02c9c0cf04277689.jpg)
Membro desde: 06/01/2011 10:07:55
Mensagens: 219
Offline
|
Acho que ele coloca automaticamente, mas é bom dar uma conferida na parte "Deployment Assembly" nas propriedades do projeto (Eclipse Helios - última versão).
Sim, quando o Eclipse faz o build, ele automaticamentte atualiza todos os projetos e as referências também. Então fica tudo sincronizado.
Mas é bom tomar cuidado que as vezes rola uns problemas de sincronização, principalmente com o JBoss.
De vez em quando ir lá na view Servers, clicar com o botão da direita no servidor e dar um "Clean" pode resolver. Já perdi alguns dias por causa de problema de refresh do Eclipse.
|
Dépasser - Escola de Tecnologia
www.depasser.com.br
https://twitter.com/#!/visola
http://br.linkedin.com/pub/vinicius-isola/5/957/26b |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 23:22:13
|
lindberg713
JavaChild
![[Avatar]](/images/avatar/e9aa53dfacbc30e3e4a75cffcdcc0755.png)
Membro desde: 21/03/2009 12:53:35
Mensagens: 127
Offline
|
Cara, só complementando a discussão. Para gerenciar as dependências externas e inter dependências entre os módulos do projeto o que tem se usado mais atualmente é o Maven. Alguns desenvolvedores ainda são relutantes em usar o maven, mas por falta de conhecimento do mesmo. O maven é uma solução completa, não só pra o gerenciamento de dependencias e dos módulos do seu projeto como vários outros aspectos do seu projeto.
Vale muito a pena usar Maven. Não deixe de usar por falta de conhecimento. As aplicações modernas todas estão com Maven, frameworks como spring, hibernate, etc... todos usam Maven.
Da uma olhada nesse artigo http://www.guj.com.br/content/articles/maven/maven_2_guj.pdf
Abraço.
|
Abraço,
Victor Lindberg
- Seu projeto usa JDBC? Veja uma solução fácil, http://www.lindbergframework.org , que prover recursos para aplicações que usam JDBC, de modo a limpar o sql dos DAOs, libertando você de se preocupar com ResultSets e te livrando de ter que percorrer sempre os ResultSets para popular seus objetos como resultado de uma consulta, criando um repositório separado só para seus comandos SQL, limpando seus DAOs, gerenciamento de transações de forma fácil e transparente, via annotation, injeção simples de dependências, e muito mais. Confira em http://www.lindbergframework.org
- Você é mais um se perguntando como fazer para manter o estado de um managedbean entre páginas diferentes ou na mesma página sem usar escopo de session nem de request usando spring + jsf? Então leia esse post e conheça o 'myview' http://lindbergframework.blogspot.com/2012/02/como-manter-o-estado-de-um-managedbean.html |
|
|
 |
|
|