Nach oben
Resources Resources
[Translate to German:]

License Portal – „Gleich und doch anders”

Ein Lizenzportal ist eine Win-Win-Situation für Softwarehersteller und Anwender. Der Hersteller ermöglicht seinem Anwender, die Lizenzen rund um die Uhr in einem Lizenzportal selbst zu verwalten. Lizenzen können aktiviert werden, Lizenzen können auf einen anderen Rechner umgezogen werden und verlorene Lizenzen können in einem vom Hersteller erlaubten Umfang selbständig wiederhergestellt werden. Dies sorgt für hohe Verfügbarkeit und große Kundenzufriedenheit beim Anwender und führt zur Einsparung von Supportaufwänden beim Hersteller.

Warum ein Baukasten?

Ich werde oft gefragt: „Wie sieht denn das Standard-Lizenzportal von Wibu-Systems aus?“ Manchmal antworte ich mit: „Lassen Sie uns gemeinsam unser WebDepot anschauen.“ Ein anderes Mal antworte ich: „Da gibt es keinen Standard, wir sind ganz flexibel.“ Bin ich schizophren? Wie kann dieses Paradoxon aufgelöst werden? Es gibt nur ganz selten den Fall, dass ein Hersteller komplett neu, quasi auf der grünen Wiese“, anfängt. In fast allen Fällen soll die Lizenzierung in ein bestehendes System aus ERP, CRM, E-Commerce, User-Portal usw. eingebunden werden. Diese bestehende Landschaft ist meist heterogen.

Die Verkaufsprozesse sind von Hersteller zu Hersteller unterschiedlich: Neben klassischem persönlichen Direktverkauf finde ich oft eine Mischung aus Onlineverkauf über eine E-Commerce-Lösung, Vertrieb über Niederlassungen, mehrstufige Wiederverkäufer-Ketten, EM-Partner, VAR-Partner, Onlinehändler und – zugegeben eher selten – sogar noch den Verkauf über Elektronik-Fachmärkte. Auch die Kundenstruktur ist heterogen. Manchmal sind Endverbraucher im Fokus, während in anderen Projekten Großkonzerne die Hauptzielgruppe sind. Auch universitäre Einrichtungen werden oft als Anwender genannt. Nach der Analyse dieser Anforderungen standen wir bei Wibu-Systems nun vor der Frage: „Wie soll unser Standard-Lizenzportal aussehen?“ Schnell wurde uns klar, dass eine einheitliche große Lösung zu komplex und zu überladen für den Anwender werden würde, vor allem wenn der Anwender kein Fachinformatiker ist. So kamen wir zu der Entscheidung, dass ein einfach konfigurierbarer, anpassbarer und erweiterbarer Baukasten her musste, um zielgruppengerechte Portale schnell und effektiv einrichten zu können – ganz nach Ockhams Rasiermesser, auch als das Sparsamkeitsprinzip bekannt.

Die Grundversion des Baukastens

Und wo kommt jetzt das WebDepot ins Spiel? Das WebDepot ist die einfachste Grundkonfiguration des Lizenzportals, die alle Funktionen enthält, die für einen anonymen Einzelnutzer relevant sind. Anonym? In diesem Fall erhält der Anwender einen Freischaltcode, das Ticket, von Ihnen als Hersteller. Mit diesem Ticket authentifiziert er sich am WebDepot, quasi als Berechtigung, die Lizenz zu aktivieren. Eine Erfassung von Benutzerdaten und das Anlegen eines Benutzer-Accounts sind in diesem Fall nicht notwendig. Die einzige Information, die von Anwender erfasst wird, ist die Seriennummer des CmContainers, in den er die Lizenz(en) aktiviert hat. Diese Information ist für Updates und im Falle des Verlustes des CmContainers notwendig.

