AGB  ·  Datenschutz  ·  Impressum  







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

Fakturierungsserver

Ein Thema von psycodad · begonnen am 4. Feb 2020 · letzter Beitrag vom 19. Feb 2020
 
psycodad

Registriert seit: 8. Feb 2005
Ort: Embrach (CH)
40 Beiträge
 
Delphi 10.3 Rio
 
#1

Fakturierungsserver

  Alt 4. Feb 2020, 15:17
Grüezi miteinander,

WIr haben hier ein gar nicht mehr so kleines Fakturierungsprogramm, das aus z.B. 100'000 Datensätzen eine Rechnung generiert. Dabei fallen viele Tasks an die meistens seriell getätigt werden müssen. Ich zähl mal grob auf:

1. Datenvalidierung
2. Rechnungskopf schreiben
3. Daten summieren zu Rechnungspositionen und Subpositionen usw.
4. Diverse Reporte (Fastreport) generieren
5. Reports per Mail versenden

Daneben gibt es noch ein paar weitere (ich nenn das jetzt mal Prozesse ) die so oder ähnlich abgearbeitet werden müssen. Im Moment sind die einzelnen Prozesse als moströse Prozeduren direkt im Desktop Programm (MDI-Devexpress Applikation) implementiert als richtig toll zu wartender Sphagetti Code (Ironie off). Da Problem daran ist dass ein solcher Prozess gut mal 5 Min. in Anspruch nehmen kann. Währendessen ist die Applikation so quasi eingefroren. Ich könnte jetzt jeden dieser Prozesse in einen TTask legen und schon ginge das besser. Aber eingentlich hat diese Arbeit gar nichts in dem Desktop Programm zu suchen. Ich möchte diese Verarbeitungsprozesse auslagern in einen Fakturierungsserver. Ein weiterer Grund dafür ist dass die Desktop App in einem Terminalserver läuft und dort so ziemlich viel CPU und RAM abzweigt wenn es ans Fakturieren geht. Deshalb soll das Fakturierungsserver-Programm auf einem anderen Server laufen.
Ich stelle mir vor das man vom Desktop Programm aus einen oder mehrere Jobs aufgibt. Der Fakturierugsserver trägt den Job in eine JobListe ein und liefert eine JobID zurück. Das Desktop-Programm pollt dann beim Fakturierungsserver mit dieser JobID von Zeit zu Zeit den Fakturierungsserver und fragt den Job-Status ab. Wenn Fehler auftreten kann der Desktop-Programm das Log des Jobs abholen und anzeigen.
Ich habe schon solche Sachen als (Webservice) SOAP-Server geschrieben. Das funktioniert gut.
Jetzt zu meiner Frage:
1. Ich würde gerne wissen ob es für die Implementierung einer solcher Task-Abarbeitungs-Maschine irgendwelche Design Patterns gibt? Ich hab da mal was von einer Statefull machine gehört, bin ich da richtig?
2. Gibt es da Librarys die einem dabei helfen können das elegant hinzukriegen (z.B. Spring4D oder so)? Oder ist das Overhead, macht man das mit Bordmitteln?

Ich würde mich über ein paar Tips und Anregungen freuen.
  Mit Zitat antworten Zitat
 


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 08:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz