pondělí 29. července 2013

IBM WebSphere data source password

Často se můžeme dostat do stavu, že nevíme heslo k existujícímu Data Source Name u Aplikačního serveru IBM WebSphere. Hesla se ukládají do XML souboru a jsou šifrovaná.

Najdeme soubor:

cd /ibm/was
find . -name security.xml

Najdeme XML entitu authDataEntries

 d="APPDBUSER" password="{xor}DDIaNRs2Ew==" description="APPDBUSER DataSource authentication alias"/>

Dešifrujeme heslo  :-) díky online decoderu
 
http://www.sysman.nl/wasdecoder/

středa 24. července 2013

Disabling global security in the WebSphere Application Server

Dnes se mi povedlo zablokovat přístup do WAS konzole :-( Jediným řešením bylo vypnout Global Security a provést problematicke nastavení WAS a opět Securitu zapnout.

Popis problému je zde.

  1. Locate the security.xml file. The file is in the following directory:
    WAS_NODE_PROFILE_HOME/config/cells/CELL
    where WAS_NODE_PROFILE_HOME is the directory of the WebSphere Application Server, and CELL is the name of the cell.
  2. Edit the security.xml file:
    1. Search for the line that begins with the following tag:
    2. In that line, search for the enabled attribute, and change the value to false.
  3. Save the security.xml file.
  4. Restart the WebSphere Application Server. Global security is now disabled.

WebSphere 7 + OSGi/JPA 2.0 Feature Pack

Řešil jsem v práci opět takovej bombónek s WAS 7. Ve WebSphere 7 je verze
Java Persistence API (JPA)  1.x. Zmíněný framework je implementován např. pomocí OpenJPA. Ale pokud vyžadujeme APJ 2.x je nutno do WebSphere instalovat Feature Pack (FeP). Seznam známých FeP je na stránkach IBM WebSphere Application Server Feature Packs Family.

Instaloval jsem tedy FeP

WebSphere Application Server V7 Feature Pack for OSGi Applications and Java Persistence API 2.0

Při snaze rozšíření stáhnout od IBM dostavám krásnou hlášku :-)

The link which brought you here is invalid. Please reload the previous page and try again.

message code: 57e

Po době pátrání a laborování se vydávám cestou instalace FeP pomocí IBM Instalation Managera což je Java GUI SW pro instalaci a aktualizaci IBM produktů. Po instalaci a aktualizaci samotného IBM IM na aktuální verzi  1.6.3.1, dle instrukcí přidávám repositáře pro IBM WebSphere. A posléze nainstaluji i samotné požadované rozšíření. V Product Information je FeP videt.

IBM IM lze instalovat jak pod rootem ./install nebo pod userem pod kterým běží WAS ./userinst. Instalace si ukláda nějaká data do /etc a /var, v případě userinst do home adresáře usera /home/was/etc a /home/was/var.

Pro otestování, jakou verzi JPA WAS používá použijeme následující příkaz.

was@wastest ~]$ /ibm/app/was/profiles/AppSrv01/bin/wsjpaversion.sh
WSJPA 1.2.1-SNAPSHOT
version id: WSJPA-1.2.1-SNAPSHOT-r1118:2591
revision: 1118:2591

OpenJPA 1.2.3-SNAPSHOT
version id: openjpa-1.2.3-SNAPSHOT-r422266:1395723
Apache svn revision: 422266:1395723

os.name: Linux
os.version: 2.6.18-308.el5
os.arch: amd64

java.version: 1.6.0
java.vendor: IBM Corporation

java.class.path:
    /ibm/app/was/dev/JavaEE/j2ee.jar
    /ibm/app/was/plugins/com.ibm.ws.jpa.jar
    /ibm/app/was/plugins/com.ibm.ws.prereq.commons-collections.jar

user.dir: /home/was

A zde je problém, protože WAS používá své interní JPA a nikoliv naše instalované. Ale jistá aplikace vyžaduje verzi JPA 2.x.

Dohledal jsem si patřičný JAR, který JPA ve WAS řeší.

[was@wastest was]$ cd /ibm/app/was/profiles/AppSrv01/ && find . -name com.ibm.ws.jpa.jar
./plugins/com.ibm.ws.jpa.jar
./feature_packs/jpa/plugins/com.ibm.ws.jpa.jar


Pokud chceme používat FeP verze JPA musíme ještě rozšířit profil WAS.

./manageprofiles.sh -augment -profileName AppSrv01 -templatePath /ibm/app/was/profileTemplates/JPA/default.jpafep/
INSTCONFSUCCESS: Zvětšení profilu proběhlo úspěšně.

./manageprofiles.sh -listAugments -profileName AppSrv01
Registrované šablony rozšíření
    /ibm/app/was/profileTemplates/JPA/default.jpafep

[was@wastest bin]$ /ibm/app/was/profiles/AppSrv01/bin/wsjpaversion.sh
WSJPA 2.0.1-SNAPSHOT
ID verze: WSJPA-2.0.1-SNAPSHOT-r1118:2749
Revize dílčí verze rozhraní JPA platformy WebSphere: 1118:2749

OpenJPA 2.0.2-SNAPSHOT
ID verze: openjpa-2.0.2-SNAPSHOT-r422266:1484287
Revize dílčí verze produktu Apache: 422266:1484287

os.name: Linux
os.version: 2.6.18-308.el5
os.arch: amd64

java.version: 1.6.0
java.vendor: IBM Corporation

java.class.path:
    /ibm/app/was/feature_packs/jpa/dev/jpa_api.jar
    /ibm/app/was/dev/JavaEE/j2ee.jar
    /ibm/app/was/feature_packs/jpa/plugins/com.ibm.ws.jpa.jar
    /ibm/app/was/plugins/com.ibm.ws.prereq.commons-collections.jar

user.dir: /ibm/app/was/bin


Po instalaci FeP jsme dotázáni, zda chceme pustit GUI Profile Manager a v něm můžeme rozšíření profilu provést s tím, že nám aplikace napoví, jaky profileTemplate máme použít.