Software mit Format.
Oracle BI Publisher Webservice API in Action
Marco Fischer
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
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
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
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
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
Software mit Format.
WSDL-Beispiel
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
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/
Software mit Format.
soapUI
Software mit Format.
soapUI
Software mit Format.
soapUI
Software mit Format.
soapUI
Software mit Format.
Oracle Application Express
Software mit Format.
Oracle Application Express
Software mit Format.
Oracle Application Express
Software mit Format.
Oracle Application Express
Software mit Format.
Oracle Application Express
Bildquelle: Oracle
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
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;
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()
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
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
www.robotron.de
Top Related