Die wichtigste Grundfunktionalität ist das Aktivieren von Lizenzen. Der Anwender gibt das Ticket ein und wählt einen angeschlossenen CmContainer für die Aktivierung aus. Falls Sie als Hersteller softwarebasierte CmActLicenses anbieten, erkennt das WebDepot automatisch, ob noch kein CmContainer existiert, und legt diesen automatisch auf dem Rechner des Anwenders an. Die Kommunikation zwischen dem Rechner des Anwenders und dem Browser erfolgt über eine WebSocket-Schnittstelle, welche die CodeMeter Runtime automatisch zur Verfügung stellt. Diese Schnittstelle wird von allen modernen Browsern wie Google Chrome, Microsoft Edge und Mozilla Firefox unterstützt.

Offline? Kein Problem!

Es gibt Anwendungsfälle, in denen der Rechner, auf dem die Lizenz aktiviert werden soll, nicht direkt mit dem Internet verbunden ist. Für diesen Fall bietet das WebDepot einen Modus, bei dem Dateien ausgetauscht werden. Auf dem Rechner, auf dem die Lizenz aktiviert werden soll, wird eine Context-Datei von dem gewünschten Ziel-CmContainer erzeugt. Diese beinhaltet die Seriennummer des CmContainers, den öffentlichen Schlüssel des CmContainers, ein Zertifikat, welches die Authentizität des öffentlichen Schlüssels bestätigt, und Informationen über bereits enthaltenen Lizenzen, inklusive eines Programmierzählers. Diese Datei überträgt der Anwender auf einen beliebigen Rechner, der sich im Internet befindet. Hier lädt er diese Datei im WebDepot hoch. Im zweiten Schritt kann er eine Update-Datei herunterladen, welche die gewählten Lizenz-Updates enthält. Dabei laufen im Hintergrund mehrere nützliche Automatismen ab, die wir uns im Anschluss im Detail anschauen werden. Gehen wir aber zuerst im Prozess voran. Der Anwender überträgt die Update-Datei auf den Zielrechner. Dort importiert er diese Datei. Damit stehen die Lizenzen nun im Ziel-CmContainer zur Verfügung. In einem optionalen dritten Schritt kann der Anwender noch eine Quittung erzeugen. Technisch gesehen ist die Quittung eine erneute Context-Datei. Diese kann er im WebDepot hochladen und das Lizenz-Update somit bestätigen.

Kommen wir nun zurück zu den Automatismen: Die dazu wesentlichen Daten sind die in der Context-Datei enthaltene Seriennummer und der ebenfalls enthaltene Programmierzähler. Über die Seriennummer, genaugenommen den öffentlichen Schlüssel, wird sichergestellt, dass die Update-Datei nur in den Ziel-CmContainer importiert werden kann. Es ist weder möglich, diese Datei außerhalb des Ziel-CmContainers zu entschlüsseln, noch diese in einen anderen CmContainer zu importieren.

Der Programmierzähler wird automatisch mit jedem Lizenz-Update erhöht. Wenn eine Context-Datei hochgeladen wird, dann gibt WebDepot diese an CodeMeter License Central weiter. Zuerst wird der darin enthaltene Programmierzähler ausgelesen. Über diesen Mechanismus werden alle Updates, die vor diesem Zähler, liegen automatisch bestätigt. Im nächsten Schritt überprüft CodeMeter License Central, ob es noch unbestätigte Updates gibt, und setzt bei der Erzeugung der neuen Updates auf dem Stand nach dem letzten unbestätigten Update auf. Im letzten Schritt werden die unbestätigten Updates und die neuen Updates zu einer gemeinsamen Update-Datei zusammengefügt. CodeMeter Runtime erkennt automatisch am Programmierzähler, wenn Updates bereits importiert wurden und überspringt diese. Das heißt, auch wenn der Anwender versehentlich eine nicht aktuelle Context-Datei verwendet, wird der CmContainer auf den korrekten Zu-stand aktualisiert.

Offline – noch einfacher

