Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Gateway de transação CICS e partições de carga de trabalho AIX

Chris Mawer, Senior Tester, CICS Transaction Gateway team, IBM
Photo of Chris Mawer
Chris Mawer é Testador Senior na equipe do CICS Transaction Gateway no IBM Software Lab em Hursley, na Grã-Bretanha. Ele é responsável por liderar as equipes de teste ECI V2 e Microsoft .NET. Formou-se na Universidade de Manchester e passou a fazer parte da IBM em 2001, como integrante da equipe de Suporte de Nível 3 do CICS Transaction Gateway, onde adquiriu um conhecimento profundo do CICS Transaction Gateway e de seus clientes. Em 2008, passou para a Equipe de Teste do CICS Transaction Gateway, na qual tem sido um importante membro para os testes e estratégia de teste. Mais recentemente, diversificou seu escopo, ampliando-o para cenário do cliente e teste de desempenho. É possível entrar em contato

Resumo:  Este artigo mostra como usar o Gateway de transação CICS em um ambiente AIX que suporta partições de carga de trabalho (WPARs). Ele inclui cenários que mostram como usar as WPARs para consolidar o hardware existente ou ampliar uma instância do Gateway de transação CICS.

Data:  09/Dez/2011
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  640 visualizações
Comentários:  


Introdução

As WPARs foram apresentadas no IBM® AIX® V6.1 a fim de fornecer uma maneira de particionar o trabalho em uma AIX Logical Partition (LPAR). WPARs permitem que uma única instância do AIX seja dividida em várias partições virtuais, permitindo que o administrador de sistema implante rapidamente vários ambientes AIX isolados sem a sobrecarga de gerenciar imagens AIX individuais. Há dois tipos de WPAR:

WPAR de aplicativo
Um único processo (e seus filhos) é executado em sua própria partição
WPAR do sistema
Todo um ambiente AIX que pode ser compartilhado ou separado

Se uma WPAR de sistema for compartilhada, ela montará as partições /usr e /opt do ambiente global como somente leitura e as compartilhará. Se uma WPAR do sistema for separada, ela terá um clone do ambiente global e todos os sistemas de arquivos serão locais com relação à WPAR. A Figura 1 mostra uma WPAR de sistema compartilhada e separada criada no mesmo LPAR. A WPAR compartilhada tem acesso somente leitura a /usr e /opt no ambiente global. A WPAR separada não tem acesso ao ambiente global e mantém seus próprios sistemas de arquivo:


Figura 1. Implementando WPARs do sistema

Este artigo explora os diferentes tipos de WPARs e as formas com as quais você pode usá-las ao implementar o IBM CICS® Transaction Gateway (TG) no AIX.

WPARs de aplicativo

O primeiro tipo, e mais simples, de WPAR é a WPAR de aplicativo, que é um ambiente leve adequado para a execução de um ou mais processos de aplicativo. O CICS TG suporta WPARs de aplicativo para aplicativos cliente em execução no modo remoto ou quando o protocolo IPIC é usado, no modo local. A Figura 2 mostra um Daemon de gateway em execução no ambiente global com três WPARs de aplicativo, cada uma executando um tipo diferente de aplicativo se conectando a esse Daemon de gateway:


Figura 2. Implantando as WPARs de aplicativo

Configurando a WPAR

Neste exemplo, o Daemon de gateway está em execução no ambiente global e é, portanto, iniciado no LPAR:

aix7host144 # ctgd start

O aplicativo a ser executado na WPAR é a amostra do Java EciB3 que inicialmente é executado no modo remoto. Como a WPAR de aplicativo cria seu próprio ambiente, o CLASSPATH não é herdado do ambiente global e precisa ser passado como um parâmetro de linha de comando para o aplicativo. Para iniciar a WPAR de aplicativo, use o comando wparexec com um nome do host (neste exemplo ctgwpar1) e uma pilha de rede com seu próprio endereço IP (192.168.1.1), de modo que o aplicativo possa se comunicar com o Daemon de gateway:

aix7host # wparexec -h ctgwpar1 -N interface=en0 address=192.168.1.1 netmask=255.255.255.0
 /opt/IBM/cicstg/jvm16/bin/java -cp
 /opt/IBM/cicstg/classes/ctgsamples.jar:/opt/IBM/cicstg/classes/ctgclient.jar
 com.ibm.ctg.samples.eci.EciB3 tcp://aix7host 2006
Starting workload partition 'ctgwpar1'.
Mounting all workload partition file systems.
Loading workload partition.
CICS Transaction Gateway Basic ECI Sample 3

Usage: java com.ibm.ctg.samples.eci.EciB3 [Gateway URL]
                                          [Gateway Port Number]
                                          [SSL Keyring
                                           SSL Password]

To enable client tracing, run the sample with the following Java option:
        -Dgateway.T.trace=on

The address of the gateway has been set to tcp://aix7host port 2006
CICS servers defined:
         1. TS20IPIC – CICS TS IPIC server
         2. TX20 – TXSeries TCP server
         3. TS20 – CICS TS SNA server

Choose server to connect to, or Q to quit: 1

Enter text to send to the CICS program: HELP ME

Program EC03 returned 5 containers in channel "SAMPLECHANNEL":
        [CHAR] CICSDATETIME     = 31/05/2011 15:35:14
        [CHAR] INPUTDATA        = HELP ME
        [CHAR] OUTPUTMESSAGE    = Input data was: HELP ME
         [BIT] INPUTDATALENGTH  = 00000007
        [CHAR] INPUTDATACCSID   =      819
Shutting down all workload partition processes.

Quando o processo termina, a WPAR é encerrada e excluída. Para verificar se a WPAR de aplicativo está se comunicando com o Daemon de gateway correto no ambiente global, verifique o log de informações do Gateway:

05/31/11 15:35:03:994 [0] CTG6506I Client connected: [ConnectionManager-0] -
tcp@Socket[addr=/192.168.1.1,port=52127,localport=2006]
05/31/11 15:35:14:453 [0] CTG8429I Established new IPIC connection to CICS server
TS20IPIC with: negotiated session limit=100, CICSAPPLID=IY2GTG20
CICSAPPLIDQUALIFIER=GBIBMIYA, HOSTNAME=cicsserv.ibm.com, PORT=1120,sockets=2
05/31/11 15:35:14:473 [0] CTG6507I Client disconnected: [ConnectionManager-0] -
tcp@Socket[addr=/192.168.1.1,port=52127,localport=2006], reason = Java client
application closed the connection

Também é possível ver provas de que o endereço IP da WPAR está se conectando e acionando o gateway para estabelecer uma conexão IPIC com o CICS. Você pode executar novamente o aplicativo no modo local, contanto que adicione ctgserver.jar ao CLASSPATH:

# wparexec -h ctgwpar1 -N interface=en0 address=192.168.1.1 netmask=255.255.255.0
 /opt/IBM/cicstg/jvm16/bin/java -cp /opt/IBM/cicstg/classes/ctgsamples.jar:
/opt/IBM/cicstg/classes/ctgclient.jar:/opt/IBM/cicstg/classes/ctgserver.jar
    com.ibm.ctg.samples.eci.EciB3
Starting workload partition 'ctgwpar1'.
Mounting all workload partition file systems.
Loading workload partition.
CICS Transaction Gateway Basic ECI Sample 3

Usage: java com.ibm.ctg.samples.eci.EciB3 [Gateway URL]
                                          [Gateway Port Number]
                                          [SSL Keyring
                                           SSL Password]

To enable client tracing, run the sample with the following Java option:
        -Dgateway.T.trace=on

The address of the gateway has been set to local: port 2006

IPIC servers are not listed when running in local mode.
Enter URL of a CICS server, or Q to quit: tcp://winmvs2g:1120

Enter text to send to the CICS program: HELP ME

Program EC03 returned 5 containers in channel "SAMPLECHANNEL":
        [CHAR] CICSDATETIME     = 31/05/2011 16:02:47
        [CHAR] INPUTDATA        = HELP ME
        [CHAR] OUTPUTMESSAGE    = Input data was: HELP ME
         [BIT] INPUTDATALENGTH  = 00000007
        [CHAR] INPUTDATACCSID   =      819
Shutting down all workload partition processes.

Também é possível executar aplicativos que chamam o Remote C ECIv2, ESIv2 e API de estatísticas dentro de uma WPAR de aplicativo.

Por que usar as WPARs de aplicativo?

Aplicativos cliente nas WPARs de aplicativo são executados em seu próprio ambiente isolado, completos com suas próprias pilhas de rede, o que tem as seguintes vantagens:

  • Instâncias de aplicativo são fáceis de identificar durante o monitoramento
  • Um problema no aplicativo não afeta o restante do LPAR ou quaisquer outras WPARs em execução nele.

WPARs de sistema (compartilhadas)

Uma WPAR de sistema compartilhada aparece como uma instância de AIX, mas compartilha os sistemas de arquivo /usr e /opt do ambiente global e os monta na WPAR como somente leitura. Veja abaixo, um exemplo de como usar as WPARs de sistema para executar o CICS TG. A Figura 3 mostra uma instalação do CICS TG, configurada para executar no ambiente global com três WPARs de sistema compartilhadas, criadas dentro do LPAR do ambiente global. A primeira WPAR de sistema usa o arquivo de configuração ctg.ini no ambiente global e as outras duas WPARs têm suas próprias configurações locais, mas ainda usam os executáveis do CICS TG instalados.


Figura 3. Implementando WPARs de sistema compartilhadas

Configurando a WPAR para a instalação compartilhada

A primeira etapa é criar a WPAR. Neste exemplo, você especifica que:

  • O nome da WPAR é ctgwpar1.
  • A instalação é compartilhada.
  • O nome do host é ctgwpar1.
  • As informações de roteamento de rede são herdadas do ambiente global.
  • A rede usa en0 com o endereço IP fornecido.

Para criar a WPAR, emita o seguinte comando:

aix7host # mkwpar -n ctgwpar1 -l -h ctgwpar1 -r -N interface=en0 address=192.168.1.1
 netmask=255.255.255.0

O nome da WPAR e o nome do host não precisam ser idênticos, mas testes mostraram que o cliente da API remota de SNA procura pelo nome da WPAR, não do nome do host. Se os nomes forem diferentes, o nome da WPAR talvez não resolva para um endereço IP válido.

aix7host # startwpar -v ctgwpar1
Starting workload partition 'ctgwpar1'.
Mounting all workload partition file systems.
Mounting '/wpars/ctgwpar1'.
Mounting '/wpars/ctgwpar1/home'.
Mounting '/wpars/ctgwpar1/opt'.
Mounting '/wpars/ctgwpar1/proc'.
Mounting '/wpars/ctgwpar1/tmp'.
Mounting '/wpars/ctgwpar1/usr'.
Mounting '/wpars/ctgwpar1/var'.
Loading workload partition.
Exporting workload partition devices.
Exporting workload partition kernel extensions.
Starting workload partition subsystem 'cor_ctgwpar1'.
0513-059 The cor_ctgwpar1 Subsystem has been started. Subsystem PID is 11403326.
Verifying workload partition startup.
Return Status = SUCCESS.

