Empacotando recursos do Liberty

Os recursos do Liberty podem ser empacotados em um ou mais arquivos compactados (.zip) para implementação pelo gerenciador de tarefa do WebSphere Application Server, Network Deployment Versão 9.0. O agrupamento dos recursos em arquivos compactados afeta o escopo e o compartilhamento dos recursos. Para que os recursos nos arquivos compactados sejam implementados corretamente, os nomes dos caminhos dos recursos devem atender as regras do gerenciador de tarefa.

Antes de Iniciar

"O empacotamento de um servidor Liberty a partir do prompt de comandos" descreve como executar o comando package para criar um arquivo compactado que contém um tempo de execução do Liberty, arquivos no diretório de recursos compartilhados um servidor integrado e os aplicativos integrados no servidor. Se desejar implementar uma instalação do Liberty desse tipo e não precisar colocar a instalação em um diretório do projeto, leve em consideração usar o comando package para criar o arquivo compactado. Para outros tipos de instalações do Liberty, você deve criar manualmente um ou mais arquivos compactados.

Sobre Esta Tarefa

Os tipos de recursos suportados do Liberty incluem projeto, tempo de execução, servidor Liberty, binário de aplicativo e software development kit (SDK). Para obter mais informações, leia "Recursos do Liberty."

O gerenciador de tarefa distingue entre os diferentes tipos de recursos do Liberty em um arquivo compactado usando as seguintes regras:

  • O recurso do projeto é um diretório raiz opcional e de nível superior no arquivo compactado. Os subdiretórios nesse diretório raiz de nível superior são a raiz de outros recursos. É possível usar o recurso do projeto para agrupar recursos relacionados e evitar conflitos de nomes.
  • O recurso de tempo de execução contém o caminho do arquivo runtime_name/bin/server ou runtime_name/bin/server.bat. Tudo sob o diretório runtime_name é considerado parte do recurso do tempo de execução.
  • O recurso do servidor do Liberty atende uma das seguintes regras:
    • Se integrado ao recurso do tempo de execução, o recurso do servidor do Liberty conterá o caminho do arquivo runtime_name/usr/servers/server_name/server.xml.
    • Se isolado (separado) do recurso do tempo de execução, o recurso do servidor do Liberty conterá o caminho de arquivo servers/server_name/server.xml.
  • O recurso binário do aplicativo atende uma das seguintes regras:
    • Se integrado ao recurso do servidor do Liberty, o recurso binário do aplicativo conterá o caminho de arquivo server_name/dropins/application_name ou server_name/apps/application_name, em que application_name termina em .ear, .war ou .eba.
    • Se integrado ao recurso do tempo de execução, o recurso binário do aplicativo conterá o caminho de arquivo runtime_name/usr/shared/apps/application_name, em que application_name termina em .ear, .war ou .eba.
    • Se isolado (separado) dos recursos de tempo de execução e do servidor, o recurso binário do aplicativo conterá o arquivo application_name em qualquer caminho do diretório, em que application_name termina em .ear, .war ou .eba.
  • O recurso SDK contém o caminho do diretório JRE_name/jre/bin/java ou JRE_name/bin/java, em que JRE_name é o nome do Java Runtime Environment.
O gerenciador de tarefa usa o nome de diretório de um recurso no arquivo compactado como seu nome do recurso. Por exemplo, se o nome do diretório do tempo de execução do Liberty for 08.05.00.00, então o nome do recurso será 08.05.00.00 e seu ID de recurso será runtime/08.05.00.00. Ao nomear recursos, considere as diretrizes a seguir:
  • Se estiver implementando um pacote para diversos sistemas operacionais, use nomes de diretório e de arquivo que sejam transportáveis entre os sistemas operacionais. Por exemplo, não nomeie os recursos que difiram somente em letras maiúsculas e minúsculas para que você possa implementá-los no sistema operacional Windows; ou seja, não confunda jre-01.06.00 com Jre-01.06.00.
  • Ao usar números da versão com números principais e secundários em nomes do recurso, tal como 8.5.0.1, assegure-se de alocar dígitos o suficiente para que a comparação de sequência lexical simples possa ser usada para comparar versões. Use 08.05.00.01 em vez de 8.5.0.1. Este esquema funciona até mesmo se você usar prefixos, tais como runtime-08.05.00.01 ou jre-01.06.00_32.

    O uso desta convenção ativa a comparação de versão ao consultar recursos no gerenciador de tarefa. Por exemplo, no gerenciador de tarefa é possível consultar name > 08.05.00.11 para localizar todos os recursos cujo nome, e versão, são superiores a 8.5.0.11. Para uma consulta eficaz, aloque ao menos dois dígitos para cada número de versão maior e menor no nome. Caso contrário, você obterá resultados falsos. Por exemplo, use 08.05.00.02 > 08.05.00.11 para uma consulta em vez de 8.5.0.2 > 8.5.0.11.

  • Use os nomes do projeto para agrupar recursos relacionados e evitar conflitos de nomes.

