Você está na página 1de 27

WebSphere Application Server 7.

0
Intro Laboratrios

WME Web Hosting Support

Gustavo Cezar gcezar@br.ibm.com

Configurando o ambiente Instalando o WAS 7.0 1 Execute o script launchpad.bat para iniciar o programa de instalao do WAS 7.0; 2 Na tela de boas vindas, selecione a instalao do componente WebSphere Application Server, veja que nessa tela tambm possivel chamar a instalao do IHS e do plugin. Clique em Launch the installation wizard for WebSphere Application Server Network Deployment
Obs: a partir da versao 6.1 o IHS e o plugin no vem mais empacotados no mesmo arquivo de instalao do WAS, para instala-los preciso baixar o pacote de suplementos

3 Ser iniciado o assistente para Instalao do WAS, clique em next na tela de apresentao e aceite os termos da licena. Em seguida o assistente verificar se sua mquina possui os pr-requisitos necessrios para instalao. Se estiver tudo ok, clique em next para avanar; 4 Na prxima tela, selecione o diretrio de instalao do WAS. Se vc estiver trabalhando com Windows, procure deixar no seguinte diretrio: c:\WebSphere\AppServer. Caso voc esteja trabalhando com Linux: /opt/WebSphere/AppServer

5 Na tela seguinte, selecione Install the Sample applications, pois as aplicaes sero utilizadas no treinamento:

6 Na prxima tela, ser solicitado o tipo de environment que ser criado. Selecione um environment do tipo Application Server e clique em Next:

7 Desabilite a opo Enable Administrative Security:

7 Ser exibido um resumo com os dados da instalao, clique em Next para instalar.

Configurando o ambiente Criando um profile de Deployment Manager 1 Execute o aplicativo Profile Management Tool, atravs do seguinte binrio: <WAS_HOME>/bin/ProfileManagement/pmt.bat Windows <WAS_HOME>/bin/ProfileManagement/pmt.sh Linux/Unix 2 Na tela de boas vindas clique no botao Launch Profile Management Tool 3 O nosso primeiro passo ser criar um profile de Deployment Manager, clique em Create:

4 Selecione a opo Management e clique em Next para avanar:

5 Na tela seguinte, selecione o botao para criao de profile de Deployment Manager e clique em Next:

6 Em profile creation options, escolha a opo Typical profile creation;

7 Na proxima tela, desabilite a opo Enable administrative security e clique em Next; 8 Na tela seguinte, veremos um resumo com os dados da criao do profile, clique em Create para iniciar:

JEE Visualizando os Deployment Descriptors da app PlantsByWebSphere 1 Inicie o appserver criado no exercicio anterior com o script startServer: Inicie o command prompt do Windows ou execute na linha de comando do Linux cd <WAS_HOME>/profiles/<PROFILE_NAME>/bin startServer.bat server1 (startServer.sh para Linux) 2 Aps a inicializao do AppServer, acesse a console administrativa atravs do seu Web Browser: http://localhost:9060/admin 3 Devido segurana do WAS no estar habilitada, voc poder fornecer qualquer valor no campo login:

4 Na console, acesse a opo Applications > Applications Types > Websphere enterprise applications. Ao selecionar essa opo, a rea de workspace exibir as apps instaladas. Clique sobre a aplicao PlantsByWebSphere:

5 Sero exibidas as configuraes da aplicao. Para que possamos visualizar o deployment descriptor do mdulo .ear, clique no link View Deployment Descriptor.

6 Veja que a aplicao possui dois mdulos Web (PlantsByWebSphere.war e PlantsGallery.war) e um mdulo EJB (PlantsByWebSphereEJB.jar);

7 Iremos agora visualizar o deployment descriptor do mdulo web denominado PlantsByWebSphere.war, para isso navegue novamente para a rea onde podemos exibir as configuraes da app PlantsByWebSphere: Applications > Applications Types > Websphere enterprise applications > PlantsByWebSphere; 8 Agora selecione a opo Manage Modules, voc ver os mdulos Web que pertencem a essa app:

9 Selecione o mdulo PlantsByWebSphere.war e em seguida clique no link View Deployment Descriptor, dessa forma ser exibido o arquivo web.xml do mdulo web referido. Veja que nele esto mapeados os servlets utilizados pelo mdulo web alm de outros recursos tais como security constraints, etc