aix7host # lswpar
Name      State  Type  Hostname  Directory        RootVG WPAR
--------------------------------------------------------------
ctgwpar1  A      S     ctgwpar1  /wpars/ctgwpar1  no

Verificando a instalação da WPAR

Para verificar se a WPAR foi criada com êxito como uma instalação compartilhada, verifique se os sistemas de arquivo na WPAR criada estão montados em /dev (com a exceção de /opt e /usr, que são montados como somente leitura na WPAR):

aix7host # df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4          1245184    971756   22%    11826     6% /
/dev/hd2          5734400   1507368   74%    62691    16% /usr
/dev/hd9var       1048576    756404   28%     7002     4% /var
/dev/hd3          3145728   3141308    1%      133     1% /tmp
/dev/hd1          1212416   1038192   15%     2919     2% /home
/dev/hd11admin      131072    130692    1%        5     1% /admin
/proc                   -         -    -         -     -  /proc
/dev/hd10opt      2490368   1857964   26%    13218     4% /opt
/dev/livedump 262144 261776 1% 4 1%
 /var/adm/ras/livedump
/dev/fslv00 98304 67200 32% 2322 14%
 /wpars/ctgwpar1
/dev/fslv01 32768 31904 3% 5 1%
 /wpars/ctgwpar1/home
/opt 2490368 1857964 26% 13218 4%
 /wpars/ctgwpar1/opt
/proc - - - - -
  /wpars/ctgwpar1/proc
/dev/fslv02 98304 96688 2% 9 1%
 /wpars/ctgwpar1/tmp
/usr 5734400 1507368 74% 62691 16%
 /wpars/ctgwpar1/usr
/dev/fslv03 131072 110100 17% 363 2%
 /wpars/ctgwpar1/var

A WPAR de sistema compartilhada tem seu próprio endereço IP e, portanto, os usuários podem fazer login remotamente com o rlogin e o nome do host. Quando um usuário faz login, a WPAR tem a aparência de um sistema AIX normal. Todos os sistemas de arquivos são sinalizados como globais e nenhum sistema de arquivo fora da WPAR pode ser exibido.

aix7host # rlogin ctgwpar1
*******************************************************************************
*  Welcome to AIX Version 7.1!                                                *
*  Please see the README file in /usr/lpp/bos for information pertinent to    *
*  this release of the AIX Operating System.                                  *
*******************************************************************************

ctgwpa1 # df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
Global              98304     67196   32%     2321    14% /
Global              32768     31904    3%        5     1% /home
Global            2490368   1857944   26%    13218     4% /opt
Global                  -         -    -         -     -  /proc
Global              98304     96688    2%        9     1% /tmp
Global            5734400   1507368   74%    62691    16% /usr
Global             131072    110096   17%      364     2% /var

Para WPARs que não estão configuradas com TCP/IP, é possível usar o console login (clogin) para acessar e configurar a WPAR, apesar de, sem uma pilha de rede, não ser possível usá-la com o CICS TG.

Instalando o CICS TG em uma WPAR de sistema compartilhada

Em uma WPAR compartilhada, você precisa instalar o CICS TG no ambiente global, pois a WPAR tem acesso somente leitura ao /opt, onde o CICS TG é instalado. Execute o instalador do produto:

aix7host # ./installer -i console
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

Aceite todos os valores padrão. O CICS TG deve ser instalado com êxito no ambiente global. Para verificar se o produto pode ser acessado no ambiente global e na WPAR, emita o seguinte comando:

aix7host # type cicscli
cicscli is /usr/bin/cicscli

ctgwpar1 # type cicscli
cicscli is /usr/bin/cicscli

Executando o CICS TG em uma WPAR de sistema compartilhada

Por padrão, em uma instalação de WPAR de sistema compartilhada, os arquivos de configuração são compartilhados entre todas as WPARs compartilhadas, pois eles estão localizados no diretório /opt/IBM/cicstg/bin. O compartilhamento de uma configuração funciona bem para conexões TCP/IP com o CICS, mas para SNA e IPIC, que exigem valores exclusivos a fim de identificar a instância do gateway, o compartilhamento é restrito e somente o primeiro gateway usando a configuração que se conecta CICS pode estabelecer uma conexão. Outras conexões são rejeitadas.

Quando há um planejamento para a execução do CICS TG como uma tarefa de inicialização usando ctgd, essa limitação de compartilhamento pode ser vencida por meio da configuração da variável do ambiente CTGDCONF em cada uma das WPARs do sistema, a fim de apontar para o ctgd.conf local que define a variável do ambiente CICSCLI como o arquivo ctg.ini na WPAR, que contém identificadores exclusivos para essa instância do CICS TG. O processo ctgd verifica a presença dessa variável de ambiente antes de usar os padrões. Se o ctgd não estiver sendo usado, e se o ctgstart ou cicscli estiverem sendo usados, será necessário definir a variável do ambiente CICSCLI diretamente a fim de apontar para o arquivo ctg.ini local. No exemplo, o CICS TG é iniciado usando ctgd:

