Continuous Integration, Continuous Delivery und Deployment mit TIBCO Jaspersoft

Wie Sie dem Blog-Beitrag Continuous Integration, Continuous Delivery und Deployment in BI-Projekten entnehmen können, ist uns durch die Betreuung aktueller Kundenprojekte klargeworden, dass in BI-Projekten die neu entwickelten bzw. angepassten Artefakte noch häufig mittels händischer Prozesse bereitgestellt werden und dies neben Mehraufwand immer auch eine potentielle Fehlerquelle darstellt.

Im Folgendem stellen Wir Ihnen einen Lösungsansatz für die Berichtsentwicklung und -wartung mit TIBCO Jaspersoft unter Einsatz von automatisierten Prozessen vor. Dieser Beitrag fokussiert die Verwendung des TIBCO Jaspersoft Studios sowie des Jaspersoft Reportservers. Beim Einsatz der JasperReports Library zur Ausführung von Berichten ist das im Folgenden beschriebene Verfahren nicht relevant.

Um dieses abstrakte Thema näher beleuchten zu können, gehen wir von einer schlanken produktiven softwaretechnischen Architektur aus. Abbildung 1 zeigt den exemplarischen Aufbau mit einem Jaspersoft Reportserver, einer Datenquelle sowie der Anbindung von SMTP und NFS zur Bereitstellung von Berichten.

Zusätzlich wird für die weitere Erläuterung noch eine kurze Beschreibung einer exemplarischen Systemumgebung aus Sicht des Releasemanagement benötigt. Aus dem nächsten Schaubild gehen die angenommenen Umgebungen hervor. Hierbei ist es unerheblich, ob die Server On-Premise oder in der Cloud vorgehalten werden.

Nicht selten erfolgt das Ausrollen auf nachgelagerte Umgebungen über ein erneutes manuelles Deployment der JRXML-Datei aus dem Jaspersoft Studio heraus oder es wird ein Export/Import über den Jaspersoft Reportserver durchgeführt. Hierbei birgt das erneute manuelle Deployment neben einem erhöhten Zeitaufwand ein gesteigertes Potential für Fehler. Ein manueller Export/Import über den Reportserver ist eine vertretbare Lösung für kleine Projekte, jedoch steigt auch bei diesem Vorgehen der Aufwand mit der Anzahl der Artefakte stark an.

An diesem Punkt bietet sich der Einsatz von Continuous Integration, Continuous Delivery oder der Königsweg des Continuous Deployment an. Über die REST-API wird automatisiert ein Export des für den Test freigegebenen Artefakts aus der Entwicklungsumgebung erzeugt. Dieser Export enthält, je nach Konfiguration, neben den Sourcen auch alle relevanten Abhängigkeiten und wird entpackt in die Codebasis der zu deployenden Berichte integriert. Ab diesem Punkt ist es möglich alle enthaltenen Berichte auf die nächste Systemumgebung auszurollen und dort automatisiert zu testen. Hierbei ist es unerheblich, ob Sie sich für ein Full oder ein Delta-Deployment entscheiden. Die Codebasis wird mittels eines individualisierten Skripts oder mit einem ggf. bereits bei Ihnen im Haus verwendeten Automatisierungstool angepasst sowie über die REST-API des Jasperservers auf die gewünschten Systemumgebungen deployed.

Neben einfachen Test zur Ausführbarkeit der Berichte lassen sich über weitere Skripte oder Anwendungen wie etwa Talend auch eine Validierung der Berichtsinhalte gegen Erwartungswerte oder alte Versionsstände automatisiert realisieren.

Lassen Sie uns dieses Vorgehen über die nächste Abbildung noch einmal visualisieren:

Nachdem der initiale Aufwand hinsichtlich eines automatisierten Deployments und Tests gegen die Testumgebung realisiert wurde, kann dieser Continuous Integration Mechanismus weiter verwendet werden, um Continuous Delivery sowie Continuous Deployment anzustreben. Prinzipiell lassen sich diese Ziele über komplexe Tests abbilden. Im Bereich der Standardberichte hat sich aus unserer Erfahrung jedoch bisher ein finaler manueller Abnahmetest durch die jeweiligen Verantwortlichen bewährt.

Egal ob Sie Continuous Integration, Continuous Delivery oder den Königsweg des Continuous Deployment mit automatisiertem Abnahmetest anstreben – aufgrund unserer Projekterfahrung sowie den langjährigen Partnerschaften zu Technologieherstellern stehen wir Ihnen in allen Projektphasen sowohl für die Konzeption als auch für die Realisierung dieses Vorhabens zu Verfügung.

Weiterführende Informationen: 

Sie haben noch Fragen zur Bereitstellung von Artefakten in BI Projekten? Sie haben Interesse an einer Präsentation oder einem Workshop?
Dann wenden Sie sich an uns. Mit unserer langjährigen Erfahrung in verschiedensten Kundenprojekten unterstützen wir Sie gerne.

Prodato verbindet.

Autor

Christian Henke
Managing Consultant

christian.henke@prodato.de