WLST pohjainen OSB domainin luonti

Oi WLST kuinka sinua rakastan, anna kun lasken ne tavat.. Vaikka skriptaus onkin se tapa jota ehdottomasti tulee suosia, niin aina välillä tulee hetkiä jolloin haluat tehdä asiat manuaalisesti, eli käyttöliittymän ym. työkalujen avulla. Millaisia nämä hetket ovat? Kun olet hakannut päätäsi seinään tuntien ja tuntien ajan yrittäen saada klusteroitua ympäristöä syntymään toimivalla ja halutulla konfiguraatiolla. Ja joskus jopa sen epäonnistuneen kerran jälkeen kun yritit saada aikaan mahdollisimman yksinkertaisen, vakiomallisen yhden klusterin sisältävän, oletusasetuksilla olevan domainin.

WLST skripti klusteroidun domainin luontiin on hyvin yksinkertainen, vai mitkä? Ajat vain nämä komennot:

  1. readTemplate(WL_HOME + ’/common/templates/wls.jar’)
  2. <luo klusteri ja managed serverit jne>
  3. writeDomain(DOMAIN_HOME)

Helppoa kuin heinänteko. Ainakin jos et ollut tekemässä Oracle Service Bus domainia, koska sitten sinulla tulee olemaan paljon vaikeampaa kuin oletitkaan. On olemassa joitain osaratkaisuita ja ehdotuksia näiden ongelmien kiertämiseksi, mutta on myös tapa tehdä domain käyttäen standardeja OSB template-kirjastoja.

Ylhäältä katsottuna prosessi kulkee näin:

  1. readTemplate(WL_HOME + ’/common/templates/wls.jar’)
  2. addTemplate(WL_HOME + ’/common/templates/applications/wls_webservice.jar’)
  3. addTemplate(OSB_HOME + ’/common/templates/applications/wlsb.jar’)
  4. delete(’osb_server1’, ’Server’)
  5. <luo klusteri ja managed serverit jne>
  6. <!! uudelleen kohdenna kaikki resurssit !!>
  7. writeDomain(DOMAIN_HOME)

Eli temppu piilee resurssien uudelleen kohdentamisessa (target). Ja kuinka se sitten tehdään? Vastaus löytyy (kuten usein on tapana) Oracle Forumeilta, missä henkilö/alias nimeltä PetervanNesatTheFutureGroup antaa osaratkaisun jolla tämä homma hoidetaan. Loppujen lopuksi kyseessä on WLST Offline skriptin pätkä joka kaivaa resurssien nimet, looppaa ne läpi ja uudelleen kohdentaa resurssit. Tämä siksi, että perustemplatet eivät kohdenna resursseja oikein klusteriin, vaikka näin teoriassa pitäisikin tapahtua.

Lista uudelleen kohdennettavista resursseista:

  • Osa Application Deploymenteista
  • Kaikki Libraryt
  • Kaikki Startup class-konfiguraatiot
  • Kaikki Shutdown class-konfiguraatiot

Ja mikä on kohdennettavien sovelluksien lista? Sovellukset jotka kohdennetaan vain yhteen (ensimmäiseen) Management Server:iin (eli domainin singleton palvelut), ovat: ALSB Cluster Singleton Marker Application, ALSB Domain Singleton Marker Application sekä Message Reporting Purger.

Sovelluksen jotka kohdennetaan vain Admin server:iin, ovat: ALSB UDDI Manager ja FMW Welcome Page Application#11.1.0.0.0.

Ja klusteriin kohdennetaan: ALSB Coherence Cache Provider, ALSB Resource, ALSB Subscription Listener, ALSB WSIL, JMS Reporting Provider sekä WS Transport Async Applcation.

Kaikki loput resurssit kohdennetaan Admin server:iin ja klusteriin. Ja tämän kaiken jälkeen sinulla on oikein konfiguroitu, klusteroitu OSB domain. Ainiin! Se vanha bugi joka aiheutti XACMLAuthorizerInit.ldift ja DefaultAuthorizerInit.ldift tiedostojen puuttumisen skriptillä luodusta OSB domainista vaikuttaisi olevan korjattu. Aivan mahtavaa!