Procedimento

Determine o tipo de instalação do Liberty que você precisa, e então crie um ou mais arquivos compactados (.zip) que contenham recursos do Liberty.

Exemplo

Exemplo 1: Instalação autocontida do Liberty
Este exemplo ilustra primeiro como empacotar uma instalação autocontida do Liberty para a implementação em um ou mais hosts do servidor. Ele ilustra, então, como empacotar uma nova versão de um servidor e do aplicativo que o suporta.
A estrutura básica dos recursos do Liberty é a seguinte:
  • Host do servidor
    • Recursos de trabalho
      • Projeto
        • Tempo de execução do Liberty
          • Servidor 1 do Liberty
            • Binário do aplicativo 1
          • Servidor 2 do Liberty
            • Binário do aplicativo 2
As seguintes suposições se aplicam a esta instalação de exemplo:
  • A instalação inclui dois servidores.
  • Cada servidor inclui um arquivo bootstrap.properties, um arquivo server.xml e um aplicativo.
  • Cada servidor usa um SDK (JRE) previamente instalado que atende os requisitos mínimos do Liberty. Se planejar usar o gerenciador de tarefa para instalar um SDK, consulte o Exemplo 2 para obter informações relevantes sobre empacotamento e configurações do servidor.
  • A instalação do Liberty é implementada em amostras do diretório do projeto no diretório ativo /liberty/working, tal como /liberty/working/samples.
Estrutura quando implementada
Esta instalação de exemplo do Liberty contém a seguinte estrutura de diretório nos hosts do servidor:
[-] liberty
    [-] working
        [-] samples
            [-] wlp-08.05.00.00
                [+] bin
                [ ] clients
                [+] dev
                [ ] lafiles
                [+] lib
                [+] templates
                [-] usr
                    [-] servers
                        [-] SecuritySample-01.00-01
                                o bootstrap.properties
                                o server.env
                                o server.xml
                            [ ] apps
                                    o SecuritySample-01.00.war
                        [-] ServletSample-01.00-01
                                o bootstrap.properties
                                o server.env
                                o server.xml
                            [ ] apps
                                    o ServletSample-01.00.war
Estrutura do pacote para a implementação inicial
Os seguintes diretórios estão incluídos no arquivo compactado (.zip) para a implementação inicial da instalação do Liberty. O diretório do projeto, samples, está localizado na raiz do arquivo compactado.
[-] samples
    [-] wlp-08.05.00.00
        [+] bin
        [ ] clients
        [+] dev
        [ ] lafiles
        [+] lib
        [+] templates
        [-] usr
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.00.war
                [-] ServletSample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o ServletSample-01.00.war
Se um servidor precisar usar um SDK (JRE) que não seja o padrão, o JRE do nível do sistema operacional, você deverá especificar o local do JRE apropriado em um arquivo server.env no nível do tempo de execução ou do servidor, como, por exemplo:
JAVA_HOME=/opt/jre-06.00.31
Estrutura do pacote que contém a nova versão do servidor e do aplicativo
Os seguintes diretórios e arquivos estão incluídos em um arquivo compactado (.zip) para uma nova versão de um servidor e do aplicativo que o suporta. O diretório do projeto, samples, está localizado na raiz do arquivo compactado.
[-] samples
    [-] wlp-08.05.00.00
        [-] usr
            [-] servers
                [-] SecuritySample-01.01-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.01.war