WAS 7.0 Visualizando a rvore JNDI 1 Aps o start do seu appserver, acesse a console administrativa e navegue at a rea de configurao do seu application server: Servers > Server Types > WebSphere application servers > server1 2 Na rea de workspace, expanda o link ports:

3 Tome nota do valor para a porta BOOTSTRAP_ADDRESS que a porta utilizada para consulta de nomes na rvore JNDI do Application Server; 4 Acesse o prompt de comando e navegue at o diretrio bin do seu profile: cd <WAS_HOME>/profiles/<PROFILE_NAME>/bin 5 Execute o binrio dumpNameSpace.bat passando como parametros o hostname e a porta de BOOTSTRAP do appserver: dumpNameSpace.bat host localhost port 9813

wsadmin Trabalhando com o wsadmin 1 Execute o wsadmin.bat no diretrio bin do seu profile, dessa forma voc ter acesso ao prompt para envio de comandos:
<WAS_HOME>/profiles/<PROFILE_NAME>/bin/wsadmin

2 Primeiro iremos visualizar o nome do host onde o wsamin est conectado, esse comando muito til quando voc trabalhar em um ambiente amplo, pois dessa forma poder descobrir o nome do host onde est rodando o deployment manager a fim de se conectar console administrativa: $AdminControl getHost 3 Em seguida iremos verificar o status da applicao PlantsByWebSphere, para isso execute o comando abaixo. Caso o comando retorne o valor de um Mbean, significa que a aplicao est up.
$AdminControl completeObjectName type=Application,name=PlantsByWebSphere,*

Exemplo de sada :
WebSphere:name=PlantsByWebSphere,process=server1,platform=dynamicproxy,node=gcez arNode04,J2EEName=PlantsByWebSphere,Server=server1,version=6.0.2.25,type=Applica tion,mbeanIdentifier=cells/gcezarNode01Cell/applications/PlantsByWebSphere.ear/d eployments/PlantsByWebSphere/deployment.xml#ApplicationDeployment_1216055217171, cell=gcezarNode01Cell

4 Tente agora parar a aplicao utilizando a console administrativa: Applications > Enterprise Applications, selecione a aplicao PlantsByWebSphere e clique em stop. Em seguida execute novamente o comando anterior, voc ver que o comando no retornar resultados; 5 Agora iremos exportar o .ear da aplicao PlantsByWebSphere para o c:\ do seu Hard Disk, para isso, execute o comando abaixo:
$AdminApp export PlantsByWebSphere C:/PlantsByWebSphere.ear

6 Verifique atravs do Windows Explorer que o arquivo foi criado no diretrio c:\ da sua mquina; 7 No prximo exemplo de utilizao do wsadmin, iremos verificar a verso da instancia WAS que est sendo utilizada:
set server [$AdminControl completeObjectNametype=Server,name=server1,node=FLAVIOAGNode01,*] $AdminControl getAttribute $server serverVersion

8 Aps executar os dois commandos acima voc ter um output com os fixes e a verso instalada do WAS:

9 A prxima tarefa ser alterar o valor da porta de bootstrap do nosso AppServer, veja que o valor atual dessa configurao 2811 (Servers > AppServers > server1 > ports):

10 Em seguida, execute o comando para mudar o valor para um outro valor, por exemplo 2810:
$AdminTask modifyServerPort server1 {-nodeName FLAVIOAGNode01 -endPointName BOOTSTRAP_ADDRESS -host FLAVIOAGNode01 -port 2810}

11 Salve as modificaes com o comando abaixo:


$AdminConfig save

12 Agora acesse a sua console administrativa e verifique o novo valor da porta de BOOTSTRAP (Servers > AppServers > server1 > ports):

