Portalmodul - Überblick für Techniker

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 (MariaDB).

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.

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://www88.prozessplattform.de/musterhausen/apps/current/viewer.html?shareToken=b32f4bea-4fbe-4933-b586-63d18c1a0303&workspace=de20c00c-dc23-4069-a01b-5beb1e70f6a0">Auslagen erstatten (Detailmodell)</a>

Einbettung von PICTURE-Apps in bestehende HTML-Seiten 

Der von uns empfohlene Weg zum Einbinden einer Freigabe ist die Verwendung von Hyperlinks. Hyperlinks bringen Sicherheitsvorteile und eine bessere Bedienbarkeit gegenüber IFrames.

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://www88.prozessplattform.de/musterhausen/apps/current/viewer.html?shareToken=b32f4bea-4fbe-4933-b586-63d18c1a0303&workspace=de20c00c-dc23-4069-a01b-5beb1e70f6a0" 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://www88.prozessplattform.de/musterhausen/apps/current/viewer.html?shareToken=b32f4bea-4fbe-4933-b586-63d18c1a0303&workspace=de20c00c-dc23-4069-a01b-5beb1e70f6a0">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). 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 eine Schnittstelle zu einem LDAP-kompatiblen Verzeichnisdienst oder eine Anbindung an einen Identity-Provider über eine SAML-Schnittstelle zur Verfügung). Sämtliche Zugriffe über die REST-Schnittstelle laufen entweder im Kontext eines persönliches PPP-Nutzerkontos oder eines Freigabe-Tokens ("shareToken") ab. Zugriff auf hinterlegte Daten wird nur gewährt, wenn dem Nutzerkonto in der Nutzer- und Gruppenverwaltung die nötigen Rechte eingeräumt wurden oder innerhalb der Freigabe Zugriff auf die jeweiligen Daten gewährt wird. Ist eine IP-Zugriffsbeschränkung in Ihrer Prozessplattform konfiguriert, können Sie diese sowohl Nutzerkonten, als auch Freigaben zuordnen, dann sind Zugriffe über diese Nutzer und Freigaben zusätzlich nur noch aus dem angegebenen IP-Adressbereich durchführbar.

Die PPP kennt also folgenden Arten zur Zugriffsbeschränkung auf bestimmte Inhalte: 

  • 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. 

  • Freigabe-Token ("shareToken"): Identifiziert genau eine bestimmte Freigabe. Unter Angabe eines "shareTokens" kann ausschließlich lesend auf die Inhalte dieser einen Freigabe zugegriffen werden.

  • IP-Zugriffsbeschränkung: Sorgt in Kombination mit den beiden o.g. Varianten dafür, dass Zugriffe über Nutzerkonten und Freigabe-Token nur aus einem bestimmten IP-Adressbereich möglich sind.

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

  • Ein HTTP-Request auf die REST-Schnittstelle muss entweder einer bereits authentifizierten HTTP-Session (die Zuordnung eines Requests zur User-Session erfolgt dabei anhand eines Session-Cookies) oder einem gültigen Freigabe-Token zugeordnet werden können, sonst wird der Zugriffsversuch abgewiesen.

  • Falls dem Nutzer oder der Freigabe eine IP-Zugriffsbeschränkung zugeordnet wurde und das Request nicht aus dem dort angegebenen IP-Adressbereich stammt, wird der Zugriffsversuch ebenfalls abgewiesen.

  • 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.