Exemplo 2: Compartilhamento no nível do host de tempo de execução do SDK e do Liberty
Este exemplo ilustra primeiro como empacotar os recursos do Liberty para um ambiente em que cada host do servidor contém uma instância compartilhada de um SDK (JRE), uma instância compartilhada única do tempo de execução do Liberty e dois servidores de trabalho isolados que se apoiam no SDK compartilhado e no tempo de execução compartilhado do Liberty. Ele ilustra, então, como empacotar uma nova versão de um servidor e do aplicativo que o suporta. O uso do gerenciador de tarefa é obrigatório para ambientes que incluem servidores isolados do Liberty; não é possível usar o script do servidor do Liberty para gerenciar os servidores.

Para obter informações sobre como compartilhar definições de configuração do servidor nos níveis do host e da rede, consulte a documentação do Liberty sobre como utilizar inclusões na configuração.

A estrutura básica dos recursos do Liberty é a seguinte. Usar essa abordagem ajuda a simplificar a manutenção e a conservar o espaço em disco, à medida que servidores adicionais forem implementados no futuro.
  • Hosts do servidor
    • Recursos compartilhados
      • SDK (JRE)
      • Tempo de execução do Liberty
    • Recursos de trabalho
      • Projeto
        • Servidor 1 do Liberty
          • Binário do aplicativo 1
        • Servidor 2 do Liberty
          • Binário do aplicativo 2
As seguintes suposições se aplicam a esta instalação de exemplo:
  • O SDK (JRE) e o tempo de execução do Liberty são implementados no diretório compartilhado /liberty/shared.
  • Os dois servidores de trabalho isolados são implementados nas amostras do diretório do projeto no diretório ativo /liberty/working, tal como /liberty/working/samples. Incluir um diretório do projeto é opcional.
  • Cada servidor inclui um arquivo bootstrap.properties, um arquivo server.env, um arquivo server.xml e um aplicativo.
Estrutura quando implementada
Este ambiente de exemplo do Liberty tem a seguinte estrutura de diretório em cada host do servidor:
[-] liberty
    [-] shared
        [-] jre-06.00.31
            [+] bin
            [+] lib
        [-] wlp-08.05.00.00
            [+] bin
            [ ] clients
            [+] dev
            [ ] lafiles
            [+] lib
            [+] templates
    [-] working
        [-] samples
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.00.war
                [-] ServletSample-01.00-01
                         o bootstrap.properties
                         o server.env
                         o server.xml
                    [ ] apps
                            o ServletSample-01.00.war
Cada servidor isolado é configurado para usar o SDK (JRE) compartilhado e o tempo de execução compartilhado do Liberty. Os locais dos recursos compartilhados são armazenados em cada arquivo server.env; por exemplo:
JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31
WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
Os caminhos incluem a variável WLP_SHARED_DIR do WebSphere em vez de um caminho codificado permanentemente. Quando os servidores isolados são implementados nos hosts do servidor, o gerenciador de tarefa substitui ${WLP_SHARED_DIR} pelo caminho do diretório compartilhado real; neste caso /liberty/shared.
Estrutura de pacotes para a implementação inicial
Os seguintes diretórios e arquivos estão incluídos no arquivo compactado (.zip) para a implementação inicial do SDK (JRE) e do tempo de execução do Liberty no diretório de recursos compartilhados definido pela variável WLP_SHARED_DIR do WebSphere. Como é provável que o SDK e o tempo de execução do Liberty serão usados em projetos, esses recursos não são incluídos em um diretório do projeto. Neste exemplo, o SDK e o tempo de execução do Liberty são empacotados em um arquivo compactado único. Entretanto, você pode empacotá-los em dois arquivos compactados separados e enviar duas tarefas de instalação separadas.
[-] jre-06.00.31
    [+] bin
    [+] lib
[-] wlp-08.05.00.00
    [+] bin
    [ ] clients
    [+] dev
    [ ] lafiles
    [+] lib
    [+] templates

Os seguintes diretórios e arquivos estão incluídos no arquivo compactado (.zip) para a implementação inicial dos servidores do Liberty e de seus aplicativos no diretório ativo de recursos definido pela variável WLP_WORKING_DIR do WebSphere. O diretório do projeto, samples, está localizado na raiz do arquivo compactado.

