Autor Beitrag
Sosti80
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 31.05.08 21:56 
Hallo Leute!

Wir wollen in der Firma die "Light-Version" unseres Produkt mit Delphi und Firebird als DB komplett neu entwickeln.

Der Vorteil zu unserem vorigen Entwicklungssystem ist der, dass wir die Datenbank so getrennt von der Software installieren können und somit netzwerkmässig verteilen können. Nun ist es bei der alten Software so, dass am "Server" (hier gibt es wirklich eine Server-Software mit Datenbank) ein Dongle eingesteckt ist, der als Lizenz dient. Ohne den Dongle funktioniert die Software nicht.

Dieses System möchte mein Chef beibehalten. Kann man das rein mit Firebird lösen, oder brauchen wir da doch noch eine kleine Server-Software die das alles regelt? Was gäbe es mit "nur Firebird" auf dem Server noch für Varianten der Lizenzierung?

Liebe Grüsse

Jan
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: So 01.06.08 01:34 
user profile iconSosti80 hat folgendes geschrieben:
Hallo Leute!

Wir wollen in der Firma die "Light-Version" unseres Produkt mit Delphi und Firebird als DB komplett neu entwickeln.

Der Vorteil zu unserem vorigen Entwicklungssystem ist der, dass wir die Datenbank so getrennt von der Software installieren können und somit netzwerkmässig verteilen können. Nun ist es bei der alten Software so, dass am "Server" (hier gibt es wirklich eine Server-Software mit Datenbank) ein Dongle eingesteckt ist, der als Lizenz dient. Ohne den Dongle funktioniert die Software nicht.

Dieses System möchte mein Chef beibehalten. Kann man das rein mit Firebird lösen, oder brauchen wir da doch noch eine kleine Server-Software die das alles regelt? Was gäbe es mit "nur Firebird" auf dem Server noch für Varianten der Lizenzierung?

Liebe Grüsse

Jan


Hallo Jan,

eine fremde Software kann man sinnvollerweise nicht verdongeln, aber ihr habt ja schon was ihr braucht: lasst halt von der bisherigen Software einfach den Teil mit dem Einloggen auf dem Server weiterlaufen (ein Lizensierungsserver).

Es gibt zwar Anbieter von Dongles, die versprechen, man könnte eine Software ohne Eingriff vom Dongle abhängig machen, aber bei öffentlich erhältlicher Software ist das sinnlos: der Kunde braucht sich ja nur Firebird (oder einen anderen DB-Server) in Normalversion besorgen.

Gruss Reinhard
Sosti80 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 01.06.08 06:16 
user profile iconReinhard Kern hat folgendes geschrieben:
Hallo Jan,

eine fremde Software kann man sinnvollerweise nicht verdongeln, aber ihr habt ja schon was ihr braucht: lasst halt von der bisherigen Software einfach den Teil mit dem Einloggen auf dem Server weiterlaufen (ein Lizensierungsserver).

Es gibt zwar Anbieter von Dongles, die versprechen, man könnte eine Software ohne Eingriff vom Dongle abhängig machen, aber bei öffentlich erhältlicher Software ist das sinnlos: der Kunde braucht sich ja nur Firebird (oder einen anderen DB-Server) in Normalversion besorgen.

Gruss Reinhard


Hallo Reinhard,

den bisherigen Server können wir leider, teils aus Kosten- teils aus technischen Gründen nicht weiterverwenden.

Es ist so, dass wir (bzw. die bisherigen Entwickler, ich hab dort erst angefangen) mit Conzept 16 arbeiten. Für die die es nicht kennen: Conzept 16 ist ein "geschlossenes" Entwicklungssystem mit integrierter Datenbank, bzw. läuft eigentlich dort alles über die Datenbank. Selbst die Applikation (also Formulare, Prozeduren,...) sind in der Datenbank gespeichert und über einen Client kann die Server-Verbindung aufgebaut und die Applikation aus der DB heraus aufgerufen werden.
Es werden keine EXE erzeugt, d.h. pro verkaufter Software von uns müssen wir auch jeweils eine C16-Version mitverkaufen.

Und hier kommt die Lizenzierung eigentlich zum Zug, der Dongle ist dafür da, dass C16 lauffähig wird, nur ohne C16 läuft unser Programm nicht.

Und der Grund für die Delphi-Neuentwicklung ist eben, dass vor allem bei der kleinsten Version, die am günstigsten ist, die C16-Lizenz am meisten von der Marge wegfrisst, noch dazu wird diese Version am meisten verkauft.

Wir sind also total abhängig vom Hersteller der Entwicklungs-Umgebung. Für die kleinste Version wollen wir nun mal schon anfangen, hier dagegen zu wirken.

Das ich über Firebird alleine (wie Du so schön schreibst, ein fremdes Programm) die Lizenz bzw. den Dongle nicht steuern kann, hätte mir eigentlich einleuchten müssen.

