14.12.2012 Aufrufe

UniCon Software GmbH

UniCon Software GmbH

UniCon Software GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>UniCon</strong><br />

<strong>Software</strong> <strong>GmbH</strong><br />

Dokumentation<br />

FELICS 2.x<br />

Floating Extended Licence Server<br />

26.9.1997


Die Firma <strong>UniCon</strong> und die Autoren können für fehlerhafte Angaben und deren<br />

Folgen weder eine juristische noch irgendeine Haftung übernehmen. Für<br />

Verbesserungsvorschläge und Hinweise auf Fehler sind die Autoren dankbar.<br />

Die Autoren:<br />

Andreas Flick, Volker Milde und Klaus Straßner<br />

Die genannten Produktnamen sind eingetragene Warenzeichen der jeweiligen<br />

Hersteller.<br />

<strong>UniCon</strong> <strong>Software</strong> <strong>GmbH</strong> Karlsruhe


1997 <strong>UniCon</strong> <strong>Software</strong> <strong>GmbH</strong><br />

Die vorliegende Dokumentation ist urheberrechtlich geschützt. Alle Rechte sind<br />

vorbehalten. Kein Teil dieser Dokumentation darf ohne unsere Genehmigung in<br />

irgendeiner Form kopiert werden.<br />

Technische Änderungen vorbehalten.<br />

Texte und Abbildungen wurden mit größter Sorgfalt erarbeitet. Wir können jedoch für<br />

eventuell verbliebene fehlerhafte Angaben und deren Folgen weder eine juristische<br />

Verantwortung noch irgendeine Haftung übernehmen.<br />

Die genannten Produktnamen sind eingetragene Warenzeichen der jeweiligen<br />

Eigentümer.


Vorwort<br />

Vielen Dank für Ihr Vertrauen und Ihre Entscheidung für <strong>UniCon</strong> Produkte.<br />

<strong>UniCon</strong> - Kommunikationsprodukte verbinden ein Höchstmaß an Funktionalität<br />

mit einem Höchstmaß an Bedienerkomfort.<br />

Damit Ihnen die Einarbeitung in diese Produkte und die tägliche Arbeit noch<br />

leichter von der Hand geht, haben wir dieses Handbuch entwickelt. Trotz der<br />

detaillierten technischen Beschreibungen in diesem Handbuch können nicht<br />

alle Fragen abgedeckt werden, insbesondere wenn Komponenten fremder<br />

Hersteller zur Kommunikation eingesetzt werden. In solchen Fällen nehmen<br />

Sie bitte Kontakt mit unserem qualifizierten Support auf.<br />

FELICS, der Floating Extended Licence Server, überwacht dynamisch die<br />

Nutzung von <strong>Software</strong> in Novell und TCP/IP-Netzwerken. Das <strong>Software</strong>paket<br />

umfaßt die Client- und Serverkomponenten. Als Serverplattformen werden<br />

Netware-Server, Windows-NT, OS/2 sowie Unix-Systeme unterstützt. Die<br />

Clientsoftware ist auf Windows 3.x / 95 / NT, OS/2 und Unix verfügbar.<br />

Mit dem Konzept der Knotenlizenzierung (<strong>Software</strong>-Dongle) kann das<br />

Lizenzmanagement auch ohne zentralen Lizenzserver und ohne<br />

Netzwerkanbindung eingesetzt werden.<br />

Im Hinblick auf die Verfügbarkeit der Lizenzen stellt die Backup-Fähigkeit (ab<br />

Version 2.30) eine weitere wichtige Funktionalität dar.<br />

In diesem Handbuch sind Installation, Konfiguration, Bedienung und<br />

Schnittstellen für <strong>Software</strong>entwickler beschrieben.


INHALTSVERZEICHNIS<br />

1 Lizenzmanagement ..................................................................................1<br />

1.1 Mit FELICS..............................................................................................1<br />

1.2 Mit Knotenlizenzierung (<strong>Software</strong>-Dongle)..............................................2<br />

2 FELICS ......................................................................................................3<br />

2.1 Installation...............................................................................................4<br />

2.1.1 UNIX .........................................................................................4<br />

2.1.2 NOVELL-Server ........................................................................5<br />

2.1.3 Windows-NT .............................................................................5<br />

2.2 Starten und Beenden ..............................................................................6<br />

2.2.1 UNIX .........................................................................................6<br />

2.2.2 NOVELL....................................................................................7<br />

2.2.3 Windows-NT .............................................................................8<br />

2.3 Konfiguration (felics.ini)...........................................................................9<br />

2.4 Diagnose (felics.log)..............................................................................10<br />

2.5 Backup-Lizenzserver.............................................................................11<br />

3 FELICS-Tools..........................................................................................13<br />

3.1 Installation.............................................................................................13<br />

3.2 Lizenzierung mit FELICS ......................................................................14<br />

3.2.1 BRANDLI (Unix)......................................................................14<br />

3.2.2 REMBRAND (Windows) .........................................................18<br />

3.3 Monitoring mit FELICS ..........................................................................19<br />

3.3.1 RAMON (Unix) ........................................................................19<br />

3.3.2 WRAMON (Windows) .............................................................21<br />

3.4 Lizenzierung mit Knotenlizenzierung ....................................................22<br />

4 FELICS-Agent .........................................................................................23<br />

4.1 UNIX (felicscltd) ....................................................................................24<br />

4.2 Windows 3.x (ucwatch) .........................................................................25<br />

4.2.1 Installation...............................................................................25<br />

4.2.2 Automatische Installation WATCHPUB (Novell).....................26<br />

4.3 Windows NT (NTfelclt) ..........................................................................27<br />

4.3.1 Freiwillige Lizenzierung (NTclte).............................................29


4.4 Windows95 / Win32s (NTfelclt) ............................................................ 30<br />

4.4.1 Freiwillige Lizenzierung (NTclte) ............................................ 30<br />

5 FELICS-SDK ........................................................................................... 31<br />

5.1 Allgemeines Konzept............................................................................ 31<br />

5.2 Technisches Konzept ........................................................................... 32<br />

5.3 UNIX ..................................................................................................... 33<br />

5.3.1 Installation .............................................................................. 33<br />

5.3.2 Application Programmers Interface (API)............................... 34<br />

FELICS_init .................................................................... 34<br />

FELICS_quit ................................................................... 34<br />

FELICS_getlicence......................................................... 35<br />

FELICS_freelicence........................................................ 35<br />

5.3.3 Beispielprogramm .................................................................. 36<br />

5.4 WINDOWS 3.x ..................................................................................... 37<br />

5.4.1 Installation .............................................................................. 37<br />

5.4.2 Application Programmers Interface (API)............................... 38<br />

FELICS_init .................................................................... 38<br />

FELICS_quit ................................................................... 38<br />

FELICS_getlicence......................................................... 39<br />

FELICS_freelicence........................................................ 39<br />

FELICS_sdkversion........................................................ 40<br />

5.4.3 Beispielprogramm .................................................................. 41<br />

5.5 WINDOWS-NT / 95 und Win32s .......................................................... 42<br />

5.5.1 Installation .............................................................................. 42<br />

5.5.2 Application Programmers Interface (API)............................... 43<br />

FELICS_init .................................................................... 43<br />

FELICS_quit ................................................................... 43<br />

FELICS_getlicence......................................................... 44<br />

FELICS_freelicence........................................................ 44<br />

FELICS_sdkversion........................................................ 45<br />

5.5.3 Beispielprogramm .................................................................. 46<br />

5.6 Schlüsselgenerator WLIPRI (Windows) ............................................... 47<br />

5.6.1 DDE-Schnittstelle ................................................................... 48<br />

Abbildungsverzeichnis<br />

Index


<strong>UniCon</strong> Lizenzmanagement<br />

1 Lizenzmanagement<br />

FELICS basiert auf dem Client-Server-Konzept. Die zentrale Rolle spielt dabei<br />

der Lizenzserver, der auf dem jeweiligen Serversystem (Unix, Netware,<br />

Windows-NT) installiert ist und der die Lizenzvergabe überwacht. Auf jedem<br />

Client-Rechner existiert genau eine Instanz (FELICS-Agent), die eine<br />

Kommunikationsbeziehung zum Lizenzserver aufrechterhält. Jede<br />

lizenzierungspflichtige Anwendung auf einem Client-Rechner wendet sich an<br />

diesen Agenten. Der FELICS-Agent sollte deshalb beim Start des jeweiligen<br />

Client-Rechners aktiviert werden.<br />

1.1 Mit FELICS<br />

Der Einsatz eines zentralen Lizenzservers hat folgende Vorteile:<br />

• zentrale Verwaltung und Überwachung von Lizenzen<br />

• bedarfsgesteuerte Lizenzvergabe (floating licence)<br />

Lizenz Lizenz<br />

Lizenz<br />

FELICS-Agent<br />

FELICS<br />

licence.db<br />

Abbildung 1: Lizenzmanagement mit FELICS<br />

Lizenz Lizenz<br />

Lizenz<br />

FELICS-Agent<br />

Mit den FELICS-Tools stehen komfortable Werkzeuge zur Administration des<br />

Lizenzservers bereit. Die Anbindung eigener <strong>Software</strong> an den FELICS-<br />

Agenten ist mit dem FELICS-SDK einfach und problemlos.<br />

1


Lizenzmanagement <strong>UniCon</strong><br />

1.2 Mit Knotenlizenzierung (<strong>Software</strong>-Dongle)<br />

Die Knotenlizenzierung ergänzt das bisherige Lizenzmanagement. Damit kann<br />

ggfs. auf den Einsatz eines zentralen Lizenzservers verzichtet werden, z.B.<br />

wenn kein Netzwerk vorhanden ist. Bei der Knotenlizenzierung übernimmt der<br />

FELICS-Agent die Lizenzvergabe und -überwachung:<br />

Die Eingabe von Lizenzen erfolgt mit den entsprechenden FELICS-Tools auf<br />

jedem Knotenrechner. Alle lizenzierungspflichtigen Anwendungen können<br />

diesen Lizenzierungsmodus uneingeschränkt und ohne Anpassung nutzen.<br />

2<br />

Lizenz Lizenz<br />

Lizenz<br />

FELICS-Agent<br />

Lizenz Lizenz<br />

Lizenz<br />

FELICS-Agent<br />

Abbildung 2: Lizenzmanagement mit Knotenlizenzierung


<strong>UniCon</strong> FELICS<br />

2 FELICS<br />

Mit dem Floating Extended Licence Server (FELICS) haben Sie die<br />

Möglichkeit, <strong>Software</strong> im Netz beliebig oft zu installieren, ohne Lizenzen zu<br />

erwerben. Beim Starten holen sich die Programme eine Berechtigung beim<br />

Lizenzserver. Dieser verwaltet die Lizenzen in seiner Lizenzdatenbank<br />

licence.db.<br />

Mit Hilfe der Programme REMBRAND (Windows) und BRANDLI (Unix)<br />

können Lizenzen in die Datenbasis eingetragen bzw. gelöscht werden. Hierfür<br />

ist ein Lizenzschlüssel notwendig, den Sie vom Lieferanten der<br />

