vrijdag 29 oktober 2010

Installatie Oracle SOA Suite (4)

De installatie is natuurlijk niet voltooid zolang je nog geen webservice hebt aangemaakt.
Dus heb ik met JDeveloper een simpele PL/SQL procedure gemaakt, genaamd HelloWorld, die ik vervolgens ga "publishen" als een webservice, met de daarvoor bestemde wizard.
Helaas faalt het met de melding "Error in database webservices assembly"... dus gaan we googlen en vinden we dat SQLJUTL niet met de Oracle XE database meekomt, en dat we die dus eerst nog moeten installeren, zie http://susanduncan.blogspot.com/2006/05/creating-plsql-web-service-from-oracle.html.
Dus dat doen we dan maar: we installeren het script sqljutl.sql, dat in de map <jdev_home>\sqlj\lib staat. Deze laadt de benodidgde package in het sys schema.
Helaas blijkt daar niets (meer) van waar, en OTN vermeldt dat voor JDeveloper 11.1.1.3.0 versie 10.2.0.4 van de Oracle DB en hoger worden ondersteund, terwijl de laatst beschikbare versie van Oracle XE 10.2.0.1 is :)
Haha, kortom: de door Oracle aanbevolen en samengeraapte componenten blijken dus niet samen te kunnen werken voor het publishen van een PL/SQL procedure naar een webservice. We moeten een list verzinnen.
Het gaat als het goed is om de component die een Java wrapper class genereert voor onze PL/SQL procedure. Misschien kunnen we deze met het handje inkloppen :)
Laat maar.
We maken wel een Java class die we gaan publiceren als webservice. En dat lukt inderdaad!

Maar we willen natuurlijk meer, en daarvoor moeten we de SOA Suite extensions downloaden. Die vind je door in JDeveloper vanuit het help-menu te kiezen: check for updates en dan de Oracle Fusion Middleware Products te installeren.
Vervolgens selecteren we de Oracle SOA Suite Composite Editor 11.1.1.3.0.
Nu kunnen we hopelijk BPEL gaan gebruiken. Helaas blijkt hij niet te installeren.....

vrijdag 15 oktober 2010

Installatie Oracle SOA Suite (3)

Eindelijk geregeld dat ik een dag aan iets anders mag besteden dan het buffelen op het project. Noem het Research & Development, noem het productontwikkeling, of anders, ik ben blij dat mijn werkgever bereid is te investeren in innovatie op dit vlak.

Dus ben ik aan de slag gegaan. Virtuele omgeving van collega gehad, die helaas net iets te krap was (4GB ipv de minimale 15GB), dus voorlopig toch maar weer even door op de laptop.
Helaas kan deze slecht omgaan met de veelheid aan bestanden, dat is althans mijn vermoeden, waardoor ik om de haverklap een not responding explorer moet afsluiten, óf vele minuten wachten... (indexing uitzetten helpt ook niet).

Uiteindelijk is het toch gelukt het SOA-generic zip-bestand uit te pakken (ofm_soa_generic_11.1.1.3.0_disk1_1of1.zip), dat overigens de SOA-suite runtime installeert.
Commando: setup.exe -jreLoc JRE_LOCATION (as Administrator), waarbij JRE_LOCATION de map C:\Oracle\Middleware\jdk160_18 is. Logica hiervan? Wie het snapt, mag het zeggen...
(...)
Ik blijk hiermee de patchset te installeren...
...en voordat je deze installeert moet je eerst ofm_soa_generic_11.1.1.2.0....blabla installeren. :)
Dus downloaden, uitpakken en installeren.....
"Oracle Fusion Middleware 11g SOA Suite Installation" lijkt nu te lukken :) en is gelukt!!!
Nu de patch nog installeren, dus de 11.1.1.3.0.... met hetzelfde commando. En ook dat verloopt succesvol!
Op dus naar de volgende stap: het configureren van de SOA Suite en het aanmaken van een "weblogic domain".
De SOA Suite is trouwens geïnstalleerd in de default map C:\Oracle\Middleware\Oracle_SOA1.
Van daaruit voeren we uit: common\bin\config.cmd.
Nu verschijnt het scherm waarmee een domain kan worden aangemaakt. We volgen de instructies en maken het domain aan met de default naam "base_domain". Deze blijkt echter al te bestaan, dus maken we in plaats daarvan "base_domain2" aan. Administrator wordt "weblogic" met als wachtwoord "manager1".
Nu de componenten JDBC-configuratie. Dit is een puzzeltje, maar uiteindelijk lukt het om de juiste schema-owners te vinden: dev_soainfra, dev_orasdpm en dev_mds (2x).
Het is niet te geloven: "Domain started succesfully!"
"Domain Location: C:\Oracle\Middleware\user_projects\domains\base_domain2
Admin Server URL: http://NL20873660:7001"
Start de Admin server dan ook maar ;) en checken met localhost:7001/console of het werkt: ja, hoor.
Laten we dan Oracle BAM ook maar toevoegen aan het domain... we voeren config.cmd nogmaals uit en kiezen deze keer de optie "extend an existing domain". Lukt blijkbaar ook, want er verschijnen geen foutmeldingen....

Nu kunnen we het zaakje starten. Met base_domain2\startWeblogic.cmd start je de administration server, en met base_domain2\bin\startManagedWeblogic.cmd soa_server1 de SOA-server en met hetzelfde commando en bam_server1 als parameter de BAM-server. Er verschijnen wat foutmeldingen die niet fataal lijken te zijn.
Nu op naar het ontwikkelen van applicaties met JDeveloper: het installeren van extensions voor JDeveloper.

Aangezien we op Windows werken, hoeven we slechts jdevstudio11113install.exe uit te voeren. Dus dubbelklikken op dit bestand, en vooral geduld hebben.... zodat de installer opkomt, en na de installatie voeren we meteen maar de quickstart uit, die niet nodig bleek :)
Nu hebben we in het start menu, in de map "Oracle Weblogic" een snelkoppeling naar JDeveloper, dus starten maar.
Er blijkt niks te gebeuren. Is 't een kwestie van geduld? Nog een keer geprobeerd.... en weer niks. Dan als uiterste middel: Run As Administrator gekozen voor JDeveloper, en daar verschijnt-ie.... wel een beetje raar.
Nu maar eens proberen een webservice aan te maken op basis van een PL/SQL procedure.