Primeiro, faça cópias dos dois arquivos de configuração do ambiente global e salve-os na WPAR de modo que possa modificá-los:

aix7host # cp ctgd.conf ctg.ini /wpars/ctgwpar1/tmp

Mude para a WPAR e modifique o arquivo ctgd.conf de modo que a variável CICSCLI aponte para o arquivo ctg.ini local:

#-----------------------------------------------------------------------
# Location of ctg.ini file. Set this to specify a location for ctg.ini,
# other than the default <install_path>/bin/ctg.ini.

#CICSCLI=<install_path>/bin/ctg.ini
CICSCLI=/tmp/ctg.ini

Em seguida, atualize o arquivo ctg.ini pra mudar o APPLID do gateway e o nome LU local do SNA de modo que ambos sejam exclusivos e diferentes daqueles no ambiente global:

SECTION PRODUCT
    APPLID=CTGWPAR1
    APPLIDQUALIFIER=CHRSQUAL
    DEFAULTSERVER=TX20
ENDSECTION

SECTION SERVER = TS20
    SRVIDLETIMEOUT=0
    PROTOCOL=SNA
    UPPERCASESECURITY=N
    LOCALLUNAME=CTGCM01
    MODENAME=LU62PS
    NETNAME=GBIBMIYA.IY2GTG20
    PARTNERLUALIAS=N
ENDSECTION

Por fim, defina a variável do ambiente CTGDCONF na WPAR de modo que a cópia compartilhada do ctgd possa localizar a configuração local:

ctgwpar1 # export CTGDCONF=/tmp/ctgd.conf

Se você iniciar agora o CICS TG na WPAR e no ambiente global, o SNA e o IPIC deverão funcionar corretamente:

aix7host # ctgd start
CICS Transaction Gateway, Version 8.0.0.1 : Build Level c800-20101014
(C) Copyright IBM Corporation 2004, 2010. All rights reserved.
Starting IBM CICS Transaction Gateway: started as root:system
ctgwpar1 # ctgd start
CICS Transaction Gateway, Version 8.0.0.1 : Build Level c800-20101014
(C) Copyright IBM Corporation 2004, 2010. All rights reserved.
Starting IBM CICS Transaction Gateway: started as root:system

Verifique os logs para garantir que o ctg.ini correto está sendo usado e que as APPLIDs do gateway são corretas e exclusivas:

No ambiente global:

06/23/11 18:12:47:206 [2] *** IBM CICS Transaction Gateway log V8.0.0.1 Build Level
 c800-20101014 ***
06/23/11 18:12:47:103 [0] CTG6400I CICS Transaction Gateway is starting
06/23/11 18:12:47:189 [0] CTG8448I Command line options updated adminport to be2810
06/23/11 18:12:47:221 [0] CTG8400I Using configuration file /opt/IBM/cicstg/bin/ctg.ini
06/23/11 18:12:47:221 [0] CTG8426I The applid is CTGGE
06/23/11 18:12:47:221 [0] CTG8427I The applid qualifier is CHRSQUAL

On ctgwpar1:

06/23/11 18:14:51:022 [2] *** IBM CICS Transaction Gateway log V8.0.0.1 Build Level
 c800-20101014 ***
06/23/11 18:14:50:785 [0] CTG6400I CICS Transaction Gateway is starting
06/23/11 18:14:51:000 [0] CTG8448I Command line options updated adminport to be 2810
06/23/11 18:14:51:025 [0] CTG8400I Using configuration file /tmp/ctg.ini
06/23/11 18:14:51:025 [0] CTG8426I The applid is CTGWPAR1
06/23/11 18:14:51:026 [0] CTG8427I The applid qualifier is CHRSQUAL

Agora que os daemons de gateway foram iniciados corretamente, você pode executar uma amostra para verificar se a conexão IPIC com o CICS está funcionando. Emita o comando a seguir:

aix7host # cat run_me.sh
#!/bin/ksh
/opt/IBM/cicstg/jvm16/bin/java -cp
 /opt/IBM/cicstg/classes/ctgserver.jar:/opt/IBM/cicstg/classes/ctgsamples.jar:
/opt/IBM/cicstg/classes/ctgclient.jar com.ibm.ctg.samples.eci.EciB1 tcp://aix7host 2006

aix7host # ./run_me.sh

CICS Transaction Gateway Basic ECI Sample 1

Usage: java com.ibm.ctg.samples.eci.EciB1 [Gateway URL]
                                          [Gateway Port Number]
                                          [SSL Keyring]
                                          [SSL Password]

To enable client tracing, run the sample with the following Java option:
 -Dgateway.T.trace=on

The address of the Gateway has been set to tcp://aix7host Port:2006

CICS Servers Defined:
         1. TS20IPIC – CICS TS IPIC server
         2. TX20 – TXSeries TCP server
         3. TS20 – CICS TS SNA server

Choose Server to connect to, or q to quit:
1

Program EC01 returned with data:-

        Hex: 32332f30362f31312031393a31323a35380
        ASCII text: 23/06/11 19:12:58

ctgwpar1 # ./run_me.sh

CICS Transaction Gateway Basic ECI Sample 1

Usage: java com.ibm.ctg.samples.eci.EciB1 [Gateway URL]
                                          [Gateway Port Number]
                                          [SSL Keyring]
                                          [SSL Password]

To enable client tracing, run the sample with the following Java option:
 -Dgateway.T.trace=on

The address of the Gateway has been set to tcp://ctgwpar1 Port:2006

