Software Engineering

Oracle on Docker: Einfacher gesagt als getan

Jeder, der bereits einmal eine der größeren Middleware Komponenten von Oracle oder die Oracle Datenbank installiert hat, wird wissen, dass dies unter Umständen ein zeitaufwendiger Prozess sein kann. Selbst wenn man auf einem System alle Kniffe und Probleme kennt, wird es mit Sicherheit auf den nächsten Systemen wieder andere Schwierigkeiten geben.

Sind die richtigen Pakete installiert? Habe ich an alle System-Variablen gedacht? Was war noch einmal der Unterschied zwischen ORACLE_HOME und MW_HOME? Wie bringe ich eine Instanz dieser Installation auf einen anderen Rechner? Mittlerweile gibt es eine Vielzahl von Möglichkeiten, um diesen Problemen Einhalt zu gebieten. Sie heißen „Immutable Infrastructe“, Container oder schlicht „mehr Bandbreite zum übertragen von virtuellen Maschinen“. Der vielleicht bekannteste Vertreter der Container Lösungen ist die Docker Engine oder kurz „Docker“. Docker ist so populär, dass Oracle damit begonnen hat, Konfigurationen und Beispiele bereit zu stellen, wie man ihre Software auf Docker Images installiert und ausführbare Container daraus erstellt.

WebLogic on Docker

Bruno Borges hat auf dem Oracle GitHub Repository bereits einige Skripte veröffentlicht. Diese ermöglichen es, einen WebLogic Server auf ein Image zu installieren und anschließend, ausgehend von diesem Image, eine WebLogic Instanz inkl. konfigurierter Domain zu erstellen. Die Instanz kann dann direkt mit dem Browser aufgerufen werden.

Database on Docker

Weniger offiziell, aber nicht minder hilfreich, sind auch die Skripte zur Erstellung einer Oracle Database als Docker Image von Wouter Scherphof. Es hatte sogar ein bereits voll konfiguriertes Image auf das Docker Repository geladen, musste es aber wieder entfernen. Die genauen Gründe hierfür hat er auf seinem GitHub Repository genauer erklärt.

StreamExplorer on Docker

Eine weitere interessante Oracle Software. Guido Schmutz hat auf seinem GitHub Repository die nötigen Skripte bereitgestellt, um den Stream Explorer als Docker Container zu konfigurieren.

Da geht noch was, oder?

So hilfreich und wegweisend diese Arbeiten auch für mich waren, musste ich doch öfter feststellen, dass sie, aufgrund ihrer exemplarische Natur, an manchen Stellen noch Verbesserungspotential besitzen. Außerdem sind die Lösungen sehr stark auf eine Konfiguration ausgerichtet, die wenig flexibel und sehr undynamisch ist. Ohne fortgeschrittene Kenntnisse in der Benutzung des WebLogic Scripting Tools (WLST) und gegebenenfalls Python, Jython und Docker Skript Programmierung, lässt sich an diesem Zustand auch leider nicht viel ändern. Da ich mich aus gegebenen Anlässen die letzten Monate viel mit Docker und WLST beschäftigt habe, konnte ich einen Einblick in die Thematik gewinnen und Möglichkeiten finden, die verschiedenen offiziellen und inoffiziellen Lösung zu optimieren.

Stay tuned!

In den nächsten Wochen werde ich Stück für Stück erklären, wo und wie man die vorhandenen Lösungen erweitert. Ich stelle dar, wie man sie den eigenen Bedürfnissen anpasst und dabei vielleicht auch ein Stück weit dynamischer hält, um auf verschiedenen Systemen leicht verschiedene Konfigurationen bereit zu stellen. Und vor allem will ich eine Möglichkeit aufzeigen, die einzelnen separaten Lösung zu vereinen und gemeinsam zu nutzen.

> Oracle on Docker: Bugfixes und Verbesserungen
> Oracle on Docker: WebLogic Domain Teil 1
> Oracle on Docker: WebLogic Domain Teil 2
> Oracle on Docker: ADF
> Oracle on Docker: SOA/BPM Suite