4
Workflow- & IntegrationServer ExsoFlow Die Schaffung einer einheitlichen, einfach zu verwaltenden Lösung für die verschiedensten Integrationsaufgaben in und zwischen Unternehmen war unser zweiter Anspruch bei der Entwicklung von ExsoFlow. Der erste: eine leistungsstarke Datenhaltungs- und Workflow-Instanz für ExsoForm-Vorgänge anzubieten. Konzept der ExsoForm-Vorgänge ExsoForm ist eine Workflow-Lösung. Sie basiert auf XML- Datensätzen, die zur Darstellung auf dem Bildschirm mit einem XSL-Formular verknüpft werden. Durch dieses flexible Mapping steht bei ExsoForm der Datensatz oder der „Vorgang“ im Mittelpunkt, nicht (nur) das Formular. Was dem Anwender gleichgültig sein mag ist für die Integration in eine neue oder bestehende Softwarelandschaft essentiell: zum einen kann ExsoForm nicht nur eigens für die Lösung erstellte Daten anzeigen sondern eben XML-Dateien aus beliebigen Quellen. Und diese Daten kann ExsoForm natürlich auch wieder an andere Systeme weitergeben. ExsoForm ist dokumentenzentriert. Ähnlich einer Tabellen- kalkulation oder einer Textverarbeitungslösung werden Dateien also geöffnet und gespeichert - mit dem Unterschied, dass das Speichern nicht notwendig in eine Datei erfolgt sondern einen Sendevorgang an den ExsoFlow-Server darstellt. ExsoForm bettet die Vorgangsdaten in ein XML-Dateiformat ein, dass zusätzlich Anlagen und Metadaten enthält - und: eine komplette Versionierung. Damit ist aus der Vorgangsdatei selbst jede signierte Vorgangsversion jederzeit ersichtlich. Gegenüber einem System, das als Browserversion angeboten wird oder im Client-Server-Betrieb arbeitet bietet das zwei Vorteile: zum einen kann ein ExsoForm-Vorgang ohne weiteres ohne Internet-Verbindung - zum Beispiel auf Notebooks - bearbeitet werden. Sogar ganze Listen von Vorgängen können ausgecheckt, offline bearbeitet und wieder eingecheckt werden. Das macht ExsoForm besonders für Einsatzgebiete interessant, bei denen eine durchgängige Internet-Verbindung nicht oder nur mit geringer Bandbreite zur Verfügung steht. Das ist beileibe nicht nur bei Baustellen von Eisenbahntunneln der Fall sondern häufig im Service- oder Vertriebs-Außendienst. Oder beim Einsatz in Produktionsstätten. Hier sind WLAN und WiFi oftmals durch elektrische Felder gestört, die von Maschinen erzeugt werden - oder Internet-Verbindungen sind für Außenstehende schlichtweg nicht erlaubt um Geschäftsgeheimnisse zu schützen. Wenn Sie sich in Zukunft noch einmal über Leute wundern sollten, die auf dem Parkplatz von Fastfood-Ketten im Auto sitzen und mit ihren Notebooks arbeiten ohne etwas zu essen: sie nutzen deren kostenfreies WLAN für den Zugriff auf ihre Firmendaten und erfassen dort nach, was sie beim Besuch ihrer Kunden provisorisch notiert haben. Mit ExsoForm stellen Sie Ihre Dokumente einfach in die Sendewarteschlange. Ab einer bestimmten Größenordnung bekommt die Datenhaltung der Vorgangsdateien zunehmende Bedeutung. Dabei geht es um die klassischen zwei Bereiche Online- Transaktion (also das Verarbeiten von Daten zur Ausführung von Geschäftsprozessen) und Online-Analyse (oder klassisch: Statistiken). Dass die Datenmodelle in ExsoForm flexibel und vor allem leicht erweiterbar sind sprach im Bereich Speichern und Auffinden von Vorgängen gegen den Einsatz einer klassischen Datenhaltung auf SQL-Basis. Ebenso, dass Anlagen zu Vorgängen leicht einige Megabyte groß sein können - etwa eingescannte Rechnungen, PDF-Dateien oder Bilder. Eine Ablage im klassischen Dateisystem stellte vor dem Hintergrund einer einfachen und sicheren Datensicherung keine Alternative dar. Die Wahl fiel daher auf die moderne NoSQL-Datenbank MongoDB, die sich in diversen Großprojekten bis hin zum Internet-Shop eines großen deutschen Bekleidungs-Versenders oder diversen Immobilien-Portalen bewährt hat. Dass diese Lösung zusätzlich hochverfügbar konfiguriert werden kann, stellte einen weiteren Pluspunkt dar. Für die Datenanalyse hingegen ist eine NoSQL-Datenbank eher ungeeignet. Hier wird für die Vorbereitung der Analysedimensionen üblicherweise mit SQL gearbeitet. Der Datenhaltung mit dem ExsoFlow-Server Abb.: Das ExsoForm-Datenmodell