CICS Servers Defined:
         1. TS20IPIC – CICS TS IPIC server
         2. TX20 – TXSeries TCP server
         3. TS20 – CICS TS SNA server

Choose Server to connect to, or q to quit:
1

Program EC01 returned with data:-

        Hex: 32332f30362f31312031393a31323a35390
        ASCII text: 23/06/11 19:12:59

Agora, você pode testar uma conexão com o CICS sobre SNA. O arquivo /etc/sna/sna_clnt.net precisa ser duplicado na WPAR para que o daemon de SNA inicie corretamente.

aix7host # ./ecib1
CICS Transaction Gateway Basic ECI V1 Sample

Servers defined in the Client daemon:
   1.TX20
   2.TS20

Choose server to connect to:
2
Program EC01 returned with data: 24/06/11 10:42:10

ctgwpar1 # ./ecib1
CICS Transaction Gateway Basic ECI V1 Sample

Servers defined in the Client daemon:
   1.TX20
   2.TS20

Choose server to connect to:
2
Program EC01 returned with data: 24/06/11 10:47:57

Exiba o log de informações do cliente para confirmar que ambos os programas estão em execução em seus respectivos LUs locais (CTGCM01 e CTGCM02):

aix7host # cat /var/cicscli/cicscli_info.log
06/24/11 10:36:15.491 [0049] CCL:CCL0200I *** IBM CICS Transaction Gateway Client log for
 'AIX' '8.0.0.1' Build Level 'c800-20101014' ***
06/24/11 10:36:15.508 [2239] CCL:CCL2239I Server 'TX20' is configured to use the TCP/IP
 protocol with NETNAME 'cicsserv.ibm.com' and PORT '7720'
06/24/11 10:36:15.513 [2238] CCL:CCL2238I Server 'TS20' is configured to use the SNA
 protocol with NETNAME 'GBIBMIYA.IY2GTG20' and LOCALLUNAME 'CTGCM02'
06/24/11 10:36:15.520 [2224] CCL:CCL2218I The initialization of the Client daemon is
 complete
06/24/11 10:42:10.296 [2228] CCL:CCL2222I About to connect to server 'TS20'
06/24/11 10:42:10.493 [2229] CCL:CCL2223I Connected to server 'TS20 ' using 'SNA' to
 'GBIBMIYA.IY2GTG20'

06/24/11 10:47:33.798 [0049] CCL:CCL0200I *** IBM CICS Transaction Gateway Client log for
 'AIX' '8.0.0.1' Build Level 'c800-20101014' ***
06/24/11 10:47:33.807 [2239] CCL:CCL2239I Server 'TX20' is configured to use the TCP/IP
 protocol with NETNAME 'cicsserv.ibm.com' and PORT '7720'
06/24/11 10:47:33.811 [2238] CCL:CCL2238I Server 'TS20' is configured to use the SNA
 protocol with NETNAME 'GBIBMIYA.IY2GTG20' and LOCALLUNAME 'CTGCM01'
06/24/11 10:47:33.819 [2224] CCL:CCL2218I The initialization of the Client daemon is
 complete
06/24/11 10:47:54.605 [2228] CCL:CCL2222I About to connect to server 'TS20'
06/24/11 10:47:57.176 [2229] CCL:CCL2223I Connected to server 'TS20 ' using 'SNA' to
 'GBIBMIYA.IY2GTG20'

Por que usar WPARs de sistema compartilhadas?

A principal vantagem de uma topologia WPAR de sistema compartilhada é que o software do sistema incluindo CICS TG, o cliente de API remota de SNA e os compiladores C/C++ são instalados uma vez no ambiente global e disponibilizados a todas as WPARs de sistema compartilhadas sem qualquer instalação adicional. Portanto, as WPARs de sistema compartilhadas pode ter uma área de cobertura relativamente pequena comparado com as WPARs que não são compartilhadas.

Em cenários de WPAR de sistema compartilhada (por exemplo, ao se comunicar com CICS sobre TCP/IP), a configuração também pode ser comum em todas as instâncias do CICS TG. Se os daemons de gateway precisam ser exclusivamente identificados (por exemplo, usando IPIC ou o protocolo SNA para se comunicar com CICS), cada WPAR precisa ter sua própria configuração local, que precisa ser gerenciada de forma independente do ambiente global. WPARs de sistema compartilhadas permitem uma utilização mais eficiente do LPAR e permitem que você crie um gerenciador de carga de trabalho no ambiente global para distribuir o trabalho entre as WPARs.

WPAR de sistema separada

Uma WPAR de sistema separada parece ser uma instalação AIX totalmente autocontida, completa com seu próprio sistema de arquivo isolado e pilha de rede. Veja abaixo, um exemplo de como é possível usar uma WPAR de sistema separada para executar o CICS TG. A Figura 4 mostra o CICS TG instalado no ambiente global e três WPARs de sistema separadas. Ao contrário das WPARs de sistema compartilhadas na seção anterior, essas instalações são isoladas e o programa e arquivos de configuração são instalados separadamente:


Figura 4. Implementando as WPARs de sistema separadas

Configurando a WPAR de sistema separada para instalação privada

A primeira etapa da configuração de uma WPAR de sistema separada é a criação da WPAR. Neste exemplo, você especifica que:

  • O nome da WPAR é ctgwpar4.
  • A instalação é privada (separada do ambiente global).
  • O nome do host é ctgwpar4.
  • As informações de roteamento de rede são herdadas do ambiente global.
  • A rede é configurada para usar en0 com o endereço IP fornecido.
aix6host # mkwpar -n ctgwpar4 -l -h ctgwpar4 -r -N interface=en0 address=192.168.1.2
netmask=255.255.255.0

Assim como na seção de WPAR de sistema compartilhada, o nome da WPAR e o nome do host não precisam ser idênticos, mas testes mostraram que o cliente da API remota de SNA procura pelo nome da WPAR, não do nome do host. Se os nomes forem diferentes, o nome da WPAR talvez não resolva para um endereço IP válido.

O processo de configuração da WPAR demora um pouco, pois cria uma cópia do ambiente AIX dentro da WPAR. Após a conclusão do processo, é possível iniciar WPAR:

aix6host # startwpar -v ctgwpar4
Starting workload partition 'ctgwpar4'.
Mounting all workload partition file systems.
Mounting '/wpars/ctgwpar4'.
Mounting '/wpars/ctgwpar4/home'.
Mounting '/wpars/ctgwpar4/opt'.
Mounting '/wpars/ctgwpar4/proc'.
Mounting '/wpars/ctgwpar4/tmp'.
Mounting '/wpars/ctgwpar4/usr'.
Mounting '/wpars/ctgwpar4/var'.
Loading workload partition.
Exporting workload partition devices.
Starting workload partition subsystem 'cor_ctgwpar4'.
0513-059 The cor_ctgwpar4 Subsystem has been started. Subsystem PID is 11206788.
Verifying workload partition startup.
Return Status = SUCCESS.
aix6host # lswpar
Name      State  Type  Hostname   Directory         RootVG WPAR
----------------------------------------------------------------
ctgwpar4  A      S     ctgwpar4   /wpars/ctgwpar4   no

Verificando a instalação da WPAR de sistema separada

No LPAR, verifique se os sistemas de arquivo montados estão corretos para uma instalação separada. Monte todos os sistemas de arquivo sob a WPAR criada em /dev, que é diferente da WPAR de sistema compartilhada, na qual os pontos de montagem como /wpars/CTG_WPAR1/opt usam o arquivo systems/opt (no modo somente leitura).

aix6host # df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           327680    133972   60%    10820    25% /
/dev/hd2          7602176   4960396   35%    55415     5% /usr
/dev/hd9var        720896    373892   49%    12479    13% /var
/dev/hd3          2293760   2159324    6%      167     1% /tmp
/dev/hd1            65536     65144    1%       15     1% /home
/dev/hd11admin      131072    130692    1%        5     1% /admin
/proc                   -         -    -         -     -  /proc
/dev/hd10opt      2555904   2045364   20%    12617     3% /opt
/dev/livedump      262144    261776    1%        4     1% /var/adm/ras/livedump
/dev/fslv00        131072     82264   38%     2977    14% /wpars/ctgwpar4
/dev/fslv01         65536     64156    3%        5     1% /wpars/ctgwpar4/home
/dev/fslv02       2555904   2035252   21%    12614     3% /wpars/ctgwpar4/opt
/proc                   -         -    -         -     -  /wpars/ctgwpar4/proc
/dev/fslv03        131072    128420    3%       10     1% /wpars/ctgwpar4/tmp
/dev/fslv10       7602176   4874528   36%    53437     5% /wpars/ctgwpar4/usr
/dev/fslv11        131072     53320   60%     2755    19% /wpars/ctgwpar4/var

Assim como ocorre com a WPAR compartilhada, A WPAR de sistema separada tem seu próprio endereço IP e, portanto, os usuários podem fazer login remotamente com o rlogin e o nome do host TCP/IP. A WPAR de sistema separada também parece para o usuário como um sistema AIX normal; cada sistema de arquivos aparece como global e nada fora da WPAR é visível.

aix6host # rlogin ctgwpar4
*******************************************************************************
*  Welcome to AIX Version 6.1!                                                *
*                                                                             *
*  Please see the README file in /usr/lpp/bos for information pertinent to    *
*  this release of the AIX Operating System.                                  *
*******************************************************************************
Last login: Thu 26 May 15:14:20 2011 on /dev/pts/0 from 192.168.1.3

ctgwpar4 # df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
Global             131072     82216   38%     2991    14% /
Global              65536     64156    3%        5     1% /home
Global            2555904   2035660   21%    12614     3% /opt
Global                  -         -    -         -     -  /proc
Global             131072    128420    3%       12     1% /tmp
Global            7602176   4936516   36%    55414     5% /usr
Global             131072     49436   63%     2818    20% /var

Se a WPAR não for configurada com TCP/IP, você poderá usar o clogin (console login) para acessar e configurar a WPAR, embora sem uma pilha TCP/IP, o CICS TG não pode ser usado.

A desvantagem de usar as WPARs de sistema separadas é que elas usam os tamanhos de partição padrão ao criar a WPAR, e o tamanho da partição pode precisar ser aumentado a fim de fornecer armazenamento suficiente para instalar a pilha de software. No exemplo, o diretório /tmp é muito pequeno para armazenar uma cópia do instalador do CTG e aumenta seu tamanho no ambiente global:

aix6host # chfs -a size=+1G /wpars/CTG_WPAR1/tmp
Filesystem size changed to 2359296
Inlinelog size changed to 8 MB.
aix6host # cp installer /wpars/CTG_WPAR1/tmp

Instalando o CICS TG na WPAR de sistema separada

Execute o instalador do produto:

ctgwpar4 # ./installer -i console
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...

Aceite todos os padrões. O CICS TG deve ser instalado com êxito na WPAR. Para verificar a instalação, compare o /opt/IBM no ambiente global com o /opt/IBM na WPAR:

aix6host # ls -l /opt/IBM
total 16
drwxr-xr-x   28 root     system         4096 24 May 17:38 ITM
drwxr-xr-x    2 root     system         4096 24 May 16:40 sysmgtlib

ctgwpar4 # ls -l /opt/IBM
total 24
drwxrwxr-x   17 root     system         4096 26 May 15:46 cicstg
drwxr-xr-x   28 root     system         4096 24 May 17:38 ITM
drwxr-xr-x    2 root     system         4096 24 May 16:40 sysmgtlib

Adicionando Cliente de API remota de SNA e compilador XL C

Há duas maneiras de instalar um aplicativo que usa o instalador AIX nativo:

  • Diversas vezes (uma para cada WPAR de sistema)
  • Uma única vez no ambiente global, seguido por uma cópia sincronizada de todos os conjuntos de arquivos em cada WPAR de sistema.

O Cliente de API remota de SNA e o compilador xlC/C++ usam o instalador AIX nativo. Para este exemplo, eles serão instalados usando o método único, que tem a vantagem de, embora o software seja instalado uma única vez, cada instância do software é executada independentemente em sua própria WPAR.

O Smit oferece a opção no momento da instalação de instalar em todas as WPARs separadas. Se você definir a opção como não, as WPARs poderão ser manualmente sincronizadas posteriormente por meio da execução do seguinte comando:

aix6host # syncroot
syncroot: Processing root part installation status.
syncroot: Installp root packages are currently synchronized.
syncroot: RPM root packages are currently synchronized.
syncroot: Root part is currently synchronized.
syncroot: Returns Status = SUCCESS

Cada WPAR de sistema deve agir como um cliente de SNA isolado e ter um compilador C/C++ disponível.

Configurando o daemon de gateway na WPAR de sistema separada

É possível configurar o gateway usando a ferramenta de configuração. A configuração é local a essa WPAR, portanto você precisa garantir que o APPLID e o LU local de SNA sejam exclusivos.

Atualize o PATH para Java se não houver referência ao JVM:

ctgwpar4 # export PATH=/opt/IBM/cicstg/jvm16/bin:$PATH

Configure o Daemon de gateway de modo que ele tenha definições de TCP/IP, SNA e servidor IPIC, e certifique-se de que os logs sejam gravados no arquivo e não no console. Você também deve ativar o TCP do Gateway e os manipuladores de porta de estatísticas. Agora salve o arquivo ini em /opt/IBM/cicstg/bin na WPAR. Neste exemplo, use ctgstart para iniciar o daemon de gateway. Verifique se o gateway inicia sem erro e se está escutando nas portas corretas:

ctgwpar4 # ctgstart
*** IBM CICS Transaction Gateway log V8.0.0.1 Build Level c800-20101014 ***
(C) Copyright IBM Corporation 1996, 2010.  All rights reserved.
CTG6508I To shut down the Gateway daemon type
CTG6493I    Q or - for normal shutdown
CTG6494I    I for immediate shutdown

ctgwpar4 # more /var/cicscli/ctg_info.log
05/27/11 11:19:40:670 [2] *** IBM CICS Transaction Gateway log V8.0.0.1 Build Level
 c800-20101014 ***
05/27/11 11:19:40:626 [0] CTG6400I CICS Transaction Gateway is starting
05/27/11 11:19:40:661 [0] CTG8448I Command line options updated adminport to be 2810
05/27/11 11:19:40:673 [0] CTG8400I Using configuration file /opt/IBM/cicstg/bin/ctg.ini
05/27/11 11:19:40:673 [0] CTG8461I Successfully initialized trace plug-in
 'com.ibm.ctg.client.FileTrace'
05/27/11 11:19:40:676 [0] CTG6577I Java details: Version=1.6.0, Vendor=IBM Corporation,
 Path=/opt/IBM/cicstg/jvm16/bin/java
05/27/11 11:19:40:710 [0] CTG6981I Successfully initialized JNI library
05/27/11 11:19:40:758 [0] CTG6502I Initial Connection managers = 1, Maximum Connection
 managers = 100
05/27/11 11:19:40:759 [0] CTG6526I Initial workers = 1, Maximum workers = 100
05/27/11 11:19:40:763 [0] CTG6505I Successfully created the initial connection manager
 and Worker threads
05/27/11 11:19:40:771 [0] CTG6524I Successfully started handler for the tcp: protocol on
 port 2006
05/27/11 11:19:40:774 [0] CTG6524I Successfully started handler for the statsapi:
 protocol on port 2980
05/27/11 11:19:40:775 [0] CTG8455I Successfully started the local administration handler
 on port 2810
05/27/11 11:19:40:788 [0] CTG6512I CICS Transaction Gateway initialization complete
05/27/11 11:19:40:800 [0] CTG6411I Interval statistics are active. The statistics
 interval length is set to 3 hours, 0 minutes and 0 seconds. The statistics end of day
 time is set to 00:00:00 Greenwich Mean Time.

Agora, é possível enviar uma amostra de solicitação sobre uma conexão IPIC que faz referência a esse gateway:

ctgwpar4 # ./ctgecib3 ctwpar4 2006
CICS Transaction Gateway Basic ECI V2 Sample 3

Usage: ctgecib3 [hostname] [port number]

