Conteúdo


Usando o Jython Mais Recente com o wsadmin thin client do WebSphere Application Server

Comments

Este artigo explica como configurar um wsadmin thin client no IBM® WebSphere® Application Server para usar o release mais recente do Jython. O uso do release mais recente do Jython proporciona a oportunidade de alavancar os novos recursos de idioma incluídos desde o Jython 2.1, como:

  • O código Try-except-finally bloqueia quando for necessário lidar com exceções.
  • O através do constrói para trabalhar de forma conveniente com conexões e travas.
  • Melhorias em várias bibliotecas; a biblioteca de encadeamento em particular.
  • Melhoria de desempenho incorporada ao tempo de execução do Jython mais recente.

Juntamente com estas instruções, há exemplos de alguns artefatos necessários para executar o thin client:

  • Wrapper script para Windows®, denominado thinClient.bat, que é usado para chamar o wsadmin no thin client.
  • Wrapper script para Linux® e AIX®, denominado thinClient.sh, que é usado para chamar o wsadmin no thin client.(Este é o script do bash shell). Este script é chamado de thinClient.sh para diferenciá-lo do wsadmin.sh, que poderia ser usado para ativar o wsadmin a partir de um perfil do servidor.
  • Um arquivo wsadmin.properties configurado para trabalhar com o thin client.
  • Script do perfil para wsadmin, denominado ThinClientProfile.py, que é fornecido com a opção de perfil para wsadmin. Este perfil é necessário para configurar corretamente os objetivos de Admin e carregar devidamente os módulos de biblioteca quando a opção de biblioteca de scripts wsadmin.script.libraries for usada.
  • Um script Bash denominado addAdminObjectImport.sh que modifica os módulos de administração de biblioteca do WebSphere Application Server Jython para incluir uma instrução de importação para os objetos de Admin (AdminConfig, AdminControl, AdminTask, etc.) que são usados pelo módulo. Este script facilita a configuração da biblioteca de script do WebSphere Application Server Jython a ser usada com a versão do Jython, que é diferente da que vem com a instalação do WebSphere Application Server. (Se estiver familiarizado com o script do Windows, é provável que consiga criar um script semelhante para o Windows.)

Versões aplicáveis

Quando este artigo foi escrito, o release mais recente era o Jython 2.5.2, mas as etapas descritas aqui provavelmente serão igualmente aplicáveis para qualquer release mais novo. Consulte Recursos para obter uma lista abrangente de novos recursos do Jython 2.5.

As etapas descritas aqui foram testadas no Linux®, AIX®, e Windows® usando thin clients provenientes dos ambientes do WebSphere Application Server V7, V8 e V8.5.

Criando o ambiente do wsadmin thin client

As instruções gerais para criar um ambiente wsadmin thin client estão disponíveis no Centro de Informações do WebSphere Application Server. As etapas relacionadas abaixo se baseiam nas instruções do Centro de Informações, mas contêm pequenas modificações que abordam especificamente o uso de uma versão diferente do Jython.

Segue abaixo a convenção de nomenclatura usada neste artigo para facilitar o entendimento das informações:

  • <INÍCIO DO PERFIL> refere-se ao diretório raiz a partir do qual determinados arquivos são copiados para criar o ambiente de tempo de execução do thin client. (Durante o teste dessas informações, os itens foram copiados de um perfil de gerenciador de implementação, mas poderia ser usado um perfil de nó no lugar).
  • <WAS_HOME> refere-se ao diretório raiz de uma instalação completa do WebSphere Application Server, que é usado para copiar determinados artefatos no ambiente de tempo de execução do thin client.
  • <THIN_CLIENT_HOME> é usado para se referir ao diretório raiz do ambiente de tempo de execução do thin client.

Para criar um ambiente do wsadmin thin client:

  1. Crie um diretório de nível superior, onde o ambiente do thin client ficará. Neste exemplo, o diretório de nível superior é /opt/IBM/WebSphere/ThinClient, embora seja possível colocar o diretório em qualquer lugar. (Em máquinas com Windows, não coloque o diretório do thin client no caminho Arquivos de programa, devido ao caractere de espaço no nome do caminho, que às vezes pode ser um aborrecimento).O diretório de nível superior, onde o ambiente do thin client ficará, é mencionado, de modo geral, nestas instruções como <THIN_CLIENT_HOME>.
  1. Em um ambiente existente do WebSphere Application Server, copie o Java em <THIN_CLIENT_HOME> por meio de uma das opções a seguir:
    • Usando cp –R para copiar <WAS_HOME>/java.
    • Através do método antigo de usar tar –cvf para criar um archive de <WAS_HOME>/java. Copie o archive em <THIN_CLIENT_HOME> e o extraia com tar –xvf.
    • Em um ambiente Windows, copie a pasta <WAS_HOME>/java em <THIN_CLIENT_HOME>, arrastando e soltando ou criando um (.zip) archive compactado; em seguida, copie e extraia o archive.
    É aconselhável adquirir o Java a partir de uma instalação existente do WebSphere Application Server, pois quando o wsadmin thin client é inicializado, ele procura classes IBM ORB para conectar com o processo do gerenciador de implementação.A classe ORB usada é com.ibm.CORBA.iiop.ORB. É possível copiar um IBM Java a partir de qualquer ambiente do WebSphere Application Server que esteja funcionando em uma máquina compatível com a máquina em que o wsadmin thin client está sendo configurado, ou seja, mesmo sistema operacional, mesmo tamanho de fonte, etc.
  1. Crie um diretório chamado lib em <THIN_CLIENT_HOME>. Esse é local onde será instalado o Jython mais recente.
  2. Copie o jython_installer-2.5.2.jar em <THIN_CLIENT_HOME>.
  3. Instale o Jython mais recente no diretório <THIN_CLIENT_HOME>/lib. Há instruções completas para instalar o Jython no site do Jython. Ao instalar o Jython, certifique-se de:
    • Usar este comando para iniciar o instalador:

      java -jar jython_installer-2.5.2.jar

    • Usar a instalação padrão .
    • Especificar este diretório quando for perguntado em que local o Jython deve ser instalado:

      <THIN_CLIENT_HOME>/lib/jython

    • (Opcional, mas recomendado) Selecione Outro quando for perguntado o caminho para instalação do Java para uso com o Jython; em seguida, navegue até o Java localizado em<THIN_CLIENT_HOME>/java.
  4. Copie os seguintes JARs em <THIN_CLIENT_HOME>/lib:
    • com.ibm.ws.admin.client_#.#.0.jar a partir de <WAS_HOME>/runtimes (onde #.# é 7.0, 8.0, ou 8.5, dependendo da versão do WebSphere Application Server)
    • com.ibm.ws.security.crypto.jar a partir de <WAS_HOME>/plugins
  5. Crie um diretório chamado propriedades em <THIN_CLIENT_HOME>. Este é o local onde ficarão algumas mensagens e arquivos de configuração.
  1. A partir de um perfil existente do WebSphere Application Server, copie os arquivos de propriedades mencionados abaixo de <PROFILE_HOME>/properties em <THIN_CLIENT_HOME>/properties e faça quaisquer alterações especificadas:
    • ipc.client.props: conexões de suportes IPC.
    • soap.client.props: conexões de suportes SOAP.

      Modificações

      • Altere com.ibm.SOAP.securityEnabled para verdadeiro.
    • sas.client.props: conexões de suporte JSR160RMI (preferencial).
    • ssl.client.props: conexões de suportes encrypted.

      Modificações

      • Altere o valor de user.root para <THIN_CLIENT_HOME>.
      • Neste arquivo, use barras no caminho para <THIN_CLIENT_HOME>. O Java vai interpretar o caminho corretamente, dependendo da plataforma.
      • Na seção de propriedades do certificado autoassinado padrão, verifique se o sujeito DN (Nome distinto) é adequado para o seu site. (As alterações específicas necessárias serão o atributo da organização e, possivelmente, o país).
    • wsjaas_client.conf: conexões de suportes secured.
  1. Copie o arquivo wsadmin.properties incluído neste artigo em <THIN_CLIENT_HOME>/properties. Esta amostra de arquivo de propriedades já foi devidamente configurada.Outra alternativa seria obter um arquivo wsadmin.properties de um perfil existente do WebSphere Application Server no diretório <PROFILE_HOME>/properties.
  2. No arquivo wsadmin.properties, verifique os parâmetros especificados aqui para saber se é necessário ajustar os valores:
    • (opcional) com.ibm.ws.scripting.connectionType=JSR160RMI

      JSR160RMI é o tipo de conexão recomendada, embora em alguns casos você possa achar que precisa usar o tipo SOAP de conexão.

    • (opcional) com.ibm.ws.scripting.port=0

      Este é um conjunto para uma porta falsificada a fim de evitar conexão acidental com um gerenciador de implementação.

    • (opcional) com.ibm.ws.scripting.host=localhost
    • com.ibm.ws.scripting.defaultLang=jython
    • (obrigatório) com.ibm.ws.scripting.traceFile

      Defina este valor para um caminho que usa <THIN_CLIENT_HOME>/logs.

    • (obrigatório) com.ibm.ws.scripting.validationOutput

      Da mesma forma, esse parâmetro também deve especificar um caminho que usa<THIN_CLIENT_HOME>/logs.

    • (opcional) com.ibm.ws.scripting.traceString

      O padrão é desativado.

    • (opcional) com.ibm.ws.scripting.validationLevel

      O padrão é NONE.

    Os valores neste arquivo serão substituídos pelos valores do arquivo wsadmin.properties no diretório inicial do usuário. Esses valores também podem ser substituídos pelas opções de linha de comando correspondentes, como -host, -port, e assim sucessivamente.
  3. Crie um diretório chamado etc em <THIN_CLIENT_HOME>. Este é o local onde os arquivos principais e de armazenamento de confiança do thin client serão criados para uso com conexões criptografadas para gerenciadores de implementação remota. (Consulte o arquivo ssl.client.props no diretório de propriedades para obter os detalhes da configuração).
  4. Copie a amostra de thinClient.sh ou thinClient.bat script fornecido com este artigo em <THIN_CLIENT_HOME> e modifique-o para trabalhar com a instalação de seu thin client:
    1. Modifique o valor de WAS_HOME para incluir o caminho completo para o diretório em que o thin client está sendo criado (que também é mencionado como <THIN_CLIENT_HOME>). (No script thinClient.bat, lembre-se de usar barras nos nomes do caminho)
    2. De forma semelhante, modifique USER_INSTALL_ROOT para o diretório no qual o thin client está sendo criado (<THIN_CLIENT_HOME>).
    3. Verifique se o JAVA_HOME faz sentindo para o Java que está sendo usado. Caso esteja usando um Java instalado em algum lugar diferente de <THIN_CLIENT_HOME>/java, será necessário atualizar o valor do JAVA_HOME de acordo.
    4. (Opcional) Modifique o wsadminHost para host padrão do gerenciador de implementação que deseja conectar. (É possível fornecer o argumento –host na linha de comando ao ativar o thin client, e isso vai substituir o valor fornecido no script wrapper). Se desejar, é possível fornecer um nome de host fictício para evitar conexão acidental com algum processo do WebSphere Application Server.
    5. (Opcional) Remova o comentário do wsadminConnType que deseja como o tipo de conexão padrão. Em geral, é recomendado com veemência que seja o JSR160RMI. Isso pode ser substituído usando o argumento –conntype ao ativar o thin client.
    6. (Opcional) Modifique o wsadminPort para a porta padrão da conexão JSR160RMI para o gerenciador de implementação padrão. (A porta padrão do JSR160RMI para os gerenciadores de implementação é 9809, que é a mesma da porta de “autoinicialização”). Isso pode ser substituído por um argumento –port ao ativar o thin client. Se desejar, é possível fornecer um número de porta fictício para evitar conexão acidental com algum processo do WebSphere Application Server.
    7. Na linha de script, isso configura o caminho de classe (procurar por "client_"), modifica o nome do com.ibm.ws.admin.client_#.#.0.jar para refletir a versão do WebSphere Application Server que está sendo usado, ou seja, para substituir o #.# por 7.0, 8.0 ou 8.5.
  5. Crie um diretório de logs em <THIN_CLIENT_HOME>. Torne-o gravável por todos.Este diretório é usado para arquivos de rastreio quando o rastreio wsadmin é ativado.
  6. Crie um diretório chamado perfis em <THIN_CLIENT_HOME>. Copie o arquivo ThinClientProfile.py nesse diretório. Esses diretórios de perfis são um local conveniente para manter cópia do arquivo ThinClientProfile.py, pois realizam algumas coisas importantes:
    • Carregam os objetos de Admin em sys.modules, portanto ficam visíveis em seus módulos, fazendo com que a resolução das instruções de importação para esses objetos sejam adequadas.
    • Farão a configuração adequada do sys.path com quaisquer diretórios de biblioteca que tenham módulos Jython neles quando as bibliotecas forem especificadas com a opção Java wsadmin.script.properties.
    • Em ThinClientProfile.py, procure por WebSphereVersion e modifique o valor para 7.0, 8.0 ou 8.5, dependendo de qual versão do WebSphere Application Server está sendo usada.
  7. (Opcional) Por conveniência, coloque <THIN_CLIENT_HOME> em seu caminho. Isso permitirá que o script wrapper thinClient seja executado sem usar o caminho completo.
  8. (Opcional) Caso use as bibliotecas de scripts wsadmin (gravadas em Jython), que vêm com o WebSphere Application Server, será necessário:
    1. Criar um archive do diretório scriptLibraries em uma instalação existente do WebSphere Application Server. Em máquinas UNIX, isso é feito com o comando tar:

      cd <WAS_HOME>
      tar –cvf scriptLibraries.tar scriptLibraries

    2. Copiar o archive scriptLibraries em <THIN_CLIENT_HOME>.
    3. Extrair o archive scriptLibraries. Em máquinas UNIX, isso é feito com o comando tar:

      tar –xvf scriptLibraries.tar

    4. Para que essas bibliotecas sejam carregadas corretamente com o thin client usando o Jython mais novo, o nome do diretório raiz da biblioteca precisa ser alterado para algo diferente de scriptLibraries. Neste exemplo, o diretório foi renomeado para wasScriptLibraries.
    5. Verifique se todos os arquivos de classe foram excluídos para que sejam recompilados com o novo Jython. No diretório <THIN_CLIENT_HOME>:

      localize ./wasScriptLibraries –name “*.class” | xargs rm

    6. Também é necessário examinar todos os módulos da biblioteca de scripts e modificá-los para incluir uma instrução de importação que importe qualquer um dos objetos de Admin usados por aquele módulo. A instrução de importação é necessária para evitar erros de nome nos objetos de Admin quando os módulos de biblioteca de scripts forem usados. Para máquinas UNIX há um script Bash que inclui a instrução de importação adequada para todos os módulos de Admin na biblioteca do WebSphere Application Server Jython. Veja o script de amostra addAdminObjectImport.sh nos materiais para download (este script foi testado em uma plataforma Linux).
    7. Ao ativar o thinClient.sh, use a opção a seguir:

      –javaoption “-Dwsadmin.script.libraries= <THIN_CLIENT_HOME>/wasScriptLibraries”

      onde <THIN_CLIENT_HOME> é o diretório raiz de sua instalação do thin client. É possível usar a mesma opção com um caminho para outras bibliotecas de scripts internas que esteja acostumado a usar.
    8. Use a opção –profile com um caminho para ThinClientProfile.py ao ativar o thinClient.sh para desenvolver corretamente o sys.path com bibliotecas especificadas por wsadmin.script.librarie. Por exemplo:

      -profile <THIN_CLIENT_HOME>/profiles/ThinClientProfile.py

      onde <THIN_CLIENT_HOME> é o diretório raiz para a sua instalação do thin client.
  9. Nas plataformas UNIX, talvez você deseje alterar a propriedade da árvore do diretórios <THIN_CLIENT_HOME> para o usuário e o grupo que façam sentido para a máquina do wsadmin thin client. O comando chown com a opção -R pode ser usado para alterar a propriedade de usuário e grupo para toda a árvore de diretórios.

Isso conclui a configuração inicial. Agora é possível ativar o thin client usando o wrapper do thinClient adequado para a sua plataforma.

Chamando o thinClient

Neste artigo, supõe-se que o wsadmin.properties tem o idioma padrão configurado para jython e o conntype configurado para JSR160RMI ou SOAP. Quando este for o caso, os dois únicos argumentos necessários são uma porta e um host. Também é possível configurar a porta e o host em wsadmin.properties para fornecer um padrão, mas isso não é recomendado, pois pode levar a uma conexão não intencional com um gerenciador de implementação.

Pressupondo-se o tipo de conexão padrão JSR160RMI, a chamada do thin client no Windows (sem executar um script Jython) se assemelha a isto:

thinClient.bat –port 9809 –host mydmgrhost

Da mesma forma, a linha de comando mínima para chamar o thin client no Linux se assemelha a isto:

thinClient.sh –port 9809 –host mydmgrhost

Os exemplos de comando acima vão levá-lo a um wsadmin “listener” conectado com um gerenciador de implementação. (Obviamente, será necessário fornecer número de porta e nome de host válidos para o seu ambiente).

Ao executar um script, é possível usar todas as mesmas opções (-f, -profile) usadas para o wsadmin, assim como quaisquer argumentos destinados ao seu script.

No Windows, certifique-se de usar barras em todos os nomes de caminho fornecidos no thinClient.bat para possibilitar que o Java funcione corretamente. Quando for necessário usar barras invertidas, você deverá usar as duplas.

Executando o thinClient pela primeira vez

Na primeira vez que o wsadmin thin client for executado, o Jython irá preencher o cachedir com objetos de classe que usa em inicializações posteriores. O Jython criará um diretório temp/cachedir em <THIN_CLIENT_HOME> para esse cache de objeto. Todo JAR que for processado exibirá mensagens.

Na primeira vez que se conectar a um gerenciador de implementação remoto, os armazenamentos principal e de confiança serão criados. Será exibido um aviso para incluir um certificado público do gerenciador de implementação no armazenamento de confiança do thin client. As propriedades do certificado serão exibidas para a sua avaliação. A primeira vez que usar o wsadmin thin client para se conectar com um gerenciador de implementação diferente, será solicitado novamente para incluir um certificado público para aquele gerenciador de implementação. Consulte o arquivo ssl.client.props para ver as características e a localização dos armazenamentos principal e de confiança. (Os armazenamentos principal e de confiança foram criados em <THIN_CLIENT_HOME>/etc caso tenha mantido a configuração padrão).

Resolução de problemas

Caso encontre quaisquer dificuldades no teste, aqui estão algumas dicas para a resolução de problemas:

  • Verifique o JAVA_HOME em thinClient.bat ou thinClient.sh

    Se o JAVA_HOME não for devidamente configurado e não houver o java.exe no local esperado, o script thinClient.bat ou thinClient.sh não será iniciado de forma correta. No Windows, se o java.exe não estiver correto ao ativar o thinClient.bat a partir de um shell DOS, a mensagem, "O sistema não pode encontrar o caminho especificado" será exibida.

  • Problemas com o UNIX

    Em plataformas UNIX, é aconselhável executar o dos2unix em thinClient.sh e ThinClientProfile.py. Os problemas ocasionais têm sido resolvidos ao fazer isso.

  • Use barras em argumentos para thinClient.bat

    Mesmo no Windows, use barras nos argumentos de script para scripts thinClient.bat ou qualquer Jython que forem ativados através do thinClient.bat. Se desejar usar barras invertidas, será necessário usar duas juntas para que sejam interpretadas corretamente pelo wsadmin.

  • Visibilidade da rede do host de destino

    Verifique se:

    • O ping ou rastreio de rotas é possível a partir do host onde o thin client está sendo executado para o host onde o gerenciador de implementação está sendo executado.
    • O nome do host do gerenciador de implementação resolve corretamente. Caso tenha dificuldades para obter uma conexão ao usar o nome do host, tente o endereço IP no lugar.
    • Você está usando a porta correta do SOAP ou JSR160RMI para o host de destino. É possível verificar a porta nas portas do gerenciador de implementação no console de admin.
  • Ativando o rastreio para o wsadmin thin client

    Se desejar ativar o rastreio para a ativação do thin client, é possível modificar o atributo traceString em wsadmin.properties. É possível controlar o rastreio na linha de comando.

  • Problemas com o JSR160RMI

    Caso não consiga fazer o JSR160RMI funcionar, tente o SOAP.

  • Erros de digitação no nome do host e nos caminhos de arquivo

    Verifique se não há nenhum erro de digitação no nome do host ou no número da porta para o gerenciador de implementação com o qual está tentando se conectar. Em máquinas com Windows, certifique-se de que a letra da unidade está correta. (É fácil ignorar visualmente a letra da unidade quando o restante do caminho está correto).

  • Problemas com a configuração do SSL

    Se o SSL não estiver configurado corretamente, pode aparecer este erro:

    WASX7023E: Error creating "SOAP" connection to host "localhost"; exception 
    information: com.ibm.websphere.management.exception.ConnectorNotAvailableException:
    [SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: 
    javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: 
    java.security.InvalidAlgorithmParameter Exception: the trustAnchors parameter must 
    be non-empty; 
    targetException=java.lang.IllegalArgumentException: Error opening socket: 
    javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: 
    java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must 
    be non-empty]

    Isso geralmente é causado pela configuração incorreta da propriedade user.root no arquivo ssl.client.props. Se o thin client não encontrar os armazenamentos principal e de confiança onde é esperado que eles estejam, ele não conseguirá criá-los na primeira inicialização e não poderá se conectar com o gerenciador de implementação.

Configurando o thin client para usá-lo em outra máquina

Depois de realizar a configuração inicial descrita aqui, é possível compactar como zip ou tar o diretório raiz do thin client e movê-lo para outra máquina; por exemplo, para o desktop de outro administrador. Para reconfigurar o thin client em outra máquina:

  1. Descompacte o arquivo ZIP ou Tar do wsadmin thin client no sistema de arquivos da máquina.
  2. Se a máquina de destino precisar de um Java diferente (por exemplo, de 32 bits em vez de 64 bits), é necessário excluir o diretório <THIN_CLIENT_HOME>/java e obter um Java de uma instalação do WebSphere Application Server com a mesma arquitetura da máquina de destino. Copie esse Java no novo diretório <THIN_CLIENT_HOME>.
  3. Modifique o thinClient.bat ou thinClient.sh para ter certeza de que o WAS_HOME variável na parte superior do arquivo reflete a nova raiz da instalação do thin client. (Todos os outros caminhos de arquivo no script baseiam-se no WAS_HOME, então essa é a única variável que precisa ser alterada).
  4. No arquivo wsadmin.properties em <THIN_CLIENT_HOME>/properties, modifique as propriedades de traceFile e validationOutput para garantir que estejam corretas para o novo início do thin client.
  5. No diretório <THIN_CLIENT_HOME>/etc, exclua os arquivos de armazenamento key.p12 e trust.p12 . Eles serão recriados para o novo host.
  6. Edite ssl.client.props em <THIN_CLIENT_HOME>/properties para modificar a propriedade user.root e refletir o novo início do thin client. Isso é importante para que os armazenamentos principal e de confiança sejam devidamente restaurados e usados quando o thin client for chamado.
  7. Caso esteja usando o soap.client.props para fornecer usuário e senha, talvez seja necessário modificar usuário e senha a fim de usar a identidade do administrador que vai usar esta instância do wsadmin thin client.

Depois de fazer essas alterações, o novo wsadmin thin client deve estar pronto para ser executado. É possível testá-lo executando o thinClient.bat ou thinClient.shrunning a partir de um shell.

Seguindo adiante com o Jython

À medida que continua usando a versão mais nova do Jython, há algumas coisas a levar em conta a fim de garantir que a transição e o futuro processamento sejam tranquilos:

  • O Jython mais novo usa cadeias de caracteres Unicode. Isso vai apresentar um problema caso tenha testes em seus scripts wsadmin para tipos de cadeia de caractere que usam o tipo (“”). Será necessário incluir um teste adicional que use o tipo (u””).
  • O Jython mais novo suporta recursos de idioma mais novos que não são compatíveis com versões anteriores do Jython atualmente incorporado ao WebSphere Application Server. Depois que começar a usar esses recursos de idioma mais novos em seus scripts wsadmin, saiba que é não possível executar esses mesmos scripts em um ambiente padrão wsadmin do WebSphere Application Server.

Conclusão

Este artigo proporciona uma maneira de usar a versão mais recente do Jython sem atrapalhar suas instalações existentes do WebSphere Application Server. Ao configurar o wsadmin thin client com o Jython mais recente, é possível desenvolver e executar scripts wsadmin que aproveitam as melhorias e os recursos de idioma mais recentes no Jython.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=WebSphere
ArticleID=829003
ArticleTitle=Usando o Jython Mais Recente com o wsadmin thin client do WebSphere Application Server
publish-date=08062012