Eine weitere Vereinfachung für Offline-Updates sind Push-Updates. In diesem Fall kann der Anwender im WebDepot aus der Liste seiner CmContainer einen CmContainer auswählen und benötigt keine Context-Datei vom Zielgerät. Nach der Auswahl des CmContainers lädt er lediglich die Update-Datei herunter, überträgt diese auf das Zielgerät und importiert sie dort. Optional kann der Anwender eine Quittung erzeugen und diese im WebDepot hochladen. Das Hochladen der Quittung ist sinnvoll im Supportfall, da der Zustand des Zielgerätes dann bekannt ist, und es verkleinert die nächste Update-Datei, da nur nicht bestätigte Lizenz-Updates übertragen werden.

Weitere Standardfunktionen

Der Anwender kann eine Lizenz mithilfe von WebDepot von einem Rechner auf einen anderen Rechner umziehen. Die Lizenz wird dabei auf dem ersten Rechner zurückgegeben. Nachdem die Rückgabe bestätigt wurde, in diesem Fall ist eine Quittung zwingend erforderlich, kann die Lizenz auf einem anderen Rechner aktiviert werden. Dieser Mechanismus kann auch für eine reine Rückgabe von Lizenzen verwendet werden, allerdings gibt es hierfür eine bessere Methode, die wir gleich betrachten. Ob der Anwender diese Funktionalität nutzen kann, legen Sie als Hersteller fest. Sie können dies für jede Lizenz individuell definieren. Eine ab und zu gestellte Frage ist: „Ist diese Funktionalität in Anzahl pro Zeit eingeschränkt?“ Vermutlich kennen Sie schon die Antwort nach dem Lesen dieses Artikels: „Baukasten!“ Im Standardfall gibt es keine Einschränkung, dies kann aber einfach individuell erweitert werden.

 

Was passiert, wenn die Lizenzen verloren wur-den? Man denke etwa an den berühmten vom Hund gefressenen Dongle“ bzw. den „abgestürzten Rechner“, der vom Tisch gefallen ist.

In diesem Fall kann der Anwender die Lizenz nach Ihren Vorgaben als Hersteller erneut aktivieren. Die alte Lizenz bzw. der alte CmContainer wird auf eine Sperrliste gesetzt. Als Hersteller haben Sie wahrscheinlich im Lebenszyklus einer Lizenz die Anforderung, diese zu verändern. Dies kann eine Erweiterung sein, eine Änderung oder das Zurückziehen, falls der Anwender die Lizenz zurückgeben möchte bzw. nicht bezahlt. Dies sind alles automatische Aktualisierungen, die der Anwender im WebDepot einfach in seinen CmContainer übertragen kann.

Eine recht neue Funktion im WebDepot ist das Erneuern von Checkpoint-Lizenzen. Dies sind eigentlich unbegrenzt laufende Lizenzen, die aber technisch zeitlich befristet werden. Diese müssen dann regelmäßig erneuert werden, was über einen Knopfdruck im WebDepot möglich ist. In der Regel werden diese Erneuerungen von der geschützten Software selbst im Hintergrund durch einen Software Activation Wizard durchgeführt.

Benutzerverwaltung

Der erste Zusatzbaustein ist die Benutzerverwaltung. Prinzipiell stehen hier zwei Möglichkeiten zur Verfügung. Wenn Sie als Hersteller bereits eine Benutzerverwaltung Ihrer Anwen-der haben, dann kann das Lizenzportal an diese angebunden werden. Oft verwendete Optionen sind hier OAuth2, SAML oder SOAP. Der Vorteil liegt auf der Hand: Der Anwender benötigt nur einen Benutzer-Account.

Der Baukasten enthält ein eigenes Benutzerverwaltungs-Modul, inklusive Anwender-Registrierung, das man nutzen kann, wenn es keine bestehende Benutzerverwaltung gibt oder kein Interface für die Integration zur Verfügung steht. Die zu erfassenden Daten wie E-Mail, Land, Firma, Name, etc. können angepasst werden. Eine spätere Migration auf eine integrierte Lösung ist natürlich möglich.

