estou procurando algo na web mas nao consegui encontrar nenhuma aplicação de exemplo ou materia que faça algo como o que eu quero…
estou queredno fazer uma aplicação que rode tanto na web(jsp) quanto em desktop(swing).
estou fazendo uma aplicação MVC, mas sem usar nenhum framawork especifico, porque a aplicação até que nao é tao complicada, só estou precisando saber uma forma de fazer um controlador que escolha entre um swing ou um jsp como GUI para minhas classes.
nao quero fazer dois projetos diferentes pois já tive que dar manutenção em algo assim no passado e é horrível.
se alguem tiver uma ideia de como fazer isso eu agradeço muito
Aplicação tanto Web quanto Desktop
20 Respostas
Difícil, não?
Bom, eu já ví o Genesis (genesis.dev.java.net) rodando app tanto na web (remota) quando no desktop, mas a interface nos dois casos era Thinlet.
Nunca fiz nada assim, mas se vc estiver realmente afim vc pode tentar com XSLT:
:arrow: O browser recebe o .xml e faz o parse com o xsl que está linkado a ele.
:arrow: A camada Swing faz uma requisição http para o AppServer, recebe o .xml e “se vira” para fazer o parse e mostrar o resultado na tela.
Acredito que com ThinLet deve ser beeeem mais simples.
De uma olhada:
http://www.w3schools.com/xsl/xsl_transformation.asp
É meio loucura, mas tá valendo

mas eu acho bem complicado fazer uma interface toda em xml… se ao menos tive uma espécie de iReport pra fazer isso visualmente…
e pelo que eu vi dessa forma eu substituo o swing…
Daniel, vc disse que viu algo parecido com oque eu quero fazer. tem algum lugar onde eu possa ver isso? porque eu nao sei como ficaria pra web.
sem contar que o que eu sei mexer é swing e servlet/jsp :?
Como eu havia dito: http://genesis.dev.java.net
mas eu acho bem complicado fazer uma interface toda em xml… se ao menos tive uma espécie de iReport pra fazer isso visualmente…
Existe, chama-se ThinG.
A pergunta é: qual o seu requisito dessa aplicação ser web? Por que precisa ser assim? O que você pretende atingir com isso?
Aí talvez possa dar uma resposta melhor 
Entendi pouco disso tudo:
Você quer um jeito de definir interfaces web e desktop de um mesmo jeito? Tipo um XML que serve para ambos?
OU
Você quer ter uma aplicação com diversos tipos de interface, cada uma de um jeito, mas que compartilham a lógica de negócio?
vou dar uma olhada no genesis…
bom mister__m, a questao é o seguinte… eu já tenho um sistema que funciona tanto desktop quanto web, mas é um uma outra plataforma de desenvolvimento que tem essa caracteristica de funcionar tanto pra um quanto pra outro por natureza…
por questões de arquitetura estamos mudando para java. a principio a necessidade da aplicação é ser web, a parte pra desktop eu estou querendo desenvolver como um complementar ao projeto, pois tenho feito algumas coisas em swingo e gostaria de aproveitar esse conhecimento, sem contar que alguns usuários do sistema gostam dessa interface pra desktop.
por iso que estou procurando fazer das duas formas num mesmo projeto.
sem contar que isso seria uma coisa muito importante já que muitos dos que trabalham comigo estao acostumados a fazer projetos que sao a mesmo tempo desktop e web nessa outra plataforma que eu disse, mas no java nao conseguimos fazer isso.
Olá Giliard!!!
Não sei se esta seria a melhor maneira, mas acho que seria uma boa opção você usar uma Fachada!!!
Por exemplo
swing --> controle_da_app_swing --> fachada --> negócio -->persistência
e
jsp + servlet --> controle_webapp --> fachada --> negócio -->persistência
Desta maneira a sua camada de controle fica bém simples… E a fachada poderá ser facilmente reutilizado em ambos tipos de aplicações!
Outra opções talvez seja utilizar Business Delegate, mas eu não conheço este padrão de projeto muito bém!!!
Só isso!
Abraços!
Olá,
Pena que nós atrasamos o JForms, senao seria uma boa saida tambem usando ele para Swing e WebWork para Web.
Praticamente so as view seriam alteradas e algumas configuracoes. :lol:
]['s
A propósito, em que pé que está o JForms?
gilliard_santos, “mvcmente”, eu criaria um model, que será comum, e dois controladores, um para view jsp, outro para view swing.
Lendo assim parece que fazer isso seja como tirar doce de crianca. 
Daniel,
Atrasou um pouco os nossos planos, projeto aperto e a correria pego. Mas agora ja estamos quase finalizando o que imaginamos pra primeira versao. Acho que o maior trabalho ainda vai ser em cima dos componentes, mas nada demais.
O que ta pegando mesmo é a documentacao, mas acho que conseguiremos tocar bem, ja que tem um cara so com isso agora.
:lol:
Lendo assim parece que fazer isso seja como tirar doce de crianca.
Por que? Não entendi. :?
Talvez seja isso que esteja procurando:
http://webonswing.sourceforge.net/xoops/modules/xoopsfaq/index.php?cat_id=2#q5
Lendo assim parece que fazer isso seja como tirar doce de crianca.
Por que? Não entendi. :?
É que ele fazendo isso, sem frameworks como ele mencionou, vao escrever um bocado de codigo. 
fabgp2001, acho que depende do tamanho da aplicação.
Além disso na aplicação web, acho que é só usar um controller pronto, como o WebWork. E fazer um controller à mão para a versão desktop (não acho nada pavoroso).
Bom gente, a motivo de eu nao estar utilizando nenhum framework é justamente porque a aplicação é relativamente simples, mas nao sendo um framework muito complicado, onde o esforço de configuração nao tomar mais tempo do que o desenvolvimento em si eu nao vejo o menor problema em usar… pelo contrario.
o LIPE mesmo mandou um link bem legal… to olhando o conteúdo pra ver se acho a minha solução
Gilliard, por que você não faz o “model” da sua aplicação primeiro, depois se preocupa com o controller e view? Isso pensando “mvcmente”, o que acho que se encaixa legal na sua necessidade.
bom renato3110, aí que tá… eu já tô nessa parte de se [color=red]preoculpar/color com Vew Controler do MVC…
a parte do model eu nao tenho mais oque fazer pois como disse, estou reescrevendo um sistema e por isso já sei bem seus requisitos e regras de negócio. por isso a parte do model até que foi fácil.
mas como eu já deixei o view controle pra depois, agora chegou a hora do bixo pegar hehhee :mrgreen: