Parser PHP do Plugin WebSphere para IHS

Um jeito fácil de listar a configuração de URLs e portas configuradas no WebSphere é baixar o arquivo XML de configuração do plugin do IHS e realizar um parse utilizando o código PHP abaixo:

<?php
$xml = simplexml_load_file('plugin-cfg.xml');
   
$json_string = json_encode($xml);
   
$result_array = json_decode($json_string, TRUE);
sort($result_array['VirtualHostGroup']);
foreach ($result_array['VirtualHostGroup'] as $cada) {
    print $cada['@attributes']['Name']."\n";
    sort($cada['VirtualHost']);
    foreach ($cada['VirtualHost'] as $vh) {
        print "\t".$vh['@attributes']['Name']."\n";
    }
}
?>

Inventário de WebSphere

Para levantar informações do WebSphere Application Server (WAS) melhor trabalhar com scripts. E para ajudar nessa tarefa temos o wsadminlib.py, fornecido pela IBM, utilizado no wsadmin.
Caso não tenha acesso ao usuário de execução do WebSphere, você pode usar uma instalação local e conectar-se remotamente ao servidor desejado, por exemplo:
/opt/IBM/WebSphere/AppServer/profiles/AppServer01/bin/wsadmin.sh -lang jython -host 10.1.0.2 -user wasadmin -password 123456
Uma vez conectado ao servidor, vamos carregar as funções da biblioteca:

wsadmin>execfile('wsadminlib.py')

Exemplos de Funções:

 listServerClusters()
 listServersInCluster('clustername')
 listNodes()
 listAllServers()
 print getServerPort('nodename','servername','BOOTSTRAP_ADDRESS')
 print getServerPort('nodename','servername','WC_defaulthost')
 listApplications()
 getClusterTargetsForApplication('appname')
 getApplicationContextRoot('appname')
 getApplicationVirtualHost('appname')

Para obter a ordem de inicialização de cada aplicação, encontrei um script alternativo:
http://daneshmishra.blogspot.com.br/2010/10/jacl-script-to-change-start-weight-of.html