ExsoFlow Workflow & IntegrationServer technische Information

Embed Size (px)

DESCRIPTION

Technische Informationsbroschüre zum ExsoFlow-Server Stand Januar 2014

Citation preview

Page 1: ExsoFlow Workflow & IntegrationServer technische Information

Workflow- & IntegrationServerExsoFlow

Die Schaffung einer einheitlichen, einfach zu

verwaltenden Lösung für die verschiedensten

Integrationsaufgaben in und zwischen

Unternehmen war unser zweiter Anspruch bei der

Entwicklung von ExsoFlow. Der erste: eine leistungsstarke Datenhaltungs- und

Workflow-Instanz für ExsoForm-Vorgänge

anzubieten.

Konzept der ExsoForm-Vorgänge

ExsoForm ist eine Workflow-Lösung. Sie basiert auf XML-Datensätzen, die zur Darstellung auf dem Bildschirm mit einem XSL-Formular verknüpft werden. Durch dieses flexible Mapping steht bei ExsoForm der Datensatz oder der „Vorgang“ im Mittelpunkt, nicht (nur) das Formular. Was dem Anwender gleichgültig sein mag ist für die Integration in eine neue oder bestehende Softwarelandschaft essentiell: zum einen kann ExsoForm nicht nur eigens für die Lösung erstellte Daten anzeigen sondern eben XML-Dateien aus beliebigen Quellen.Und diese Daten kann ExsoForm natürlich auch wieder an andere Systeme weitergeben.ExsoForm ist dokumentenzentriert. Ähnlich einer Tabellen-kalkulation oder einer Textverarbeitungslösung werden Dateien also geöffnet und gespeichert - mit dem Unterschied, dass das Speichern nicht notwendig in eine Datei erfolgt sondern einen Sendevorgang an den ExsoFlow-Server darstellt. ExsoForm bettet die Vorgangsdaten in ein XML-Dateiformat ein, dass zusätzlich Anlagen und Metadaten enthält - und: eine

komplette Versionierung. Damit ist aus der Vorgangsdatei selbst jede signierte Vorgangsversion jederzeit ersichtlich.Gegenüber einem System, das als Browserversion angeboten wird oder im Client-Server-Betrieb arbeitet bietet das zwei Vorteile: zum einen kann ein ExsoForm-Vorgang ohne weiteres ohne Internet-Verbindung - zum Beispiel auf Notebooks - bearbeitet werden. Sogar ganze Listen von Vorgängen können ausgecheckt, offline bearbeitet und wieder eingecheckt werden. Das macht ExsoForm besonders für Einsatzgebiete interessant, bei denen eine durchgängige Internet-Verbindung nicht oder nur mit geringer Bandbreite zur Verfügung steht. Das ist beileibe nicht nur bei Baustellen von Eisenbahntunneln der Fall sondern häufig im Service- oder Vertriebs-Außendienst. Oder beim Einsatz in Produktionsstätten. Hier sind WLAN und WiFi oftmals durch elektrische Felder gestört, die von Maschinen erzeugt werden - oder Internet-Verbindungen sind für Außenstehende schlichtweg nicht erlaubt um Geschäftsgeheimnisse zu schützen.Wenn Sie sich in Zukunft noch einmal über Leute wundern sollten, die auf dem Parkplatz von Fastfood-Ketten im Auto sitzen und mit ihren Notebooks arbeiten ohne etwas zu essen: sie nutzen deren kostenfreies WLAN für den Zugriff auf ihre Firmendaten und erfassen dort nach, was sie beim Besuch ihrer Kunden provisorisch notiert haben. Mit ExsoForm stellen Sie Ihre Dokumente einfach in die Sendewarteschlange.

