Die Vorzüge und Änderungen an der BIRT Runtime hatten wir hier im Artikel „Cordys BOP – Reporting with BIRT – with connector and some extensions it works fine“ bereits beschrieben. Hier folgt nun ein detaillierterer Blick auf die Architektur von BIRT mit Cordys BOP.

Die grundsätzliche Funktionsweise des BIRT Framework/Runtime wird hierbei nicht im Detail betrachtet, dazu gibt es genügend Literatur im Netz. Hier schauen wir uns das Zusammenspiel von Cordys BOP – BIRT Connector – BIRT Runtime an.

1.) BIRT-Cordys Architektur: http / https

Der Aufruf in der X-Form erfolgt über eine JavaScript Bibliothek. Diese setzt in den WebService „GetReport“ die notwendigen Parameter für die BIRT Runtime, respektive das BIRT Template. Der BIRT Connector leitet den Aufruf (in der geänderten Version auch für https) weiter an die außerhalb des BOP Server liegende BIRT Runtime (plain jre).
Die Datasource ist ein WebService (im Template konfigurierbar), daher werden Parameter WSDL erwartet, bzw. in dieser definiert (SOAP Endpoint, RequestID, etc.). Dies ist natürlich abhängig von der konkreten Funktionalität. Dann erzeugt die BIRT Runtime einen WebService Aufruf an den Cordys BOP. Dieser liefert als Ergebnis einen SOAP Response zurück, der mittels XPath Ausdrücke in den DataSets auf das konkrete Template angewendet und die Daten extrahiert werden.
Das Ergebnis ist eine .pdf, .xls oder .html Datei, die auf dem Server liegt. Nun kann über die Download Komponente von Cordys diese Datei (Dekodierung ist ein separater Call) dem Benutzer angeboten werden.

Hier kann es je nach Sicherheitseinstellungen der Infrastruktur, bzw. Restriktionen bezüglich der Erreichbarkeit der Cordys Instanz von „außen“ zu Problemen beim Aufruf des WebServices durch die BIRT Runtime geben.

BIRT_Cordys_Architektur_https

 

2.) BIRT-Cordys Architektur: SOAP Response direct

Der wesentliche Unterschied in diesem Szenario ist der integrierte Aufruf des „GetRequestUI“ WebServices innerhalb der JavaScript Bibliothek (und damit innerhalb der Cordys BOP Umgebung) und der Übermittlung des erzeugten UI-Objektes an die BIRT Runtime. Diese erkennt das übergebene Objekt anhand eines zu setzenden Parameters als „SOAP Response“ und extrahiert die Daten ohne weitere Calls. Der restliche Ablauf bleibt bestehen.

Problematisch hier kann die Datenmenge sein, die an das BIRT Template übergeben wird und damit die Laufzeit. Weiterhin müssen alle notwendigen Daten zum Aufrufzeitpunkt bekannt sein und bereit stehen.

BIRT_Cordys_Architektur_soap

Haben Sie eine vergleichbare Aufgabenstellung? Interessiert Sie die genaue Lösung? Eine E-Mail an info@logicline.de genügt.