entsprechenden <strong>Software</strong> erhalten. Wollen Sie die Anzahl der Lizenzen eines<br />

Produktes erhöhen, brauchen Sie nur den entsprechenden Schlüssel<br />

einzugeben. Der Lizenz-Server ist ohne erneutes Starten über die neue<br />

Anzahl der Lizenzen informiert. Haben Sie <strong>Software</strong>produkte auf<br />

unterschiedlichen Rechnern installiert, können alle Produkte ihre Berechtigung<br />

an einem einzigen Server holen, vorausgesetzt, dieser ist über die<br />

Netzwerkprotokolle IP oder IPX zu erreichen.<br />

Mit der vorliegenden Version wurde auch die Möglichkeit der freiwilligen<br />

Lizenzierung geschaffen. Damit können Sie Lizenzen für Standardsoftware<br />

frei vergeben und jederzeit den Anforderungen anpassen.<br />

Wenn Sie sich für das Lizenzierungsmodell der Knotenlizenzierung (<strong>Software</strong>-<br />

Dongle) entschieden haben, benötigen Sie keinen Lizenzserver. In diesem<br />

Fall lesen Sie bitte weiter im Kapitel “FELICS-Tools”.<br />

3


FELICS <strong>UniCon</strong><br />

2.1 Installation<br />

Da sich die Installationsprozeduren unter den verschiedenen Betriebssystemen<br />

unterscheiden, werden sie im folgenden getrennt beschrieben.<br />

2.1.1 UNIX<br />

Nach der Installation finden Sie alle Dateien im Verzeichnis '/usr/felics'.<br />

Die FELICS-Installationsdiskette liegt entweder im tar-Format oder im DOS-<br />

Format vor (für Unix-Rechner ohne eigenes Diskettenlaufwerk).<br />

Zum Installieren des Lizenz-Servers führen Sie folgende Schritte aus:<br />

Bei SUN-Sparc Systemen müssen Sie zuerst den Vol-Daemon mit dem kill-<br />

Kommando abschalten (kill vold).<br />

4<br />

tar-Diskette<br />

cd /<br />

tar xvf /dev/fd0 (bzw. Laufwerk wie bei Ihnen installiert)<br />

DOS-Diskette<br />

Senden Sie die Datei felics.tz (felicss.tz bei FELICS mit SDK) binär zu<br />

Ihrem Unix-Rechner.<br />

Dort rufen Sie folgende Kommandos auf:<br />

mv felics.tz felics.tar.Z<br />

uncompress felics.tar<br />

cd /<br />

tar xvf felics.tar<br />

cd /usr/felics<br />

./felics.install<br />

Wenn gewünscht, wird der Lizenzserver durch dieses Script automatisch<br />

