UniCon Software GmbH
UniCon Software GmbH
UniCon Software GmbH
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