Magician Holding Magic Wand Over Illuminated Hat

Software Activation Wizard Beispiele

Hauptziel bei der Lizenzierung von Software sollte die einfache und sichere Bereitstellung von Lizenzen sein.

Das gilt sowohl beim Softwarehersteller, der neue Lizenzen auf seinem zentralen Lizenzserver erstellt, als auch beim Endanwender, der die benötigten Lizenzen auf sein Endsystem überträgt. Bei einer Umgebung, die zumindest von Zeit zu Zeit Zugriff auf Systeme im Internet hat, kann dies sehr einfach und elegant mit einem Software Activation Wizard (kurz SAW) realisiert werden. Bei diesem handelt es sich entweder um eine eigenständige Anwendung oder aber um eine zusätzliche Funktionalität in der vom Endanwender eingesetzten Software, die

  • einen initialen Transfer von Lizenzen von CodeMeter License Central auf das lokale System durchführt,
  • bei Bedarf einen benötigten CmContainer auf dem lokalen System erzeugt oder
  • zyklisch prüft, ob für Ticket oder CmContainer auf CodeMeter License Central Lizenzänderungen vorliegen.

Gateways

Für Lizenzprüfungen aus einer Anwendung heraus stellt Wibu-Systems in den CodeMeter License Central Internet Extensions die Gateways-Schnittstellen zur Verfügung. Hierbei handelt es sich um PHP-Skripte, die mit den entsprechenden Parametern aufgerufen werden und im Erfolgsfall die ermittelten Daten im JSONFormat zurückliefern. Daraus ergeben sich die zwei Hauptanforderungen an die Anwendung für die Lizenzprüfung:

  • Kommunikation per HTTPS muss möglich sein
  • JSON-Objekte können interpretiert werden

Zusätzlich muss die Anwendung noch in der Lage sein, mit der lokalen CodeMeter Runtime zu kommunizieren, um die Lizenzdaten auf dem System bereitzustellen.

Software Activation Wizard Samples

Um dem Hersteller die Integration der SAWFunktionalität zu erleichtern, stellt Wibu-Systems auf seiner Homepage im Developer-Bereich zahlreiche Beispielimplementierungen in verschiedenen Programmiersprachen zur Verfügung, die jeweils unterschiedliche Anwendungsfälle abdecken.

Allen Implementierungen ist gemeinsam, dass es jeweils ein zentrales Modul gibt, das sich um die Kommunikation mit den Gateways einerseits und der Ansteuerung der CodeMeter Runtime andererseits kümmert. Dieses Modul liegt entweder als Bibliothek oder als einzelne Datei vor und kann in die Software vom Hersteller integriert und nach eigenem Bedarf angepasst werden.

C#

Das zentrale Modul, das von allen Beispielen verwendet wird, ist die Bibliothek Wibu-LC-GatewaysAPI.

  • SimpleWizard ist das klassische Beispiel, das lediglich aufzeigt, welche Funktionen für die Aktivierung von Lizenzen aufgerufen werden müssen.
  • Wizard ist eine eigenständige Anwendung, die auf Basis von Tickets oder CmContainern die meisten Operationen für Lizenzmanagement zur Verfügung stellt.
  • AutoUpdate ist ein Beispiel dafür, wie für alle lokal verfügbaren CmContainer geprüft werden kann, ob AutoUpdate-Lizenzen zur Verfügung stehen.
  • SingleTicket demonstriert, wie auf Basis einer in der Lizenz gespeicherten Ticketnummer geprüft werden kann, ob neue Lizenzen bereitgestellt wurden.
  • Renew ist ein einfaches Beispiel, mit dem die Funktionsweise der Renew-Lizenzen für Servicetechniker veranschaulicht wird.
  • Cloud zeigt, wie im Lizenzportal ein neuer Benutzer mitsamt CmCloudContainer angelegt werden kann bzw. wie für einen bestehenden Benutzer der CmCloudContainer auf dem lokalen System zur Verfügung gestellt werden kann.
  • LicensePortalUserTickets zeigt, wie für einen Benutzer alle verfügbaren Tickets vom Lizenzportal abgerufen und anschließend auf neue Lizenzen überprüft werden können.
  • ActivationInformation ist ein kleines Beispiel, das veranschaulicht, wie zusätzliche Informationen aus der Anwendung heraus über aktivierungsspezifische Parameter in eine Lizenz geschrieben werden können.

Java

Das zentrale Module, das von allen Beispielen verwendet wird, ist die Bibliothek jaw-core-x. xx.xxx.xxx.jar.

  • ActivateFromTicket ist ein einfaches Beispiel, das aufzeigen soll, wie die Übertragung von Lizenzen vom zentralen Server auf das lokale System funktioniert.
  • DeactivateFromTicket veranschaulicht, wie auf dem lokalen System aktivierte Lizenzen wieder an den zentralen Server zurückgegeben werden können.

C++

Hier wird eine kleine Kommandozeilen-Anwendung zur Verfügung gestellt, bei der verschiedene Operationen über entsprechende Aufrufparameter angesteuert werden können. Das zentrale Modul ist hierbei die Datei WibuLCGatewayAPI. cpp. Als Bibliothek für die HTTPS-Kommunikation wird libcurl und für die Verarbeitung der JSON-Objekte das Modul jsmn.h verwendet.

Fazit

Wenn die Grundvoraussetzungen erfüllt sind, ist eine Integration eines SAW in die Anwendung eines Herstellers kein Hexenwerk. Sollten die hier aufgeführten Programmiersprachen und Beispiele nicht ausreichend sein, stehen unsere Consultants von Professional Services zur Unterstützung bereit.

 

KEYnote 45 – Ausgabe Frühjahr/Sommer 2023

Nach oben