gestartet. Der Start kann jedoch auch später erfolgen (siehe "Starten und<br />

Beenden").


<strong>UniCon</strong> FELICS<br />

2.1.2 NOVELL-Server<br />

Die Installation erfolgt mit Hilfe eines Windows-Programms. Dabei müssen<br />

das Novell-Systemverzeichnis (z.B. f:\system) und das FELICS-<br />

Arbeitsverzeichnis (z.B. f:\felics) angegeben werden. Das Arbeitsverzeichnis<br />

sollte auf der Systemplatte liegen. Während der Ausführung der Installation<br />

sind für beide Verzeichnisse Schreibrechte notwendig. Sie sollten deshalb als<br />

Supervisor bzw. Admin angemeldet sein.<br />

Führen Sie zur Installation folgende Schritte unter Windows aus:<br />

a:setup<br />

Das Installationsprogramm führt Sie durch die Installation.<br />

Nach korrekter Installation kann der Lizenzserver nun an der Konsole des<br />

Novell-Servers gestartet werden (siehe "Starten und Beenden").<br />

2.1.3 Windows-NT<br />

Zur Installation benötigen Sie Schreibrechte im Windows-Verzeichnis bzw. im<br />

Windows-Systemverzeichnis. Außerdem müssen Sie berechtigt sein, NT-<br />

Dienste einzurichten. Führen Sie zur Installation folgende Schritte unter<br />

Windows-NT aus:<br />

a:setup<br />

Das Installationsprogramm führt Sie durch die Installation.<br />

Nach korrekter Installation ist der Lizenzserver als Dienst auf Ihrem NT-Server<br />

installiert worden. Aktivieren Sie in der Systemsteuerung das Symbol<br />

"Dienste". Markieren Sie den Dienst "FELICS" und stellen Sie unter der Option<br />

[Startart..] folgende Parameter ein:<br />

Startart<br />

[•] Automatisch<br />

Anmelden als<br />

[•] Systemkonto<br />

[•] interaktive Beziehung mit Desktop erlauben<br />

Der Start erfolgt ebenfalls über die Dienstverwaltung von Windows-NT (siehe<br />

"Starten und Beenden").<br />

5


FELICS <strong>UniCon</strong><br />

2.2 Starten und Beenden<br />

Durch das Beenden des Lizenzservers werden bereits erteilte Lizenzen nicht<br />

nachträglich entzogen. Bereits lizenzierte Programme laufen also unbehelligt<br />

weiter.<br />

Der Lizenzserver selbst muß mit einem Lizenzschlüssel freigeschaltet werden.<br />

Wenn dies noch nicht geschehen ist, startet FELICS im sogenannten<br />

'administration mode'. In diesem Fall geben Sie nach dem Start zunächst Ihre<br />

FELICS-Lizenz mit dem Programm BRANDLI (Unix) oder REMBRAND<br />

(Windows) ein (siehe Kapitel "Lizenzierung").<br />

Wenn Sie die entsprechende FELICS-Lizenz noch nicht erworben haben,<br />

können Sie dennoch das SDK (<strong>Software</strong> Development Kit) testen (siehe<br />

Kapitel "SDK").<br />

2.2.1 UNIX<br />

Der Lizenzserver kann nur mit root-Berechtigung gestartet bzw. beendet<br />

werden. Standardmäßig befindet sich der Lizenzserver unter /usr/felics. Wenn<br />

Sie ein anderes Arbeitsverzeichnis verwenden wollen, muß vor dem Start die<br />

Umgebungsvariable FELICSENV gesetzt werden.<br />

Starten:<br />

6<br />

cd /usr/felics<br />

./felics<br />

Beenden:<br />

cd /usr/felics<br />

./felics end<br />

Neustart:<br />

cd /usr/felics<br />

./felics restart


<strong>UniCon</strong> FELICS<br />

2.2.2 NOVELL<br />

Bevor Sie den Lizenzserver starten, vergewissern Sie sich, daß die System-<br />

NLM ipxs.nlm und spxs.nlm geladen sind. Geben Sie dazu einfach die<br />

Kommandos ‘load ipxs.nlm’ und ‘load spxs.nlm’ an der Konsole Ihres<br />

Novell-Servers ein. Der Start des Lizenzservers FELICS kann jetzt erfolgen:<br />

Starten:<br />

load felics <br />

Tragen Sie das Kommando in die Datei autoexec.ncf ein, um den<br />

Lizenzserver beim Systemstart automatisch zu laden.<br />

Das Arbeitsverzeichnis muß nur angegeben werden, wenn es vom<br />

Standardwert abweicht (/SYS:/FELICS).<br />

Beenden<br />

unload felics<br />

7


FELICS <strong>UniCon</strong><br />

2.2.3 Windows-NT<br />

Das Starten und Beenden erfolgt über die Dienstverwaltung von Windows-NT.<br />

Aktivieren Sie innerhalb der Systemsteuerung das Symbol "Dienste" (oder<br />

"Services").<br />

Starten:<br />

8<br />

In der angezeigten Liste markieren Sie den Dienst FELICS und<br />

betätigen den Schalter "Starten":<br />

Abbildung 3: FELICS-Dienst<br />

Bei korrektem Start des Lizenzservers wechselt der Status des<br />

Dienstes auf "Gestartet".<br />

Beenden:<br />

Das Beenden des Lizenzservers erfolgt analog mit dem Schalter<br />

"Beenden".<br />

Um den Lizenzserver aus der Dienstverwaltung zu löschen, rufen Sie das<br />

Programm mit dem Kommandozeilen-Parameter ‘remove’ auf:<br />

z.B.: c:\win32app\felics\ntfelics.exe remove


<strong>UniCon</strong> FELICS<br />

2.3 Konfiguration (felics.ini)<br />

Die Konfiguration des Lizenzservers wird durch die Textdatei felics.ini (früher<br />

felics.cnf) im FELICS-Arbeitsverzeichnis festgelegt.<br />

Folgende Parameter können gesetzt werden:<br />

Client-Überwachungsmechanismus<br />

Um den Absturz eines lizenzierten Programmes oder den Ausfall eines Client-<br />

Rechners (z.B. durch Abschalten) zu erkennen, fordert der Lizenzserver alle<br />

FELICS-Agenten in regelmäßigen Abständen auf, sich zu melden. Dieser<br />

sogenannte Alive-Mechanismus kann durch folgende Parameter konfiguriert<br />

werden:<br />

MAXALIVE= Bleibt diese Anzahl von Alive-Aufforderungen von einem<br />

Agenten unbeantwortet, so werden dessen Lizenzen<br />

wieder freigegeben.<br />

Standardwert ist MAXALIVE=3 .<br />

ALIVEFREQ= Intervall (in Sekunden), in dem die Alive-Aufforderungen<br />

an die Client-Rechner verschickt werden. Standardwert<br />

ist ALIVEFREQ=20 .<br />

Der maximale Zeitraum, den FELICS benötigt, um einen Ausfall zu erkennen,<br />

beträgt also MAXALIVE * ALIVEFREQ Sekunden.<br />

Diagnose<br />

Die Statusinformation, die FELICS laufend in die Datei felics.log (siehe Kapitel<br />

"Diagnose") protokolliert, kann zu Diagnosezwecken mit diesem Schalter<br />

erweitert werden:<br />

DEBUG= 0: keine erweiterte Ausgabe<br />

1: erweiterte Ausgabe in felics.log<br />

Backup-Funktion<br />

Der Backup-Server (siehe Kapitel „Backup-Lizenzserver“) gewährleistet die<br />

Verfügbarkeit der Lizenzen bei Ausfall des Master-Lizenzservers. Die<br />

folgenden Parameter werden nur von einem Backup-Server (FELICS mit<br />

FELICSB-Lizenz) verwendet.<br />

MFELICS= Hostname eines Master-FELICS, dessen Ausfall<br />

überwacht werden soll. Der Parameter kann mehrmals<br />

angegeben werden, d.h. ein Backup-Server kann<br />

PONG=<br />

mehrere Lizenzserver überwachen..<br />

Zeitintervall (Sekunden), in dem der Ausfall des/der<br />

überwachten Master-Lizenzserver überprüft wird.<br />

Standardwert ist 20 Sekunden.<br />

Beispiel: felics.ini<br />

9


FELICS <strong>UniCon</strong><br />

MAXALIVE=3<br />

ALIVEFREQ=20<br />

DEBUG=0<br />

Beispiel: felics.ini des Backup-Lizenzservers ucfelics3<br />

MAXALIVE=3<br />

ALIVEFREQ=20<br />

DEBUG=0<br />

MFELICS=ucfelics1<br />

MFELICS1=ucfelics2<br />

PONG=30<br />

RECONNECT=20<br />

2.4 Diagnose (felics.log)<br />

Solange der Lizenzserver aktiv ist, werden alle wichtigen Daten in die<br />

Textdatei felics.log im FELICS-Arbeitsverzeichnis protokolliert. Wenn diese<br />

Datei ihre maximale Größe erreicht hat, wird der Schreibvorgang wieder am<br />

Anfang fortgesetzt.<br />

Standardmäßig enthält die Datei nur die wichtigsten Ereignisse der<br />

Lizenzierung. Es kann in manchen Fällen jedoch sinnvoll sein, den erweiterten<br />

Modus zu aktivieren (siehe Kapitel "Konfiguration"). Sie erhalten dann<br />

ausführliche Status-Informationen des Lizenzservers.<br />

NOVELL<br />

Beachten Sie, daß die Datei im Novell-Umfeld nicht direkt eingesehen werden<br />

kann. Dies ist nur mit einer Kopie der Datei möglich:<br />

copy felics.log felics.txt<br />

edit felics.txt<br />

Windows-NT<br />

Hier haben Sie die Möglichkeit, alle Status-Informationen des Lizenzservers<br />

zusätzlich in das Fenster des Lizenzservers auszugeben. Geben Sie beim<br />

Start des FELICS-Dienstes den Startparameter 'show' an.<br />

10


<strong>UniCon</strong> FELICS<br />

2.5 Backup-Lizenzserver<br />

Mit der Version 2.30 wurde eine weitere wichtige Funktionalität in das<br />

bewährte Lizenzmanagement FELICS integriert. Die Verfügbarkeit der<br />

erworbenen Lizenzen, auch bei Ausfall des Lizenzservers, kann jetzt durch<br />

den Einsatz eines Backup-Lizenzservers jederzeit gewährleistet werden. Der<br />

Backup-Lizenzserver stellt eine zweite Instanz dar, die im Bedarfsfall die<br />

Arbeit des eigentlichen Lizenzservers übernimmt, bis dieser wieder<br />

einsatzbereit ist.<br />

Konzept<br />

Der Backup-Server wird auf einem zweiten Rechner installiert und gestartet.<br />

Dabei handelt es sich um die gleiche <strong>Software</strong> wie auf dem Primärsystem. Der<br />

Lizenzserver wurde jedoch durch eine FELICSB-Lizenz als Backup-Server<br />

konfiguriert. Durch den Parameter MFELICS in der Datei felics.ini (siehe<br />

Kapitel „FELICS-Konfiguration“) ist dem Backup-Lizenzserver der eigentliche<br />

Lizenzserver (Master-FELICS) bekannt.<br />

FELICS<br />

Der Backup-Server steht in<br />

ständigem Kontakt mit einem oder<br />

mehreren Master-Servern<br />

(eingetragen in felics.ini) und<br />

überwacht laufend deren<br />

Funktionsfähigkeit. Alle zur<br />

Lizenzvergabe notwendigen<br />

Informationen werden permanent<br />

vom Master-FELICS zum Backup-<br />

FELICS übermittelt.<br />

Der Ausfall des Master-FELICS wird vom Backup-Server in einer<br />

konfigurierbaren Zeit automatisch bemerkt (PONG-Parameter in felics.ini).<br />

FELICS<br />

Agent<br />

Agent<br />

Agent<br />

Agent<br />

FELICS<br />

Backup<br />

FELICS<br />

Backup<br />

Er verständigt zunächst alle<br />

Agenten und informiert sie über die<br />

neue Serveradresse.<br />

11


FELICS <strong>UniCon</strong><br />

12<br />

Agent<br />

Agent<br />

FELICS<br />

Backup<br />

Die Agenten fordern von jetzt an alle<br />

Lizenzen vom Backup-Server an. Neu<br />

gestartete Agenten kennen den Backup-<br />

Server aufgrund ihrer eigenen lokalen<br />

Konfiguration. Der Agent versucht nach<br />

dem Start zuerst seinen Master-FELICS<br />

zu erreichen. Gelingt ihm das nicht,<br />

wendet er sich an den Backup-Server.<br />

Der Backup-Server fungiert jetzt als vollwertiger Lizenzserver. Es können<br />

Lizenzen mit REMBRAND oder BRANDLI eingetragen oder gelöscht werden.<br />

Für andere Master-Lizenzserver steht der Backup-Server jedoch nicht mehr<br />

zur Verfügung. In dieser Situation prüft der Backup-Server jede Minute, ob der<br />

Master-FELICS wieder einsatzbereit ist.<br />

Wird der ursprüngliche Master-FELICS wiedererkannt, werden alle Lizenz-<br />

Statusinformationen an diesen übermittelt, die Agenten werden verständigt,<br />

der Lizenzserver geht wieder in den Backup-Modus.<br />

Konfiguration<br />

Alle Lizenz-Komponenten (FELICS und FELICS-Agenten) müssen in der<br />

Version 2.30 oder höher vorliegen. Der Master-FELICS benötigt keine<br />

Änderung seiner Konfiguration. Der Backup-Server ist auf auf einem zweiten<br />

Rechner zu installieren und mit einer FELICSB-Lizenz auszurüsten. In seiner<br />

Konfigurationsdatei felics.ini sind die Eintragungen MFELICS und PONG<br />

anzupassen (siehe „FELICS-Konfiguration“). Beim Start des Backup-<br />

Lizenzservers muß der Master-FELICS erreicht werden können.<br />

In die Konfiguration der FELICS-Agenten wird der Backup-Server an<br />

entsprechender Stelle hinzugefügt (siehe „FELICS-Agent“ ).


<strong>UniCon</strong> FELICS-Tools<br />

3 FELICS-Tools<br />

Diese Programme ermöglichen Ihnen den komfortablen Zugang zu den<br />

Informationen des Lizenzservers FELICS. Sie gestatten den Zugriff auf die<br />

Lizenzdatenbank (BRANDLI, REMBRAND, WBRANDLI) oder helfen bei der<br />

Ermittlung des aktuellen Lizenzbedarfs (RAMON, WRAMON). Die FELICS-<br />

Tools enthalten ebenso das FELICS-SDK für Windows 3.x zur Anbindung<br />

eigener <strong>Software</strong> an den Lizenzserver.<br />

Sie können sich bei Installation der FELICS-Tools für das Lizenzmodell der<br />

Knotenlizenzierung (<strong>Software</strong>-Dongle) entscheiden, wenn Sie ein Lizenzmanagement<br />

ohne zentralen Lizenzserver FELICS und ohne Netzwerkanbindung<br />

einsetzen wollen (siehe Kapitel „Lizenzmanagement“).<br />

3.1 Installation<br />

Die Programme RAMON und BRANDLI sind im Lieferumfang des<br />

FELICS/Unix enthalten (siehe "FELICS-Installation").<br />

Installieren Sie die Windows-Komponenten mit Hilfe des Installationsprogramms<br />

auf der FELICS-Tools - Diskette:<br />

a:setup<br />

Sie benötigen auf Ihrem PC eine Netzwerkunterstützung mit TCP/IP-<br />

Winsockets oder Netware (nicht bei Knotenlizenzierung).<br />

Das Installationsprogramm erzeugt die Programm-Gruppe "FELICS-Tools" mit<br />

den entsprechenden Programmsymbolen.<br />

13


FELICS-Tools <strong>UniCon</strong><br />

3.2 Lizenzierung mit FELICS<br />

Das FELICS-Lizenzmanagement unterscheidet zwischen Pflichtlizenzen und<br />

freiwilligen Lizenzen. Pflichtlizenzen sind Lizenzen, die Sie von einem<br />

<strong>Software</strong>produzenten für dessen Produkt erwerben. Diese Lizenzen erhalten<br />

Sie in Form eines Lizenzschlüssels.<br />

Freiwillige Lizenzen vergibt der Systemadministrator für Standardsoftware, um<br />

deren Einsatz zu begrenzen. Diese Lizenzen können beliebig erhöht oder<br />

verringert werden.<br />

3.2.1 BRANDLI (Unix)<br />

Mit BRANDLI steht Ihnen ein leistungsfähiges UNIX-Programm zur Verfügung,<br />

welches Ihnen die komfortable Eingabe von Pflichtlizenzen in Form von<br />

Lizenzschlüsseln erlaubt.<br />

Aufruf: /usr/felics/brandli<br />

Nach dem Start (die Ausführung ist nur mit root-Berechtigung möglich)<br />

erhalten Sie folgende Maske:<br />

Abbildung 4: BRANDLI-Hauptmenü<br />

14


<strong>UniCon</strong> FELICS-Tools<br />

Um ein Produkt zu lizenzieren, wählen Sie "L". Sie werden dann zur Eingabe<br />

des Schlüssels aufgefordert:<br />

Abbildung 5: BRANDLI - Eingabe Produkt-Schlüssel<br />

Bei korrekter Eingabe des Schlüssels erhalten Sie folgende Bestätigung:<br />

15


FELICS-Tools <strong>UniCon</strong><br />

Abbildung 6: BRANDLI Lizenz-Bestätigung<br />

Ist ein Lizenzserver aktiv, wird er von BRANDLI unmittelbar über die Änderung<br />

informiert.<br />

BRANDLI ist außerdem in der Lage, die Einträge der Lizenzdatenbank<br />

anzuzeigen und damit eine komplette Übersicht aller erworbenen Lizenzen zu<br />

bieten. Sie erreichen dies durch Auswahl "D" des Hauptmenüs:<br />

16


<strong>UniCon</strong> FELICS-Tools<br />

Abbildung 7: BRANDLI-Produktübersicht<br />

17


FELICS-Tools <strong>UniCon</strong><br />

3.2.2 REMBRAND (Windows)<br />

Mit REMBRAND verwalten Sie von Ihrem Windows-Arbeitsplatz Ihre<br />

Pflichtlizenzen und freiwilligen Lizenzen. Starten Sie das Programm über das<br />

Programmsymbol der Programmgruppe FELICS-Tools. Stellen Sie jedoch<br />

sicher, daß der Lizenzserver gestartet wurde.<br />

Abbildung 8: REMBRAND<br />

Wichtig: Sie können freiwillige Lizenzen nur dann vergeben, wenn Sie über<br />

eine FELICSE-Lizenz (FELICS für Endanwender) verfügen.<br />

REMBRAND verfügt über eine ausführliche Online-Hilfe, der Sie weitere<br />

Erläuterungen entnehmen können.<br />

18


<strong>UniCon</strong> FELICS-Tools<br />

3.3 Monitoring mit FELICS<br />

Die Monitorprogramme RAMON(Unix) und WRAMON(Windows) informieren<br />

Sie laufend über den aktuellen Lizenzbedarf. Beide Programme setzen einen<br />

aktiven Lizenzserver voraus.<br />

3.3.1 RAMON (Unix)<br />

RAMON (Running Application MONitor) ist ein Zusatzprodukt, um laufende<br />

Applikationen zu "beobachten". Zur Freischaltung dieses Produktes<br />

benötigen Sie einen Lizenzschlüssel.<br />

Geben Sie folgendes Kommando ein:<br />

/usr/felics/ramon<br />

Es erscheint folgende Maske:<br />

Abbildung 9: RAMON-Infofenster<br />

Mit dem Kommando "m" kommen Sie in den Monitor-Modus. RAMON<br />

aktualisiert sich automatisch.<br />

19


FELICS-Tools <strong>UniCon</strong><br />

Wählen Sie zwischen zwei Darstellungen mit der Funktion Option "o":<br />

1. alle aktiven Applikationen und zusätzliche Information wie z.B.<br />

Stationsname und Hostname, auf dem die Applikation aktiv ist.<br />

2. Die Anzahl aller aktiven Applikationen nach Applikation sortiert und die<br />

Auslastung der erworbenen Lizenzen.<br />

Abbildung 10: RAMON-Monitorfenster<br />

Mit dem Kommando "q" verlassen Sie den Monitor.<br />

20


<strong>UniCon</strong> FELICS-Tools<br />

3.3.2 WRAMON (Windows)<br />

Mit WRAMON (Windows Running Application MONitor) "beobachten" Sie<br />

laufende Applikationen und ermitteln so den genauen Bedarf Ihrer Lizenzen.<br />

Starten Sie WRAMON mit dem Programmsymbol in der Programmgruppe<br />

"FELICS-Tools". Stellen Sie vorher sicher, daß der Lizenzserver gestartet<br />

wurde.<br />

Abbildung 11: WRAMON<br />

WRAMON ist mit einer umfassenden Online-Hilfe ausgerüstet, die Ihnen die<br />

Funktionen genau erläutert.<br />

21


FELICS-Tools <strong>UniCon</strong><br />

3.4 Lizenzierung mit Knotenlizenzierung<br />

Bei der Knotenlizenzierung (<strong>Software</strong>-Dongle) werden die Lizenzschlüssel<br />

lokal auf jedem Knotenrechner mit Hilfe des Programms WBRANDLI in die<br />

Datei ucwatch.ini eingetragen. Die Lizenzschlüssel, die Sie erhalten haben,<br />

sind nur für den jeweiligen Knotenrechner (identifiziert durch die Host-ID)<br />

gültig. Sie erhalten die Host-ID Ihres Rechners, indem Sie das Programm<br />

UCHOSTID der FELICS-Tools aufrufen. Auch WBRANDLI zeigt die Host-ID in<br />

der Titelzeile an:<br />

Abbildung 12: Lizenzierung mit WBRANDLI<br />

Wählen Sie<br />

[Neu] um eine Lizenz in Form eines Lizenzschlüssels einzugeben. Sie<br />

können den zugehörigen Produktnamen selbst bestimmen. Die<br />

Lizenzen stehen unmittelbar nach der Eingabe zur Verfügung.<br />

[Ändern] um den Produktnamen zu ändern;<br />

[Löschen] um die Lizenzen eines Produkts zu löschen;<br />

[Beenden] um das Programm zu beenden.<br />

Wichtig: Jeder Knotenrechner muß durch Eingabe einer FELICSN-Lizenz<br />

(Produkt-Id 66) freigeschaltet werden.<br />

22


<strong>UniCon</strong> FELICS-Agent<br />

4 FELICS-Agent<br />

FELICS basiert auf dem Client-Server-Konzept. Die zentrale Rolle spielt dabei<br />

der Lizenzserver, der auf dem jeweiligen Serversystem (Unix, Netware,<br />

Windows-NT) installiert ist. Auf jedem Client-Rechner existiert genau eine<br />

Instanz (FELICS-Agent), die eine Kommunikationsbeziehung zum Lizenzserver<br />

aufrechterhält. Jede lizenzierungspflichtige Anwendung auf einem<br />

Client-Rechner wendet sich an diese Instanz. Der FELICS-Agent sollte<br />

deshalb beim Start des jeweiligen Client-Rechners aktiviert werden.<br />

Windows-PC Unix<br />

Anwendung<br />

Produkt-Id x<br />

Anwendung<br />

Produkt-Id y<br />

UDP/IP<br />

IPX<br />

Anwendung<br />

Produkt-Id x<br />

Novell / Unix<br />

licence.db<br />

msgqueue<br />

ucwatch watch.dll felicscltd<br />

FELICS<br />

Abbildung 13: FELICS-Agenten<br />

Anwendung<br />

Produkt-Id y<br />

23


FELICS-Agent <strong>UniCon</strong><br />

4.1 UNIX (felicscltd)<br />

Sie erhalten den FELICS-Agenten entweder bei Installation des FELICS-SDK<br />

oder zusammen mit der <strong>Software</strong> von Fremdherstellern, die ihre <strong>Software</strong> mit<br />

FELICS schützen. Der Agent übernimmt die komplette Kommunikation mit<br />

FELICS. Wir empfehlen deshalb, den Dämon beim Systemstart zu aktivieren<br />

(in /etc/rc).<br />

Programmparameter:<br />

felicscltd -s -k -d<br />

-s geben Sie hier den Hostnamen Ihres Lizenzservers an.<br />

Sofern Sie einen Backup-Lizenzserver einsetzen, muß dieser<br />

ebenfalls angegeben werden( z.B. felicscltd -s ucfelics -s ucfelicsb)<br />

-k optionale Angabe eines Message-Queue-Keys. Standardmäßig wird<br />

FELICS_MSQ (siehe FELICS-SDK/UNIX) verwendet.<br />

-d schaltet die Traceausgabe des Agenten ein. Die Trace-Konfiguration<br />

erfolgt in der Datei /usr/felicscltd.cnf. Beispiel:<br />

TRACEFILE = <br />

TRACELEVEL=<br />

TRACEFILE_COUNT=<br />

TRACEFILE_SIZE=<br />

Beispiel:<br />

TRACEFILE = felicscltd.log<br />

TRACELEVEL = 5<br />

TRACEFILE_COUNT = 2<br />

TRACEFILE_SIZE = 500000<br />

Wichtig: Der FELICS-Agent kann nur unter root-Berechtigung gestartet<br />

werden.<br />

Sollte es notwendig sein, den Dämon zu beenden, ist dies mit einem Signal<br />

15 möglich.<br />

24


<strong>UniCon</strong> FELICS-Agent<br />

4.2 Windows 3.x (ucwatch)<br />

Neben der Server-Komponente (FELICS) ist auf jedem PC, der in das<br />

Lizenzmanagement eingebunden werden soll, der FELICS-Agent UCWATCH<br />

zu installieren. UCWATCH unterrichtet Ihren Lizenzserver über Ereignisse, die<br />

für die freiwillige Lizenzierung von Bedeutung sind (z.B. Starten und Beenden<br />

von Windows-Applikationen). Sollte es zu einer Lizenzüberschreitung<br />

kommen, wird der Anwender über ein Meldungsfenster informiert.<br />

UCWATCH setzt voraus, daß der PC über eine Netzwerkanbindung mit<br />

TCP/IP-Winsockets oder SPX/IPX-Netware verfügt.<br />

Alternativ können Sie sich bei der Installation auch für die Knotenlizenzierung<br />

(<strong>Software</strong>-Dongle) entscheiden. Hier wird auf die Verwendung eines<br />

Lizenzservers und einer Netzwerkanbindung verzichtet. Der Agent übernimmt<br />

dann das Lizenzmanagement selbst.<br />

4.2.1 Installation<br />

Der FELICS-Agent ist in den FELICS-Tools enthalten und wird mit diesem<br />

Installationsprogramm installiert. Dabei werden die UCWATCH-Programmteile<br />

in das FELICS-Tools-Verzeichnis kopiert:<br />

watch.dll: Dynamische Funktions-Bibliothek<br />

ucwatch.exe: Agent<br />

toolhelp.dll: Windows-Werkzeugbibliothek<br />

ucwatch.ini: Konfigurationsdatei<br />

Vor dem ersten Start des Agenten muß der Name des Lizenzservers (und<br />

ggfs. der des Backup-Servers) in der Konfigurationsdatei ucwatch.ini (im<br />

Windowsverzeichnis) eingetragen werden (nicht bei Modus Knotenlizenzierung):<br />

Beispiel ucwatch.ini (Agent mit FELICS):<br />

[UCWATCH]<br />

FELICS=192.92.1.1 primärer Lizenzserver<br />

FELICS1=192.92.1.5 1. Backup-Server (optional)<br />

FELICS2=192.92.1.6 2. Backup-Server (optional)<br />

:<br />

oder<br />

[UCWATCH]<br />

FELICS=NWSERVER<br />

25


FELICS-Agent <strong>UniCon</strong><br />

Stellen Sie nun sicher, daß das Programm ucwatch.exe beim Start von<br />

Windows automatisch gestartet wird (Eintrag in win.ini):<br />

Beispiel win.ini:<br />

[windows]<br />

run=UCWATCH.EXE<br />

Starten Sie Windows neu.<br />

4.2.2 Automatische Installation WATCHPUB (Novell)<br />

Im Novell-Umfeld besteht die Möglichkeit, den im Kapitel "Installation"<br />

beschriebenen Vorgang zu automatisieren. Mit Hilfe des Programms<br />

watchpub.exe werden die UCWATCH-Dateien beim Login-Vorgang des<br />

Benutzers in dessen Windows-Verzeichnis kopiert und die win.ini modifiziert.<br />

Aufruf: watchpub -w -u<br />

-w das angegebene Arbeitsverzeichnis muß folgende Dateien enthalten:<br />

ucwatch.ini, ucwatch.exe, watch.dll, toolhelp.dll<br />

-u die Änderungen in der win.ini des Aufrufers werden wieder<br />

rückgängig gemacht.<br />

Folgende Vorgehensweise wird empfohlen:<br />

• Kopieren Sie zunächst die UCWATCH-Programmteile und das Programm<br />

watchpub.exe in ein geeignetes Novell-Serverzeichnis<br />

(z.B. /SYS:/PUBLIC/WATCH).<br />

• Editieren Sie dort die Datei ucwatch.ini wie im Kapitel "Installation"<br />

beschrieben.<br />

• Tragen Sie watchpub.exe in das System-Loginscript ein:<br />

#/sys:/public/watch/watchpub -w /sys:/public/watch<br />

Watchpub.exe kann ohne Folgen mehrfach aufgerufen werden.<br />

26


<strong>UniCon</strong> FELICS-Agent<br />

4.3 Windows NT (NTfelclt)<br />

Ebenso wie der Lizenzserver selbst wird der FELICS-Agent als NT-Dienst<br />

eingerichtet. Die Installation erfolgt mit dem FELICS-Installationsprogramm.<br />

Vor dem ersten Start des Agenten ändern Sie die Startart des Dienstes wie<br />

folgt:<br />

Startart<br />

[•] Automatisch<br />

Anmelden als<br />

[•] Systemkonto<br />

[•] interaktive Beziehung mit Desktop erlauben<br />

Abbildung 14: FELICS-Agent Dienst<br />

Danach kann der Dienst mit der Dienstverwaltung von Windows-NT gestartet<br />

und beendet werden. Wir empfehlen die Startart "Automatisch" zu verwenden,<br />

damit der Agent beim Systemstart aktiviert wird.<br />

27


FELICS-Agent <strong>UniCon</strong><br />

Der FELICS-Agent wird in der Datei UCWATCH.INI im Windowsverzeichnis<br />

konfiguriert. Dort geben Sie, soweit durch die Installation noch nicht<br />

geschehen, den Namen des Lizenzservers und ggfs. den Namen des Backup-<br />

Lizenzservers an:<br />

Beispiel ucwatch.ini:<br />

[UCWATCH]<br />

FELICS=ntserver primärer Lizenzserver<br />

FELICS1=ntserver2 1. Backup-Server (optional)<br />

FELICS2=ntserver3 2. Backup-Server (optional)<br />

:<br />

SHOW=<br />

Wenn Sie sich bei Installation des FELICS-Agenten für die Knotenlizenzierung<br />

entschieden haben, verwendet der Agent diese Ini--Datei zur Speicherung der<br />

erworbenen Lizenzen, der Name des Lizenzservers wird ignoriert.<br />

Dienst-Startparameter:<br />

show Zu Debug-Zwecken wird der FELICS-Agent sichtbar.<br />

Kommandozeilen-Parameter:<br />

Aufruf: ntfelclt.exe [ remove | install ]<br />

install installiert die Exe-Datei als FELICS-Agent-Service.<br />

Die Exe-Datei muß mit vollständigem Pfad angegeben werden.<br />

Beispiel:<br />

ntfelclt.exe install c:\win32app\felics\ntfelclt.exe<br />

remove löscht den FELICS-Agent-Dienst aus der Dienstverwaltung von<br />

Windows-NT.<br />

ntfelclt.exe remove<br />

28


<strong>UniCon</strong> FELICS-Agent<br />

4.3.1 Freiwillige Lizenzierung (NTclte)<br />

Mit Hilfe des Zusatzprogramms NTCLTE kann der FELICS-Agent zur Überwachung<br />

und Lizenzierung von Standard-<strong>Software</strong> (Winword, Access usw.)<br />

eingesetzt werden. NTCLTE überwacht den Aufruf jeder Windows-Anwendung<br />

und fordert ggfs. eine Lizenz an. Kommt es zu einer Lizenzüberschreitung, so<br />

wird der Anwender durch ein Mitteilungsfenster informiert und die Ausführung<br />

der Windows-Anwendung wird abgebrochen:<br />

Abbildung 15: Lizenzüberschreitung<br />

Aufruf: ntclte<br />

Der Aufruf sollte im Login-Skript des Benutzers erfolgen. Das Programm setzt<br />

einen laufenden FELICS-Agenten (Ntfelclt) voraus und ist für den Anwender<br />

nicht sichtbar.<br />

Windows-Applikationen werden anhand ihres Modulnamens (z.B.<br />

MSACCESS) identifiziert und lizenziert (siehe REMBRAND). Zur Ermittlung<br />

des Modulnamens einer Windows-Anwendung kann das Programm<br />

NTWINAPP verwendet werden, das mit dem FELICS-Agenten geliefert wird.<br />

Hinweis: Die FELICS-E Funktion muß auf dem Lizenzserver durch einen<br />

Lizenzschlüssel freigeschaltet werden.<br />

29


FELICS-Agent <strong>UniCon</strong><br />

4.4 Windows95 / Win32s (NTfelclt)<br />

Unter Windows95 / Win32s kann der FELICS-Agent/NT verwendet werden,<br />

die Installation erfolgt demnach mit dem FELICS/NT-Installationsprogramm.<br />

Der Agent kann allerdings nicht als Dienst eingerichtet werden, sondern sollte<br />

in die Autostart-Gruppe aufgenommen werden. Beim Aufruf muß der<br />

Parameter ‘noservice’ angegeben werden:<br />

Aufruf: ntfelclt.exe /noservice<br />

Der FELICS-Agent wird in der Datei UCWATCH.INI im Windowsverzeichnis<br />

konfiguriert. Dort geben Sie, soweit durch die Installation noch nicht<br />

geschehen, den Namen des Lizenzservers (und ggfs. den des Backup-<br />

Servers) an:<br />

Beispiel ucwatch.ini:<br />

[UCWATCH]<br />

FELICS=ntserver primärer Lizenzserver<br />

FELICS1=ntserver2 1. Backup-Server (optional)<br />

FELICS2=ntserver3 2. Backup-Server (optional)<br />

:<br />

SHOW=<br />

Wenn Sie sich bei Installation des FELICS-Agenten für die Knotenlizenzierung<br />

entschieden haben, verwendet der Agent diese Ini--Datei zur Speicherung der<br />

erworbenen Lizenzen, der Name des Lizenzservers wird dann ignoriert.<br />

4.4.1 Freiwillige Lizenzierung (NTclte)<br />

Der FELICS-Agent übernimmt auch die Lizenzierung der Standardsoftware<br />

(Winword, Access ...). Dazu muß zusätzlich das Programm NTCLTE gestartet<br />

werden (siehe „Windows-NT -> Freiwillige Lizenzierung“).<br />

30


<strong>UniCon</strong> FELICS-SDK<br />

5 FELICS-SDK<br />

5.1 Allgemeines Konzept<br />

Mit dem Floating Extended Licence Server (FELICS) haben Sie die<br />

Möglichkeit, <strong>Software</strong> im Netz beliebig oft zu installieren, ohne Lizenzen zu<br />

erwerben. Beim Starten holt sich die Anwendung über den FELICS-Agenten<br />

eine Berechtigung beim Lizenz-Server.<br />

Zur dynamischen Lizenzierung wertet der Lizenzserver die Lizenzdatenbank<br />

aus. Diese enthält die Informationen zu allen lizenzierten Produkten. Die<br />

Aufnahme der Lizenzen in die Datenbank erfolgt durch den Endanwender mit<br />

Hilfe eines Lizenzschlüssels. Der Schlüssel beinhaltet eine Produkt-Id, die<br />

Anzahl der Lizenzen und ggfs. die Dauer der Gültigkeit der Lizenzen. Nur der<br />

Hersteller der <strong>Software</strong> ist in der Lage, für die entsprechende Produkt-Id<br />

Schlüssel zu generieren (siehe Kapitel „Schlüsselgenerator“). Produkt-Ids sind<br />

weltweit eindeutig und werden von <strong>UniCon</strong> vergeben. Ein Lizenzschlüssel ist<br />

nur für den Server/Node gültig, für den er generiert wurde.<br />

<strong>UniCon</strong><br />

Produkt-<br />

Freigabe<br />

<strong>Software</strong>-Hersteller Kunde<br />

Freigabe-Schlüssel WLIPRI<br />

FELICS-Schlüssel<br />

Abbildung 16: Schlüsselübermittlung<br />

Lizenz-Schlüssel<br />

FELICS-Schlüssel<br />

BRANDLI /<br />

REMBRAND<br />

licence.db<br />

FELICS<br />

Werden weitere Lizenzen geordert, kann der Endbenutzer mit einem neuen<br />

Schlüssel im laufenden Betrieb des Lizenzservers die Lizenzanzahl für sein<br />

Produkt aktualisieren.<br />

Die lizenzierungspflichtige Applikation (Client) holt bei FELICS (Lizenz-Server)<br />

eine Startberechtigung ein und gibt beim Beenden die Lizenz wieder frei.<br />

Solange die Anwendung aktiv ist, ist die Lizenz vergeben. Nach Freigabe der<br />

Lizenz steht diese netzwerkweit wieder zur Verfügung. Die Kommunikation<br />

zwischen Applikation und Lizenzserver wird von dem FELICS-Agenten<br />

komplett übernommen.<br />

31


FELICS-SDK <strong>UniCon</strong><br />

Wird die Applikation unsachgemäß beendet, z.B durch Abschalten des Client-<br />

Rechners, wird nach einer konfigurierbaren Zeit die Lizenz automatisch<br />

freigegeben.<br />

Wird der Lizenz-Server beendet, bleiben die laufenden Applikationen davon<br />

unberührt. Nach Neustart des Lizenz-Servers werden die aktiven<br />

Applikationen automatisch wiedererkannt.<br />

5.2 Technisches Konzept<br />

Auf jedem Client-Rechner existiert genau eine Instanz (FELICS-Agent), die<br />

eine Kommunikationsbeziehung zum Lizenzserver aufrechterhält. Jede<br />

lizenzierungspflichtige Anwendung auf einem Client-Rechner wendet sich<br />

über das SDK an diese Instanz, die dafür folgende Dienste zur Verfügung<br />

stellt:<br />

INIT: Initialisiert die Kommunikation zum Agenten und zum<br />

Lizenzserver<br />

GETLICENCE: Fordert eine Lizenz für eine Produkt-Id an<br />

FREELICENCE: Gibt die Lizenz einer Produkt-Id wieder frei<br />

QUIT: Beenden der Kommunikationsbeziehung zum Agenten<br />

Der Lizenzserver überwacht in einem konfigurierbaren Intervall alle FELICS-<br />

Agenten und damit alle Anwendungen (ALIVE-Mechanismus). Werden<br />

Anwendungen bzw. komplette Clients unsachgemäß beendet (z.B Programmbzw.<br />

Systemabsturz), schaltet der Lizenzserver alle entsprechenden Lizenzen<br />

wieder frei.<br />

Bei einem Systemabsturz des Server-Rechners werden nach dem<br />

Wiederanlauf alle aktiven Lizenzen netzwerkweit erkannt und eingetragen.<br />

Laufende Applikationen werden dadurch nicht beeinträchtigt.<br />

Hinweis: Nach Installation des SDK können Sie zunächst die Produkt-Id<br />

4711 (DEMO-Produkt) für Ihre eigenen Anwendungen verwenden.<br />

FELICS stellt für dieses Produkt 2 Lizenzen zu Testzwecken zur<br />

Verfügung.<br />

32


<strong>UniCon</strong> FELICS-SDK<br />

5.3 UNIX<br />

Das SDK unter Unix umfaßt derzeit folgende Komponenten:<br />

<strong>Software</strong>-Entwicklung:<br />

wlipri: Schlüsselgenerator für Produktschlüssel<br />

(WINDOWS)<br />

felicslib.a: Funktions-Bibliothek (UNIX)<br />

felicslib.h: Header-File (UNIX)<br />

felicscltd: FELICS-Agent (UNIX)<br />

sdkbsp.c: Beispielprogramm (UNIX)<br />

5.3.1 Installation<br />

Bevor Sie die Installation vornehmen, vergewissern Sie sich, daß der<br />

Lizenzserver aktiv ist. Sofern Sie noch keinen FELICS-Lizenzschlüssel<br />

erworben haben, verwenden Sie bei der Programmierung die Produkt-Id 4711<br />

(DEMO-Produkt). FELICS vergibt dafür 2 Lizenzen.<br />

Die Installation der Unix-Komponenten erfolgt innerhalb der FELICS-<br />

Installation (siehe Kapitel "FELICS-Installation"). Alle Dateien werden dabei in<br />

das Verzeichnis /usr/felics kopiert. Anschließend kopieren Sie die für die<br />

<strong>Software</strong>entwicklung wichtigen Dateien (felicslib.a, felicslib.h) in die entsprechenden<br />

Verzeichnisse und starten den FELICS-Agenten felicscltd (siehe<br />

Kapitel "felicscltd").<br />

Mit dem Schlüsselgenerator WLIPRI (Windows) können Sie für Ihre Produkte<br />

Lizenzschlüssel erzeugen (siehe Kapitel "Schlüsselgenerator WLIPRI"). Dafür<br />

empfehlen wir die Einrichtung eines Windows-Programmsymbols zum Start<br />

mit dem entsprechenden Arbeitsverzeichnis.<br />

33


FELICS-SDK <strong>UniCon</strong><br />

5.3.2 Application Programmers Interface (API)<br />

Die Bibliothek "felicslib.a" ermöglicht jeder Anwendung die einfache und<br />

komfortable Kommunikation mit dem Lizenzserver FELICS über den FELICS-<br />

Agenten. Prototypen und Konstanten sind in felicslib.h enthalten.<br />

Wichtig: Vor der Benutzung ist sicherzustellen, daß der FELICS-Agent unter<br />

Unix aktiv ist (z.B. beim Systemstart durch rc-File starten).<br />

FELICS_init<br />

Prototyp: extern int FELICS_init ( unsigned long msg )<br />

Parameter: msg: Message-Queue-Key, wird für die Kommunikation<br />

mit dem FELICS-Agenten unter Unix benötigt (z.B<br />

FELICS_MSQ).<br />

Rückgabewert: 0: ok<br />

2: Lizenzserver nicht erreichbar<br />

-1: Fehler kann über errno abgefragt werden<br />

Beschreibung:<br />

Die Funktion muß zur Initialisierung der Kommunikationsbeziehung der<br />

Anwendung zum FELICS-Agenten aufgerufen werden. Die Adresse des<br />

Lizenzservers wird durch den Agenten bestimmt.<br />

FELICS_quit<br />

Prototyp: extern void FELICS_quit ( void )<br />

Parameter: -<br />

Rückgabewert: -<br />

Beschreibung:<br />

Die Verbindung zum FELICS-Agenten wird wieder aufgehoben, die<br />

Ressourcen werden freigegeben. Alle Lizenzen, die zu diesem Zeitpunkt<br />

durch die Anwendung (Prozeß) noch nicht freigegeben wurden, werden<br />

automatisch freigegeben.<br />

34


<strong>UniCon</strong> FELICS-SDK<br />

FELICS_getlicence<br />

Prototyp:<br />

extern int FELICS_getlicence ( unsigned long productid, char *text )<br />

Parameter: productid: Produktidentifikator<br />

text: zusätzlicher Text, der die Anwendung<br />

beschreibt. Der Text muß innerhalb einer<br />

Anwendung eindeutig sein<br />

( z.B. "Sitzung 1" ).<br />

Max. Länge: FELICS_MAXTEXT.<br />

Rückgabewert: 0: ok<br />

1: Keine Lizenz mehr verfügbar<br />

2: Lizenzserver nicht erreichbar<br />

-1: Fehler kann über errno abgefragt werden<br />

Beschreibung:<br />

Veranlaßt den FELICS-Agenten, die gewünschte Lizenz für die Anwendung zu<br />

belegen. Die Lizenz bleibt solange belegt, bis die Funktion<br />

FELICS_freelicence oder FELICS_quit aufgerufen wird. Kann die Lizenz nicht<br />

belegt werden, bleibt der Anwendung die Reaktion darauf freigestellt<br />

(Benutzerausgaben, Terminieren usw.).<br />

FELICS_freelicence<br />

Prototyp:<br />

extern int FELICS_freelicence ( unsigned long productid, char *text )<br />

Parameter: productid: Produktidentifikator<br />

text: zusätzlicher Text, der beim<br />

FELICS_getlicence verwendet wurde.<br />

Rückgabewert: 0: ok<br />

2: Lizenzserver nicht erreichbar<br />

-1: Fehler kann über errno abgefragt werden<br />

Beschreibung:<br />

Die spezifizierte Lizenz wird wieder freigegeben.<br />

35


FELICS-SDK <strong>UniCon</strong><br />

5.3.3 Beispielprogramm<br />

Das folgende Beispiel veranschaulicht die Einfachheit der Lizenzanforderung<br />

und Lizenzfreigabe:<br />

#include <br />

#include <br />

#include <br />

#include "felicslib.h"<br />

int main (void);<br />

int main()<br />

{<br />

int rc;<br />

char buf[FELICS_MAXTEXT];<br />

rc = FELICS_init(FELICS_MSQ);<br />

switch (rc) {<br />

case -1:<br />

perror("FELICS_init");<br />

exit(1);<br />

case 2:<br />

fprintf(stderr, "FELICS not running!\n");<br />

exit(1);<br />

case 0:<br />

break;<br />

}<br />

sprintf(buf, "Hallo Test from FELICS-SDK (%d)", getpid());<br />

rc = FELICS_getlicence(4711L, buf);<br />

switch(rc) {<br />

case -1:<br />

perror("Error from FELICS_getlicence ");<br />

FELICS_quit();<br />

exit(1);<br />

case 0:<br />

fprintf(stderr, "got licence\n");<br />

break;<br />

case 1:<br />

fprintf(stderr, "no free licence\n");<br />

FELICS_quit();<br />

exit(0);<br />

case 2:<br />

fprintf(stderr, "FELICS not available\n");<br />

FELICS_quit();<br />

exit(0);<br />

break;<br />

}<br />

/* do your work here */<br />

sleep (10);<br />

if (FELICS_freelicence(4711L, buf) < 0) {<br />

perror("Error from FELICS_freelicence");<br />

FELICS_quit();<br />

exit(1);<br />

}<br />

FELICS_quit();<br />

return 0;<br />

}<br />

36


<strong>UniCon</strong> FELICS-SDK<br />

5.4 WINDOWS 3.x<br />

Das SDK unter Windows 3.x umfaßt folgende Komponenten:<br />

<strong>Software</strong>-Entwicklung:<br />

wlipri: Schlüsselgenerator für Produktschlüssel<br />

(WINDOWS)<br />

watch.dll: Dynamische Funktions-Bibliothek (WINDOWS)<br />

watch.lib: Statische Anbindung der watch.dll (WINDOWS)<br />

watchs.lib: Statische Bibliothek mit Zusatzfunktionen<br />

watch.h: Header-File (WINDOWS)<br />

ucwatch.exe: FELICS-Agent (WINDOWS)<br />

bsp.c: Beispielprogramm (WINDOWS)<br />

toolhelp.dll: Dynamische Windows-Werkzeugbibliothek<br />

toolhelp.lib: Statische Windows-Werkzeugbibliothek<br />

Die Dateien ucwatch.exe, watch.dll, toolhelp.dll sind unbedingt notwendig, um<br />

die Funktionen des FELICS-Agenten zu gewährleisten. Sie müssen deshalb<br />

mit ausgeliefert werden.<br />

5.4.1 Installation<br />

Installieren Sie, soweit noch nicht geschehen, Ihren Lizenzserver FELICS<br />

(siehe Kapitel "FELICS-Installation").<br />

Sofern Sie noch keinen FELICS-Lizenzschlüssel erworben haben, verwenden<br />

Sie bei der Programmierung die Produkt-Id 4711 (DEMO-Produkt). FELICS<br />

vergibt dafür 2 Lizenzen.<br />

Die Installation der Windows-Komponenten erfolgt innerhalb der FELICS-<br />

Tools Installation (siehe Kapitel "FELICS-Tools-Installation"). Anschließend<br />

kopieren Sie die für die <strong>Software</strong>entwicklung wichtigen Dateien (ucwatch.exe,<br />

toolhelp.dll, toolhelp.lib, watch.dll, watch.lib, watch.h) in die entsprechenden<br />

Entwicklungsverzeichnisse. Konfigurieren und starten Sie nun den Agenten<br />

"ucwatch" unter Windows (siehe Kapitel "FELICS-Agent Windows").<br />

Mit dem Schlüsselgenerator WLIPRI (Windows) können Sie für Ihre Produkte<br />

Lizenzschlüssel erzeugen (siehe Kapitel "Schlüsselgenerator WLIPRI"). Dafür<br />

empfehlen wir die Einrichtung eines Windows-Programmsymbols zum Start<br />

mit dem entsprechenden Arbeitsverzeichnis.<br />

37


FELICS-SDK <strong>UniCon</strong><br />

5.4.2 Application Programmers Interface (API)<br />

Die Bibliothek "watch.dll" ermöglicht jeder Anwendung die einfache und<br />

komfortable Kommunikation mit dem Lizenzserver FELICS über den FELICS-<br />

Agenten. Prototypen und Konstanten sind in watch.h enthalten.<br />

Wichtig: Vor der Benutzung ist sicherzustellen, daß der Agent ucwatch.exe<br />

unter Windows aktiv ist.<br />

FELICS_init<br />

Prototyp: extern int FELICS_init ( void )<br />

Parameter: -<br />

Rückgabewert: 0: ok<br />

2: Lizenzserver nicht erreichbar<br />

-1: Fehler<br />

Beschreibung:<br />

Die Funktion muß zur Initialisierung der Kommunikationsbeziehung der<br />

Anwendung zum FELICS-Agenten aufgerufen werden. Der Name des<br />

Lizenzservers wird durch Konfiguration des Agenten (in ucwatch.ini) bestimmt.<br />

FELICS_quit<br />

Prototyp: extern void FELICS_quit ( void )<br />

Parameter: -<br />

Rückgabewert: -<br />

Beschreibung:<br />

Die Verbindung zum FELICS-Agenten wird wieder aufgehoben, die<br />

Ressourcen werden freigegeben. Alle Lizenzen, die zu diesem Zeitpunkt<br />

durch die Anwendung (Prozeß) noch nicht freigegeben wurden, werden<br />

automatisch freigegeben.<br />

38


<strong>UniCon</strong> FELICS-SDK<br />

FELICS_getlicence<br />

Prototyp:<br />

extern int FELICS_getlicence ( unsigned long productid, LPSTR *text )<br />

Parameter: productid: Produktidentifikator<br />

text: zusätzlicher Text, der die Anwendung<br />

beschreibt. Der Text muß innerhalb einer<br />

Anwendung eindeutig sein<br />

( z.B. "Sitzung 1" ).<br />

Max. Länge: FELICS_MAXTEXT.<br />

Rückgabewert: 0: ok<br />

1: Keine Lizenz mehr verfügbar<br />

-1: Fehler<br />

Beschreibung:<br />

Veranlaßt den FELICS-Agenten, die gewünschte Lizenz für die Anwendung zu<br />

belegen. Die Lizenz bleibt solange belegt, bis die Funktion<br />

FELICS_freelicence oder FELICS_quit aufgerufen wird. Kann die Lizenz nicht<br />

belegt werden, bleibt der Anwendung die Reaktion darauf freigestellt<br />

(Benutzerausgaben, Terminieren usw.).<br />

FELICS_freelicence<br />

Prototyp:<br />

extern int FELICS_freelicence ( unsigned long productid, LPSTR *text )<br />

Parameter: productid: Produktidentifikator<br />

text: zusätzlicher Text, der beim<br />

FELICS_getlicence verwendet wurde.<br />

Rückgabewert: 0: ok<br />

-1: Fehler<br />

Beschreibung:<br />

Die spezifizierte Lizenz wird wieder freigegeben.<br />

39


FELICS-SDK <strong>UniCon</strong><br />

FELICS_sdkversion<br />

Prototyp: extern int FELICS_sdkversion ( LPSTR dllname,<br />

WORD *version,<br />

LPSTR description)<br />

Parameter: dllname: Name der SDK-DLL, deren Version ermittelt<br />

werden soll. Es kann NULL angegeben werden.<br />

Dann wird der Default-Name WATCH.DLL verwendet.<br />

40<br />

version: Zeiger auf eine Puffervariable zur Aufnahme der<br />

SDK-Versionsnummer. Bei Angabe von NULL wird<br />

der Parameter ignoriert. Das höherwertige Byte<br />

enthält die Hauptversionsnummer, das niederwertige<br />

Byte die Unterversionsnummer.<br />

description: Puffer zur Aufnahme einer kurzen Versionsbeschreibung.<br />

Der Puffer muß vom aufrufenden<br />

Programm allokiert werden und sollte min. 64<br />

Bytes lang sein. Geben Sie NULL an, wird der<br />

Parameter ignoriert.<br />

Rückgabewert: FELICS_OK: SDK-DLL wurde geprüft und die<br />

Version ermittelt.<br />

FELICS_BADSDK: Die SDK-DLL unterstützt diese<br />

Funktion nicht oder es handelt sich<br />

um eine nicht authorisierte Bibliothek<br />

eines Fremdherstellers.<br />

Beschreibung:<br />

Die Funktion ermittelt die aktuelle SDK-Version und prüft gleichzeitig die SDK-<br />

DLL auf ihre Authentizität.<br />

Hinweis: Aus Sicherheitsgründen finden Sie diese Funktion nicht in der<br />

SDK-DLL (WATCH.DLL), sondern in der statischen Bibliothek<br />

WATCHS.LIB, mir der Sie Ihr Programm binden müssen.


<strong>UniCon</strong> FELICS-SDK<br />

5.4.3 Beispielprogramm<br />

Das folgende Beispiel veranschaulicht die Einfachheit der Lizenzanforderung<br />

und Lizenzfreigabe:<br />

#include <br />

#include <br />

#include "windows.h"<br />

#include "watch.h"<br />

int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);<br />

