Per Sidekick zur Datensicht
Was tun, wenn aufgrund von Projekterfordernissen dringend ein bequemer Zugriff auf Daten notwendig wird, die erfassenden und verarbeitenden technischen Systeme sich aber noch in der Entwicklung befinden?
Dass die Arbeit mit Datenausleitungen im XML-Format zwar im Prinzip technisch ideal aber auch wenig nutzerfreundlich ist, musste ein Kunde leidvoll erfahren: aus einem Online-System wurden die erfassten Daten für die anschließende Verarbeitung im eigenen CRM-System als XML bereitgestellt. Ein Teil der in der XML-Datei enthaltenen Informationen konnten jedoch nicht in das CRM-System übertragen werden. Zusätzlich mussten Daten bereits weiteren Teilnehmern ohne Zugriff auf das CRM in gut lesbarer und editierfähiger Form, im konkreten Fall in Word-Format, zur Verfügung gestellt werden. Das Hauptsystem sollte durch die ergänzenden Anforderungen vorläufig aber nicht beeinflusst werden, eine Berücksichtigung dieser Anforderungen im aktuellen Release-Plan war auch nicht möglich.
Das war wieder eines dieser kleinen, feinen Projekte, die uns vor interessante Herausforderungen stellen und mit dem wir dem Kunden schnell den gewünschten Nutzen bringen können.
Statt nun also aufwändige Schnittstellendefinitionen und weitere Anpassungen in das System zu integrieren, entschieden wir uns für eine einfachere Lösung auf PHP-Basis. Unter Nutzung der bereits vorhandenen SFTP-Austauschplattform greifen wir auf die bereitgestellten Daten nur lesend zu. Die in ZIP-Archiven gebündelten Dateien, die auch die Daten-führende XML-Datei enthalten, übertragen wir auf einen geschützten Bereich des eigenen Servers und extrahieren daraus die benötigte XML-Datei. Für die Generierung der gewünschten Word-Dateien waren zuvor zwei Muster-Dokumente angelegt worden. Platzhalter-Zeichenketten in diesen Dokumenten repräsentieren die einzufüllenden XML-Daten, die in der folgenden Verarbeitung ersetzt werden sollen. Besondere Herausforderungen waren dabei sich wiederholende Inhalts-Abschnitte mit denselben Platzhalter-Identitäten, wie sie z.B. bei mehreren Adressen vorkommen können. Aber auch die Tatsache, dass nicht alle aus dem Erfassungssystem ermittelten Felder Pflichtfelder sind und somit einige Platzhalter-Identitäten nicht mit neuen Werten ersetzt werden würden, sind berücksichtigt. Das von MS Word verwendete Office Open XML-Dokumentenformat (OOXML) nutzt intern ebenfalls eine XML-basierte Struktur zur Speicherung. Damit implementieren wir auf Basis etablierter XML-Technologien die Erstellung der geforderten Word-Dokumente ohne größere Schwierigkeiten, wenn auch die "Geschwätzigkeit" des OOXML-Formats seitens Word für die eine oder andere Hürde bei der zuverlässigen Erkennung der Platzhalter sorgt.
Die erzeugten Word-Dokumente werden dann auf einem eigenen SFTP-Server zur Verfügung gestellt. Von dort kann ein beim Kunden installierter Synchronisierungsmechanismus die Dateien abholen und zur weiteren Verarbeitung im Hauptsystem speichern.
Bei der Implementierung achteten wir auf eine flexible XML-Verarbeitung, um auf mögliche Feldänderungen aufgrund des noch laufenden Entwicklungsprozesses vorbereitet zu sein. Somit war es uns schließlich möglich, rasch auf geänderte Identitäten zu reagieren und dem Kunden mit minimaler Verzögerung eine angepasste Erzeugung korrekter Dokumente liefern zu können. Die Modularisierung des Systems in Übertragungs- und Verarbeitungsmodule sowie die Verwendung des XML-Formates ermöglichen zudem zukünftig die Integration der Funktionalität in das Hauptsystem, z.B. durch eine entsprechende REST-Schnittstelle. Für den Kunden ist damit eine Lösung gefunden worden, mit der er seinen eigentlichen Verwaltungsaufgaben nachgehen konnte, ohne dass durch die zusätzlichen Maßnahmen das Hauptprojekt in seiner Entwicklung und Fertigstellung behindert worden wäre.