Arquitetura independente de Framework  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
jujo
JavaTeenager

Membro desde: 29/09/2003 01:03:38
Mensagens: 173
Localização: Curitiba - PR
Offline

Olá pessoal,

Tenho uma aplicação para fazer, e ela será feita em Struts. Até ai ok, o problema é que não queria deixar ela dependente do struts desta forma teria uma estrutura mais ou menos assim:

(MeuController -> BusinessObject -> Command -> DAO).

Nas Actions do Struts eu apenas repassaria minha meus objetos, como request, e outros, pegando seus valores (K,V) e mandando para meu Controller dentro de um Hashmap. Até ai eu acho que vai funcionar tudo legal.

O maior problema que encontrei a princípio foi no quesito Form, como posso associar um Form (Business object) as actions, e tudo mais, sem que eles extendam de ActionForm, pq o Struts não deixa associar forms a actions se estes não extenderem de ActionForm (ou derivados), porém eu não qeuria essa dependencia.

Futuramente gostaria de apenas trocar a parte de View dessa aplicação, por exemplo usar Swing, sem precisar assim reimplementar nada, apenas chamando meus Controllers... etc etc...

Alguém tem uma idéia de como poderia fazer isso? Ou melhorar essa Arquitetura??

Abraços!

Juliano D. Carniel
http://julianocarniel.blogspot.com
[WWW] [MSN] [ICQ]
kuchma
Moderador
[Avatar]

Membro desde: 17/01/2003 19:36:16
Mensagens: 1231
Localização: Curitiba - PR
Offline

Obrigatoriamente tem que usar Struts?

WebWork proporciona mais facilidade pra fazer isso que voce quer. As actions sao mais "neutras", digamos assim... - isso qualquer um percebe brincando vinte minutos com o WebWork. Tenta e veja se te atende.


Marcio Kuchma

E tu, Belém-Efrata, pequena demais para figurar como grupo de milhares de Judá, de ti me sairá o que há de reinar em Israel, e cujas origens são desde os tempos antigos, desde os dias da eternidade. Mq 5:2, Miquéias, 750 AC aprox.
[WWW] [ICQ]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Seu texto demonstra de forma clara porque usar Struts é démodé ou old fashioned. Então a resposta sobre como melhorar a arquitetura também é absolutamante clara: pular fora do Struts.

[]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/
[Email] [WWW]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Uma solução ad hoc nos ActioForm seria fazer assim:



No JSP:

<html:text name="seuForm" property"dto.umAtributoDoDto" />

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
jujo
JavaTeenager

Membro desde: 29/09/2003 01:03:38
Mensagens: 173
Localização: Curitiba - PR
Offline

yelloww! =)

Atitudes "esquerdistas" à parte (sem trocadilhos destro )...
Kuchma: Com o WebWork consigo associar um Form criado por mim, a uma Action, sem precisar extender de algum padrão do framework??

Luca: e qual sugeriria?

A solução do Destro foi interessante, e simples (como num pensei nisso)... é de se pensar. Thanks destro!

Desculpe a pergunta direta, sem uma pesquisa antes, mas o tempo para pesquisar e aprender coisas novas anda muito restrita ultimamente.

Até mais!

Juliano D. Carniel
http://julianocarniel.blogspot.com
[WWW] [MSN] [ICQ]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Respondendo pelo Kuchma:

Antes de mais nada, as actions do webwork são completamente independentes dos objetos HttpRequest e Response. Ou seja, são classes que podem ser perfeitamente reutilizadas. Você pode até mesmo utilizá-las ao mesmo tempo por dois clientes completamente diferentes, como por exemplo as páginas web e classes internas

Não sei se é exatamente isso que você precisa, mas:

Pronto

Isso sem contar no suporte muito bom a IoC que o WW tem. Vale a pena dar uma lida no tutorial do smota, pelo menos para conhecer a alternativa.

Former LIPE.
[ICQ]
kuchma
Moderador
[Avatar]

Membro desde: 17/01/2003 19:36:16
Mensagens: 1231
Localização: Curitiba - PR
Offline

LIPE wrote:Isso sem contar no suporte muito bom a IoC que o WW tem. Vale a pena dar uma lida no tutorial do smota, pelo menos para conhecer a alternativa.