#define DEBUG(a) MessageBox((HWND)NULL,(LPSTR)a,(LPSTR)"BEISPIEL",MB_OK)<br />

#define PRODUCTID 4711L<br />

int PASCAL WinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow)<br />

HANDLE hInstance;<br />

HANDLE hPrevInstance;<br />

LPSTR lpCmdLine;<br />

int nCmdShow;<br />

{<br />

int rc;<br />

char buf[FELICS_MAXTEXT];<br />

if ( FELICS_sdkversion(NULL,NULL,NULL) != FELICS_OK )<br />

{<br />

DEBUG("FELICS-SDK DLL invalid");<br />

return FALSE;<br />

}<br />

rc = FELICS_init();<br />

switch (rc)<br />

{<br />

case -1:<br />

DEBUG("FELICS_init() failed");<br />

return FALSE;<br />

case 2:<br />

DEBUG("FELICS unreachable");<br />

return FALSE;<br />

case 0:<br />

break;<br />

}<br />

sprintf(buf, "Instanz=%d", hInstance);<br />

rc = FELICS_getlicence ( PRODUCTID, buf );<br />

if ( rc == 0 )<br />

{<br />

DEBUG("got licence");<br />

}<br />

else<br />

{<br />

DEBUG("no free licence");<br />

FELICS_quit();<br />

return FALSE;<br />

}<br />

}<br />

rc = FELICS_freelicence( PRODUCTID, buf );<br />

DEBUG("licence freed");<br />

FELICS_quit();<br />

return TRUE;<br />

41


FELICS-SDK <strong>UniCon</strong><br />

5.5 WINDOWS-NT / 95 und Win32s<br />

Das SDK besteht derzeit aus folgenden Komponenten:<br />

42<br />

NTWATCH.dll: Dynamische Funktions-Bibliothek (Windows-NT)<br />

NTWATCH.lib: Statische Anbindung der NTWATCH.dll<br />

NTWATCHS.lib: Statische Bibliothek mit Zusatzfunktionen<br />

WATCH.h: SDK Header-File<br />

ntbsp.c: Beispielprogramm (Windows-NT)<br />

ntbsp.exe: Beispielprogramm (Windows-NT)<br />

wlipri: Schlüsselgenerator für Produktschlüsselist in den<br />

FELICS-Tools/Windows enthalten<br />

5.5.1 Installation<br />

Bevor Sie die Installation vornehmen, vergewissern Sie sich, daß der<br />

Lizenzserver aktiv ist. Sofern Sie noch keinen FELICS-Lizenzschlüssel<br />

erworben haben, verwenden Sie bei der Programmierung die Produkt-Id 4711<br />

(DEMO-Produkt). FELICS vergibt dafür 2 Lizenzen.<br />

Die Installation der Windows-Komponenten erfolgt innerhalb der FELICS-<br />

Installation (siehe "FELICS-Installation/Windows-NT").<br />

Mit dem Schlüsselgenerator WLIPRI (Windows) können Sie für Ihre Produkte<br />

Lizenzschlüssel erzeugen (siehe Kapitel "Schlüsselgenerator WLIPRI"). Dafür<br />

empfehlen wir die Einrichtung eines Windows-Programmsymbols zum Start<br />

mit dem entsprechenden Arbeitsverzeichnis.<br />

Die Verbindung zum Lizenzserver kann nur über den FELICS-Agenten für<br />

Windows-NT hergestellt werden. Stellen Sie deshalb sicher, daß der Agent<br />

aktiv.


<strong>UniCon</strong> FELICS-SDK<br />

5.5.2 Application Programmers Interface (API)<br />

Die Kommunikation mit dem Lizenzserver FELICS wird über einfache und<br />

komfortable Funktionen der NTWATCH.dll abgewickelt. Prototypen, Konstanten<br />

und Variablen befinden sich WATCH.h .<br />

FELICS_init<br />

Prototyp: extern int FELICS_init ( HWND hwnd, UINT msg)<br />

Parameter: hwnd: Wenn der Agent beendet wird, erhält dieses<br />

