Gente,
Eu estou desenvolvendo um framework, é parte de um trabalho de engenharia de software da faculdade. Ele opera em camadas, e cada camada possui componentes.
Os componentes são pacotes Java, com pelo menos uma classe principal que responde pelos serviços que o componente oferece, e possui o mesmo nome do pacote.
O problema é que os pacotes-componentes são sub-pastas das camadas, que são sub-pastas da camada principal, ou seja, é uma grande estrutura de pacotes.
Supondo que eu tenha um sistema com duas camadas de mesmo nível. É o sistema de uma loja, eu tenho a camada do sub-sistema de Clientes e a camada do sub-sistema de Controle Financeiro, cada uma com seus vários componentes que oferecem diversos serviços relacionados a camada em que se encontram.
As duas são independentes e reutilizaveis, tanto o sub-sistema como um todo, como qualquer componente isolado. O objetivo seria apenas copiar um pacote com seus .class para onde se quisesse, publicar o serviço que ele oferece numa tabela xml e pronto.
Porém, estes .class só são encontrados se o pacote ao qual eles pertencem estiver definido. E como eu posso trocar um .class de lugar se a definição do pacote vai continuar apontando pro lugar antigo?
Por exemplo. Supondo o componente CalcularReceitaLiquida, sua classe principal seria CalcularReceitaLiquida, e seu caminho de pacote seria:
cadamaprincipal.controlefinanceiro.calcularreceitaliquida.CalcularReceitaLiquida.class
se eu fosse copiar este pacote a outro sub-sistema que nao fosse o controlefinanceiro, ou até mesmo a outro projeto (porque não?), eu teria problemas com a definição do pacote. Já que não desejo recompilar nem fornecer código-fonte. Os pacotes devem funcionar como caixas-preta, invioláveis e independentes.
Existem pacotes dinâmicos? Ou alguma forma de driblar essa definição estática?
Abraços a todos,
Rafael Castaneda.