13 Agora iremos executar um script para que voc possa visualizar a forma de execuo de scripts jacl ou jython atravs do wsadmin. Para isso, crie um arquivo displayHeap.jacl com o seguinte conteudo: set servers [$AdminConfig list Server] foreach server $servers { puts "==== > Application Server : [lindex $server 0]" set jvm [$AdminConfig list JavaVirtualMachine $server] set output [$AdminConfig show $jvm {initialHeapSize maximumHeapSize}] puts $output puts " " puts " ========================================================== " } 14 Esse script exibe a configurao de initial e de maximum heap size em todas as JVMs da sua clula, como vamos executar isso na sua clula com o standalone server, ento voc ver apenas os valores para o server1. 15 Para executar o script, rode o wsadmin.bat com a flag f , exemplo: cd <WAS_HOME>/bin wsadmin.bat -f displayHeap.jacl 16 Exemplo de execuo: C:\WAS7\WebSphere\AppServer\profiles\AppSrv01\bin>wsadmin.bat -f displayHeap.jac l WASX7209I: Connected to process "server1" on node gcezarNode01 using SOAP connec tor; The type of process is: UnManagedProcess ==== > Application Server : server1(cells/gcezarNode01Cell/nodes/gcezarNode01/s ervers/server1|server.xml#Server_1183122130078) {initialHeapSize 0} {maximumHeapSize 0} =================================================== =======

Console Administrativa Trabalhando com a console administrativa 1 Inicie o seu Application Server com o script startServer
cd <WAS_HOME>/profiles/<PROFILE_NAME>/bin startServer server1

2 Acesse a console administrativa utilizando o seu browser:


http://localhost:9060/admin

3 Navegue at as configuraes do server1 para que seja possvel visualizar o endereo da porta do Webcontainer do AppServer: Servers > Application Servers > server1 > Ports

4 Com o valor da porta do Webcontainer do server1, voc poder acessar a aplicao PlantsWebSphere que est publicada nesse application server, para isso, acesse o seguinte endereo no seu navegador web:
http://localhost:9080/PlantsByWebSphere

5 Agora iremos parar a aplicao PlantsByWebSphere utilizando a console administrativa: Applications > WebSphere Enterprise Applications, selecione a app PlantsByWebSphere e clique em stop. 6 Em seguida, tente acessar novamente a aplicao utilizando a porta do Webcontainer do server1, voc receber um http 404 (Not Found). Veja que voc parou apenas a aplicao, o application server continua started; 7 Agora iremos fazer uma alterao em um valor da configurao da app PlantsByWebSphere, iremos alterar o valor do peso no start do Application Server, o valor default 1 e applicaes com valores menores sero as primeiras a serem iniciadas durante o startup;

8 Para isso, acesse: Applications > WebSphere Enterprise Applications, click sobre PlantsByWebSphere para visualizar as configuraes da app, em seguida click sobre o link Startup behavior, procure a propriedade Startup order e mude para 3 por exemplo. Aps realizar essa alterao, click em ok para validar as modificaes;

9 O prximo passo salvar as modificaes realizadas, dessa formas as modificaes sero gravadas no repositrio de arquivos xml do WAS e sero lidas no prximo restart do AppServer, ento click sobre o boto Salvar na rea de mensagens (topo) da console administrativa, na tela seguinte click em salvar caso queira mesmo salvar as modificaes ou em discard caso queira desconsiderar as modificaes realizadas;

10 Iremos agora verificar quais so os recursos utilizados pela aplicao PlantsByWebSphere, acesse ento a rea de configurao da app: Applications > WebSphere Enterprise Applications, click sobre PlantsByWebSphere e em seguida click no link: Resource references 11 Voc ver que a app referencia o datasource que possui nome JNDI = jdbc/PlantsByWebSphereDataSource :

12 Com o valor do nome JNDI em mos, voc poder visualizar as propriedades desse datasource na rea de resources: Resources > JDBC Providers, selecione o escopo de server e click em apply dessa forma voc visualizar os JDBC Providers configurados a nvel de server. Selecione em seguida o JDBC Provider chamado Samples Derby JDBC Provider (XA). 13 Agora s clicar em datasource para que voc visualize os datasources configurados para Samples Cloudscape JDBC Provider:

14 Nessa rea, voc poder realizar um teste para verificar se existe conectividade entre o WAS e a database configurada naquele datasource, para realizar esse teste, selecione o datasource e click em Test connection:

IHS Instalando o IHS 1 Execute o script launchpad.bat para chamar o programa de instalao do WAS 6.0; 2 Na tela de boas vindas, selecione a instalao do componente IHS, veja que nessa tela tambm possivel chamar a instalao do plugin;

3 Click em em next na tela de boas vindas e aceite os termos da licena, na terceira tela ser exibido o local de instalao do IHS:

4 Na tela seguinte escolha a instalao tpica; 5 Na tela de configurao do IHS como servio, selecione o tipo de inicializao Manual, dessa forma o IHS no iniciar no startup do sistema operacional, caso a mquina em que voc esteja trabalhando seja um servidor de produo, ideal que o tipo de inicializao seja setado como Automtico:

6 Na tela seguinte ser exibido um resumo da instalao, click em next para iniciar o processo; 7 Ao trmino do processo de instalao do IHS, voc ter a possibilidade de iniciar a instalao do Plugin do servidor Web, que ser o responsvel, dentre outras atividades, pelo redirecionamento dos requests feitos no WebServer para o devido Application Server:

8 O primeiro passo ser desabilitar a opo Roteiro de instalao

9 Em seguida, concorde com os termos da licena e prossiga na tela de verificao dos pr-requisitos do sistema; 10 Na tela seguinte ser necessrio selecionar o tipo de servidor web ao qual ser instalado, selecione IBM HTTP Server v6:

11 Selecione agora o tipo de cenrio, como o servidor web estar rodando localmente devemos selecionar a opo Mquina local:

12 Agora a hora de especificar o diretrio de instalao do plugin:

13 Em seguida, especifique onde o WAS est instalado na sua mquina:

14 Fornea a localizao do arquivo de configurao do servidor IHS: httpd.conf. Arquivo esse que fica localizado debaixo de: <IHS_HOME>/conf :

15 Especifique um nome para o seu servidor web (ex: webserver1);

16 Por ultimo, verifique o local onde estar disponibilizado o arquivo de configurao do plugin (plugin-cfg.xml), esse arquivo conter informaes importantes para o redirecionamento dos requests para os devidos Application Servers:

17 Click em avanar para que o plugin seja instalado;

IHS Adicionando o servidor web na clula 1 Aps a instalao do IHS e do plugin, iremos agora adicionar o servidor web na clula, para isso abra um windows explorer e navegue at: <PLUGIN_HOME>/bin: C:\IBM\WebSphere\Plugins\bin 2 Localize o arquivo configurewebserver1.bat e faa uma cpia do mesmo; 3 Copie o arquivo para o diretrio bin do seu profile e execute-o: C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin 4 O Script adicionar o webserver1 na sua celula, voc ver um output parecido com esse abaixo :
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>"C:\WebSphere\AppServer\profiles\Ap pSrv01/bin/wsadmin.bat" -f "C:\IBM\WebSphere\AppServer\bin\configureWebserverDefinit ion.jacl" webserver1 IHS "C:\\IHS" "C:\\IHS\\conf\\httpd.conf" 80 MAP_ALL "C:\\W ebSphere\\Plugins" managed FLAVIOAGNode02 FLAVIOAG.br.ibm.com windows WASX7209I: Conectado ao processo "server1" no n gcezarNode02 utilizando o conec tor SOAP; O tipo de processo : UnManagedProcess WASX7303I: As seguintes op?es s?o transmitidas para o ambiente de script e est? o disponveis como argumento armazenado na varivel argv: "[webserver1, IHS, C:\ \IHS, C:\\IHS\\conf\\httpd.conf, 80, MAP_ALL, C:\\IBM\WebSphere\\Plugins, managed, FLAVIOAGNode02, FLAVIOAG.br.ibm.com, windows]" Start computing the cell Type. StandAlone profile found. Input parameters: Web server name Web server type Web server install location Web server config location Web server port Map Applications Plugin install location Web server node type Web server node name Web server host name Web server operating system webserver1 IHS C:\IHS C:\IHS\conf\httpd.conf 80 MAP_ALL C:\WebSphere\Plugins unmanaged webserver1_node gcezar.br.ibm.com windows

Creating the unmanaged node webserver1_node . Unmanged node webserver1_node is created. Creating the web server definition for webserver1. Parameters for administering IHS web server should be updated using wsadmin scri pt or admin console. Web server definition for webserver1 is created. Start computing the plugin properties ID. Plugin properties ID is computed. Start updating the plugin install location. Plugin install location is updated. Start updating the plugin log file location. Plugin log file location is updated.

Start saving the configuration. Configuration save is complete. Computed the list of installed applications. Processing the application DefaultApplication. Get the current target mapping for the application DefaultApplication. Computed the current target mapping for the application DefaultApplication. Start updating the target mappings for the application DefaultApplication. Target mapping is updated for the application DefaultApplication. Processing the application PlantsByWebSphere. Get the current target mapping for the application PlantsByWebSphere. Computed the current target mapping for the application PlantsByWebSphere. Start updating the target mappings for the application PlantsByWebSphere. Target mapping is updated for the application PlantsByWebSphere. Processing the application SamplesGallery. Get the current target mapping for the application SamplesGallery. Computed the current target mapping for the application SamplesGallery. Start updating the target mappings for the application SamplesGallery. Target mapping is updated for the application SamplesGallery. Processing the application ivtApp. Get the current target mapping for the application ivtApp. Computed the current target mapping for the application ivtApp. Start updating the target mappings for the application ivtApp. Target mapping is updated for the application ivtApp. Processing the application query. Get the current target mapping for the application query. Computed the current target mapping for the application query. Start updating the target mappings for the application query. Target mapping is updated for the application query. Start saving the configuration. Configuration save is complete. C:\WebSphere\AppServer\profiles\AppSrv01\bin>

5 Aps a execuo do script acesse a console administrativa e verifique se o webserver foi adicionado: Servers > WebServers:

IHS Acessando a aplicao com a utilizao do IHS 1 Primeiro iremos verificar o arquivo de configurao do IHS para nos certificar que o IHS estar lendo o arquivo plugin-cfg.xml, para isso navegue: <IHS_HOME>/conf e abra o arquivo httpd.conf 2 Ao abrir o arquivo, verifique as duas ultimas linhas que constam no final do mesmo:
LoadModule was_ap20_module "C:\WebSphere\Plugins\bin\mod_was_ap20_http.dll" WebSpherePluginConfig "C:\WebSphere\AppServer\profiles\AppSrv01\config\cells\gcezarNode01Cell\nodes\webserver1_ node\servers\webserver1\plugin-cfg.xml"

3 A primeira linha l a biblioteca reponsvel pela execuo do plugin e a segunda a database de configurao do mesmo. 4 necessrio mapear os mdulos web das applicaes para o devido webserver, dessa forma o plugin ser atualizado com as configuraes do mapeamento, para realizar o mapeamento: Applications > Enterprise Applications > PlantsByWebSphere > Map modules to servers. 5 Veja que a app est atualmente mapeada apenas para o server1:

6 Selecione os dois mdulos web e faa o mapeamento dos mesmos para o webserver1 e para o server1, faa a alterao e salve as modificaes:

7 Agora iremos acessar a console administrativa e re-gerar o plugin, dessa forma o arquivo plugin-cfg.xml ser atualizado: Servers > Web Servers > Generate Plugin

8 Aps isso, inicie o webserver: Start > Programs > IBM HTTP Server > Start IHS 9 Agora abra o seu navegador Web e digite o seguinte endereo: http://localhost/PlantsByWebSphere

ISA Trabalhando com o ISA 1 Voc como administrador WAS foi envolvido em um chamado onde o customer reclama que a aplicao est apresentando problemas de OutofMemory. Instale o ISA na sua mquina e a partir da ferramenta instale os produtos para determinao de problemas para WebSphere Application Server v7.0 2 O customer lhe enviou o arquivo native_stderr com posse desse arquivo faa a analise do arquivo atravs da ferramenta IBM Pattern Modeling and Analysis Tool for Java Garbage Collector. A aplicao est tendo problemas de heap exausthing ou heap fragmentation ? - native_stderr.log.201004210201.lppwa781 3 Em um segundo ticket, o customer reclamou de um problema similar de OutofMemory, porm nesse caso o customer extraiu o Heapdump e o javacore no momento em que o problema estava ocorrendo, arquivos: - heapdump.20100119.125929.2421.phd - javacore.20100119.130004.2421.txt 4 Abra o ISA e analise o heapdump com a ferramenta IBM Monitoring and Diagnostic Tools for Java - Memory Analyzer, verifique quais so as classes que mais esto utilizando a rea de memria do heap e qual o tamanho consumido.