Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

Archive for Oktober 2008

Manuelle Installation des Oracle BI Publisher auf WebLogic Server 10.3

leave a comment »

Der folgende Artikel beschreibt schrittweise die manuelle Installation (Deployment) des Oracle BI Publisher 10.1.3.4 auf einem WebLogic Server 10.3.  Die offizielle Beschreibung befindet sich im Installation Guide.

Voraussetzungen

  1. Installation der Software (WebLogic Server 10.3)
    – Verzeichnis frei wählbar, z.B. C:\WLS103
  2. Anlegen einer Domain mittels des Configuration Managers
    – Name frei wählbar, z.B. base_domain
    – Verzeichnis frei wählbar, z.B. C:\WLS103\user_projects\domains\base_domain
    – Angabe des Passworts für den Administrator
    – Auswahl des JDK: Auswahl zwischen JRockit SDK und SUN SDK
    Es sollte das SDK von SUN verwendet werden, siehe auch:
    Note 578882.1  Error Installing BI Publisher In Web Logic 9.2
    – Möglichkeit der Anpassung von Einstellungen im letzten Schritt (u.a. Port-Nummer)
  3. Starten des Admin Servers
    – Aufruf des Scripts startWebLogic.cmd bzw. startWebLogic.sh im Verzeichnis der Domain
  4. Aufruf der Console mit http://<host&gt;:<port>/console/
    – beim ersten Aufruf wird die Console-Applikation deployed
    – Anmeldung als Administrator mit dem gewählten Passwort

Schritte

  1. Aktuelle BI Publisher Software in einem temporären Verzeichnis entpacken
    – für die manuelle Installation ist es unerheblich, für welches Betriebssystem die Software heruntergeladen wird
    – für die manuelle Installation wird nur der Inhalt des Verzeichnisses ..\Oracle_Business_Intelligence_Publisher_Standalone\manual
    benötigt
  2. Auspacken des Archivs ..\manual\generic\xmlpserver.war in ein Verzeichnis xmlpserver.war
    (z.B. C:\WLS1013\xmlpserver.war)
    – Anlegen eines Verzeichnisses xmlpserver.war: mkdir xmlpserver.war
    – Navigieren in das angelegte Verzeichnis:   cd \xmlpserver.war
    – Auspacken des Archivs:   xmlpserver.war jar xvf \manual\generic\xmlpserver.war
  3. Kopieren des BI Publisher-Repository aus dem Verzeichnis ..\manual\XMLP in ein Verzeichnis
    (z.B. C:\XMLP1013)
  4. Editieren der Datei ..\xmlpserver.war\WEB-INF\xmlp-server-config.xml
    – FILE PATH anpassen, so dass er auf das im Schritt 3 angelegte Repository des BI Publisher zeigt
    <?xml version=“1.0″ encoding=“UTF-8″?>
    <xmlpConfig xmlns=“http://xmlns.oracle.com/oxp/xmlp“&gt;

    <resource>

    <file path=“C:\XMLP1013\“/>

    </resource>
    </xmlpConfig>
  5. Aufruf der Administration Console des WebLogic Servers
    http://<host&gt;:<port>/console/
  6. Deployment der Applikation xmlpserver aus dem angelegten Verzeichnis xmlpserver.war
    – Auswahl von <domain_name>/Deployments im linken Menübaum der Console

    – Klick auf Install Button im rechten Fenster
    – Auswahl des Verzeichnisses ..\xmlpserver.war

    – Option: Install this deployment as an application
    – Option: Source Accessibilty – „I will make the deployment accessible from the following location“
    – weitere Optionen: Defaults (u.a. Application Name – xmlpserver)
    – Finish
  7. Starten der Applikation
    – Auswahl von <domain_name>/Deployments im linken Menübaum der Console
    – Auswahl der Appliaktion xmlpserver im rechten Teil der Console
    – Markieren der Applikation und Starten
  8. Aufruf der Applikation mit http://<host&gt;:<port>/xmlpserver/
    – User: Administrator/Administrator
  9. Kopieren der Fonts aus dem Verzeichnis ..\manual\fonts in das Verzeichnis ..\jdk\jre\lib\fonts

