Kategorien: Software-Lizenzierung
Übertragung von Informationen aus CodeMeter License Central
Viele Softwarehersteller entscheiden sich für CodeMeter als Lizenzierungssystem, weil neben der einfachen und sicheren Integration in unterschiedlichste Softwareplattformen auch die flexible Integration in Prozesse und Backoffice-Lösungen möglich ist. Dafür stellt Wibu-Systems die zentrale Lösung CodeMeter License Central zur Verfügung, um durch Anbindung an bestehende ERP-, CRM- und E-Commerce-Lösungen Lizenzen zu erzeugen, auszuliefern und zu verwalten.
Darüber hinaus bietet CodeMeter License Central einfache Wege, um die Lizenzen auf die Systeme der Anwender zu übertragen. Dabei handelt es sich jedoch im Normalfall um einen asynchronen Prozess, der zu einem nicht definierten Zeitpunkt durch den Anwender ausgeführt wird. Sehr häufig besteht die Anforderung, Informationen über den Aktivierungsstatus und verwendeten CmContainer auch im jeweiligen Backoffice-System des Softwareherstellers anzuzeigen.
Hier gilt es, den bestmöglichen Weg zu finden, um diese Informationen aus CodeMeter License Central zu übertragen. Dazu stellt CodeMeter Ihnen als Softwarehersteller verschiedene Mechanismen zur Verfügung:
Angepasste Internet Extensions
Bei diesem Mechanismus wird direkt bei der Verarbeitung von Lizenzen in WebDepot oder Gateways eine vom Softwarehersteller zur Verfügung gestellte Schnittstelle aufgerufen, die den neuen Lizenzstatus an das Backoffice-System überträgt. Damit ist dieser Mechanismus auf die Übertragung von Aktivierungsstatus und Seriennummer des verwendeten CmContainers eingeschränkt.
Dieser Übertragungsmechanismus ist sehr einfach zu realisieren, hat aber den Nachteil, dass die Internet Extensions kein eigenes Caching besitzen. Um Datenverlust zu vermeiden, ist daher ein redundanter, immer erreichbarer Eingangspunkt am Backoffice-System mit einem eingebauten Caching erforderlich. Da dies nur selten der Fall ist, wird dieser Mechanismus in der Praxis nicht sehr häufig eingesetzt.
In den meisten Projekten empfehlen wir daher die Abfrage der Daten direkt aus CodeMeter License Central. Damit kann sichergestellt werden, dass der korrekte Status der Lizenzen in das Backoffice-System übertragen wird.
Pull-Mechanismus
Eine einfache, wenn auch aufwendige Möglichkeit ist die Implementierung eines Pull-Mechanismus im Backoffice-System. Damit werden in definierten Intervallen bei CodeMeter License Central Informationen abgefragt und in die entsprechenden internen Objekte übertragen.
Wenn im Backoffice-System für die Erzeugung von Lizenzen direkte SOAP-Kommunikation verwendet wird, liegen bereits alle notwendigen Einstellungen für den Zugriff auf die zusätzlich benötigten API-Schnittstellen von CodeMeter License Central vor. Werden zwischengeschaltete PHP-Anwendungen, wie zum Beispiel GenericConnector.php, verwendet, muss eine entsprechende Erweiterung implementiert werden, die die benötigten Informationen von CodeMeter License Central abruft und in einem definierten Format zur Verfügung stellt.
In beiden Fällen muss genau definiert werden, welche konkreten Informationen benötigt werden und wie das Mapping zu den Daten im Backoffice-System durchgeführt wird.
Push-Mechanismus
Bei einem Push-Mechanismus wird auf dem System von CodeMeter License Central ein Prozess ausgeführt, der neu vorliegende Informationen ermittelt und diese dann in einem definierten Format an eine vom Softwarehersteller bereitgestellte Schnittstelle sendet. Dabei kann es sich um SOAP- oder REST-Schnittstellen oder WebHooks handeln. Diese Schnittstelle ist dafür verantwortlich, die Daten in das Backoffice-System zu übertragen. Das Mapping der Daten erfolgt im Normalfall über ein Kriterium, das in beiden Systemen identisch ist.
Die Lösung: NotificationDispatcher
NotificationDispatcher ist eine Erweiterung von CodeMeter License Central, welche in frei definierbaren Intervallen ausgeführt wird und die von Ihnen benötigten Informationen ermittelt und per definierter Aktion verarbeitet. Die ermittelten Daten werden dabei in einer lokalen Datenbank zwischengespeichert, um sicherzustellen, dass auch dann alles korrekt an das Zielsystem übertragen wird, wenn dieses kurzfristig nicht zur Verfügung steht. Durch diesen Cache können die Abfragen an CodeMeter License Central auf die seit dem letzten Durchlauf neu hinzugekommenen Daten beschränkt werden.
Die abzufragenden Informationen können über die Konfiguration definiert werden, damit die Anzahl der Aufrufe von CodeMeter License Central auf das Notwendigste begrenzt wird. Bei den Aktionen kann ebenfalls über die Konfiguration eingestellt werden, ob eine Standardverarbeitung erfolgen soll oder ob über eine kundenspezifische Erweiterung die Daten an einen vom Softwarehersteller bereitgestellten Service gesendet werden sollen.
Aufträge
Über dieses Modul können neu erstellte Aufträge verarbeitet werden. Das ist vor allem dann interessant, wenn es beim Softwarehersteller unterschiedliche Wege gibt, über die Aufträge in CodeMeter License Central angelegt werden, und dies einem führenden System nachträglich zur weiteren internen Verarbeitung mitgeteilt werden muss. Ein typisches Beispiel ist eine externe, nicht ans ERP-System gekoppelte E-Commerce-Lösung.
Lizenzen
Über dieses Modul können neu erstellte Lizenzen verarbeitet werden. Zum Beispiel kann im führenden System für die einzelnen Auftragspositionen die interne Lizenznummer hinterlegt werden. Damit können Verkaufsprozesse abgebildet werden, die auf dieser Information aufsetzen. Beispiele dafür sind das Zurückziehen oder die Änderung von bereits gelieferten Lizenzen.
Hierbei besteht auch die Möglichkeit, einige Lizenzeigenschaften wie Ablaufdatum und Lizenzanzahl zu übermitteln. Das Ablaufdatum ist vor allem dann interessant, wenn sich dieses dynamisch abhängig von der ersten Aktivierung berechnet.
Aktivierungen
Über dieses Modul kann der aktuelle Aktivierungsstatus einer Lizenz verarbeitet werden. Damit kann dann im führenden System auch angezeigt werden, ob und in welchen CmContainer eine Lizenz aktiviert wurde.
Die Granularität der übermittelten Daten kann über die Konfiguration definiert werden.
- Alle durchgeführten Aktivierungen
Bei diesem Modus werden alle durchgeführten Lizenzoperationen an das führende System übertragen. Damit kann dort eine Historie gebildet werden, die aufzeigt, wann sich die Lizenz in welchem CmContainer befunden hat. - Eine durchgeführte Aktion pro Ticket
Für den Fall, dass immer alle Lizenzen eines Tickets in einer Operation übertragen werden, wird in diesem Modus lediglich ein Datensatz pro Lizenzoperation an das führende System übertragen. Damit kann dort bei geringer Datenmenge ebenfalls eine Historie über die Lizenzbewegungen gebildet werden. - Aktueller Status
In diesem Modus wird lediglich die zuletzt mit einer Lizenz durchgeführte Operation an das führende System übertragen. Damit kann dort der aktuelle Aktivierungsstatus und die Seriennummer des verwendeten CmContainers, aber keine Historie dargestellt werden.
SAP-Baustein von INFORMATICS
NotificationDispatcher unterstützt die automatische Übermittlung der Daten an den SAPBaustein unseres Partners INFORMATICS. Damit kann bei dieser Art der Backoffice-Integration sehr einfach ein Rückkanal zum SAPSystem eingerichtet werden. Alle diesbezüglichen Einstellungen können über die jeweilige Konfiguration eingerichtet werden und es sind keine kundenspezifischen Anpassungen notwendig.
WebHooks
Damit können die ermittelten Daten im JSONFormat an definierte URLs gesendet werden. Auf Seiten des Softwareherstellers können die Daten dort abgeholt und im eigenen System verarbeitet werden. Alle diesbezüglichen Einstellungen können über die Konfiguration eingerichtet werden und es sind keine kundenspezifischen Anpassungen notwendig.
Kundenspezifische Übertragung
In diesem Modus werden die Daten von einer kundenspezifischen Erweiterung verarbeitet. Damit ist es möglich, individuelle Aufbereitungen zu erzeugen und diese über einen definierten Übertragungsweg weiter zu verarbeiten. Das geht zum einen über den direkten Aufruf eines Webservice beim Softwarehersteller oder zum anderen über die Bereitstellung eines zusätzlichen Webservice auf CodeMeter License Central, über den die Daten abgerufen werden können.
Fazit
Mit dem NotificationDispatcher bekommen Sie die perfekte Erweiterung der Prozesse in CodeMeter License Central, um benötigte Daten über einen Rückkanal in Ihre Systeme zu übertragen. Für weitergehende Informationen wenden Sie sich bitte an unser Professional Services Team.
KEYnote 42 – Herbstausgabe 2021