Ab einer bestimmten Größenordnung bekommt die Datenhaltung der Vorgangsdateien zunehmende Bedeutung. Dabei geht es um die klassischen zwei Bereiche Online-Transaktion (also das Verarbeiten von Daten zur Ausführung von Geschäftsprozessen) und Online-Analyse (oder klassisch: Statistiken). Dass die Datenmodelle in ExsoForm flexibel und vor allem leicht erweiterbar sind sprach im Bereich Speichern und Auffinden von Vorgängen gegen den Einsatz einer klassischen Datenhaltung auf SQL-Basis. Ebenso, dass Anlagen zu Vorgängen leicht einige Megabyte groß sein können - etwa eingescannte Rechnungen, PDF-Dateien oder Bilder. Eine Ablage im klassischen Dateisystem stellte vor dem Hintergrund einer einfachen und sicheren Datensicherung keine Alternative dar.Die Wahl fiel daher auf die moderne NoSQL-Datenbank MongoDB, die sich in diversen Großprojekten bis hin zum Internet-Shop eines großen deutschen Bekleidungs-Versenders oder diversen Immobilien-Portalen bewährt hat. Dass diese Lösung zusätzlich hochverfügbar konfiguriert werden kann, stellte einen weiteren Pluspunkt dar.Für die Datenanalyse hingegen ist eine NoSQL-Datenbank eher ungeeignet. Hier wird für die Vorbereitung der Analysedimensionen üblicherweise mit SQL gearbeitet. Der

Datenhaltung mit dem ExsoFlow-Server

Abb.: Das ExsoForm-Datenmodell

Page 2: ExsoFlow Workflow & IntegrationServer technische Information

ExsoFlow-Server bietet mit dem Statistik-Modul daher eine optionale Funktionalität an, um die Vorgangsdaten auf SQL-Datenbanken zu transferieren, wobei die Tabellenschemata anhand des Datenmodells automatisch gepflegt werden und Master-Detail-Verbindungen über Primär- und Fremdschlüssel sauber abgebildet werden.

ExsoForm/ExsoFlow bieten ein linearen Workflow mit Sprungmöglichkeiten an. Ein Vorgang durchläuft also das Workflow-Modell schrittweise, wobei einzelne Schritte übersprungen oder wiederholt werden können. Wenn ein Vorgang in einen anderen Schritt weitergeleitet wird geschieht dies durch eine Statuszuweisung mit digitaler Signatur. In welche Schritte ein Vorgang weitergeleitet werden kann richtet sich nach dem aktuellen Zustand, nach der Berechtigung des Anwenders sowie nach festzulegenden Feldinhalten, die auch mit Werten des Anwenders abgeglichen werden können (Beispiel: Freizeichung einer Eingangsrechnung nur, wenn dem Anwender eine Berechtigung

Workflow-Modell

mindestens in Höhe des Rechnungsbetrags zugewiesen ist).Die bewusst einfach gehaltene Workflow-Systematik bringt in der Praxis zwei Vorteile:?zum einen sind die Sachbearbeiter in der Lage, den Workflow grob komplett zu beherrschen und jedenfalls den letzten und den nächsten Schritt eines von ihnen bearbeiteten Vorgangs zu kennen.?zum anderen verleitet die Systematik nicht zu unüberschaubaren Gestaltungen in der Planungsphase.Durch die Möglichkeit, Schritte zu überspringen lassen sich Verzweigungen wie zusätzliche Genehmigungen etc. ohne weiteres abbilden.

