AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Config Programm für Service

Ein Thema von Gruber_Hans_12345 · begonnen am 28. Jul 2007 · letzter Beitrag vom 30. Jul 2007
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

Config Programm für Service

  Alt 28. Jul 2007, 15:03
Hallo

Ich bin dabei einige von den Programmen, die am Server laufen (im moment als normale Anwendungen und per Tray Icon) als Service zu umzubasteln.
Für das mitloggen von Infos, habe ich mir schon was eigenes erstellt, das funkt auch alles ganz gut, mein Problem ist jetzt noch :

wie macht man es am besten, das man den service konfigurieren kann?
welche ansatze sind am besten?

1.) ich habe in der anwedung einige config sachen, die ich auch während der laufzeit umstellen möchte?
2.) Einer meiner service muß zb die verbindung zu 30 zusätzlichen geräten herstellen, von jedem dieser Geräte möchte ich dann zur laufzeit den status wissen, auch ein paar einstellungen umändern, das gerät neu booten usw.

Wie transferiere ich solche daten am besten?
Als Anwendung ist es ja kein problem, da verwende ich einfach die interne datenstruktur als Daten für den VirtualTree, und voila alles funkt.

Aber jetzt möchte ich das ganze mit einem externen programm erledigen, und muß nun per Pipe oder per TCP/IP die Daten transferieren.

Gibt es da vielleicht irgendein Framework oder Tools, das mir da einiges an Arbeit abnimmt?
Da das ja sehr viel schreibarbeit wird ... am server die Daten in protionen verpacken, per pipe oder tcpip versenden, auf der client seite das ganze wieder in strukturen packen usw....

hoffe ihr könnt mir da etwas weiterhelfen ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Config Programm für Service

  Alt 28. Jul 2007, 15:42
Hallo Hans,

ich würde keine direkte Kommunikation mit dem Dienst aufbauen. Ich würde die Konfigurationsdaten in der Registry oder einer Steuerdatei bereit stellen und der Dienst kann diese Daten beim Ereignis OnContinue() erneut einlesen. Dein externes Programm kann den Dienst über den Service Control Manager kurz anhalten und wieder fortsetzen, damit das Ereignis ausgelöst wird.

Grüße vom marabu
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Config Programm für Service

  Alt 28. Jul 2007, 15:52
Moin Hans,

ich habe zur Zeit einen Dienst laufen, der einmal pro Minute etwas prüft, und bei dem sich Clients per Eintrag in einer Konfigurationsdatei (reine Textdatei) anmelden, um ggf. mit Informationen versorgt zu werden. (also ähnlich wie Marabu es vorschlägt).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Config Programm für Service

  Alt 28. Jul 2007, 17:33
also für die konfigurationen würde es so passen

allerdings für die online infos tu ich mir so etwas schwer ... damit ich den status der externen Geräte anzeige, und diesen online im konfigurator/client (oder wie auch immer man dieses tool nennen will)

da muß ich irgendwie die daten vom service -> client und auch umgekehrt bringen

eine idee war, die daten alle in klassen verpacken (mit {$M+} ) und dann ein framework, das published Properties abfragen und setzen kann ... so müsste man eventuell einen großteil des austausches automatisieren können ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Config Programm für Service

  Alt 28. Jul 2007, 18:20
Moin Hans,

also ich frage mit dem Dienst regelmässig Logfiles und Postfächer mit Logdaten ab.
Die Clients erhalten dann die Rückmeldung ebenfalls in Form von Textdateien, die sie regelmässig prüfen, und entsprechende Werte anzeigen.
Will man nun bestimmte Sachen nicht mehr überwacht haben, so bekommt der Dienst dies, vereinfacht gesagt, in die Konfiguration geschrieben, und kann es beim nächsten Durchlauf berücksichtigen.
Bei Dir müssten dann eben die Clients ihren Status hinterlegen, so dass der Dienst entsprechend handeln kann.

(Die Basiskonfiguration erfolgte bei mir mit Notepad, da ich keine Zeit hatte noch ein Konfigurationstool zu schreiben )

Zitat von Gruber_Hans_12345:
da muß ich irgendwie die daten vom service -> client und auch umgekehrt bringen
Wenn Du ein Verzeichnis festlegst, Dir passende Konventionen für Dateinamen einfallen lässt, könnte bei Dir die Kommunikation doch auch einfach über Textdateien stattfinden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Config Programm für Service

  Alt 30. Jul 2007, 08:23
hmmmm, also für konfiguration und log dateien kann ich es mir so ganz gut vorstellen

aber wenn ich in echtzeit agieren können muß - dann kann ich es mir nicht vorstellen, das das vernünftig funktioniert, wenn man jedesmal auf das pollen des servers und des client warten muß. (Abgesehen davon - nicht falsch verstehen - ist es meiner Meinung nach eine sehr veraltete Technologie den Datenaustausch über Kommunikationsfiles zu machen)

gibt es niergend wo ein framework, das klassen, Listen von Klassen (also published properties und published procedures ... ) und so über TCP/IP oder Pipes überträgt, ohne das man ne menge zusätzlicher funktionen dafür bauen muß?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Config Programm für Service

  Alt 30. Jul 2007, 10:31
Moin Hans,

Zitat von Gruber_Hans_12345:
Abgesehen davon - nicht falsch verstehen - ist es meiner Meinung nach eine sehr veraltete Technologie den Datenaustausch über Kommunikationsfiles zu machen
Na ja, einigen wir uns mal auf "Alte Technologie".
Von veraltet möchte ich da nicht reden

Übrigens ginge das wohl auch auf diesem Wege in Echtzeit.
Du müsstest nur die Verzeichnisse per ReadDirectoryChangesW überwachen.
Dann wirst Du bei Änderungen sofort informiert.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz