Exemplos
A seguir alguns exemplos são apresentados em alguns cenários específicos.
Criação de um componente
Suponha a criação de um componente br.com.lumis.intranet
. Note que, nesse caso, o componente está localizado em br/com/lumis/intranet
e, consequentemente, seu arquivo de definição é br/com/lumis/intranet/componentdefinition.xml
. Nesse componente existirão:
- dois serviços:
- br.com.lumis.service.service1: presente na pasta br/com/lumis/intranet/services/service1.
- lumis.service.service2: presente na pasta br/com/lumis/intranet/services/service2.
- um tema:
- br.com.lumis.intranet.theme.theme1: presente na pasta br/com/lumis/intranet/theme/theme1.
- arquivos públicos:
- br/com/lumis/intranet/componentfiles/www/js/jquery.js
- br/com/lumis/intranet/componentfiles/www/img/img_arrow_left.png
- br/com/lumis/intranet/componentfiles/www/css/main.css
- estrutura:
- br/com/lumis/intranet/componentfiles/structure/
Os serviços podem estar em qualquer pasta dentro da pasta do componente, uma vez que seu identificador é definido em seu arquivo de definição.
Os temas, por sua vez, devem estar localizados na sua pasta específica, já que seu identificador é inferido a partir dessa pasta. Veja mais em Temas do Portal.
Os arquivos públicos podem estar em qualquer pasta dentro da pasta www pertencente à pasta do componente.
Os arquivos da estrutura devem estar dentro da pasta structure dentro da pasta do componente.
O arquivo de definição deve ser desenvolvido de acordo, incluindo sua versão. Suponhamos, para exemplificação que essa versão é "1.0.0.0".
Caso necessite, scripts de instalação, atualização e desinstalação podem ser adicionados ao componente, dentro da pasta scripts .
Após o desenvolvimento da definição do componente, de seus scripts (caso existam) e dos objetos do componente, a pasta do componente pode ser empacotada em um módulo para que possa ser implantado em algum ambiente.
Atualização de um componente
Suponha que o componente criado anteriormente deve ser atualizado por algum motivo. O desenvolvedor faz as alterações necessárias nos serviços, temas etc. O componente deve ter sua versão atualizada, digamos para "1.1.0.0". As alterações necessárias nos scripts do componente devem ser realizadas.
O componente está pronto para ser empacotado em um módulo para que o mesmo seja implantado.
Ao ser implantado em um ambiente que já contenha a versão "1.0.0.0" esta será atualizada para a "1.1.0.0". Ao ser implantado em um ambiente que não possua o componente instalado, ele será instalado.
Renomear um componente
Caso um componente necessite ser renomeado, a instrução de substituição de componente no arquivo de definição do mesmo. Ou seja, renomear o componente é o mesmo que criar um componente que substitua outro componente. Como exemplo, suponha que o componente br.com.empresa.service.news seja renomeado para br.com.empresa.projeto1.service.news .
Dividir um componente em vários
Suponha agora que o componente br.com.lumis.intranet será dividido em br.com.lumis.intranet.rj e br.com.lumis.intranet.sp. Essa divisão requer que uma substituição do componente br.com.lumis.intranet pelo componente br.com.lumis.intranet.rj e outra substituição do componente br.com.lumis.intranet pelo componente br.com.lumis.intranet.sp seja realizada.
Ou seja, deve-se declarar na definição do componente br.com.lumis.intranet.rj que o mesmo substitui o componente br.com.lumis.intranet e, também, deve-se declarar no componente br.com.lumis.intranet.sp que o mesmo substitui o componente br.com.lumis.intranet.
Contudo, isso não é suficiente. Nesse caso, ambos os componentes br.com.lumis.intranet.rj e br.com.lumis.intranet.sp devem ser instalados ao mesmo tempo, para que ambos substituam o componente br.com.lumis.intranet e, a partir dessa instalação, ambos sejam mantidos como componentes distintos. Nesse caso, o componente br.com.lumis.intranet.rj deve declarar que substitui o componente br.com.lumis.intranet em conjunto com o componente br.com.lumis.intranet.sp e o componente br.com.lumis.intranet.sp deve declarar que substitui o componente br.com.lumis.intranet em conjunto com o componente br.com.lumis.intranet.rj. Feito isso, os componentes br.com.lumis.intranet.rj e br.com.lumis.intranet.sp somente serão implantados de forma conjunta, caso o componente br.com.lumis.intranet já tenha sido implantado previamente. Caso o componente br.com.lumis.intranet ainda não tenha sido implantado, os componentes br.com.lumis.intranet.rj e br.com.lumis.intranet.sp podem ser implantados de forma separada.
Juntar vários componentes em um
Suponha que os componentes br.com.lumis.intranet.rj e br.com.lumis.intranet.sp necessitem ser unidos em um único componente br.com.lumis.intranet. Essa operação requer que o componente br.com.lumis.intranet substitua os componentes br.com.lumis.intranet.rj e br.com.lumis.intranet.sp.