Programmierung

CONZEPT 16-SOA-Service – Teil 1 SOA-Service

Nicht jeder CONZEPT 16-Entwickler verwendet den SOA-Service oder ist mit den Details dieses Dienstes vertraut. Wir wollen in mehreren Artikeln über Grundlagen und Anwendungsfälle des SOA-Clients berichten und die Flexibilität und Vielfältigkeit dieses Werkzeugs zu zeigen.

SOA-Service

Im Gegensatz zum Standard- oder Advanced-Client läuft der SOA-Service ohne Benutzeranmeldung und benötigt auch keine Oberfläche. Beim Start des Betriebssystems (Windows oder Linux) wird automatisch ein Basisdienst (Service bzw. Daemon) gestartet, der einen oder mehrere SOA-Tasks (das entspricht einem Clientprozess) verwaltet. Die Auswahl von Server, Datenbank und Benutzername geschieht für jeden Task durch eine eigene Konfigurationsdatei. Jeder Task wird normalerweise automatisch (mit optionaler Zeitverzögerung) vom Basisdienst gestartet, kann jedoch auch manuell aktiviert werden.

Jeder Task läuft unabhängig von anderen Tasks in einem eigenen Betriebssystemprozess und kann in zwei unterschiedlichen Modi laufen:

TIME
Ist der Betrieb „Time“ konfiguriert, wird in definierbaren zeitlichen Abständen eine Prozedur ausgeführt. Die Prozedur kann dabei den Zeitpunkt für die nächste Ausführung verändern.

SOCKET
Bei der Betriebsart „Socket“ wartet der Task passiv auf TCP/IP-basierte Anfragen. Ist erfolgreich eine Verbindung hergestellt, wird eine Prozedur gestartet, die die weitere Verarbeitung übernimmt.

Vorteile im Vergleich zum Standard- oder Advanced-Client

  • Es muss keine Anmeldung mit einem Betriebssystem-User erfolgen
  • Automatische E-Mail Benachrichtigung bei Fehlern während der Taskausführung
  • Mithilfe von Jobs können auch umfangreiche Aufgaben parallel ausgeführt werden

 

Beispiele für Anwendungsfälle in der Betriebsart “Time”

Überwachung von Paketstationen

Wer hat sie noch nicht an viel besuchten Stellen gesehen? Paketstationen sind immer öfters in den Städten anzutreffen. Sie können Tag und Nacht für den Empfang und Versand von Paketen verwendet werden. Genutzt werden sie wie ein Schließfach mit Zahlenschloss. Für den reibungslosen Ablauf müssen die verteilten Stationen überwacht werden. In einem Fall wurde als Lösung der CONZEPT 16 SOA-Task in der Betriebsart „Time“ genutzt. In festgelegten Intervallen ruft der Task den Status der Paketstationen ab. Damit können dann Paketverfolgungsdienste ihren Kunden den derzeitigen Lieferzustand ihres Pakets mitteilen, Paketboten erfahren welche Boxen geleert oder befüllt werden können und falls nötig, kann auch eine Alarm-/Störmeldung an die zuständigen Stellen weitergeleitet werden.

Fakturierung automatisieren

Bei vielen Applikationen gibt es wiederkehrende Prozesse, die automatisiert werden können. In diesem Beispiel werden erfolgreich getätigte Bestellungen gesammelt und in definierten Intervallen die dazugehörigen Rechnungen erstellt und versendet. Ein anderer Task überprüft offene Rechnungen und Zahlungseingänge, um damit den Auftragsstatus zu aktualisieren. Diese Vorgänge können dann im Monitoring überprüft werden. Auch können aufwendige Prozesse in Zeiten verlegt werde, in denen nicht gearbeitet wird. Ein gutes Beispiel ist das Auffinden von Duplikaten in der Datenbank. Da solche Prozesse oft sehr zeitaufwendig sind, wurde dieser in die Nacht verschoben, um den Regelbetrieb nicht zu stören.

Typische Anwendungsfälle für den SOA-Service in der Betriebsart “Time” sind somit wiederkehrende Verarbeitungen unterschiedlicher Art, die ohne Benutzerinteraktion ablaufen. Auch für einen klassischen “Jobserver” lässt sich diese Betriebsart sehr gut verwenden, indem die gestartete Prozedur einfach in einer Verarbeitungsschleife auf neue Aufträge wartet.

Im nächsten Artikel werfen wir dann einen Blick auf die Betriebsart “Socket”.

 

Keine Kommentare

Kommentar abgeben