Info |
---|
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. |
Inhalt |
---|
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 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 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.
...
Einbettung von PICTURE-Apps in bestehende HTML-Seiten
Hinweis |
---|
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.
Tipp |
---|
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 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:
Codeblock | ||
---|---|---|
| ||
<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önnen die eingebettete Seite ü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> |
Tipp |
---|
Tipp: Größe der Darstellung anpassen Sie betten einen Portal-Browser über ein IFrame ein und möchten Ihren Anwendern den Einstieg erleichtern, indem Sie die Größe des Einstiegsmodells an die Größe des IFrames anpassen? Beispiel: <iframe src="https://www88.prozessplattform.de/musterhausen/apps/current/viewer.html?shareToken=b32f4bea-4fbe-4933-b586-63d18c1a0303&workspace=de20c00c-dc23-4069-a01b-5beb1e70f6a0&zoom=0.6" width="100%" height="1000" name="Auslagen bearbeiten (Detailmodell)"> Standardmäßig wird die Voreinstellung für den Zoom auf alle Ansichten (bzw. Diagramme) des Einstiegsmodells angewandt. Wenn der Zoom lediglich auf die erste Ansicht des Einstiegmodells angewandt werden soll, kann optional der weitere Query-Parameter zoomFirstViewOnly mit dem Wert true ergänzt werden. |
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
...
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-
ZugirffsbeschränkungZugriffsbeschrä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.