App dividida em jars  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Mackrophus
JavaBaby
[Avatar]

Membro desde: 28/03/2008 09:27:34
Mensagens: 84
Offline

Olá Companheiros de lutas e dúvidas.

Gostaria antes de tudo pedir desculpas, se por acaso alguém já fez uma pergunta parecida, eu de fato não fiz pesquisa no forum, porque eu não faço ideia de como pesquisar isso.

Pessoal, me jogaram uma bomba e não sei como desarmar, então estou recorrendo a voces, pois bem, eu fiz um programa para consumir uns serviços da nossa empresa, mas, como todos sabem quando vamos implantar, sempre o cliente quer alguma coisa diferente, eu queria saber como eu poderia fazer ou pesquisar, para fazer algo assim.

Desenvolver uma aplicação base, onde o cliente vai entrar e procurar as telas.
Ai nas telas, eu criar um jar com os metodos e etc dela, ai ao inves de atualizar a app toda, eu somente atualizo esse jar, pq assim, a maioria dos clientes pede pra alterar os dados do cadastro, ai toda vez eu tenho que mexer, compilar tudo e tal, dessa forma não precisaria fazer isso.

Desde ja agradeço a todos.
[MSN]
rogelgarcia
GUJ Master
[Avatar]

Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline

Bem.. realmente não é tão simples fazer isso..

Primeiramente vc terá que pensar numa arquitetura que irá permitir esse tipo de intervenção... cada caso é um caso..

Essa aplicacao é web ou desktop??

O primeiro passo que eu te aconselharia fazer... é estudar ClassLoader... implementar o seu próprio.. entender bem como funciona isso.. pq eu imagino que em algum ponto a solução que vc tiver para o problema passará pelo ClassLoader.. então é um bom ponto de partida...

Rógel Garcia, criador do framework NEXT

http://www.nextframework.org
rogelgarcia
GUJ Master
[Avatar]

Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline

Só para reforçar o meu entendimento do problema..

O que vc quer nao é apenas dividir a aplicacao em vários JARs e sim poder atualizar esses JARs sem desligar a aplicacao, correto?

OSGi também poderá te ajudar nessa tarefa.. mas ainda assim acredito ser importante entender de ClassLoaders...

Rógel Garcia, criador do framework NEXT

http://www.nextframework.org
Mackrophus
JavaBaby
[Avatar]

Membro desde: 28/03/2008 09:27:34
Mensagens: 84
Offline

Bom dia rogelgarcia.

Muito obrigado por sua ajuda, já to revirando o Google atrás de informações sobre ClassLoader e OSGi.

Valeu cara
[MSN]
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

Você pode usar Java Web Start, ele deve garantir que a aplicação esteja sempre atualizada, mesmo que ela consista de vários JARs.
Uma aplicação Java Web Start só precisa do browser para poder baixar os JARs, mas ela pode acessar arquivos e bancos de dados como uma aplicação normal.
Mackrophus
JavaBaby
[Avatar]

Membro desde: 28/03/2008 09:27:34
Mensagens: 84
Offline

E como eu pesquiso isso entanglement???

Teria algum exemplo simples????

Muito obrigado.
[MSN]
rogelgarcia
GUJ Master
[Avatar]

Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline

Perguntas

Essa aplicacao, como será distribuida? web? Terá um módulo cliente (desktop) que se comunica com um servidor?


Só as telas irão mudar ou o sistema também?

Rógel Garcia, criador do framework NEXT

http://www.nextframework.org
Mackrophus
JavaBaby
[Avatar]

Membro desde: 28/03/2008 09:27:34
Mensagens: 84
Offline

Rogelgarcia, desculpa não ter respondido antes.

vamos as respostas,

A principio é uma app desktop, ela é instalada em um micro que faz a comunicação com o servidor através de webservices que se comunicam com o bd, pra poder usar em varias plataformas, por causa da dificuldade, a gente ta permitindo somente nos cadastros e algumas consultas a customização.

Se quiser saber mais alguma coisa é so perguntar.
[MSN]
rogelgarcia
GUJ Master
[Avatar]

Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline

E como são essas costumizações?

Poderá customizar queries??

Customizar telas?

Será necessário por exemplo, em algum momento adicionar novas classes ou métodos a aplicacao? Tanto na parte do cliente quanto na parte do servidor?

O JavaWebStart pode resolver a parte desktop da aplicacao mesmo.. como o colega falou...

Mas na parte servidor ainda será necessária uma solução mais robusta...

A assinatura desses webservices.. poderão mudar também?

Rógel Garcia, criador do framework NEXT

http://www.nextframework.org
Mackrophus
JavaBaby
[Avatar]

Membro desde: 28/03/2008 09:27:34
Mensagens: 84
Offline

A principio, são na maioria dos casos, remover algum campo(somente da tela) mudar posicionamento dos campos da tela, nesses casos as queries de inclusão, exclusão, consulta, não alteram.

No caso das consultas sim, eles podem mudar as queries, mas, nessa parte, eu passo a querie como um parametros no webservice, ai ele me retorna os registros em um xml.

Na parte do cliente acontece de na maioria das vezes eles desejarem a inclusão de um relatório diferente, ou uma consulta, os serviços já existentes não mudam suas assinaturas, mas, pode ocorrer a implementação de novos.
[MSN]
rogelgarcia
GUJ Master
[Avatar]

Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline

Então tá mais tranquilo do que pensei...

Mackrophus wrote:A principio, são na maioria dos casos, remover algum campo(somente da tela) mudar posicionamento dos campos da tela, nesses casos as queries de inclusão, exclusão, consulta, não alteram.

Isso o Javawebstart dá conta.. ou qualquer outra solucao que baixe os jars na hora para o cliente usar... ou entao tenha uma opcao de atualizar a aplicação cliente..


Mackrophus wrote:No caso das consultas sim, eles podem mudar as queries, mas, nessa parte, eu passo a querie como um parametros no webservice, ai ele me retorna os registros em um xml.


Isso pode ser perigoso.. e se o usuário tiver um pouco a manha de como chamar webservices, e invocar uma query arbitrária?

Mackrophus wrote:Na parte do cliente acontece de na maioria das vezes eles desejarem a inclusão de um relatório diferente, ou uma consulta, os serviços já existentes não mudam suas assinaturas, mas, pode ocorrer a implementação de novos.

Faça uma arquitetura que permita a adição de webservices sem a necessidade de reinicar a app.. como nao irá alterar o que já tá rodando.. fica beeeem mais fácil...

This message was edited 1 time. Last update was at 14/07/2010 13:24:36

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team