Benötigt wird eine Client-/Server-Applikation unter
Microsoft Windows (Serverkomponente unter
Windows 2000 Prof., Windows XP und Windows Vista,
Client unter Windows 2003 Server).
Rahmenbedingungen:
- Rechnung mit ausgewiesener MwSt. wird benötigt
- Die Rechte am Quellcode liegen ausschliesslich
beim Auftraggeber
- Vom Auftragnehmer wird nach Abschluss ein komplettes
Paket bestehend aus compilierbarem Quellcode
mit allen benötigten Abhängigkeiten (Projektfiles,
Librarys ...) übergeben
- Der Quellcode wird vom Auftragnehmer in deutscher
Sprache ordentlich dokumentiert. Eine weiterführende
Dokumentation ist nicht notwendig
- Die Konfiguration der Programme (sowohl Client als
auch Server) erfolgt über INI-Dateien im Standard
Windows INI-Format
- Für die Ausführung der Programme wird KEIN
.NET Framework benötigt (uns wäre eine Entwicklung
in Visual Studio 6.0 oder mit freien Komponenten
[gcc, ...] am liebsten).
- Der Client wird extrem ressourcenschonend entwickelt
(wenig CPU, wenig RAM)
- Der Verwendung von (wenigen) freien Bibliotheken,
welche auf den Zielplattformen verfügbar sind
und vom Auftraggeber mitgeliefert werden steht
zunächst nichts im Wege, eine Rücksprache ist
aber erforderlich
- Sowohl der Client als auch der Server müssen
eine ausführbare "EXE" sein
- Beide Applikationen werden über einen
einfachen Mechanismus vor einer
unerlaubten Verfielfältigung geschützt.
Er wird einen zeitlichen Anteil sowie einen
textuellen Anteil enthalten und über
die INI-Dateien gesteuert werden.
Der Mechanismus wird nach Auftragserteilung
zwischen den Parteien abgestimmt.
Funktion:
- Nach der Anmeldung eines Benutzers
an seiner Workstation wird eine
Serverkomponente (im Folgenden "S")
gestartet.
- Diese Komponente liest eine lokale
INI-Datei.
Diese INI-Datei enthält:
- Eine Portnummer für die
Client-/Server Kommunikation
- Eine Zeit (in Sekunden) "DEADTIME"
- Einen Pfad zu einer Applikation
(liegt lokal)
- Verbindungsdaten für den Start
des/der Clients (1 - n).
- EIGENE ABSCHNITTE, die
Abschnittsnamen entsprechen
Gruppen in der AD!!
- Die Applikation minimiert sich
mit einem von uns vorgegebenen
Icon in das Systray
- Die Applikation startet die
aus der INI-Datei gelesenen
Clients (Start erfolgt über den
Aufruf einer lokalen EXE mit einem
Zusatz - dieser Zusatz ["Verbindungs-
daten"] kommt aus der INI-Datei)
sofern der Benutzer Mitglied
der zum Abschnittsnamen referenzierende
AD-Gruppe ist (Prüfung erfolgt durch
Programm selbst) und trägt den jeweils
gestarteten Client intern in eine Liste
"gestarteter Clients".
- Die Applikation nimmt Anfragen der
Clients auf dem über die INI-Datei
definierten Port entgegen und
quittiert diese.
- Jede Anfrage bedeutet, dass
der Client "noch lebt".
Die Liste der "gestarteten Clients"
wird mit einem Zeitstempel versehen.
- Meldet sich ein Client innerhalb
der "DEADTIME" nicht mindestens ein mal
beim Server so wird dieser Client
aus der Liste der "gestarteten Clients"
entfernt.
- Auf dem Symbol im Systemtray kann ein
Rechtsklick ausgeführt werden.
Es klappt ein Menü "nach oben" welches
die Liste der "gestarteten Clients"
sowie einen Punkt "ALLLE" enthält.
Fährt man nun mit der Maus auf
einen Eintrag (jeder gestartete Client
ist eine Zeile) klappt ein weiteres Menü
auf, in welchem man "Abmelden" wählen kann.
Wir für ein System "Abmelden" gewählt
wird bei der nächsten Anfrage dieses Clients
KEINE Quittung mehr gesendet!
Wird "Abmelden" auf dem Punkt "ALLE" gewählt
wird an keinen Client mehr eine Quittung
gesendet!
- Die Liste der Clients im Systemtray
aktualisiert sich über die interne Liste
der "gestarteten Clients".
- Die Client-Applikation wird über die
Serverkomponente gestartet.
- Beim Start liest der Client eine
lokal liegende INI-Datei.
Diese INI-Datei enthält:
- Eine Portnummer für die
Client-/Server Kommunikation
- Eine erste Zeit (in Sekunden) "POLLTIME"
- Eine weitere Zeit (in Sekunden) "DEADTIME"
- Die Applikation läuft auf dem System
ohne erkennbare Annzeichen (also keine
Oberfläche, kein Icon im Systemtray ...)
sofern dies überhaupt möglich ist!
- Die Apllikation kontaktiert in
regelmässigen Abständen ("POLLTIME")
den Server und erwartet von diesem
eine Quittung.
- Erhält die Applikation in einem
vorgegebenen Zeitraum ("DEADTIME")
obwohl Anfragen an den Server
gestellt wurden KEINE Quittung
so beendet sich die Applikation
restlos.
- Die Kommunikation erfolgt
per "TCP", der Port mit welchem
der Client anfragt muss
"dynamisch" sein (zwischen
1024 und 65535). "Dynamisch"
bedeutet, dass auf dem System
bereits durch andere Applikationen
in Verwendung befindliche
Ports NICHT verwendet werden
dürfen.
- Voraussichtlich wird eine DLL
"EOLWTSCOM" von "Emergent Online"
benötigt!
Weitere Anfragen beantworten wir sehr gerne telefonisch
(wir rufen Sie gerne an wenn Sie uns Ihre Kontakdaten
zukommen lassen) oder per E-Mail!
Archiv für EDV, Telekommunikation