Hinweise

  1. Die Applikation xmlpserver lässt sich in der Version 10.1.3.4 nur erfolgreich installieren und starten, wenn
    – die Datenbank-Connection für den Scheduler noch nicht konfiguriert ist (Neuinstallation) oder
    – die Datenbank-Connection in der Datei
    ..\Admin\Scheduler\database-config.xml korrekt eingetragen ist und funktioniert (Upgrade).
    Dies bedeutet
    , dass bei einem Upgrade des BI Publisher und beim Start des WebLogic Servers das DB-Schema des Schedulers erreichbar sein muss !
    Evtl. ändert sich dies noch in einer künftigen Version.
  2. Falls die Präferenz Automatically Acquire Lock and Activate Changes im WebLogic Server deaktiviert ist, muss vor den Konfigurationsänderungen im Change Center der Button Lock & Edit betätigt werden. Nach erfolgten Änderungen werden diese mit dem Button Release Configuration bestätigt.

    <JM>
     


Written by fmtechteam

31/10/2008 at 14:50

Veröffentlicht in BI Publisher, Jürgen Menge

Tagged with ,

Wie für eine Forms-Applikation der Titel des Browser-Fensters bzw. -Tabs gesetzt werden kann

leave a comment »

Wird eine Oracle Forms-Applikation im Web Browser ausgeführt, erscheint normalerweise „Oracle Application Server Forms Services“ als Titel im Browser-Fenster des Internet Explorer 6 oder als Titel des aktiven Tabs im Internet Explorer 7 oder Mozilla Firefox.
Der Titel kann in der Konfigurationsdatei formsweb.cfg geändert werden, er bleibt allerdings ein Stück statischer Text.
Was aber, wenn man als Titel aussagekräftigere Informationen wie z.B. den Modulnamen, den Namen des Benutzers oder Ähnliches anzeigen möchte ?

