Im voraus ein Hinweis: dieses ist keine für einen Produktionsbetrieb empfohlene Konfiguration. Allerdings kann es nützlich sein, für einen Entwickler-Rechner die komplette SOA- oder BPM-Suite in den Admin-Server zu installieren, um Speicherplatz zu sparen. Das ist nicht ideal, aber eine Alternative falls der entsprechende Rechner zu schwach ausgestattet ist um neben dem Admin- auch den SOA- und den BAM-Server zu betreiben.
Für die BPM-Suite 11.1.1.3 muss zunächst der WebLogic Server 11.1.1.3, die SOA-Suite 11.1.1.2 und das SOA-Suite 11.1.1.3 Upgrade installiert sein. Danach führt man das Repository Creation Utility (RCU) aus. Bis hierher läuft noch alles entsprechend dem Install Guide.
Der eigentliche Trick passiert beim Erstellen der Domain über das Configuration Utility.
Zunächst wählt man die gewünschten Komponenten aus
und gibt den Speicherort an:
Dann wählt man das JDK aus
und konfiguriert die Datenbank-Schemata.
Soweit ist alles noch entsprechend dem Install Guide. Bei der Auswahl der optionalen Konfiguration werden jetzt aber sowohl der Admin-Server, als auch die Managed Server ausgewählt
Den Admin-Server kann man so lassen,
aber der BAM-Server und der SOA-Server müssen gelöscht werden.
so dass die Konfigurationsseite wie folgt aussieht:
Den Cluster habe ich an dieser Stelle ausgelassen,
Aber die Maschine sollte man ruhig konfigurieren:
In Ermangelung anderer Server bleibt dem Konfigurationsassistenten jetzt nichts anderes übrig, als die SOA, BPM und BAM-Komponenten in den Admin-Server zu installieren.
Vor dem Start muss noch die Speicherzuteilung in der setSOADomainEnv.cmd (bzw .sh) angepasst werden, welche sich im Domain-Home unter /bin befindet. Folgende Einstellungen sollten dort gemacht werden, indem die bestehenden Werte entsprechend überschrieben werden:
set JAVA_OPTIONS=%JAVA_OPTIONS%
set DEFAULT_MEM_ARGS=-Xms512m -Xmx512m
set PORT_MEM_ARGS=-Xms512m -Xmx512m
Damit ist die komplette Installation im Admin-Server lauffähig, wenn auch sehr langsam. Wer mehr Speicher erübrigen kann, kann die Werte etwas hochsetzen. Zumindest auf 32-Bit Systemen besteht allerdings die Gefahr, dass der Server dann nicht mehr startet, weil er vom Betriebssystem nicht genug Speicher bekommt.
Freitag, 21. Mai 2010
Mittwoch, 10. März 2010
ADF Mobile Demos für das iPhone verfügbar
Von Oracle gibt es jetzt ein paar ADF Mobile Demos die z.B. direkt vom iPhone aus aufgerufen werden können. Diese finden sich unter http://stshld.oracle.com:8888/demo/faces/home.jspx. Hier ist sehr schön zu sehen, wie iPhone spezifische Bedienelemente eingebunden werden können. Weitere Informationen zu ADF Mobile gibt es auf der entsprechenden OTN Seite.
Montag, 1. März 2010
Kein JNDI-Zugriff mit SOA-Suite 11.1.1.2?
Leider gibt es manchmal ein Problem beim Zugriff auf den JNDI-Tree aus der WebLogic Console. Der entsprechende Link reagiert mit einer Fehlermeldung, hinterher ist der Server-Status nicht mehr RUNNING sondern UNKNOWN.
Hierzu hat Oracle den folgenden Bug eingetragen: "BUG 9049147 - RN:CLICKING ON VIEW JNDI TREE MAKES MANAGED SERVER STATUS TO "UNKNOWN". Bis es hierzu einen offiziellen Fix von Oracle gibt, hilft dieser Workaround:
In der Datei/bin/setDomainEnv.sh oder .cmd muss an die Zeile beginnend mit
JAVA_OPTION der folgende Parameter angefügt werden: -Dweblogic.system.StreamPoolSize=0. Anschliessend sind die Server neu zu starten und das Problem sollte gelöst sein.
Hierzu hat Oracle den folgenden Bug eingetragen: "BUG 9049147 - RN:CLICKING ON VIEW JNDI TREE MAKES MANAGED SERVER STATUS TO "UNKNOWN". Bis es hierzu einen offiziellen Fix von Oracle gibt, hilft dieser Workaround:
In der Datei
JAVA_OPTION der folgende Parameter angefügt werden: -Dweblogic.system.StreamPoolSize=0. Anschliessend sind die Server neu zu starten und das Problem sollte gelöst sein.
Mittwoch, 10. Februar 2010
Die Code-Ninjas
Bernhard Fischer-Wasels vom SOA-Logistik BLOG hat mich auf diese sehr wissenschaftliche Betrachtung des JDevelopers aufmerksam gemacht ;-)
Tutorial 4: Web Serivce deployen
Zunächst benötigen wir einen Web Service mit der entsprechenden "Hello World" Geschäftslogik. Dazu legen wir zunächst ein neues Projekt in der gleichen Anwendung (File|new|Projects|Generic Project) an. In diesem erstellen wir eine einfach Java-Klasse:
Diese bekommen wir z.B. via rechter Maus (RMB = Right Mouse Button) auf dem Projekt, dann New|Java|Java Class.
Diese bekommt dann die Methode sayHello mit der entsprechenden "Geschäftslogik", idealerweise in der jeweiligen Landessprache. Für alle Norddeutschen z.B.:
public String sayHello(String s)
{
return "Moin, moin " + s;
}
Um diese Klasse mit den benötigten Annotationen für den Web Service zu versehen, bietet der JDeveloper wieder einen entsprechenden Wizard an:
Per RMB auf der Java-Klasse kann die Funktion 'Create Web Service...' ausgewählt werden.
Die Vorgabe 'Java EE 1.5 with support for JAX-WS Annotations' ist genau richtig
Hier kann man die default-Werte bestätigen und die gewünschte Methode auswählen. Sollte die Methode nicht auswählbar sein, so kann man die Zeile trotzdem aktivieren und den JDeveloper über den Knopf 'Why Not?' nach dem Grund fragen.
Als Ergebnis bekommen wir einen fertigen Webservice vom JDeveloper geliefert, der so direkt ausführbar ist. Dazu wählen wir z.B. direkt auf dem Source-Code via RMB die Funktion 'Run' (grüner Pfeil).
Als Ergebnis erscheint der Web Service Testclient des JDeveloper. Hierin kann man jetzt das Argument (z.B. einen Namen) eingeben und via Send Request den Webservice direkt aufrufen. Das Ergebnis erscheint dann auf der rechten Seite.
Wer es genau wissen möchte, klickt unten auf den Reiter HTTP Content und kann sich die übertragene SOAP-Message im Detail ansehen.
WSDL gehört nicht gerade zu den lesbarsten Dialekten, daher ist an dieser Stelle auch der eingebaute WSDL-Browser nützlich.
Das Deployment auf den externen WLS läuft dann genau wie bei dem vorherigen Beispiel mit dem Servlet ab.
Wenn alles geklappt hat, taucht der Web Service in den Deployments des WLS auf. Hier kann man die Baumstruktur aufklappen, bis der eigentliche Service angezeigt wird.
Klickt man diesen an, kann man auf dem Reiter 'Testing' den 'Test Client' auswählen.
Hier lässt sich, genau wie im JDeveloper, der Parameter für den Web Service Aufruf eingeben und der Web Service aufrufen.
Auch der Web Service Tester des WLS zeigt die übertragenen SOAP Messages übersichtlich an. Dieses Beispiel sollte zeigen, wie einfach es ist, aus einem vorhandenen Java Code mit dem JDeveloper einen Web Service zu erzeugen und diesen auf dem Web Logic Server auszuführen.
Diese bekommen wir z.B. via rechter Maus (RMB = Right Mouse Button) auf dem Projekt, dann New|Java|Java Class.
Diese bekommt dann die Methode sayHello mit der entsprechenden "Geschäftslogik", idealerweise in der jeweiligen Landessprache. Für alle Norddeutschen z.B.:
public String sayHello(String s)
{
return "Moin, moin " + s;
}
Um diese Klasse mit den benötigten Annotationen für den Web Service zu versehen, bietet der JDeveloper wieder einen entsprechenden Wizard an:
Per RMB auf der Java-Klasse kann die Funktion 'Create Web Service...' ausgewählt werden.
Die Vorgabe 'Java EE 1.5 with support for JAX-WS Annotations' ist genau richtig
Hier kann man die default-Werte bestätigen und die gewünschte Methode auswählen. Sollte die Methode nicht auswählbar sein, so kann man die Zeile trotzdem aktivieren und den JDeveloper über den Knopf 'Why Not?' nach dem Grund fragen.
Als Ergebnis bekommen wir einen fertigen Webservice vom JDeveloper geliefert, der so direkt ausführbar ist. Dazu wählen wir z.B. direkt auf dem Source-Code via RMB die Funktion 'Run' (grüner Pfeil).
Als Ergebnis erscheint der Web Service Testclient des JDeveloper. Hierin kann man jetzt das Argument (z.B. einen Namen) eingeben und via Send Request den Webservice direkt aufrufen. Das Ergebnis erscheint dann auf der rechten Seite.
Wer es genau wissen möchte, klickt unten auf den Reiter HTTP Content und kann sich die übertragene SOAP-Message im Detail ansehen.
WSDL gehört nicht gerade zu den lesbarsten Dialekten, daher ist an dieser Stelle auch der eingebaute WSDL-Browser nützlich.
Das Deployment auf den externen WLS läuft dann genau wie bei dem vorherigen Beispiel mit dem Servlet ab.
Wenn alles geklappt hat, taucht der Web Service in den Deployments des WLS auf. Hier kann man die Baumstruktur aufklappen, bis der eigentliche Service angezeigt wird.
Klickt man diesen an, kann man auf dem Reiter 'Testing' den 'Test Client' auswählen.
Hier lässt sich, genau wie im JDeveloper, der Parameter für den Web Service Aufruf eingeben und der Web Service aufrufen.
Auch der Web Service Tester des WLS zeigt die übertragenen SOAP Messages übersichtlich an. Dieses Beispiel sollte zeigen, wie einfach es ist, aus einem vorhandenen Java Code mit dem JDeveloper einen Web Service zu erzeugen und diesen auf dem Web Logic Server auszuführen.
WLS Tutorial 3: Deployment auf extrernen WLS
Nachdem das Servlet auf dem im JDeveloper integrierten WLS läuft, soll es jetzt auf einen standalone WLS deployed werden. Hierzu muss im JDeveloper zunächst eine Application Server Connection eingerichtet werden.
Hierzu wählt man per Rechtsklick auf das Projekt Deploy|New Deployment Profile...
Für das Servlet wird das Deployment Profile 'WAR File' ausgewählt ...
... und die Anwendung bekommt einen Namen. Der Rest kann mit den default-Werten akzeptiert werden. Wenn man hinterher erneut per Rechtsklick|Deploy auswählt, wird dieses als Ziel (timeapp to servername) angeboten.
Hier wählt man 'Deploy to Application Server',
wählt hier noch einmal die korrekte Verbindung aus und entfernt ggf. den Haken bei 'Deploy to all server instances in the domain' (wichtig, wenn sich in der gleichen Domain weitere Server befinden, die für andere Zwecke geplant sind).
Sofern man den Haken entfernt hat, folgt die Auswahl der betreffenden Server.
Nach Abschluss startet der JDeveloper das Deployment. Im Deployment-Log sollte überprüft werden, dass keine Fehler gemeldet werden.
In der Weblogic Console taucht die Anwendung jetzt unter Deployments auf und steht somit zur Verfügung.
Die URL ist abhängig von der Konfiguration des Servers und der Einstellungen im Deployment Profile, in meinem Fall ist es http://127.0.0.1:7103/WLS-Tutorial-TimeServlet-context-root/timeservlet.
Die Einstellungen des Deployment Profiles sind nur beim ersten Mal zu machen, danach kann einfach mit den bestehenden Einstellungen deployed werden. Somit ist ein externer WLS genau so einfach zu nutzen wie der im JDeveloper integrierte
Hierzu wählt man per Rechtsklick auf das Projekt Deploy|New Deployment Profile...
Für das Servlet wird das Deployment Profile 'WAR File' ausgewählt ...
... und die Anwendung bekommt einen Namen. Der Rest kann mit den default-Werten akzeptiert werden. Wenn man hinterher erneut per Rechtsklick|Deploy auswählt, wird dieses als Ziel (timeapp to servername) angeboten.
wählt hier noch einmal die korrekte Verbindung aus und entfernt ggf. den Haken bei 'Deploy to all server instances in the domain' (wichtig, wenn sich in der gleichen Domain weitere Server befinden, die für andere Zwecke geplant sind).
Sofern man den Haken entfernt hat, folgt die Auswahl der betreffenden Server.
Nach Abschluss startet der JDeveloper das Deployment. Im Deployment-Log sollte überprüft werden, dass keine Fehler gemeldet werden.
In der Weblogic Console taucht die Anwendung jetzt unter Deployments auf und steht somit zur Verfügung.
Die URL ist abhängig von der Konfiguration des Servers und der Einstellungen im Deployment Profile, in meinem Fall ist es http://127.0.0.1:7103/WLS-Tutorial-TimeServlet-context-root/timeservlet.
Die Einstellungen des Deployment Profiles sind nur beim ersten Mal zu machen, danach kann einfach mit den bestehenden Einstellungen deployed werden. Somit ist ein externer WLS genau so einfach zu nutzen wie der im JDeveloper integrierte
Montag, 8. Februar 2010
Tip: Installation Oracle Service Registry 11g
Die Oracle Service Registry 11g (OSR) steht jetzt auf OTN zum Download zur Verfügung. Die Installationsanleitung verschweigt leider ein kleines aber extrem wichtiges Detail: das Installationsverzeichnis muss sich direkt in einem bestehenden WebLogic Server Homeverzeichnis befinden. Ist dies nicht der Fall, läuft der Installer zwar ohne Fehlermeldungen durch, die OSR ist aber nicht korrekt installiert.
Eine detailierte Anleitung, wie es richtig gemacht wird, gibt es im BLOG von Edwin Biemond.
Eine detailierte Anleitung, wie es richtig gemacht wird, gibt es im BLOG von Edwin Biemond.
Abonnieren
Posts (Atom)







