Eh isso ai. Eh um tempo que vale a pena, pois ele eh simples de se aprender e, na pior das hipoteses, voce conhece uma maneira alternativa (e melhor, na opiniao de muita gente) de se fazer as coisas.


Marcio Kuchma

E tu, Belém-Efrata, pequena demais para figurar como grupo de milhares de Judá, de ti me sairá o que há de reinar em Israel, e cujas origens são desde os tempos antigos, desde os dias da eternidade. Mq 5:2, Miquéias, 750 AC aprox.
[WWW] [ICQ]
jujo
JavaTeenager

Membro desde: 29/09/2003 01:03:38
Mensagens: 173
Localização: Curitiba - PR
Offline

Hello there!

obrigado a todos =) (/me Vencido) Vou tirar esse tempo para aprender o WW já que ele vai ser a solução para todos meus problemas! =)

Thank you all!

ps: se eu tivesse seguido aos conselhos de minha mãe "Filho aprenda WW que vai ser bom para seu futuro", mas nãooooo eu tinha que querer ser o rebelde! =)
hehehe

Abraços!

Juliano D. Carniel
http://julianocarniel.blogspot.com
[WWW] [MSN] [ICQ]
jujo
JavaTeenager

Membro desde: 29/09/2003 01:03:38
Mensagens: 173
Localização: Curitiba - PR
Offline

opa... achei que esse material relatado eu fosse encontrar aqui no GUJ.

Onde está esse material do SMOTA??? WTF is this guy?!

Cya!

Juliano D. Carniel
http://julianocarniel.blogspot.com
[WWW] [MSN] [ICQ]
smota
Moderador
[Avatar]

Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline

Sou eu mesmo .. algum problema?

Ops, eheheh to brincando .. tá aqui no GUJ sim .... aqui:
http://www.guj.com.br/java.artigo.135.1.guj

Mas no GUJ tb tem outro ...
http://www.guj.com.br/java.artigo.152.1.guj


"Perfection is reached not when there's nothing more to add but when there's no more to take out"
jujo
JavaTeenager

Membro desde: 29/09/2003 01:03:38
Mensagens: 173
Localização: Curitiba - PR
Offline

Thank you!


Juliano D. Carniel
http://julianocarniel.blogspot.com
[WWW] [MSN] [ICQ]
kuchma
Moderador
[Avatar]

Membro desde: 17/01/2003 19:36:16
Mensagens: 1231
Localização: Curitiba - PR
Offline

Por falta de um, temos dois!

http://www.guj.com.br/java.artigo.152.1.guj
http://www.guj.com.br/java.artigo.135.1.guj

(editado: isso que da sair 5min da mesa antes de postar no GUJ )

Marcio Kuchma

This message was edited 1 time. Last update was at 04/02/2005 14:13:33


E tu, Belém-Efrata, pequena demais para figurar como grupo de milhares de Judá, de ti me sairá o que há de reinar em Israel, e cujas origens são desde os tempos antigos, desde os dias da eternidade. Mq 5:2, Miquéias, 750 AC aprox.
[WWW] [ICQ]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Arquiteturas não podem ser feitam sem de alguma forma pensar na infra e frameworks que vão viabilizá-la. Logo é meio impossivel criar uma arquitetura realmente independente de alguns componentes chaves, como fw web com front-controler ou base relacional. Essa arquitetura em algum ponto vai 'vazar a abstração' pro suporte dela.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
jujo
JavaTeenager

Membro desde: 29/09/2003 01:03:38
Mensagens: 173
Localização: Curitiba - PR
Offline

Ahn?! não entendi muito bem...

mas o meu problema era justamente em poder reutilizar meu código em um sistema Web, e em um sistema J2SE. E pelo que o pessoal falou o WebWork me permite isso...
Não estudei a fundo ainda o WebWork, mas espero que seja isso mesmo.

Abraços!

Juliano D. Carniel
http://julianocarniel.blogspot.com
[WWW] [MSN] [ICQ]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

jujo, entenda que o objetivo de um framework é resolver problemas comuns. Apenas isso.

Um exemplo simples é o problema do web.xml. Ter que declarar cada servlet nele é uma porcaria, além de feder a peixe. Então uma solução comum é ter um servlet que atende a qualquer url dentro do contexto dele, pega o texto e dispacha para o servlet correto.

Former LIPE.
[ICQ]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team