Connected to CICS TG on ctgwpar4 using port 2006

Servers returned from CICS TG:
     1. TS20IPIC – CICS TS IPIC server
     2. TX20 – TXSeries TCP server
     3. TS20 – CICS TS SNA server

Choose server to connect to, or q to quit:
1
Enter text to send to the CICS program (max 128):
HELP ME!
Program EC03 returned containers:
    [BIT]  INPUTDATALENGTH = 00000007
   [CHAR]   INPUTDATACCSID =      819
   [CHAR]    OUTPUTMESSAGE = Input data was: HELP ME
   [CHAR]     CICSDATETIME = 27/05/2011 14:43:23
   [CHAR]        INPUTDATA = HELP ME
Closed connection to CICS Transaction Gateway

ctgecib3 completed successfully

Verifique se o SNA está funcionando corretamente na WPAR compilando e executando a amostra ecia1, que testa as conexões no TCP/IP e no SNA:

ctgwpar4 # export PATH=/usr/vac/bin:$PATH
ctgwpar4 # make -f samp.mak

Creating Advanced ECI C Sample
        cc_r -c -g -DCICS_AIX -I../../../include -I../../include ecia1.c
cc_r -o ecia1 ecia1.o -L../../../lib -L/opt/IBM/cicstg/lib -lpthreads -lc_r
-lcclaix

ctgwpar4 # ./ecia1
CICS Transaction Gateway Advanced ECI V1 Sample

SYNTAX :
  ecia1 <Threads> <Calls> <SYNC|ASYNC> [-DEBUG]
    where
  Threads    = Number of threads to run per server (Default=5)
  Calls      = Number of ECI calls to make per thread (Default=10)
  SYNC/ASYNC = Do (a)synchronous eci calls (Default=SYNC)
  -DEBUG     = Show all messages (Default is off)

Running with:
2 Servers
5 Threads per server
10 ECI calls per thread
Call type is synchronous
MAIN : Threads all started - Starting test
MAIN : Threads all finished - Results follow:
Server : TX20    , overall average time in seconds 0.020060
Server : TS20    , overall average time in seconds 0.023860
Press enter to terminate

Por que usar WPARs de sistema separadas?

As WPARs de sistema separadas oferecem benefícios de LPARs, mas têm um processador e área de cobertura da memória menor, permitindo que você divida ainda mais as LPARs para subgerenciar os recursos enquanto executa diversos gateways no mesmo LPAR. Essa utilização aprimorada do LPAR permite que você crie um gerenciador de carga de trabalho no ambiente global para distribuir o trabalho entre as WPARs.

Usando as WPARs em topologias existentes

Esta seção explora alguns cenários onde é possível usar as WPARs.

Expandindo a capacidade de um LPAR existente que usa conexões TCP/IP

Neste cenário, o CICS TG é instalado e configurado para executar dentro de uma LPAR. As conexões com o CICS ocorrem sobre TCP/IP. Com as WPARs de sistema compartilhadas você pode executar muitas instâncias da configuração CICS TG, com cada configuração tendo sua própria pilha de rede. Esse cenário utiliza de forma mais adequada os recursos de LPAR, enquanto mantém a sobrecarga administrativa baixa de uma instalação de produto e configuração únicas.

Executando diversas versões do CICS TG simultaneamente

Neste cenário, várias máquinas ou LPARs estão hospedando um release diferente do CICS TG. Essa topologia provavelmente consumirá uma grande quantidade de recursos do computador ou recursos do LPAR. Uma solução mais eficiente é consolidar o hardware em um único LPAR com cada instância em execução como uma WPAR de sistema separada.

Testando novas versões antes da implementação

Este cenário é parecido com o anterior. Uma WPAR de sistema separada é usada para testar um novo release do CICS TG no ambiente operacional atual com os aplicativos existentes. Não há impacto nas instalações e configurações existentes.

Executando diversos aplicativos no mesmo LPAR

Em um cenário no qual diversos aplicativos de longa duração estão em execução no mesmo LPAR, é possível executar cada aplicativo em sua própria WPAR. Fazer isso isola cada aplicativo das partes externas do sistema, de modo que se um aplicativo falhar, a falha ficará contida na WPAR sem afetar os outros aplicativos.

Conclusão

este artigo descreveu dois tipos de WPAR – a WPAR de aplicativo e a WPAR de sistema e mostrou como o CICS TG pode interoperar com elas. O artigo também descreveu diversos cenários de clientes nos quais a implementação das WPARs com CICS TG pode fornecer vantagens consideráveis.


Recursos

Sobre o autor

Photo of Chris Mawer

Chris Mawer é Testador Senior na equipe do CICS Transaction Gateway no IBM Software Lab em Hursley, na Grã-Bretanha. Ele é responsável por liderar as equipes de teste ECI V2 e Microsoft .NET. Formou-se na Universidade de Manchester e passou a fazer parte da IBM em 2001, como integrante da equipe de Suporte de Nível 3 do CICS Transaction Gateway, onde adquiriu um conhecimento profundo do CICS Transaction Gateway e de seus clientes. Em 2008, passou para a Equipe de Teste do CICS Transaction Gateway, na qual tem sido um importante membro para os testes e estratégia de teste. Mais recentemente, diversificou seu escopo, ampliando-o para cenário do cliente e teste de desempenho. É possível entrar em contato

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=WebSphere
ArticleID=780046
ArticleTitle=Gateway de transação CICS e partições de carga de trabalho AIX
publish-date=12092011

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).