Toda lógica no banco  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Anderson Leite
Java Ninja
[Avatar]

Membro desde: 03/03/2005 09:53:07
Mensagens: 275
Offline

galera,
to ajudando numa migração de projeto de java pra .Net.
Os motivos da migração são estratégias da empresa que é parceira da Microsoft agora.

Os caras tão fazendo o projeto de uma forma que eu nunca tinha visto.
Normalmente não usamos mais querys no código, tudo bem, mas os caras tão fazendo toda lógica no banco de dados (sql server). Ou seja, normalmente onde nós usariamos, por exemplo, EJB's, servlets e tudo mais....O código em si praticamente não tem um if. Só os front-ends em aspx, e o codebehind no máximo passa parametros pras procedures, que com o apoio de outras tabelas desenhadas de forma hierárquica servem como decisões e direcionamentos.

Achei muito interessante, pois sabemos que jogar o processamento pro banco normalmente é melhor do que fazer o container trabalhar por exemplo.

Uma conclusão que cheguei até agora é de que a manutenção disso será muito difícil, mas acho que a performance pode ser muito boa.

Queria saber a opnião de vcs mais experientes, saber se alguém ja trabalhou assim, como foram os resultados independente da linguagem utilizada.
(obs: Deixo claro que a idéia não é só rodar as procedures no banco, mas sim TODA a lógica e procesamentos)

[WWW] [MSN]
plentz
Moderador
[Avatar]

Membro desde: 28/01/2004 07:34:12
Mensagens: 1584
Localização: Porto Alegre, RS
Offline

anderson, colocar toda a lógica no banco nunca foi uma boa idéia.

Mas dê uma olhada nesses tópicos que já discutimos antes.

http://www.guj.com.br/posts/list/0/19389.java
http://www.guj.com.br/posts/list/8443.java

Diego Plentz - Twitter
"Provide options, don't make lame excuses."
[Email] [WWW]
pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Aplicação -> controla a lógica do negócio
Banco de Dados -> armazena os dados.

Pra mim, no máximo uns triggersinhos e olhe lá.

programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
MarcioTavares
Virtual Machine Man
[Avatar]

Membro desde: 09/11/2002 19:33:28
Mensagens: 738
Localização: Rio de Janeiro
Offline


Eu já trabalhei em alguns projetos com dotnet e vi essa situação na maioria das vezes. Eu, particularmente, não gosto.

Como o pessoal já discutiu aqui antes, em outros tópicos, é recomendável que algumas partes da aplicação fiquem eventualmente em SPs, para aproveitar, como dito, o aumento de performance. Mas isso demanda uma boa modelagem, um projeto bem planejado como um todo. O problema é que, em todos os casos que eu vi, os programadores que trabalham com SP só usam SP porque é a única forma que eles conhecem para programar. É vício mesmo. Qualquer sugestão ligeiramente diferente de enfiar tudo na SP já era recebida com cara feia. Quer dizer, criar um projeto bem planejado não é muito a praia desse pessoal, isso quando existe um projeto de fato.

Em um desses casos eu tive que, por exemplo, construir uma SP gigantesca (provavelmente umas duas mil linhas ou mais), porque o coordenador do projeto queria porque queria que fosse assim. Esse era o único argumento: tem que ser em SP. OK então. Foi tão chato adaptar a lógica do negócio nessa SP que ela acabou levando 3 semanas pra terminar. E menos de 1 mês depois eu já tinha procurado e mudado pra outra empresa.

- Galera do RJ precisa prestigiar os eventos de Java!!