Hier die Schritte, um den Titel entsprechend anzupassen:

  1. Modifizieren des verwendeten Basis-Templates (zum Beispiel: basejini.html) durch Hinzufügen einer JavaScript-Funktion:

    function change_pagetitle(title)
    {
    document.title=title;
    }

  2. In jedem Forms-Modul muss ein Trigger (PRE-FORM oder WHEN-NEW-FORM-INSTANCE) definiert werden, der nach dem Start der Form folgenden Programmcode ausführt:
    web.show_document(‚javascript:change_pagetitle(‚||'“‚ || get_application_property(current_form_name) || ‚“‚||‘) ‚ ,’_self‘)
    In diesem Beispiel wird der Name der laufenden Form als Titel angezeigt. Natürlich können auch beliebige andere Informationen in den Titel aufgenommen werden.

Mit der Version Oracle Forms 11g wird es eventuell eine noch elegantere Lösung für diese Anforderung geben, die das angekündigte JavaScript API verwendet. Lassen wir uns überraschen. <JM>

Written by fmtechteam

06/10/2008 at 13:25

Veröffentlicht in Forms, Jürgen Menge

Tagged with , ,

Manuelle Installation/Upgrade des Oracle BI Publisher

leave a comment »

Gelegentlich kommt es unter meinen Kollegen zu einem Disput, welche Methode bei der Installation des Oracle BI Publisher zu bevorzugen sei:

  • die automatische Installation mit Hilfe des Oracle Universal Installer
  • die manuelle Installation.

Ich bevorzuge eindeutig den manuellen Prozess, da ich damit eine größere Kontrolle über die Installation habe und ein späteres Upgrade auf eine aktuelle Version einfach und schnell möglich ist.
Aus diesem Grund möchte ich an dieser Stelle die einzelnen Schritte der manuellen Installation erläutern. Ich habe diese Schritte bereits bei vielen Installationen und Updates ausgeführt und bin positiv überrascht, dass es niemals ein Problem mit inkompatiblen Berichten oder Templates während eines Upgrades gab.

Voraussetzungen

Schritte

  1. Auspacken der heruntergeladenen Archiv-Datei in ein temporäres Verzeichnis. Aus der gesamten Struktur wird nur noch das Unterverzeichnis  ../manual benötigt, dass alle notwendigen Dateien für die manuelle Installation enthält.

  2. Kopieren der Fonts aus dem Verzeichnis ../manual/fonts in das Font-Verzeichnis der Java Runtime-Umgebung (<JAVA_HOME>/lib/fonts). Die Java Runtime-Umgebung wird durch die Einstellung JAVA_HOME des OC4J festgelegt. Bei einem Upgrade muss man lediglich überprüfen, ob mit der aktuellen Version des BI Publisher zusätzliche Fonts ausgeliefert wurden.

  3. Der BI Publisher Enterprise Edition ist eine J2EE-Applikation mit einem zugehörigen Repository für die Berichte, Templates und Konfigurationseinstellungen. Deshalb muss in diesem Schritt die Datei ..manual/oc4j/xmlpserver.ear im OC4J deployed werden. Es gibt mehrere Vorgehensweisen, um eine Applikation im OC4J zu deployen bzw. zu redeployen:

    • Manuelles Deployment/Redeployment mit Hilfe des Oracle Application Server Control (web interface)
    • Auto-Deployment durch das Hinzufügen der folgenden Zeilen in der Datei OC4J_Home/j2ee/home/config/server.xml:

      check-for-updates=“adminClientOnly“
      application-auto-deploy-directory=“../applications_autodeploy“
      deployment-directory=“../application-deployments“
      connector-directory=“../connectors“

      Das Verzeichnis OC4J_Home/j2ee/home/applications_autodeploy muss angelegt werden. Der Name ist frei wählbar, muss aber mit der Eintragung in der Datei server.xml übereinstimmen. Jetzt kopiert man einfach die Datei xmlpserver.ear in das Verzeichnis und der OC4J erkennt die neue bzw. aktualisierte Applikation im laufenden Betrieb oder beim nächsten Start.
      Bei einem Upgrade des BI Publisher werden die Vorteile der manuellen Installation klar erkennbar. Einfach die aktuelle Datei xmlpserver.ear in das Verzeichnis kopieren, den Rest erledigt der OC4J (bis auf eine kleine Ausnahme, siehe 4. Punkt).

  4. Während des Deployment/Redeployment des BI Publisher wird die zentrale Konfigurations-Datei OC4J_Home/j2ee/home/applications_autodeploy/xmlpserver/xmlpserver/WEB-INF/xmlp-server-config.xml überschrieben.

    Deshalb ist es notwendig, nach dem Deployment den OC4J zu stoppen und in dieser Datei die Referenz auf das Repository des BI Publisher zu editieren:
    <resource>
    <file path=“C:\XMLP“/>
    </resource>

  5. Installiert man den BI Publisher zum erstenmal muss das komplette Repository mit den Beispiel-Berichten und Konfigurationsdateien aus dem Verzeichnis ../manual/XMLP in das angegeben Verzeichnis (im Beispiel: C:\XMLP) kopiert werden.
    Bei einem Upgrade ziehe ich es vor, das im Verzeichnis ../manual/XMLP ausgelieferte Repository mit meinem existierenden Repository abzugleichen, indem ich neue Muster-Berichte hinzufüge und die Konfigurationsdateien auf relevante Änderungen überprüfe.

  6. Jetzt ist es Zeit, den OC4J erneut zu starten und im Login-Window zu überprüfen, dass die aktuelle Version der Applikation auch tatsächlich installiert wurde.

  7. Wird auf dem Arbeitsplatz auch der BI Publisher Desktop (Word Plug-In) benutzt, darf man nicht vergessen, auch hier die aktuelle Version einzuspielen. Die Software ist im Verzeichnis ../manual/XMLP/Tools zu finden. Wurde der BI Publisher Desktop bereits einmal installiert, sollte vorab die alte Version über das MS Windows Control Panel deinstalliert werden.

Nach diesem Exkurs kann jeder selbst entscheiden, ob er den manuellen Weg oder den Oracle Universal Installer bei der Installation des BI Publisher bevorzugt. <JM>

Written by fmtechteam

06/10/2008 at 13:04

Veröffentlicht in BI Publisher, Jürgen Menge

Tagged with , ,

Entfernen von Plug-Ins aus dem Oracle JDeveloper 10g

leave a comment »

Der Oracle JDeveloper benutzt ein Plug-In API, um zusätzliche Funktionalität in die Entwicklungsumgebung (IDE) zu integrieren. Im JDeveloper 10.1.3 werden diese Erweiterungen (Extensions) im Verzeichnis <JDev_Home>/jdev/extensions gespeichert. In bestimmten Fällen kann es notwendig sein, Erweiterungen aus dem JDeveloper zu entfernen. Da es keine explizite Funktion zum Deinstallieren dieser Erweiterungen im JDeveloper gibt, sollte man die folgenden manuellen Schritte kennen:

  1. Zunächst sollte man sich einen Überblick verschaffen, welche Erweiterungen (Extensions) im JDeveloper genutzt werden. Dies findet man heraus:
    • durch den Aufruf der Menü-Option: Help => About (tab Extensions)
    • durch den Aufruf der Menü-Option Tools => Preferences => Extensions
      Das Deaktivieren einer Erweiterung bewirkt hier aber nur, dass diese beim Start des JDeveloper nicht geladen wird.
  2. Unerwünschte Erweiterungen werden entfernt, indem die zugehörige jar-Datei und in manchen Fällen ein zugehöriges Unterverzeichnis unter <JDev_Home>/jdev/extensions gelöscht werden. Die Dateien und das Unterverzeichnis sind meistens durch den Namen der Erweiterung zu erkennen.
    Das aber reicht noch nicht aus! Bei jedem Start des JDeveloper werden alle Erweiterungen aus dem Verzeichnis <JDev_Home>/jdev/tmp/update erneut installiert. Deshalb müssen die unerwünschten Erweiterungen (normalerweise eine zip-Datei) auch aus diesem Verzeichnis gelöscht werden. <JM>

Written by fmtechteam

06/10/2008 at 12:08

Veröffentlicht in Jürgen Menge, JDeveloper

Tagged with ,

Eine kurze Historie der Web Services des BI Publisher

leave a comment »

Der Oracle BI Publisher ist eine sehr leistungsfähige und schlanke Lösung, um Berichte und Dokumente mit hohen Anforderungen an das Layout zu erzeugen.
Bis zur Version 10.1.3.3.0 gab es ein nicht veröffentlichtes Web Service API, das beispielsweise zur Ausführung eines Berichtes durch den Aufruf der Methode getReportData() genutzt werden konnte. Das Product Management von Oracle hatte jedoch darauf hingewiesen, dass dieses API nicht öffentlich sei und damit Veränderungen unterworfen sein könnte.
Mit der Version 10.1.3.3.1 des Oracle BI Publisher wurde das Web Service API erstmals publiziert. Eine der sichtbaren Veränderungen gegenüber der Vorgängerversion ist beispielsweise der Aufruf eines Berichtes durch die Methode
runReport().
Die Web Services des BI Publisher wurden auf Basis von Apache Axis implementiert.
Die WSDL lautet:
http://<machine&gt;:<port>/<your_appname>/services/PublicReportService?wsdl

(Der Standardwert für <your_appname> ist xmlpserver)

Eine komplette Beschreibung der WSDL ist im New Features Guide der Dokumentation enthalten:
http://download.oracle.com/docs/cd/E12844_01/doc/bip.1013/e10416/bip_webservice_101331.htm#BABHEHEJ.

Eine Beschreibung des veröffentlichten Web Service API kann ebenfalls in der Dokumentation nachgelesen werden:
http://download.oracle.com/docs/cd/E12844_01/doc/bip.1013/e10416/bip_webservice_101331.htm

Eine Übersicht der Erweiterungen des API in der aktuellen Version 10.1.3.4 findet man in Tim Dexter’s Blog.

Wer sich dafür interessiert, wie Web Service des BI Publisher aus Oracle Forms aufgerufen werden können, findet eine Beschreibung hier. <JM>

Written by fmtechteam

06/10/2008 at 11:44

Veröffentlicht in BI Publisher, Jürgen Menge

Tagged with ,

Aufruf eines Web Service aus einer Forms-Anwendung

with one comment

OK, für einen OO-erfahrenen Entwickler scheint dies eine klare Sache zu sein. Aber manchmal trägt es zum Verständnis bei, die Dinge etwas zu sortieren.
Soll ein Web Service aus einer Oracle Forms-Anwendung aufgerufen werden, sind ein oder mehrere Java-Klassen des Web Service-Client in das Forms-Modul zu importieren.

Dabei können verschiedene Fälle auftreten:

    1. Wenn die Klasse static ist, enthält die Signatur der importierten Methoden in den meisten Fällen nur einfache Datentypen wie in diesem Beispiel:
      FUNCTION <method>(
      a0 VARCHAR2,
      a1 VARCHAR2,
      a2 VARCHAR2) RETURN BOOLEAN;
      Diese Methode kann auf einfache Weise innerhalb der Forms-Applikation aufgerufen werden, indem die entsprechenden Werte übergeben werden.


    1. Wenn die Klasse nicht vom Typ static ist, d.h. es werden Instanzen dieser Klasse zur Laufzeit erzeugt, findet man in der Signatur der generierten PL/SQL-Methode ein Objekt:
      FUNCTION <method>(
      obj ORA_JAVA.JOBJECT,
      a0 VARCHAR2,
      a1 VARCHAR2) RETURN ORA_JAVA.JOBJECT;
      In diesem Fall muss beim Aufruf ein initialisiertes Objekt dieser Klasse übergeben werden. Dieses Objekt kann durch die Methode new() innerhalb des PL/SQL-Codes erzeugt werden:
      obj := <class>.new();


  1. Wenn die Klasse nicht vom Typ static ist und ein zusätzliches Objekt als Parameter benötigt, sieht die Signatur der PL/SQL-Methode folgendermaßen aus:
    FUNCTION <method>(
    obj ORA_JAVA.JOBJECT,
    a0 ORA_JAVA.JOBJECT,
    a1 VARCHAR2,
    a2 VARCHAR2) RETURN ORA_JAVA.JOBJECT;
    In diesem Fall muss wie im zweiten Fall ein initialisiertes Objekt für diese Klasse mittels der Methode new() im PL/SQL-Code erzeugt werden:
    obj := <class>.new();
    Zusätzlich
    muss ein Objekt für den Parameter übergeben werden, indem die entsprechende Klasse (des Parameter-Objektes) in das Forms-Modul importiert und eine neue Instanz dieser Klasse erzeugt wird:
    a0: = <additional_class>.new();

<JM>

Written by fmtechteam

04/10/2008 at 18:44

Veröffentlicht in Forms, Jürgen Menge

Tagged with ,

Verwendung eines Ref Cursor als Datenquelle im Oracle BI Publisher

leave a comment »

In der Praxis gibt es gelegentlich die Anforderung, innerhalb der SQL-Query eines BI Publisher-Reports einen Referential Cursor (Ref Cursor) in der Datenbank zu verwenden.
Dabei ist es möglich, dass der Ref Cursor eine einzelne oder mehrere Zeilen zurückgibt.

Es folgt ein Beispiel für einen Ref Cursor, der eine einzelne Zeile zurückgibt:
In der Oracle-Datenbank wird eine Funktion REF_CURSOR_CUST im Schema OE angelegt.

create or replace function REF_CURSOR_CUST (p_customer_id IN number)
return SYS_REFCURSOR as
TYPE t_cursor is REF CURSOR;
v_cursor t_cursor;
begin
open v_cursor FOR
select customer_id, cust_first_name, cust_last_name, credit_limit,
cust_email, gender, income_level
from customers
where customer_id = p_customer_id;
RETURN v_cursor;
end REF_CURSOR_CUST;

Im Datenmodell des BI Publisher-Berichtes kann der Ref Cursor innerhalb der Query verwendet werden:
select ref_cursor_cust(:cust_id) from dual

Sollte die Abnfrage keine Datensätze zurückliefern, so kann dies an einem kleinen Bug (zumindest in 10.1.3.3.1) liegen. Der einfache Workaround besteht darin, ein weiteres Attribut der Select-Liste hinzuzufügen:
select null, ref_cursor_cust(:cust_id) from dual

Den Rest des Beitrags lesen »

Written by fmtechteam

04/10/2008 at 18:16

Veröffentlicht in BI Publisher, Jürgen Menge

Tagged with ,