Aber Frage nun komplett Firebird-bezogen: Kann ich per Script (z.B. Datenbanktrigger) ein externes Programm aufrufen und Daten davon empfangen? Das man z.b. auf dem Rechner wo Firebird läuft ein klitzekleines Tool installiert, welches dann mit dem Dongle kommuniziert?

Wir wollen ja Firebird an sich nicht dongeln, sondern "nur" unsere Datenbank die da drauf läuft, auf die der Client schliesslich zugreift.

Liebe Grüsse

Jan
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 01.06.08 08:34 
Schreibt einen kleinen Dienst, der auf dem Server-PC läuft und den Dongle abfragt. In Eurer Client-Software muss man sich an dem Dienst anmelden. Dies geschieht durch Versenden einer eindeutigen ID (z.B. enie GUID), die am Client-PC hinterlegt ist. Im Server-PC, also Eurem Sicherheitsdienst installiert ihr eine Lizenzdatei (oder packt die in eine DB), die jede Anmeldung durch Abgleich mit der Lizenzdatei authentiziert. Fertig.

_________________
Na denn, dann. Bis dann, denn.
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 01.06.08 09:42 
sag mal, für was ist der dongle denn da? um euere software zu schützen oder um C16 vor der unrechtmässigen verbreitung zu schützen?


wenn ihr euer progy mit delphi entwickelt und 'n freien DB server verwendet, dann braucht ihr doch kein C16 mehr... und der dongle wäre somit überflüssig...

damit stehen euch doch ganz neue möglichkeiten zur lizenzverwaltung offen... z.b. conncurrent user lizenen, welche ihr, z.b. mit euerer app und 'n trigger auf der db prima lösen könntet... ohne 'n dongle....

wenn ihr paranoid seit, könnt ihr ja noch 'n kleine lizenserversoftware entwickeln, welche an 'n dongle gebunden ist... und welche die software (über den db server) nur freischaltet, wenn der dongle gültig ist...

<HTH> GG

btw: um welche art von anwendung handelt es sich bei euerem programm?
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: So 01.06.08 17:30 
user profile iconSosti80 hat folgendes geschrieben:
den bisherigen Server können wir leider, teils aus Kosten- teils aus technischen Gründen nicht weiterverwenden.


Hallo Jan,

grundsätzlich kann man Lizenzverwaltung und Einloggen völlig vom Rest der Software trennen (das ist sogar meistens so, wenn man sich z.B. am Active Directory oder LDAP usw. anmeldet, um etwa EMails zu verwalten).

In der Regel läuft auf einem Netzwerkserver ein Service (Lizenzserver), bei dem die Usersoftware beim Start nach einer Lizenz fragt, und der eine zuteilt, wenn noch eine frei ist. Das ist die komfortabelste Version "floating licenses", da der L-Server z.B. maximal 5 Lizenzen vergeben kann, das aber an jede von 20 oder mehr Stationen.

Man muss also A: einen Service für den Server schreiben, der an einem Port auf Anfragen lauscht, und B: ein Clientmodul, dass dort anfragt und den Rest der Software nur freigibt bei positiver Antwort. Vom Arbeitsaufwand überschaubar, aber nicht ganz einfach und nichts für Anfänger.

Übrigens halte ich einen Lizensierungsserver mit floating licenses für die fairste Methode der Lizensierung. Sie hat nur einen Haken: bei Ausfall des Netzwerks bzw. des Lizensierungsservers geht in der ganzen Firma nichts mehr. Wir haben daher mit Lieferanten lebenswichtiger Software schon ausgehandelt, dass uns als Plan B zumindest ein Workstation-Dongle zur Verfügung gestellt wird mit der Garantie, bei Ausfällen innerhalb von 2 Stunden einen Schlüssel dazu per EMail zu bekommen.

Gruss Reinhard
dummzeuch
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 593
Erhaltene Danke: 5


Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
BeitragVerfasst: So 01.06.08 19:44 
user profile iconSosti80 hat folgendes geschrieben:
Aber Frage nun komplett Firebird-bezogen: Kann ich per Script (z.B. Datenbanktrigger) ein externes Programm aufrufen und Daten davon empfangen? Das man z.b. auf dem Rechner wo Firebird läuft ein klitzekleines Tool installiert, welches dann mit dem Dongle kommuniziert?

Wir wollen ja Firebird an sich nicht dongeln, sondern "nur" unsere Datenbank die da drauf läuft, auf die der Client schliesslich zugreift.


Es ist zwar schon eine ganze Weile her, dass ich mit Interbase gearbeitet habe, aber ich erinnere mich dunkel, dass man da benutzerdefinierte Funktionen mittels DLLs einbinden konnte. Das waere eine Moeglichkeit, eine externe Routine per Select-Abfrage aufzurufen, welche dann z.B. ein Dongle abfragen koennte.

Einen Einstieg gibt z.B. dieser Artikel: dn.codegear.com/article/26126

twm