ExsoForm bietet für die Vorgänge eine verwaltbare Ordnerstruktur an. Dabei existiert jeweils ein Grundordner, der einen oder mehrere Vorgangstypen beinhalten kann (z.B. Montagebericht und telefonischer Support, die sich nur marginal unterscheiden).

Ordnerstruktur

Abb: Workflow-Modell in ExsoForm

Abb: Vorgangs- und Stammdatenprozessor in ExsoFlow

Abb: Konfigurieren privater Sicht-Ordner

Auf diesem Ordner aufbauend können Sichten definiert werden, die den Ordnerinhalt nach verschiedenen Kriterien filtern. Solche Kriterien können sein der aktuelle Arbeitsschritt, der Status eines Dokuments, beliebige Feldinhalte, der letzte oder aktuelle Bearbeiter etc.

Diese Filter können zum Teil auch dynamisch eingesetzt werden wie zum Beispiel eine Einschränkung auf Vorgänge des „aktuellen Benutzers“ oder Vorgänge mit Felddatum „größer 1 Monat“ etc.Der Zugriff auf diese Sicht-Ordner kann auf bestimmte Benutzergruppen/Abteilungen eingeschränkt werden, so dass beinahe alle Berechtigungskonzepte abbildbar sind.Zusätzlich können Anwender private Sicht-Ordner anlegen um ihre Arbeitsaufgaben nach Wunsch zu organisieren.Datumsfelder aus dem Datenmodell können dazu verwendet werden, Vorgänge in einer Planungstafel zum entsprechenden Ordner darzustellen (z.B. alle nicht erledigten Supporteinsätze eines Tages).

Die Kommunikation zwischen ExsoForm und dem ExsoFlow-Server sowie zwischen ExsoFlow-Servern findet über WebServices mit dem HTTP- bzw. HTTPs-Protokoll statt - also über dasselbe Protokoll, das auch ein Web-Browser verwendet. Im Grunde stellt ExsoForm einen auf einen speziellen Zweck hin entwickelten Web-Browser dar - mit leistungsfähigen Erweiterungen. Der ExsoFlow-Server kann auch als Internet-Service gehostet werden - stellt also eine „Cloud-Lösung“ dar. So kann ExsoFlow alternativ zu einer lokalen Installation bei einem externen Cloud-Anbieter laufen und über verschiedene Abrechnungsmodelle gemietet werden. ExsoFlow fügt sich dabei beispielsweise hervorragend in die Serverstruktur von Microsoft Azure ein.

Internet, WebServices, Cloud-Computing

Schematischer Aufbau des ExsoFlow Vorgangs- und Stammdatenprozessors

DocumentWriterService(parallele Pipelines)

ReaderService(parallele Pipelines)

FolderReaderService

Dokumenten-Datenbank(MongoDB)

Index-Prozessorerstellt IndexObject

Job-ProzessorStatus/Step startet Job

Organisationsmanagement(Rechteverwaltung)

Template-Library

Template-Folder-Mapper

Folders & Queries

Folder-Manager

Page 3: ExsoFlow Workflow & IntegrationServer technische Information

Senden an den Server und Job-Engine

Wird ein Vorgang an ExsoFlow versendet, so wird zunächst einmal die Vorgangsdatei einfach in der Vorgangsdatenbank abgespeichert,

