Als technisches und als Produktmanagement-Team, das mit der Aufgabe betraut ist, Lizenzierung für Ihre Produkte zu entwickeln, müssen Sie viele Entscheidungen darüber treffen, wie Ihre Produkte mit dem Lizenzierungscode interagieren.  Hier ist eine bewährte Technik, mit der Sie steuern können, wie Lizenzierung in Ihre Produktlinien integriert wird, während Sie gleichzeitig den Produktteams das Leben einfacher machen: bauen Sie eine Abstraktionsebene auf.

Was ist eine Abstraktionsebene und was tut sie?

Ihre Abstraktionsebene sitzt zwischen Ihren Produkten und der Lizenzierungstechnologie wie Sentinel RMS oder Sentinel HASP. Wir werden HASP als Beispiel verwenden.  Sie würden Ihre Abstraktionsebene zentral entwickeln, damit alle Ihre Produktteams sie verwenden können. Die Ebene dient als ein „Mittler“ zwischen Ihren Produkten und HASP. Die Ebene enthält allgemeine Lizenzierungsdienste, die für alle Ihre Produkte verwendet werden können, und exponiert Lizenzierungs-APIs für die Produkte.  Die Abbildung unten zeigt, wie Ihre Produkte entwickelt werden, um nur mit der Abstraktionsebene und nicht direkt mit HASP zu kommunizieren.

Warum ist das gut?

Die Abstraktionsebene sollte nur notwendige APIs für Ihre Produktteams exponieren. Das erleichtert es den Produktteams, Lizenzierung in ihre Produkte zu integrieren, weil sie nichts über HASP wissen müssen.

Die Abstraktionsebene kann Standard-Lizenzierungsmeldungen und -schnittstellen enthalten. Hierdurch wird ein konsistentes Lizenzierungserlebnis für Kunden über alle Produktlinien gewährleistet. Wenn ein Kunde beispielsweise Produkt A und Produkt B verwendet und keines der Produkte eine gültige Lizenz finden kann, sollte der Kunde den gleichen Fehler für beide Produkte erhalten.  Wenn saubere Fehlermeldungen als Teil der Abstraktion vorhanden sind, können die Produktteams einfach die Meldung aufrufen und brauchen nicht ihre eigenen Meldungen zu programmieren.

Der Abstraktionsebenenansatz ermöglicht es Ihnen, zentralisierte Lizenzierungsänderungen vorzunehmen, die sich auf alle Ihre Produkte auswirken. Wenn Sie zum Beispiel eine neue Version des Produkts haben möchten, die sowohl eine Festplatten-ID als auch die MAC-Adresse verwendet, braucht nur die Abstraktonsebene geändert werden und die Produktteams würden das Produkt mit einer aktualisieren Ebene aufbauen. In diesem Fall sind die Produktteams vollständig von der Änderung isoliert.