23
Software mit Format. Oracle BI Publisher Webservice API in Action Marco Fischer

Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

  • Upload
    others

  • View
    74

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Oracle BI Publisher Webservice API in Action

Marco Fischer

Page 2: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Agenda

Firmenvorstellung

Einführung

Oracle BI Publisher Webservice API

– WSDL-Beispiel

– Security

Nutzung der BI Publisher Webservices

– soapUI

– APEX

– PL/SQL Projektbeispiel

Fazit

Page 3: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Gründungsjahr 1990

Mitarbeiterzahl 326 (Stand 03/2014)

Stammkapital 2,4 Mio. EUR

Umsatz 2012 31,1 Mio. EUR

Geschäftssitz Stuttgarter Str. 29 01189 Dresden

Oracle-Partner

ISO 9001 zertifiziert

Zahlen und Fakten Robotron Datenbank-Software GmbH

Page 4: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Robotron-Firmengruppe

Tschechien: Robotron Database Solutions s.r.o.

Schweiz: Robotron Schweiz GmbH

Österreich: Robotron Austria GmbH

Russland: Robotron Rus GmbH

Deutschland, mit ECG Erdgas-Consult GmbH: Robotron|ECG solutions GmbH

Page 5: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Einführung

Webservices:

– plattform-, programmiersprachen- und protokollunabhängig

– präzise beschrieben, modular, granular, zusammensetzbar

– XML-basierte Beschreibung zur Charakterisierung des Webservice (WSDL) Beschreibung Schnittstelle und Datentypen

– Protokoll zum Austausch XML-basierter Nachrichten (SOAP)

– Möglichkeit für Anwendungen, eine API zur Verfügung zu stellen

Bildquelle: www.rittmanmead.com

Page 6: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Oracle BI Publisher Webservice API

Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte auszuführen, Informationen über Berichte abzufragen, Berichte zu definieren und zu ändern, Berichtstemplates hochzuladen

http://<host>:<port>/xmlpserver/services/v2/ReportService?wsdl

Methoden, um BI Publisher Scheduler-Aufgaben auszuführen, z.B. Berichtsjobs zu definieren und zeitlich zu planen, Berichte abzufragen, Berichtsjobhistorie zu verwalten

http://<host>:<port>/xmlpserver/services/v2/ScheduleService?wsdl

Methoden, um BI Publisher Katalogobjekte zu verwalten (Erstellen, Kopieren, Hochladen, Herunterladen und Löschen), z.B. von Ordnern, Berichten, Datenmodellen und Templates

http://<host>:<port>/xmlpserver/services/v2/CatalogService?wsdl

Methoden, um Sicherheitsaufgaben durchzuführen, z.B. Authentifizierung (login, logout) und Kontenmanagement

http://<host>:<port>/xmlpserver/services/v2/SecurityService?wsdl

Developer's Guide for Oracle Business Intelligence Publisher: http://docs.oracle.com/cd/E21764_01/bi.1111/e18863/toc.htm

Bildquelle: www.rittmanmead.com

Page 7: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

WSDL-Beispiel

Page 8: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Security

Session-Based Webservices

– Aufruf der Webservice-Methode SecurityService.login(), um Nutzer zu authentifizieren

– Response ist entweder eine AccessDeniedException oder bei erfolgreichem Login eine loginResponse-Nachricht mit loginReturn-Token

– allen anschließenden Webservice-Methoden mit dem Suffix [...]InSession wird dieser Token als Teil des Aufrufes mitgegeben

– nützlich für Anwendungsfälle, in dem mehrere Webservice-Aufrufe erfolgen und der Nutzerkontext erhalten bleiben soll

Stateless Webservice

– in jedem Webservice-Aufruf werden Nutzername und Passwort mitgegeben

– geeignet für einzelne Webservice-Aufrufe, zum Beispiel in SOA-Prozessen

Page 9: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Nutzung der BI Publisher Webservices

soapUI

– freies Werkzeug zum Softwaretest für SOAP

Oracle Application Express

PL/SQL unter Verwendung von FLEX_WS_API

– Projektbeispiel

Java Web Service Proxy

– http://www.rittmanmead.com/2011/11/accessing-bi-publisher-11g-web-services-through-a-jdeveloper-web-service-proxy/

BPEL

– http://www.rittmanmead.com/2011/11/calling-bi-publisher-11g-web-services-from-bpel/

Page 10: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

soapUI

Page 11: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

soapUI

Page 12: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

soapUI

Page 13: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

soapUI

Page 14: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Oracle Application Express

Page 15: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Oracle Application Express

Page 16: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Oracle Application Express

Page 17: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Oracle Application Express

Page 18: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Oracle Application Express

Bildquelle: Oracle

Page 19: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

PL/SQL unter Verwendung von FLEX_WS_API

FLEX_WS_API: freies PL/SQL-Package

– http://jastraub.blogspot.de/2008/06/flexible-web-service-api.html

– Mittlerweile als APEX_WEB_SERVICE-Package verfügbar mit selber Funktionalität

– Reines PL/SQL unter Verwendung von UTL_HTTP, während das UTL_DBWS-Package mit ähnlicher Funktionalität ein Wrapper für Java-Code ist

– SOAP-Envelope muss manuell zusammengestellt werden und wird mit MAKE_REQUEST-Funktion an Webservice gesendet

– Response ist wiederum ein SOAP-Envelope, der mittels XMLDB-Funktionalitäten geparst werden kann

Page 20: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

PL/SQL unter Verwendung von FLEX_WS_API

FUNCTION FNC_WS_LOGIN(p_bip_user_id varchar2, p_bip_user_pw varchar2, p_bip_url varchar2) return varchar2

is

l_env CLOB;

l_xml XMLTYPE;

l_parse CLOB;

BEGIN

l_env := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:v2="http://xmlns.oracle.com/oxp/service/v2">

<soapenv:Header/>

<soapenv:Body>

<v2:login>

<v2:userID>' || p_bip_user_id || '</v2:userID>

<v2:password>' || p_bip_user_pw || '</v2:password>

</v2:login>

</soapenv:Body>

</soapenv:Envelope>';

l_xml := FLEX_WS_API.MAKE_REQUEST(p_url => p_bip_url, || '/services/v2/SecurityService',

p_envelope => l_env);

IF l_xml.EXISTSNODE('//faultstring') = 1 THEN

raise_application_error(-20001, 'Bei der Anmeldung ist ein Fehler aufgetreten! (Originalfehlermeldung:

' || l_xml.extract('//faultstring/text()').getstringval() || ')');

end if;

l_parse := FLEX_WS_API.PARSE_XML_CLOB(l_xml, '//loginReturn/text()',

'xmlns="http://xmlns.oracle.com/oxp/service/v2"');

return to_char(l_parse);

END;

Page 21: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Projektbeispiel

APEX-Anwendung zur flexiblen Steuerung der monatlichen Generierung von Zahlungsavisen und deren Druck

– Monatliche Erzeugung von mehr als 4000 PDF- und Text-Dokumenten

– APEX-Anwendung zur Eingabe von Parametern sowie Start der Generierung und des Drucks

– Steuerung des BI Publisher über Webservice API aus Datenbank heraus mittels PL/SQL und FLEX_WS_API

– Verwendung von:

• SecurityService.login()

• ScheduleService.scheduleReportInSession()

• ScheduleService.getScheduledReportStatusInSession()

• SecurityService.logout()

Page 22: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Fazit – Oracle BI Publisher Webservice API

Interessante, stabile und gut dokumentierte Schnittstelle

Vielzahl von Methoden, um BI Publisher Funktionen zu automatisieren

Einbindung von BI Publisher Funktionen in eigene Anwendungen, unabhängig von der Programmiersprache

Page 23: Oracle BI Publisher Webservice API in Action · Software mit Format. Oracle BI Publisher Webservice API Methoden, um mit BI Publisher Berichtsobjekten zu interagieren, z.B. Berichte

Software mit Format.

Marco Fischer Dipl.-Wirtschaftsinformatiker

Leitender Systemberater

Certified Business Intelligence Professional

Robotron Datenbank-Software GmbH

Stuttgarter Straße 29

01189 Dresden

Telefon: (0351) 25859 2755

Telefax: (0351) 25859 3699

Mobil: (0151) 15015533

[email protected]

www.robotron.de