Fenster die angegebene Windows-Message.<br />

Wird diese Funktionalität nicht benötigt, kann<br />

NULL angegeben werden.<br />

msg: Meldung, wenn der Agent beendet wird. Dieser<br />

Parameter wird nur ausgewertet, wenn hwnd !=<br />

NULL ist.<br />

Rückgabewert: FELICS_OK: ok<br />

FELICS_NO_SERVER: Lizenzserver nicht erreichbar<br />

FELICS_NO_AGENT: Agent nicht erreichbar<br />

Beschreibung:<br />

Die Funktion muß zur Initialisierung der Kommunikationsbeziehung der<br />

Anwendung zum FELICS-Agenten aufgerufen werden.<br />

FELICS_quit<br />

Prototyp: extern void FELICS_quit ( void )<br />

Parameter: -<br />

Rückgabewert: -<br />

Beschreibung:<br />

Die Verbindung zum FELICS-Agenten wird wieder aufgehoben, die<br />

Ressourcen werden freigegeben. Alle Lizenzen, die zu diesem Zeitpunkt<br />

durch den Prozeß noch nicht freigegeben wurden, werden automatisch<br />

freigegeben.<br />

43


FELICS-SDK <strong>UniCon</strong><br />

FELICS_getlicence<br />

Prototyp:<br />

extern int FELICS_getlicence ( unsigned long productid, char *text )<br />

Parameter: productid: Produktidentifikator<br />

text: zusätzlicher Text, der die Anwendung<br />

beschreibt. Der Text muß innerhalb einer<br />

Anwendung eindeutig sein<br />

( z.B. "Sitzung 1" ).<br />

Max. Länge: FELICS_MAXTEXT.<br />

Rückgabewert: FELICS_OK: Lizenz erhalten<br />

FELICS_NO_LICENCE: Keine Lizenz mehr<br />

verfügbar<br />

FELICS_NO_AGENT: Agent nicht erreichbar<br />

FELICS_NO_SERVER: Lizenzserver nicht<br />

erreichbar<br />

Beschreibung:<br />

Veranlaßt den FELICS-Agenten, die gewünschte Lizenz für die Anwendung zu<br />

belegen. Die Lizenz bleibt solange belegt, bis die Funktion<br />

FELICS_freelicence oder FELICS_quit aufgerufen wird oder der Prozeß sich<br />

beendet. Kann die Lizenz nicht belegt werden, bleibt der Anwendung die<br />

Reaktion darauf freigestellt (Benutzerausgaben, Terminieren usw.).<br />

FELICS_freelicence<br />

Prototyp:<br />

extern int FELICS_freelicence ( unsigned long productid, char *text )<br />

Parameter: productid: Produktidentifikator<br />

text: zusätzlicher Text, der beim<br />

FELICS_getlicence verwendet wurde.<br />

Rückgabewert: FELICS_OK: Lizenz freigegeben<br />

FELICS_NO_AGENT: Agent nicht erreichbar<br />

FELICS_NO_SERVER: Lizenzserver nicht<br />

erreichbar<br />

Beschreibung:<br />

Die spezifizierte Lizenz wird wieder freigegeben.<br />

44


<strong>UniCon</strong> FELICS-SDK<br />

FELICS_sdkversion<br />

Prototyp:<br />

extern int FELICS_sdkversion ( LPSTR dllname,<br />

WORD *version,<br />

LPSTR description)<br />

Parameter: dllname: Name der SDK-DLL, deren Version ermittelt<br />

werden soll. Es kann NULL angegeben werden.<br />

Dann wird der Default-Name NTWATCH.DLL<br />

verwendet.<br />

version: Zeiger auf eine Puffervariable zur Aufnahme der<br />

SDK-Versionsnummer. Bei Angabe von NULL, wird<br />

der Parameter ignoriert. Das höherwertige Byte<br />

enthält die Hauptversionsnummer, das niederwertige<br />

Byte die Unterversionsnummer.<br />

description: Puffer zur Aufnahme einer kurzen Versionsbeschreibung.<br />

Der Puffer muß vom aufrufenden<br />

Programm allokiert werden und sollte min. 64<br />

Bytes lang sein. Geben Sie NULL an, wird der<br />

Parameter ignoriert.<br />

Rückgabewert: FELICS_OK: SDK-DLL wurde geprüft und die<br />

Version ermittelt.<br />

FELICS_BADSDK: Die SDK-DLL unterstützt diese<br />

Funktion nicht oder es handelt sich<br />

um eine nicht authorisierte Bibliothek<br />

eines Fremdherstellers.<br />

Beschreibung:<br />

Die Funktion ermittelt die aktuelle SDK-Version und prüft gleichzeitig die SDK-<br />

DLL auf ihre Authentizität.<br />

Hinweis: Aus Sicherheitsgründen finden Sie diese Funktion nicht in der SDK-<br />

DLL (NTWATCH.DLL), sondern in der statischen Bibliothek<br />

NTWATCHS.LIB, mir der Sie Ihr Programm binden müssen.<br />

45


FELICS-SDK <strong>UniCon</strong><br />

5.5.3 Beispielprogramm<br />

#include <br />

#include <br />

#include "windows.h"<br />

#include "watch.h"<br />

int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);<br />

#define DEBUG(a) MessageBox((HWND)NULL,(LPSTR)a,(LPSTR)"BEISPIEL",MB_OK)<br />

#define PRODUCTID 4711L<br />

int PASCAL WinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow)<br />

HANDLE hInstance;<br />

HANDLE hPrevInstance;<br />

LPSTR lpCmdLine;<br />

int nCmdShow;<br />

{<br />

int rc;<br />

char buf[FELICS_MAXTEXT];<br />

if ( FELICS_sdkversion(NULL,NULL,NULL) != FELICS_OK )<br />

{<br />

DEBUG("FELICS-SDK DLL invalid");<br />

return FALSE;<br />

}<br />

rc = FELICS_init(NULL,0);<br />

switch (rc)<br />

{<br />

case FELICS_NO_AGENT:<br />

DEBUG("FELICS-Agent unreachable");<br />

return FALSE;<br />

case FELICS_NO_SERVER:<br />

DEBUG("FELICS unreachable");<br />

return FALSE;<br />

case 0:<br />

break;<br />

}<br />

46<br />

}<br />

default:<br />

DEBUG("FELICS_init() failed");<br />

return FALSE;<br />

sprintf(buf, "Instanz=%d", hInstance);<br />

rc = FELICS_getlicence ( PRODUCTID, buf );<br />

if ( rc == 0 )<br />

{<br />

DEBUG("got licence");<br />

}<br />

else<br />

{<br />

DEBUG("no free licence");<br />

FELICS_quit();<br />

return FALSE;<br />

}<br />

rc = FELICS_freelicence( PRODUCTID, buf );<br />

DEBUG("licence freed");<br />

FELICS_quit();<br />

return TRUE;


<strong>UniCon</strong> FELICS-SDK<br />

5.6 Schlüsselgenerator WLIPRI (Windows)<br />

WLIPRI ist der Schlüsselgenerator, mit dem Sie die Lizenzschlüssel für Ihren<br />

Kunden generieren können.<br />

Abbildung 17: Schlüsselgenerator WLIPRI<br />

Der Schlüssel wird aufgrund der eindeutigen Adresse (Host-ID) des Lizenzservers,<br />

der Produkt-Id, der Lizenzenanzahl und ggfs. des Gültigkeitsdatums<br />

generiert. Mit dem Schalter "pro Aufruf" wird festgelegt, daß jeder Aufruf der<br />

Anwendung eine Lizenz belegt. Der Schalter "pro Arbeitsplatz" erlaubt den<br />

mehrfachen Aufruf der Applikation auf einem Client bei Vergabe einer<br />

einzigen Lizenz. Nach Eingabe der Daten wählen Sie "Erzeugen". Sie erhalten<br />

nun den gewünschten Schlüssel. Dieser wird außerdem in der Datei 'lipri.log'<br />

protokolliert und für die Weiterverarbeitung (z.B. FAX) in die Zwischenablage<br />

kopiert.<br />

Wichtig: Sie können nur Produkt-Ids verwenden, die von <strong>UniCon</strong> <strong>Software</strong><br />

für Sie freigegeben wurden. Benötigen Sie eine weitere Produkt-Id,<br />

so fordern Sie den für die Freischaltung nötigen Schlüssel von<br />

<strong>UniCon</strong> an.<br />

Der Schlüsselgenerator verwaltet alle Produkt-Ids, welche Sie von <strong>UniCon</strong><br />

erhalten haben in der 'products.db' (im Arbeitsverzeichnis). Parallel dazu<br />

generiert WLIPRI die Datei 'newprod' (im Arbeitsverzeichnis), die Sie Ihrem<br />

Endkunden ausliefern können.<br />

47


FELICS-SDK <strong>UniCon</strong><br />

5.6.1 DDE-Schnittstelle<br />

Ab Version 2.02 verfügt der Schlüsselgenerator WLIPRI über eine DDE-<br />

Schnittstelle und kann somit von jeder DDE-fähigen Windows-Anwendung<br />

kontrolliert werden. Dies ermöglicht automatisierte Lizenzierungsvorgänge<br />

(z.B. in Verbindung mit einem Datenbanksystem und einer Textverarbeitung).<br />

Die DDE-Funktionen entnehmen Sie folgender Tabelle:<br />

Topic: "System"<br />

Initiate WLIPRI DDE-Verbindung herstellen<br />

Terminate Verbindung beenden<br />

Execute CreateKey Lizenzschlüssel erzeugen aufgrund der<br />

eingestellten Daten<br />

Execute Quit Wlipri beenden<br />

Execute Hide Wlipri unsichtbar<br />

Execute Show Wlipri in Standardgröße darstellen<br />

Execute Icon Wlipri als Icon darstellen<br />

Poke SrvAddr Host-ID des Lizenzservers festlegen.<br />

Format Host-ID: xxxx-xxxx-xxxx<br />

Poke Licence Lizenzanzahl einstellen<br />

Poke Date Setzen eines Testdatums<br />

Format: dd.mm.yy<br />

Poke Product Produktnamen festlegen. Der Name<br />

muß in der Liste der lizenzierten<br />

Produkte enthalten sein.<br />

Poke User Name des Bearbeiters<br />

Poke Order Auftragsnummer<br />

Poke TAN TAN kann angegeben werden, wird<br />

ansonsten aus der konfigurierten TAN-<br />

Liste ermittelt.<br />

Request Key Lizenzschlüssel abrufen. Erzeugt wird<br />

der Schlüssel mit CreateKey.<br />

48


Abbildungsverzeichnis<br />

ABBILDUNG 1: LIZENZMANAGEMENT MIT FELICS 1<br />

ABBILDUNG 2: LIZENZMANAGEMENT MIT KNOTENLIZENZIERUNG 2<br />

ABBILDUNG 3: FELICS-DIENST 8<br />

ABBILDUNG 4: BRANDLI-HAUPTMENÜ 14<br />

ABBILDUNG 5: BRANDLI - EINGABE PRODUKT-SCHLÜSSEL 15<br />

ABBILDUNG 6: BRANDLI LIZENZ-BESTÄTIGUNG 16<br />

ABBILDUNG 7: BRANDLI-PRODUKTÜBERSICHT 17<br />

ABBILDUNG 8: REMBRAND 18<br />

ABBILDUNG 9: RAMON-INFOFENSTER 19<br />

ABBILDUNG 10: RAMON-MONITORFENSTER 20<br />

ABBILDUNG 11: WRAMON 21<br />

ABBILDUNG 12: LIZENZIERUNG MIT WBRANDLI 22<br />

ABBILDUNG 13: FELICS-AGENTEN 23<br />

ABBILDUNG 14: FELICS-AGENT DIENST 27<br />

ABBILDUNG 15: SCHLÜSSELÜBERMITTLUNG 31<br />

ABBILDUNG 16: SCHLÜSSELGENERATOR WLIPRI 47


A<br />

Agent .........................................23<br />

ALIVEFREQ.................................9<br />

Alive-Mechanismus......................9<br />

Arbeitsverzeichnis ...................6; 7<br />

B<br />

Backup-Lizenzserver9; 11; 24; 25; 28; 30<br />

BRANDLI .............................13; 14<br />

C<br />

Client-Komponente....................32<br />

D<br />

DDE ...........................................49<br />

Debug ..........................................9<br />

Diagnose .....................................9<br />

F<br />

FELICS ........................................3<br />

Beenden...................................6<br />

Diagnose................................10<br />

Installation................................4<br />

Starten .....................................6<br />

FELICS für Endanwender..........25<br />

felics.ini......................................10<br />

felics.log.....................................10<br />

FELICS_freelicence<br />

Unix........................................35<br />

Windows 3.x...........................39<br />

Windows-NT ..........................45<br />

FELICS_getlicence<br />

Unix........................................35<br />

Windows 3.x...........................39<br />

Windows-NT ..........................45<br />

FELICS_init<br />

Unix........................................34<br />

Windows 3.x...........................38<br />

Windows-NT ..........................44<br />

FELICS_quit<br />

Unix........................................34<br />

Windows 3.x...........................38<br />

Windows-NT ..........................44<br />

FELICS_sdkversion<br />

Windows 3.x.......................... 40<br />

Windows-NT.......................... 46<br />

FELICS-Agent............... 23; 24; 32<br />

felicscltd .................................... 24<br />

FELICS-Dienst ............................ 5<br />

FELICSE ............................. 29; 30<br />

FELICSENV ................................ 6<br />

felicslib.a ................................... 34<br />

FELICS-SDK ............................. 31<br />

FELICS-Tools............................ 13<br />

freiwillige Lizenz.................. 14; 25<br />

K<br />

Knotenlizenzierung................ 2; 22<br />

L<br />

Lizenzauslastung ...................... 19<br />

Lizenzbedarf.............................. 19<br />

Lizenzdatenbank....................... 31<br />

Lizenzierung.............................. 14<br />

Lizenzmanagement..................... 1<br />

Lizenzschlüssel......................... 14<br />

Lizenzserver.............................. 32<br />

Lizenzüberschreitung................ 25<br />

Logdatei .................................... 10<br />

M<br />

MAXALIVE .................................. 9<br />

Monitor ...................................... 19<br />

N<br />

NTCLTE .................................... 29<br />

NT-Dienst.............................. 8; 27<br />

NTfelclt................................ 27; 30<br />

NTWINAPP ............................... 29


P<br />

Pflichtlizenz ............................... 14<br />

Produkt-Id.................................. 31<br />

R<br />

RAMON............................... 13; 19<br />

REMBRAND........................ 13; 18<br />

S<br />

Schlüsselgenerator ................... 48<br />

SDK........................................... 31<br />

Unix ....................................... 33<br />

Win32s .................................. 43<br />

Windows 3.x .......................... 37<br />

Windows95............................ 43<br />

Windows-NT ..........................43<br />

<strong>Software</strong> Development Kit .........31<br />

T<br />

Trace ...........................................9<br />

U<br />

UCWATCH ................................25<br />

UNIX-SDK..................................33<br />

W<br />

WATCHPUB ..............................26<br />

WBRANDLI................................22<br />

WINDOWS-SDK..................37; 43<br />

WLIPRI ......................................48<br />

WRAMON............................13; 21

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!