die Mehrbenutzersperre für diesen Vorgang aufgehoben und ein Indexobjekt anhand der im Datenmodell gekennzeichneten Indexfelder erstellt. Damit lassen sich in ExsoFlow die Anforderungen der GoBS abbilden.Zusätzlich prüft das System, ob aufgrund des Status und/oder des Arbeitsschrittes des Vorgangs weitere Aktionen erforderlich sind. Ist dies der Fall, d.h. ist ein entsprechender Job konfiguriert, wird dieser Job ausgeführt. ExsoFlow bietet dazu eine Reihe von Standard-Jobs an. Darunter sind Jobs zum Abspeichern der XML-Daten in einer SQL-Datenbank, das Verschicken von Vorgängen oder daraus generierter pdf-Dateien per eMail, das Auslesen eines eMail-Postfachs, das Starten von Anwendungen etc.Verschiedene Jobs können dabei nacheinander ausgeführt werden.Damit ist es beispielsweise möglich, einen eingegangenen ExsoForm-Vorgang zunächst in eine Datenbankstruktur zu schreiben, diese dann auszulesen und die Daten an ein ERP-System zu übergeben. Damit kann aus einem ExsoForm-Montagebericht sofort ein Auftrag in einem ERP-System generiert werden.Diese Job-Bundles können auch zeitgesteuert ausgeführt werden und so beispielsweise ein eMail-Postfach mit Eingangsrechnungen auslesen, daraus automatisch ExsoForm-Vorgänge generieren und in den Workflow einstellen.Eine dritte Auslösemöglichkeit stellen sogenannte „Watcher“ dar, die zum Beispiel ein Windows-Dateisystem überwachen und Jobs ausführen sobald eine Datei in ein bestimmtes Verzeichnis gestellt wird. Damit können beispielsweise Auftragsanlagen aus XML-Dateien oder einfach Umwandlungen von XML-Formaten ausgelöst werden.Mit dem ExsoFlow-JobEngine sind also diverse Integrationsaufgaben auch über den Einsatz mit ExsoForm hinaus möglich, man kann ExsoFlow auch komplett ohne ExsoForm als zentrale Schnittstellenlösung einsetzen.

Abb: Definition eines ExsoFlow Job-Bundles

Abb: Aufbau des ExsoFlow-Servers

Schematischer Aufbau des ExsoFlow Servers

Dokumenten-Datenbank(NoSQL, MongoDB)

Job- und Temp-Datenbank(SQL, Apache Derby)

Vorgangs-/Stammdaten-Prozessor

ExsoForm andere ExsoFlow-Domäne

Job-Prozessor

Scheduler

Watcher(FileSystem, eMail, DB)

JDB

C

Web

Serv

ice

File

(OS,

FT

P,W

ebD

AV

)

eMai

l

Built-In

Plug-In 1

Plug-In n

= Webservice via HTTP(S)

Domänen

Plug-Ins

In der heutigen Unternehmenspraxis sind „einfache“ Unternehmen (d.h. solche die nur eine rechtliche Gesellschaft darstellen und einen homogenen Unternehmensgegenstand haben) kaum noch als Regelfall anzusehen: eine Aufteilung in Produktions- und Vertriebsgesellschaft ist in der Fertigung üblich, darüber hinaus gibt es eine Reihe von Unternehmensverbänden mit wechselseitigen Beteiligungen oftmals in völlig unterschiedlichen Branchen.Gleichwohl sind gerade die Verbindungen zwischen den Unternehmen wichtig und es gibt immer wieder Personen an bestimmten Stellen, die auf die Daten mehrerer Teilstrukturen dieser Unternehmensverbände zugreifen müssen.Wollte man diese Strukturen mit einem einzigen Datenpool versorgen, so ergäben sich mannigfaltige Berechtigungsprobleme. Schon das Speichern in derselben Datenbank oder auf demselben Server scheint problematisch, wenn beispielsweise bei einem Joint-Venture die Vertragspartner in anderen Gebieten zugleich Wettbewerber sind.Um solche Strukturen abbilden zu können verfügt ExsoFlow über ein Domänenkonzept: ein Anwender kann in seinem ExsoForm-Frontend völlig getrennte Instanzen von ExsoFlow einhängen und mit unterschiedlichen Berechtigungen (abgebildet über X509-Zertifikate) auf die Vorgänge mehrerer Domänen zugreifen.So kann der Vertriebsmitarbeiter, der für mehrere Unternehmen arbeitet, unterschiedliche Vorgangstypen seiner Auftraggeber im gleichen Frontend abbilden und über den ExsoFlow-Server gegebenenfalls sogar unternehmens- bzw. instanzübergreifende Vorgänge auslösen.Gleichzeitig hat er alle aktuellen Themen im Blick ohne sich ständig an unterschiedliche Systeme anmelden zu müssen.