[-] samples
    [-] servers
        [-] SecuritySample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o SecuritySample-01.00.war
        [-] ServletSample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o ServletSample-01.00.war
Estrutura do pacote para atualizar o servidor e o aplicativo
Os seguintes diretórios e arquivos estão incluídos em um arquivo compactado (.zip) para a implementação posterior de uma nova versão de um servidor e de seu aplicativo no diretório ativo de recursos definido pela variável WLP_WORKING_DIR do WebSphere. O diretório do projeto, samples, está localizado na raiz do arquivo compactado.
[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o SecuritySample-01.01.war
Exemplo 3: Compartilhamento no nível da rede do SDK, do tempo de execução e dos aplicativos
Restrição: O Exemplo 3 não funciona no sistema operacional Windows.

Este exemplo ilustra primeiro como empacotar os recursos do Liberty para um ambiente em que o SDK (JRE), o tempo de execução do Liberty e diversos aplicativos são armazenados em um disco compartilhado e dois servidores isolados (ativos) são armazenados em cada host do servidor. Ele ilustra, então, como empacotar uma nova versão de um servidor e do aplicativo que o suporta. O uso do gerenciador de tarefa é obrigatório para ambientes que incluem servidores isolados do Liberty. Não é possível usar o script de servidor do Liberty para gerenciar os servidores. Para obter informações sobre como compartilhar definições de configuração do servidor nos níveis do host e da rede, consulte a documentação do Liberty sobre como utilizar inclusões na configuração.

A estrutura básica dos recursos do Liberty é a seguinte. Usar essa abordagem ajudará a simplificar a manutenção e a conservar o espaço em disco, quando forem implementados servidores adicionais no futuro.
  • Disco compartilhado
    • Recursos compartilhados
      • SDK (JRE)
      • Tempo de execução do Liberty
      • Binário do aplicativo 1
      • Binário do aplicativo 2
  • Hosts do servidor
    • Recursos de trabalho
      • Projeto
        • Servidor 1 do Liberty
        • Servidor 2 do Liberty
As seguintes suposições se aplicam a esta instalação de exemplo:
  • O SDK (JRE), o tempo de execução do Liberty e os aplicativos são instalados em um disco compartilhado no caminho /liberty/shared.
  • Em cada host do servidor, o diretório de recursos compartilhados (no disco compartilhado) é montado no mesmo caminho, /liberty/shared.
  • Em cada host do servidor, os dois servidores isolados (ativos) são implementados em amostras do diretório do projeto no diretório ativo /liberty/working, tal como /liberty/working/samples. Incluir um diretório do projeto é opcional.
  • Cada servidor inclui um arquivo bootstrap.properties, um arquivo server.env e um arquivo server.xml.
Estrutura quando implementada
Este exemplo do ambiente do Liberty contém as seguintes estruturas de diretório no disco compartilhado e nos hosts do servidor:
Disco compartilhado

[-] liberty
    [-] shared
        [-] jre-06.00.31
            [+] bin
            [+] lib
        [-] wlp-08.05.00.00
            [+] bin
            [ ] clients
            [+] dev
            [ ] lafiles
            [+] lib
            [+] templates
        [-] samples
            [ ] apps
                    o SecuritySample-01.00.war
                    o ServletSample-01.00-01.war
Hosts do servidor

[-] liberty
    [-] working
        [-] samples
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                [-] ServletSample-01.00-01
                         o bootstrap.properties
                         o server.env
                         o server.xml
Cada servidor isolado é configurado para usar o SDK (JRE) compartilhado e o tempo de execução compartilhado do Liberty. Os locais dos recursos compartilhados são armazenados em cada arquivo server.env; por exemplo:
JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31
WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
Os caminhos incluem a variável WLP_SHARED_DIR do WebSphere em vez de um caminho codificado permanentemente. Quando os servidores isolados são implementados nos hosts do servidor, o gerenciador de tarefa substitui ${WLP_SHARED_DIR} pelo caminho do diretório compartilhado real; neste caso /liberty/shared. Em cada host do servidor, o diretório de recursos compartilhados remoto é montado em /liberty/shared.
Como os aplicativos estão no armazenamento compartilhado separado dos servidores, o elemento do aplicativo em cada arquivo server.xml deve incluir o caminho completo para o arquivo WAR correspondente; por exemplo:
<application id="SecuritySample"
             location="/liberty/shared/apps/SecuritySample-01.00.war"
             name="SecuritySample" type="war"/>
Para minimizar as mudanças no arquivo server.xml, o diretório do aplicativo e as informações de versão podem ser armazenado em duas propriedades em cada arquivo bootstrap.properties do servidor; por exemplo:
apps.dir=${WLP_SHARED_DIR}/${CURRENT_PROJECT}/apps 
security.sample.version=1.00
Será possível, então, incluir a variável WLP_SHARED_DIR do WebSphere e a variável CURRENT_PROJECT do gerenciador de tarefa integrado no elemento do aplicativo em cada arquivo server.xml; por exemplo:
<application id="SecuritySample" 
             location="${apps.dir}/SecuritySample-${security.sample.version}.war"
             name="SecuritySample" type="war"/>
Estrutura de pacotes para a implementação inicial
Os seguintes diretórios e arquivos estão incluídos no arquivo compactado (.zip) para a implementação inicial do SDK (JRE), do tempo de execução do Liberty e dos aplicativos no local do disco compartilhado definido pela variável WLP_SHARED_DIR do WebSphere. Como é provável que SDK e o tempo de execução do Liberty sejam compartilhadas em projetos, esses recursos não são incluídos em um diretório do projeto. Os aplicativos são incluídos no diretório de projeto samples. Neste exemplo, você empacota todos os recursos compartilhados em um arquivo compactado único. Entretanto, você deve empacotá-los em três arquivos compactados separados e enviar três tarefas de instalação separadas.
[-] jre-06.00.31
    [+] bin
    [+] lib
[-] wlp-08.05.00.00
    [+] bin
    [ ] clients
    [+] dev
    [ ] lafiles
    [+] lib
    [+] templates
[-] samples
    [ ] apps
            o SecuritySample-01.00.war
            o ServletSample-01.00.war

Os seguintes diretórios e arquivos estão incluídos no arquivo compactado (.zip) para a implementação inicial dos servidores do Liberty no diretório ativo de recursos definido pela variável WLP_WORKING_DIR do WebSphere:

[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml
        [ ] ServletSample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
Estrutura dos pacotes para a atualização do aplicativo e do servidor
Os seguintes diretórios e arquivos estão incluídos em um arquivo compactado (.zip) para a implementação posterior de uma nova versão de um aplicativo no local do disco compartilhado definido pela variável WLP_SHARED_DIR do WebSphere. O diretório do projeto, samples, está localizado na raiz do arquivo:
[-] samples
    [ ] apps
            o SecuritySample-01.01.war

Os seguintes diretórios e arquivos estão incluídos em um arquivo compactado (.zip) para a implementação posterior de uma nova versão de um servidor no diretório ativo de recursos definido pela variável WLP_WORKING_DIR do WebSphere. O diretório do projeto, samples, está localizado na raiz do arquivo compactado.

[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml

Você deve alterar o elemento do aplicativo no arquivo server.xml para incluir a Versão 1.01 do arquivo WAR; por exemplo:

<application id="SecuritySample"
             location="/liberty/shared/apps/SecuritySample-01.01.war"
             name="SecuritySample" type="war"/>

Como alternativa, se o arquivo bootstrap.properties contiver as informações da versão do aplicativo, você deverá alterar o arquivo de forma apropriada; por exemplo:

security.sample.version=1.01

Em seguida, você usa as informações da versão atualizada no elemento do aplicativo no arquivo server.xml; por exemplo:

<application id="SecuritySample" 
             location="${apps.dir}/SecuritySample-${security.sample.version}.war"
             name="SecuritySample" type="war"/>

O que Fazer Depois

Configure as variáveis que ativam o gerenciador de tarefa para instalar e procurar recursos do Liberty.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tagt_jobmgr_pkg_cs_res
Nome do arquivo: tagt_jobmgr_pkg_cs_res.html