Vom technischen Standpunkt her gesehen ist die Benutzerverwaltung eine Zuordnung von Tickets zu einem oder mehreren Anwendern. Anstatt alle Tickets einzugeben, meldet sich der Anwender im Lizenzportal an und erhält eine Übersicht aller Tickets und aller Lizenzen.

Mehrstufige Benutzerverwaltung

Der Klassiker schlechthin ist die mehrstufige Benutzerverwaltung. Diese kommt unter anderen in folgenden Fällen zum Tragen:

  • Lizenzen für Schulen und Universitäten (Professor – Schüler)
  • Wiederverkäufer (Reseller – Anwender)
  • Firmenkunden/Großkunden (Administrator – Anwender)

In diesen Fällen erhält der Verwalter (z.B. der Professor, der Reseller oder der Administrator) die Lizenzen in Form von Tickets, die er selber seinem Verwalter-Account zuordnet.

Falls beim Kauf der Verwalter-Account bereits bekannt ist, können die Tickets von Ihnen als Hersteller bereits dem Account zugeordnet werden. Der Verwalter kann die Lizenzen dann aufteilen und seinen Anwendern bzw. Schülern zuordnen. Ob der Anwender die Lizenz dann anonym mit dem Ticket aktiviert oder einen Account anlegen muss, wird von Ihnen als Hersteller definiert. Im Reseller-Fall ist dies eine einfache Möglichkeit, Wissen über die eigentlichen Anwender zu sammeln. Für die DSGVO-Konformität wird hier auf Sparsamkeit der erfassten Daten und das Recht auf Vergessen geachtet.

Weiterverkauf von Lizenzen

In vielen Fällen haben Anwender das Recht, Lizenzen an andere Anwender weiterzuverkaufen. Ein typisches Bespiel ist der Weiterverkauf einer Laser-Schneidemaschine und die damit verbundene Übertragung der Lizenz auf den neuen Besitzer. Als Hersteller haben Sie hier die Option, dass der neue Besitzer das Ticket wechseln kann, um die Übertragung der Lizenz abzuschließen. Diese Daten können dann vom ERP-System abgefragt werden. Alternativ können Sie den Prozess auch vom ERP-System aus anstoßen, indem Sie die alte Lizenz zurückziehen und eine neue Lizenz für den neuen Besitzer ausstellen.

Interne Lizenzen

Oft sollen Mitarbeiter in einem einfachen Prozess Lizenzen beziehen können, ohne dass dies jedes Mal über das ERP-System angestoßen werden muss. Dazu gibt es ein Zusatzmodul, welches es ermöglicht, mit einem internen Ticket eine neue individuelle Lizenz zu erstellen. Dieser Mechanismus wird Bulk-Ticket genannt und kann auch für frei verfügbare Demolizenzen verwendet werden.

Notfall-Lizenzen

Was passiert, wenn die erlaubten Wiederherstellungen von Lizenzen bereits verbraucht wurden? Oder was passiert, wenn Sie keine Wiederherstellungen erlauben? In diesem Fall kann der Anwender über das Lizenzportal eine zeitlich befristete Notfall-Lizenz beziehen. Best Practice ist die Koppelung an das originale Ticket, eine beschränkte Laufzeit von wenigen Tagen und eine Freischaltung aller Funktionen in der Software. Die Anzahl der Notfall-Lizenzen kann limitiert werden, zum Beispiel auf 5. Ab dem Erreichen eines Schwellwertes, zum Beispiel 2, kann Ihr Service-Desk eine Nachricht erhalten und individuell über das Auffüllen der Notfall-Lizenzen entscheiden.

Es ist möglich, die Notfall-Lizenzen in der produktiven Code-Meter License Central zu erstellen. Optional ist es auch möglich, dazu eine weitere spezielle

Notfall-CodeMeter License Central von Wibu-Systems an einem zweiten Standort betreiben zu lassen. Seit dem Start dieses Angebotes vor 10 Jahren gab es keinen Notfall, in dem der zweite Standort notwendig gewesen wäre. Aber es ist es gutes Gefühl zu wissen, dass man diese Option im Fall der Fälle hätte.