- Sou a favor da extinção do Cobol da face da Terra!
[Email] [MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

andersonlfl wrote:
Achei muito interessante, pois sabemos que jogar o processamento pro banco normalmente é melhor do que fazer o container trabalhar por exemplo.


Sabemos? Transformação e busca de dados pode ser, mas processamento pode ser muito mais que isso.

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
[Email] [WWW] [Yahoo!] [MSN]
Rubem Azenha
GUJ Master
[Avatar]

Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline

O que escala mais: Um servidor de aplicações ou um servidor de bd?



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
[WWW]
Daniel Quirino Oliveira
Moderador
[Avatar]

Membro desde: 23/03/2003 23:57:34
Mensagens: 3299
Localização: Awawawawa (Araraquara) - SP
Offline

microfilo wrote:O que escala mais: Um servidor de aplicações ou um servidor de bd?


Hmmmm... boa pergunta. Mesmo.

Daniel Quirino Oliveira
[Email] [WWW]
fabio.patricio
GUJ Master

Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline

microfilo wrote:O que escala mais: Um servidor de aplicações ou um servidor de bd?


Depende do banco. Fazer um RAC com Oracle pode ser mais facil que colocar algum AS em cluster.

]['s

Fabio Patricio
http://blog.wansoft.com.br

[WWW] [MSN] [ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

Depende.

Que seu sistema faz?
Quais servidores estão sendo comparados?

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
[Email] [WWW] [Yahoo!] [MSN]
Anderson Leite
Java Ninja
[Avatar]

Membro desde: 03/03/2005 09:53:07
Mensagens: 275
Offline

microfilo wrote:
O que escala mais: Um servidor de aplicações ou um servidor de bd?


O que quer dizer "escala mais"? Capacidade de escala relativa a acessos ou a processamento de códigos ? Se puder me indicar algum artigo sobre "escala" ou me explicar agradeceria muito.


pcalcado wrote:


Que seu sistema faz?

O sistema é para controle das viagens da empresa. Antigamente a pessoa preenchia um formulario de 8 paginas, agora cada pagina eh uma aba do formulario.
Quando a pessoa envia, o sistema passa todos os objetos e o banco eh quem começa a tratar a logica, decidir passos do fluxo, analisar as regras.


Quais servidores estão sendo comparados?


O servidor de aplicação antigo era o Tomcat. Eu tentei lutar para migrar para o JBOSS e usar EJB's. Comcei a fazer um refactor total no sistema. Cheguei a colocar o JBOSS. Mas nesse meio tempo entrou a parceria, o sistema está sendo reescrito e agora o servidor de aplicação é o IIS. A base de dados é SQL Server.

[WWW] [MSN]
fabio.patricio
GUJ Master

Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline

andersonlfl wrote:....o servidor de aplicação é o IIS. A base de dados é SQL Server.


Boa sorte.

]['s

Fabio Patricio
http://blog.wansoft.com.br

[WWW] [MSN] [ICQ]
flaleite
JavaEvangelist

Membro desde: 31/03/2006 15:28:55
Mensagens: 472
Localização: Ribeirão Preto - SP
Offline

O problema desse tipo de parceira que te força de alguma forma a um unico fornecedor pode ser uma maravilha e massagear o ego de muita gente. Mas eu acho um grande risco se vc colocar todas suas fichas nele. Não digo isso por ser Microsoft e sim por ficar na mão de um unico vendor.

Esse tipo de parceria pode abrir as portas de vários clientes para a empresa, porém pode fechar muitas (mais do que as que se abriram) outras.

O grande problema de se usar uma arquitetura client-server é ao que colocar parte da logica de seu sistema no BD vc quase sempre esta se amarrando a ele. A maioria usa linguagem proprietaria.

Se o sistema estiver bem estruturado talvez o port para um ambiente MS será mais simples, e vice-versa.

Se seu sistema realmente usar "tudo-de-bom" que tiver no ambiente MS (ou qq um que seja) e aparecer um grande negócio para sua empresa porém o cliente tem uma licença para N processadores do Oracle e não quer colocar o SQL Server? Provavelmente isso não vai nem dar "traço" no balanço da MS porém pode quebrar uma empresa pequena.


Flávio Suguimoto
flaleite.blogspot.com
[MSN]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team