Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 9 Nächste Version anzeigen »

Auf dieser Seite wird ein Überblick darüber vermittelt, wie die Integration die PICTURE-Prozessplattform in Drittsysteme (z.B. Wikis, Content-Management-Systeme, Intranet-Seiten) aus technischer Sicht funktioniert. Sie richtet sich an Administratoren/Anwendungsbetreuer solcher Drittsysteme, die erfahren möchten, welche Integrationsmöglichkeiten bestehen und welche Anforderungen diese an die Drittsysteme stellen.

Architektur-Überblick

Die PICTURE-Prozessplattform (PPP) ist eine Software zur Modellierung und Analyse von Geschäftsprozessen. Mit der PPP können Modelle von Geschäftsprozessen sowie betrieblichen Strukturen, die eng mit den Geschäftsprozessen verzahnt sind (z.B. Organigramm, Produktkatalog, IT-Infrastruktur), erstellt, verwaltet und ausgewertet werden. 

Die PPP ist als webbasierte Client-/Server-Software implementiert. Serverseitig wird sie in einem Java-Servlet-Container (Apache Tomcat) betrieben. Zur Datenhaltung kommt ein relationales Datenbankmanagement-System zum Einsatz (MySQL).

Die Zugriffe der Endanwender auf die PPP erfolgen ausschließlich per Webbrowser über eine HTML-Benutzeroberfläche, die auf interaktive Verwendung durch einen menschlichen Nutzer ausgelegt ist. Zur Verwendung der PPP ist grundsätzlich ein Login erforderlich. Die direkte, externe Verlinkung einzelner Inhalte (z.B. ein bestimmtest Prozessmodell) wird von dieser Benutzeroberfläche nicht unterstützt. 

Zum programmatischen Zugriff durch Drittsysteme auf die in der PPP hinterlegten Inhalte existiert eine Programmierschnittstelle, welche dem REST-Architekturstil folgt. Sie ermöglicht den Lesezugriff auf alle von der PPP verwalteten Inhalte in verschiedenen Darstellungsformaten (z.B. dynamisches HTML, PDF) über das HTTP- bzw. HTTPS-Protokoll. 

Die serverseitigen Komponenten der PPP werden entweder von der PICTURE GmbH im Rechenzentrum ihres Hosting-Providers betrieben (Software-as-a-Service) oder alternativ durch die Kunden der PICTURE GmbH in eigener Verantwortung (on-premise).

Integrationsszenarien 

Über die REST-Schnittstelle lassen sich Inhalte, die mit der PICTURE-Prozessplattform erstellt wurden, in Drittsysteme integrierten. "Integration" meint hierbei die Einbettung dieser Inhalte in die Drittsysteme, sodass für deren Anwender auf Grund von Navigationswegen, optischer Gestaltung etc. nicht zwingend erkennbar ist, dass die Inhalte aus einem externen System "zugeliefert" werden. Die Anwender sollen vielmehr bei der Nutzung der zugelieferten Inhalte den Eindruck haben, das Drittsystem nicht zu verlassen. Grundsätzlich handelt es sich um eine "Live"-Integration, d.h. bei einem Zugriff auf Inhalte aus der PPP über ein per REST-Schnittstelle angebundenes Drittsystem werden stets die aktuellen Daten aus der PPP ausgeliefert. 

Die Integration kann in verschiedenen Integrationstiefen vorgenommen werden, die im Folgenden dargestellt sind:

Verlinkung von PPP-Inhalten ("deep linking")

Die einfachste Form der Integration besteht in der Verlinkung konkreter Modelle aus der PPP in der Drittanwendung. Jede Darstellungsform eines Modells aus der PPP ist über eine URL eindeutig adressierbar. Folgende Darstellungen eines Prozesses können beispielsweise direkt angesteuert werden:

  • PDF-Dokument des Prozesssteckbriefs
  • interaktiver HTML-Viewer des Detailmodells.

Wird mittels eines Webbrowsers direkt auf eine solche URL zugegriffen, so wird (vorherige Authentifizierung vorausgesetzt, siehe Abschnitt "Sicherheit" ) von der PPP-Webanwendung die entsprechende Darstellung ausgeliefert und im Browser direkt geladen. 

Zur Integration der PPP in ein webbasiertes System wie z.B. ein Wiki reicht es daher, im Drittsystem einen HTML-Hyperlink auf die entsprechende URL zu setzen:

<a href="https://www.prozessplattform.de/testfirma/prime/viewer.html?workspaceUUID=afa1fb03-624c-4d80-91cc-211be3366f47&bpmnModelUUID=05695ee0-2d01-47df-aa10-1076c1ab330b&authToken=8a672216-cb01-4b54-a6e7-94d84d8d8f2f">Auslagen erstatten (Detailmodell)</a>

Einbettung von PICTURE-Apps in bestehende HTML-Seiten 

Sollen Inhalte aus der PPP optisch unmittelbar in ein webbasiertes Drittsystem eingebunden werden - ohne Umweg über den Klick auf einen Hyperlink - so bietet sich die Einbettung einer PICTURE-App in einem HTML-IFrame an. 

Unter einer "App" wird hier eine in HTML/JavaScript implementierte Anwendung mit klarem, engem Fokus verstanden. Diese ist optisch so gestaltet, dass sie als "externes Modul" in eine vorhandene HTML-Seite eingebettet werden kann, in deren Layout ein Platzhalter für externe Inhalte freigelassen wurde. Zur Programmierung des Apps kommen ausschließlich clientseitig gerendertes HTML und clientseitig ausgeführtes JavaScript zum Einsatz, sodass es als statischer Content von jedem beliebigen Webserver ausgeliefert werden kann. Die darzustellenden PPP-Inhalte werden durch die App dynamisch zur Laufzeit mittels AJAX-Requests von der Server-Komponente der PPP-Webanwendung geladen. Die Übertragung der Daten erfolgt hierbei in den Formaten XML bzw. JSON/JSONP.


Im Standard-Lieferumfang des Portalmoduls der PPP sind Apps für typische Anwendungsfälle bereits enthalten: 

  • Viewer für Prozesslisten (zeigt eine sortierbare HTML-Liste mit Namen, Beschreibung und Hyperlinks zu weiteren Darstellungsformen der auf der Liste enthaltenen Prozesse an)
  • Viewer für einzelne Prozesse (inkl. Steckbrief) bzw. Prozesslandkarten
  • Portal-Browser (auch eigenständig verwendbare App, welche die o.g. Apps zu einem leichtgewichtigen Lese-Portal zur Prozessdokumentation "orchestriert").

Diese Apps lassen sich über eine URL im Webbrowser ansteuern und per URL-Parameter konfigurieren. So kann z.B. durch Angabe der ID von Arbeitsbereich und Prozess ein bestimmtes Prozessmodell in den Detailmodell-Viewer geladen werden: 

<iframe src="https://www.prozessplattform.de/testfirma/prime/viewer.html?workspaceUUID=afa1fb03-624c-4d80-91cc-211be3366f47&bpmnModelUUID=05695ee0-2d01-47df-aa10-1076c1ab330b&authToken=8a672216-cb01-4b54-a6e7-94d84d8d8f2f" width="100%" height="1000" name="Auslagen bearbeiten (Detailmodell)">
  <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
  Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis
  aufrufen: <a href="https://www.prozessplattform.de/testfirma/prime/viewer.html?workspaceUUID=afa1fb03-624c-4d80-91cc-211be3366f47&bpmnModelUUID=05695ee0-2d01-47df-aa10-1076c1ab330b&authToken=8a672216-cb01-4b54-a6e7-94d84d8d8f2f">Auslagen bearbeiten (Detailmodell)</a></p>
</iframe>


Durch geschickte Kombination der mitgelieferten Apps lassen sich bereits vielfältige Integrationsszenarien abbilden. Sollten die vorgefertigten Apps für bestimmte Informationsbedarfe nicht ausreichen, so besteht die Möglichkeit, eigene Apps unter Nutzung der generischen Funktionen der REST-Schnittstelle zu entwickeln. 

Das Hosting des Apps kann entweder auf den Servern der PICTURE GmbH oder auf eigenen Servern des Kunden erfolgen. Das Eigenhosting von Apps ist auch dann möglich, wenn die PPP-Webanwendung selbst im SaaS-Betrieb auf den Servern der PICTURE GmbH genutzt wird.

Implementierung eigener (Web-)Anwendungen 

Die größte Integrationstiefe kann durch die Entwicklung eigener (Web-)Anwendungen unter Nutzung der REST-Schnittstelle der PPP erreicht werden, die wir Ihnen auf Anfrage zur Verfügung stellen können. Das REST-API ermöglicht den lesenden Zugriff auf alle Modelle, die mit der PPP erstellt werden können, in verschiedenen Darstellungsarten und Dateiformaten (z.B. XML, JSON, PDF, PNG). Weiterhin stehen einfache Funktionen zur Navigation bzw. Suche im Modellbestand zur Verfügung. Diese Programmierschnittstelle kann genutzt werden, um beliebige eigene Oberflächen für den Zugriff auf die Daten aus der PPP und deren Darstellung bzw. eigene Dienstprogramme zu implementieren. Hierzu können alle Programmiersprachen und -umgebungen verwendet werden, für welche Client-Bibliotheken für das HTTP-Protokoll zur Verfügung stehen bzw. mit denen sich einfache HTTP-Zugriffe selbständig programmieren lassen. 

Diese Art der Integration kann z.B. in folgenden Situationen eingesetzt werden: 

  • Sie haben für die Verwaltung Ihres komplexen Intranets ein CMS im Einsatz, das die Einbindung externer Inhalte per IFrame aus Sicherheitsgründen nicht zulässt. Daher können Sie die o.g. Standard-Apps zur Anzeige der Prozessmodelle nicht nutzen. Sie haben nun stattdessen die Möglichkeit, den JavaScript-Code zum Laden des Prozessmodells über die REST-Schnittstelle sowie die anschließende optische Aufbereitung der Rohdaten (JSON) direkt in den Seiten-Templates des CMS unterzubringen. 
  • Sie möchten ausgewählte Prozessmodelle, die zu Dokumentationszwecken aufbewahrt werden müssen, als PDF-Dokument in regelmäßigen Abständen revisionssicher in einem externen Archivsystem ablegen. Mittels Linux-Shell-Scripting oder Scriptsprachen wie Python können Sie die entsprechenden PDF-Dokumente automatisch zeitgesteuert über die REST-Schnittstelle abrufen und auf die Netzwerkfreigaben schreiben, die von Ihrem Archivsystem gesichert werden. 

Sicherheit

Falls die PICTURE-Prozessplattform im SaaS-Modell durch die PICTURE GmbH betrieben wird, erfolgt sämtliche Kommunikation mit der Server-Komponente der PPP grundsätzlich über SSL-verschlüsselte HTTP-Verbindungen (HTTPS).

Die PPP verfügt über eine eigene Nutzer- und Gruppenverwaltung, die es erlaubt, feingranulare Zugriffsberechtigungen auf die in der PPP verwalteten Inhalte sowie den möglichen Anwendungsfunktionen zu vergeben (optional steht ein Modul zum Synchronisation der PPP-eigenen Nutzerdatenbank mit einem LDAP-kompatiblen Verzeichnisdienst zur Verfügung). Sämtliche Zugriffe über die REST-Schnittstelle müssen authentifiziert werden und laufen im Kontext eines PPP-Nutzerkontos ab. Zugriff auf hinterlegte Daten wird nur gewährt, wenn dem Nutzerkonto in der Nutzer- und Gruppenverwaltung die nötigen Rechte eingeräumt wurden. 

Die PPP kennt zwei Arten von Nutzerkonten: 

  • persönliche Nutzerkonten: Sind an eine natürliche Person gebunden und dürfen nicht zwischen mehreren Personen "geteilt" werden. Die Authentifizierung erfolgt mittels Benutzername und Passwort. 
  • anonyme Leser: Sind nicht an einzelne natürliche Personen gebunden und dürfen von mehreren Personen gemeinsam genutzt werden. Die Authentifizierung erfolgt mittels eines Access-Tokens (UUID, 32 Stellen), welches eindeutig einem Nutzerkonto zugeordnet ist. Mit diesen Nutzerkonten ist ausschließlich lesender Zugriff auf hinterlegte Inhalte möglich. 

Die Authentifizierung eines HTTP-Requests auf die REST-Schnittstelle läuft technisch wie folgt ab: 

  • Ein HTTP-Request auf die REST-Schnittstelle muss einer bereits authentifizierten HTTP-Session zugeordnet werden können, sonst wird der Zugriffsversuch abgewiesen. Die Zuordnung des Requests zur Session erfolgt dabei anhand eines Session-Cookies bzw. anhand eines entsprechenden URL-Parameters). 
  • Die Authentifizierung einer bis dato nicht authentifizierten Session erfolgt für persönliche Accounts durch den Aufruf einer Login-URL (Benutzername und Passwort werden dabei als Parameter übergeben). Ein programmatischer Logout erfolgt analog durch den Aufruf einer Logout-URL. 
  • Zur Authentifizierung einer Session für einen "anonymen Leser" kann jedem Request auf die REST-Schnittstelle das Authentifizierungs-Token eines Lese-Accounts per URL-Parameter mitgegeben werden. Ist das Token gültig, wird die HTTP-Session, aus welcher der Request kam, für den Leseaccount authentifiziert. 


  • Keine Stichwörter