Die Artikelreihe „COSIMA Scripting“  beschäftigt sich mit den mächtigen Funktionen von COSIMA Scripting und stellt verschiedene Anwendungsfälle vor. Heute zeigen wir, wie Sie COSIMA an Drittsysteme anbinden können.

Im Blog-Artikel „Inhalte aus externen Systemen generieren“ haben wir uns am Beispiel von Jira eine Integration von Drittsystemen mit COSIMA angesehen. Ausgelöst wurde der Prozess durch COSIMA, indem dort eine Aktion getriggert wurde. Es könnte natürlich genauso auch ein Trigger sein, der durch spezifische Aktionen ausgelöst wird. Ein Beispiel hierfür wäre die automatisierte Ablage von PDF-Dokumenten im Rahmen eines Statuswechsels nach Freigegeben.

In diesem Artikel wollen wir uns den umgekehrten Weg ansehen:

  1. Der Trigger kommt aus einem Drittsystem in Form einer Anfrage
  2. Dazu erfolgt eine Anmeldung an COSIMA über entsprechende Zugangsdaten
  3. Anschließend wird die Anfrage ausgewertet, beispielsweise indem darin enthaltene Parameter für eine Suche genutzt werden
  4. Das Ergebnis wird vom COSIMA Server zusammengetragen
  5. Am Ende wird das Ergebnis in ein verwertbare Form gebracht (als Format hat sich JSON recht stark etabliert, aber beispielsweise XML wäre natürlich genauso möglich)
  6. Das Ergebnis wird an das Anfragesystem zurückgestellt

Getreu dem Motto „ein Bild sagt mehr als 1.000 Worte“ zeigt die nachfolgende Grafik nochmal den oben beschriebenen Ablauf, links dabei nochmal zum Vergleich den Ablauf „Trigger erfolgt aus COSIMA“, rechts der in diesem Blog-Artikel beschriebene Ablauf:

 

Als Beispiel haben wir einen Usecase vorbereitet, bei dem COSIMA die Gültigkeiten-Hierarchie im JSON-Format als Antwort liefert. Zudem steht dem anfragenden System der Parameter treename zur Verfügung, um die Ergebnis-Liste auf eine spezifische Gültigkeitendomäne zu begrenzen. Logischerweise wäre der nächste Schritt, alle vorhandenen Gültigkeitsdomänen in einer Liste als eigene Abfrage anzubieten. Diese zusätzliche Abfrage ist in dem bereitgestellten Scripting-Beispiel nicht enthalten.

Damit in COSIMA ein Script auch Anfragen von außen annimmt, muss in den Metadaten als Scriptparameter ein servlet.name gesetzt sein. Im nachfolgenden Screenshot ist der Wert custom-api gesetzt:

 

Dieser Wert wird auch in der URL verwendet, über die das Script nun von außen erreichbar ist. Die URL ist folgendermaßen aufgebaut: http://HOSTNAME:PORT/cmsweb/scripting/execute/SERVLETNAME?PARAMETER1=VALUE1&PARAMETER2=VALUE2, dabei gilt:

  • HOSTNAME und PORT sind die Einstellungen, unter denen der COSIMA Server erreichbar ist.
  • SERVLETNAME ist der oben genannte Wert. Dieser Wert muss für jedes aktive Script eindeutig sein.
  • Optional können noch PARAMETER übergeben werden, beispielsweise der oben erwähnte treename. Die Verarbeitung der Parameterwerte muss dann im Script erfolgen.

(Info) Die zugehörige URL kann auch direkt aus dem Scripting-Editor über das dritte Icon in der Toolbar geöffnet werden.

Eine Ausgabe des Scripts an ein Drittsystem könnte beispielsweise folgendermaßen aussehen:

Das Ergebnis wird auf einer anderen COSIMA Umgebung natürlich anders aussehen. Diese Inhalte können dann in anderen System weiter verarbeitet werden.

Haben Sie bereits COSIMA an Drittsysteme angebunden und wollen Ihre Erfahrungen mit unseren Kunden und uns teilen? Oder haben Sie Ideen zu Anbindungen, die wir gemeinsam in einem Blog-Artikel vorstellen können? Melden Sie sich gerne bei uns, wir freuen uns auf Ihr Feedback!

Interesse geweckt?

Wir freuen uns sehr, Rückmeldung von Ihren Beispielen oder Vorschläge für zukünftige Artikel dieser Reihe zu erhalten. Unsere Kunden bekommen die in den Artikeln vorgestellte COSIMA Scripte mit einer kurzen Anleitung auf Nachfrage selbstverständlich kostenfrei. Dafür einfach eine kurze Mail an support@docufy.de mit dem Titel „Eigene API für Drittsysteme zur Verfügung stellen“ schreiben.

Für weitere Unterstützung oder eine Initial-Umsetzung melden Sie sich gerne zu einem unserer Trainings oder zu einem individuellen Workshop an. Zusätzlich bieten wir Ihnen auch Scripting-Support als Dienstleistung an, falls Sie bei selbst erstellten Scripten Unterstützung in Form eines direkten Austauschs mit unseren Entwicklern brauchen, oder Sie sprechen einen unserer Partner an, der Ihnen ebenfalls Unterstützung im Bereich COSIMA Scripting bieten kann.