| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/03/2005 11:27:46
|
fabio_thomaz
What is classpath?
![[Avatar]](/images/avatar/78b91366b15c399bd05530e96d28a530.png)
Membro desde: 07/03/2005 11:07:48
Mensagens: 7
Localização: Joinville, SC
Offline
|
Galera,
Esse é meu primeiro post aqui no guj...
Bom... estou trabalhando num grupo de pesquisa para a estruturação dos aplicativos que hoje estão na arquitetura client/server ( em C++ ) e passão aos poucos para a web...
Na verdade, essa equipe vai dizer o que usar e como usar...
Já definimos algumas coisas, mas estamos empacando na parte de acesso aos dados...
Já olhei muita coisa: Entity Beans, Hibernate, etc...
Mas gostaria da opinião de vocês para tomar a decisão...
As nossas aplicações trabalham muito forte com SQL hoje...
Quase toda alteração para ganho de performance é feito através dos SQLs...
Para resumir: temos poucas telas de "cadastro" e muita tela com lógica, e boa parte dessa lógica é feita através dos SQLs...
Outro problema é que trabalhamos com dois bancos de dados, então, os SQLs não podem estar fixos como strings dentro das classes...
Não tenho muito tempo para remodelar e padronizar tudo....
Preciso, a principio, fazer as coisas acontecerem de forma rápida mas com um bom nível de qualidade...
O que vcs têm a dizer? Alguém já passou por um problema desse tipo?
Como eu posso resolver o problema dos SQLs??
Não sei se fui claro, mas se faltou alguma informação, me avisem q tentarei explicar de novo...
E se estou postando isso no lugar errado, me desculpem....
[]'s
Fabio
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/03/2005 11:33:42
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Olá, Fábio,
Existem diversas estratégias a considerar, e meu primeiro conselho é que procure um bom consultor especializado.
Se isso não for possível (ou mesmo se for, acho que você não vai querer ouvir o que o cara fala sem saber direito das cosias), pense em dividir sua aplicação em módulos funcionais, e ir migrando aos poucos.
Simplesmente substitir programas C++ por programas Java nãodvai te ajudar muito, você precisa definir uma estratégia que crie um ambiente distribuído e em camadas normal.
[]s
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/03/2005 11:48:45
|
fabio_thomaz
What is classpath?
![[Avatar]](/images/avatar/78b91366b15c399bd05530e96d28a530.png)
Membro desde: 07/03/2005 11:07:48
Mensagens: 7
Localização: Joinville, SC
Offline
|
a gente teve um treinamento conceitual sobre diversas tecnologias java para o desenvolvimento web....
o nosso maior problema é escolher o que utilizar... de forma que eu possa fazer certas coisas que eu já fazia nos aplicativos C++....
não estamos convertendo todos os aplicativos para Java...
estamos começando com pequenas partes...
Mas o problema dos SQLs foi o que mais encomodou até agora....
Hoje, temos uma "DLL" de resources com os sqls...
uma DLL para cada banco...
então, conforme for o banco utilizado, carregamos a DLL e utilizamos o SQL...
mas acredito q esse método seja muito "arcaico"... pois o arquivos com os resources ( SQLs ) fica muito bagunçado... e muito grande...
tudo é feito manualmente sem controle algum...
podemos utilizar uma tecnologia para persistência... e se livrar de alguns SQLs...
mas sei que, na maioria dos casos, eu teria que "driblar" a camada de persistência para consultar os dados de forma mais "poderosa", usando os vários recursos dos BDs que já utilizo...
acho que vcs são contra isso ( prender a aplicação ao banco )....
eu, de certa forma, também sou...
mas isso ainda é impossível nas nossas aplicações...
alguém teria alguma idéia ou algo que eu deveria ler para tirar as minhas dúvidas?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/03/2005 11:54:24
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Bom, para manter o uso de SQL, você pdoe seguir as dicas deste artigo.
Num próximo passo, você pdoe estudar o Hibernate.
Vocês tem experiência sólida com objetos?
[]s
This message was edited 3 times. Last update was at 07/03/2005 11:54:56
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/03/2005 11:58:45
|
fabio_thomaz
What is classpath?
![[Avatar]](/images/avatar/78b91366b15c399bd05530e96d28a530.png)
Membro desde: 07/03/2005 11:07:48
Mensagens: 7
Localização: Joinville, SC
Offline
|
não posso dizer que tenho experiência "sólida" com objetos, mas, mesmo em C++, utilizava parte dos conceitos de Orientação à Objetos...
bom... vou dar uma lida nesse artigo q vc mandou...
mas, pelo que vi por cima antes de ir almoçar , os sqls ficarão em arquivos de ".properties"..
acho q a empresa não vai querer q boa parte da logica dela fique visivel aos clientes....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2005 13:33:29
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
Porque você não usa o DAO pattern.
Você pode encapsular suas SQL em classes.
E pode criar versões das mesmas classes para diversos bancos.
Eu acredito que seja a melhor solução para você.
Você separa o SQL da camada de negócios e ainda utiliza o poder do SQL.
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2005 13:51:02
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
pcalcado wrote:conselho é que procure um bom consultor especializado
Dei 5 estrelas por este sábio conselho.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2005 14:01:57
|
fabio_thomaz
What is classpath?
![[Avatar]](/images/avatar/78b91366b15c399bd05530e96d28a530.png)
Membro desde: 07/03/2005 11:07:48
Mensagens: 7
Localização: Joinville, SC
Offline
|
blz...
vou dar uma olhada na especificação do DAO Pattern para ver se atende às minhas necessidades...
obrigado...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2005 14:03:16
|
fabio_thomaz
What is classpath?
![[Avatar]](/images/avatar/78b91366b15c399bd05530e96d28a530.png)
Membro desde: 07/03/2005 11:07:48
Mensagens: 7
Localização: Joinville, SC
Offline
|
Luca wrote:Olá
pcalcado wrote:conselho é que procure um bom consultor especializado
Dei 5 estrelas por este sábio conselho.
[]s
Luca
com certeza seria uma ótima solução...
mas falta $$$ pra isso... hehehhe
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 13:49:23
|
fabio_thomaz
What is classpath?
![[Avatar]](/images/avatar/78b91366b15c399bd05530e96d28a530.png)
Membro desde: 07/03/2005 11:07:48
Mensagens: 7
Localização: Joinville, SC
Offline
|
Gostaria de agradeçer a todos os que me ajudaram a resolver o meu problema...
estou utilizando o DAO Pattern e ele se encaixou perfeitamente com aquilo que eu precisava...
Obrigado pelas dicas...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 19:05:49
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
so completando,
se vc for usar DAOs como sugerido, pode criar uma factory que conforme o banco conectado, te retorne instancias dos DAOs refentes aquele banco.
ou use preparedStatement e faça sua factory carregar os sql's de um properties especifico de cada banco.
[]'s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/03/2005 00:33:09
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
Usando java 5 e reflection voce pode criar um dao generico que funcione para TODOS os seus objetos, sem ter que mecher um codigo nunca mais. Nao importa o projeto.
Impressionante, nao?
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/03/2005 01:48:35
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Eu tô começando a mexer com o Tiger e tô gostando muito, mas Guilherme, dah para dar uma palhinha para nós desse superDAO?
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/03/2005 11:00:35
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
1. A versao sem Java 5 eh soh tirar o generics.
2. Ele esta com duas configuracoes, que da a liberdade pro programador fazer besteira, tem que melhorar um pouco mais:
Agora basta usar ele:
Mais avancado: se DAO eh uma interface generica e voce constroi um abstract factory de dao bonitinho, voce consegue quebrar o problema que mencionei do programador fazer besteira.
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/03/2005 11:02:09
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
E para quem continua usando JDBC, tem uma serie de artigos no javalobby de como utilizar sabiamente o mesmo. Otimizacao etc.
Dicas como: quando nao usar preparedstatement pq ele eh muito lento em alguns casos. Que tal? Dessa todo mundo se assusta.
Abraco
Guilherme
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
|
|