Eine mächtige Erweiterungsfunktionalität bietet ExsoFlow durch die Plug-In-Technologie. ExsoForm und ExsoFlow sind komplett in Java entwickelt. Aus einer frei verfügbaren Java-Basisklasse können nun beliebige Java-Entwicklungen abgeleitet werden. Diese können ihrerseits Jobs mit entsprechenden Verwaltungs-Oberflächen sowie WebServices bereitstellen, die innerhalb des ExsoFlow-Servers laufen.Darüber hinaus sind alle Möglichkeiten denkbar, die Java als

Page 4: ExsoFlow Workflow & IntegrationServer technische Information

Entwicklungsumgebung bietet, insbesondere kann auf alle Klassenbibliotheken zugegriffen werden die für die Umsetzung einer Aufgabe erforderlich sind.Anders als bei herkömmlichen Applikationsservern sind zentrale Funktionalitäten des Servers auch vom Plug-In nutzbar,

Abb: Rechteverwaltung in der ExsoFlow ManagementConsole

Workflow- & IntegrationServerExsoFlow

EXSO. business solutions GmbHSternstraße 9-11 · 40479 Düsseldorf · Germany

Telefon +49 211 6000 10-3 · Telefax +49 211 6000 10-40eMail [email protected]

www.exsoform.com

Abb: Jobsteuerung und Protokoll in der ExsoFlow ManagementConsole

Ihr zertifizierter ExsoForm-Partner:

Stand Januar 2014Verwendete Unternehmens- und Produktnamen können eingetragene Marken

der jeweiligen Unternehmen sein.Der Funktionsumfang kann landesspezifisch variieren, Änderungen des Funktionsumfangs

können ohne Vorankündigung erfolgen. Irrtümer und Druckfehler vorbehalten.© 2014 EXSO. business solutions GmbH. Alle Rechte vorbehalten.

beispielsweise die Protokollierung oder die Verwaltung von SQL-Verbindungen, die einfach über die ExsoFlow-Console administrierbar sind.Durch die Kombinationsmöglichkeiten im Job-Engine stehen nun praktisch alle Möglichkeiten offen: seien es Zugriffe auf ein ERP-API bei Empfang eines ExsoFlow-Montageberichtes, das Eintragen oder Auslesen eines Termins in einem CRM-System, das Versenden einer Mahnung per eMail, Lagerbestands-Auskünfte als Plug-In-Webservice für eine Website etc. Und das mit einem Entwicklungsaufwand, der kaum zu unterbieten sein dürfte. Im Minimalfall reicht es aus, zwei Klassen zu programmieren und in ExsoFlow einzuhängen um einen kompletten Webservice anbieten zu können.

Mit der ExsoFlow ManagementConsole bietet ExsoFlow ein professionelles Verwaltungswerkzeug an, das mit dem ExsoFlow-Server über WebServices verbunden ist.

Verwaltung

Integration in Verzeichnisdienste

Gerade in größeren Unternehmen stellt die Integration einer Workflow-Lösung in Anwender-Verwaltungssysteme oft eine Herausforderung dar: während einige Unternehmen gern komplett in homogenen Lösungen wie Microsoft ActiveDirectory arbeiten haben andere gar keine Windows-Server und können - oder wollen - solche Integrationen daher nicht nutzen. Darüber hinaus darf die Integration des Verzeichnisdienstes nicht zu Problemen bei Backup oder Recovery führen und sollte auch nicht zu Einschränkungen in der Funktionalität der Lösungen führen. Ein häufig beschrittener Weg, den wir auch in ExsoFlow gehen, ist es, keine Vollintegration in einen Verzeichnisdienst durchzuführen sondern die eigene Anwenderstruktur regelmäßig mit einem Verzeichnisdienst (LDAP) abzugleichen. So kommen neu angelegte Netzwerk-Accounts in ExsoFlow an und können dort weiter bearbeitet werden. Fast noch wichtiger ist es, dass gesperrte Accounts dann auch in ExsoFlow gesperrt werden. Unabhängig davon können die Einzelberechtigungen in ExsoFlow verwaltet werden oder - falls andere zentrale Verwaltungstools eingesetzt werden - über eine Anbindung zu diesen Tools.