Framework de Camadas / PACOTES DINÂMICOS?

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.

Cara, dinamismo eu entendo como mapeamento de classe, o qual você pode mapear sua classe para determinado programa e depois precisar executar ela em outro quando aparecer uma requisição.
Vc cria toda a sua estrutura de pacotes normais e mapeia ela com um xml, o melhor seria utilizar o framework Struts!

Será que era mais ou menos isso que você queria?