Allan Larangeiras

Analista de Sistemas




read

No início de cada projeto perde-se um tempo precioso na configuração do ambiente, e dependendo da quantidade de ajustes, pode-se perder de 1 a 2 dias para ter um ambiente redondo pronto para desenvolvimento.

Durante a fase de desenvolvimento você pode receber um novo membro na equipe o que se torna outro problema. Precisamos parar um desenvolvedor experiente para auxiliar o novo integrante a ter um ambiente plenamente funcional. Ao invés de receber mais um par de mãos você está perdendo um.

E se você perde o seu profile? Novamente perde-se tempo reconfigurando o ambiente.

Nesses casos você está lidando com um risco operacional muito alto, uma maneira de diminuir esse risco é automatizando tarefas cotidianas como a configuração do servidor.

Iniciando com o WSADMIN

O WSADMIN é um utilitário da IBM embutido no profile do seu servidor capaz de executar scripts escritos em linguagem nativa ou em Python (usando o compilador Jython).

Particularmente achei mais produtivo escrever os scripts de configuração em Python, já que a possibilidade de encontrar outro desenvolvedor conhecedor desta linguagem é bem maior.

O WSADMIN pode ser encontrado no Websphere Application Server à partir da versão 6.1 e o executável do seu utilitário pode ser encontrado no caminho abaixo

SDP\runtimes\base_vXX\profiles\AppSrvXX\bin

Lá poderão ser encontrados os executáveis wsadmin.bat para Windows ou wsadmin.sh para plataforma *NIX.

Escrevendo scripts de configuração

O WSADMIN pode executar scripts inline (na linha de comando) ou armazenados em um arquivo. Começaremos escrevendo scripts inline através do comando abaixo:

wsadmin.bat -lang jython -c {COMMANDO}

Vamos começar listando as aplicações instaladas no seu servidor através do comando AdminApp.list(). Observe abaixo:

wsadmin.bat -lang jython -c "print AdminApp.list()"

Para listar as URLs configuradas no seu ambiente, podemos executar o comando abaixo:

wsadmin.bat -lang jython -c "print AdminConfig.list('URL')"

Configurando recursos no servidor

Para configurar novos recursos no servidor começaremos a armazenar os comandos em arquivos e executá-los através da linha de comando. Precisamos fazer isso pois o script começará a ficar verboso.

Para executar um arquivo de comando execute o comando abaixo:

wsadmin.bat -lang jython -f {PATH DO ARQUIVO}

Vamos criar um arquivo python com os comando abaixo. Vou chama-lo de url.py:

name = ['name', 'URL1']
spec = ['spec', "Put the spec here"]
urlAttrs = [name, spec]
newurlp = AdminConfig.getid('/Cell:mycell/Node:mynode/URLProvider:URLP1/')
print AdminConfig.create('URL', newurlp, urlAttrs)

Em seguida executaremos ele com o comando:

wsadmin.bat -lang jython -f url.py

Observer que para recuperarmos o nome do URLProvider precisamos saber o nome da célula, do nó e enfim do URLProvider. O problema de adotar essa abordagem é que seu script ficará preso ao host em qual foi construído.

Observe a abordagem abaixo:

#Dados Basicos do Servidor
server = AdminControl.queryNames('node='+AdminControl.getNode()+',type=Server,*')
serverName = AdminControl.getAttribute(server, "name")
nodeName = AdminControl.getNode()
cellName = AdminControl.getCell()

server = AdminConfig.getid('/Server:' + serverName)

#URLs
urlProvider = AdminConfig.getid('/Cell:' + cellName + '/URLProvider:Default URL Provider')
AdminConfig.create('URL', urlProvider, [['name', 'google'], ['jndiName', 'url/google'],['spec', 'http://www.google.com.br/']])
AdminConfig.create('URL', urlProvider, [['name', 'facebook'], ['jndiName', 'url/facebook],['spec', 'http://www.facebook.com/']])

Nesse novo exemplo foram criados duas novas URLs. Este script poderá ser executado em qualquer host, independente da sua configuração.

Executando o seu script diretamente do RAD (Rational Application Developer)

Uma maneira mais produtiva de executar seus scripts em ambiente de desenvolvimento pode ser utilizando o IBM RAD. Uma vez que já tenha um profile configurado, poderá executá-lo diretamente da aba servidores conforme a imagem abaixo:

Na janela que abrir basta agora localizar o script no Workspace ou no seu Filesystem.

Conclusão

Mitigar o risco de perder ou ganhar um recurso durante um projeto é uma tarefa difícil. Automatizar tarefas cotidianas é uma opção, muito útil para dinamizar sua equipe. Perde-se um tempo considerável ao criar esse tipo de script portanto deve-se considerar a necessidade e o valor que esse investimento vai retornar.

Referencias

IBM

Blog Logo

Allan Larangeiras


Publicado em

Image
Continuar lendo