Padrão de versionamento

[quote=wood]Pessoal,

Gostaria que vocês indicassem literaturas e as experiências de vocês para que eu possa solucionar o seguinte problema:

Uma parte do sistema é em JavaWebStart, e ela tem a função de criar alguns arquivos em XML.
Outra parte do sistema é WEB e deve receber esses arquivos, tratá-los, e persistir em banco.

Quando ocorre alguma atualização no sistema, que modifique algum campo (inclusão, atualição ou deleção) do XML, uma nova versão do SCHEMA é gerado. Mesmo assim, o usuário ainda pode visualizar os arquivos com versões anteriores ao do úlitmo SCHEMA. Dessa forma, todos os SCHEMA são mantidos.

A questão é: como trabalhar com a camada de negócio para haver a menor quantidade de replicação de código? Quando a estrutura do XML for modificada, como indicar para ele os campos de deverão ou não ser validados naquela versão?

No momento estamos usando JWS, JaxB e BeanValidation no desktop, e vamos utilizar EJB 3, BeanValidation e JPA na WEB.

Valeu![/quote]

oi,

tivemos que fazer algo aqui que talvez ajude

o objetivo é ler um XML e setar as propriedades de um POJO (você pode fazer o mesmo para preencher os objetos do JAXB)
para fazer isso criamos uma classe utilitária que usa BeanUtils e instanceof para decidir qual bean deve ser setado, por exemplo

if (obj instaceof MeuBean) { Class clazz = Class.forName("pacote.MeuBean"); Object obj = clazz.newInstance(); BeanUtils.setProperty(resultObj, propriedade, meubean); }

Pessoal,

Gostaria que vocês indicassem literaturas e as experiências de vocês para que eu possa solucionar o seguinte problema:

Uma parte do sistema é em JavaWebStart, e ela tem a função de criar alguns arquivos em XML.
Outra parte do sistema é WEB e deve receber esses arquivos, tratá-los, e persistir em banco.

Quando ocorre alguma atualização no sistema, que modifique algum campo (inclusão, atualição ou deleção) do XML, uma nova versão do SCHEMA é gerado. Mesmo assim, o usuário ainda pode visualizar os arquivos com versões anteriores ao do úlitmo SCHEMA. Dessa forma, todos os SCHEMA são mantidos.

A questão é: como trabalhar com a camada de negócio para haver a menor quantidade de replicação de código? Quando a estrutura do XML for modificada, como indicar para ele os campos de deverão ou não ser validados naquela versão?

No momento estamos usando JWS, JaxB e BeanValidation no desktop, e vamos utilizar EJB 3, BeanValidation e JPA na WEB.

Valeu!