Model-View-Controller-Service-Paradigma/Service

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 4
(großteils überprüft)
Umfang: 3
(einige wichtige Fakten fehlen)
Quellenangaben: 4
(fast vollständig vorhanden)
Quellenarten: 4
(sehr gut)
Konformität: 4
(sehr gut)

Diese Bewertungen beziehen sich auf alle im nachfolgenden Menü genannten Artikel gleichermaßen.

Definition (nach Kowarschick (MMProg))

Ein Service (engl. service) einer MVCS-Anwendung oder einer LDVCS-Anwendung dient zur Kommunikation (MVCS-)Services dienen zur mit der Außenwelt, d.h. mit Dienste-Anbietern wie Web-Servern, Datenbanksystemen oder auch Dateisystemen. Die Kommunikation kann in beide Richtungen erfolgen: Services können sowohl Daten aus Modellen bzw. Daten-Modulen auslesen und in ein externes Repository schreiben, als auch Daten aus einem externen Repository lesen und in in ein Modell bzw. Daten-Modul einfügen.

Service-Dienste können i. Allg. nur von MVCS-Controllern bzw. LDVCS-Logik-Modulen sowie von anderen Services angefordert werden.

Einem Service steht in einem MVCS-Model bzw. in einem LDVCS-Datenmodul i. Allg. ein Container (wie z.B. ein Array, ein Objekt oder Änhliches) zur Verfügung, in er Service das ermittelte Ergebnis ablegen kann, sobald es verfügbar ist.

Eigenschaften eines Service-Modules

Ein Service bearbeitet eine Anfrage im Allgemeinen asynchron. Sobald ein Ergebnis in einem Modell oder Daten-Modul eingetragen wurde, kann dieses Modul den Aufrufer und beliebig viele andere Module mit Hilfe eines Signals darüber informieren. Sollte die aktuelle Anfrage nicht erfolgreich bearbeitet werden können, so kann der Service eine entsprechende Fehlermeldung in ein spezielles Fehler-Modell bzw. -Daten-Modul eintragen, das dann die übrigen Module über die aufgetretenen Probleme informiert. Ebenso kann die erfolgreiche Übertragung von Daten in die Außenwelt mit Hilfe eines speziellen Modells bzw. Daten-Moduls anderen Modulen signalisiert werden.

Ein Service kann mehrere Anfragen hintereinander bearbeiten und dabei auch auf frühere Ergnisse (die er z.B. in privaten Zustandsvariablen abgelegt hat) zugreifen. Dabei sollte er allerdings i. Allg. dafür sorgen, dass keine zwei Anfrage zeitgleich bearbeitet werden. Sollte ein Aufrufer mehrere Service-Anfragen parallel bearbeiten lassen wollen, so muss er dafür \iAllg. mehrere Services gleichzeitig verwenden.

Anmerkungen

MVCS-Services und VCLSD-Service unterscheiden sich nicht, wenn man davon absieht, dass MVCS-Services aus Modelle zugreifen und LDVCS-Services auf Daten-Module.

Die Aufrufer unterscheiden sich allerdings: MVCS-Services werden von MVCS-Controllern aufgerufen und VCLSD-Service werden von VCLSD-Logik-Modulen aufgerufen.

In MVC-Anwendungen übernehmen i. Allg. MVC-Modelle die Kommunikation mit der Außenwelt. Es ist auch denkbar, dass MVC-Controller diese Aufgabe übernehmen.

Quellen

Siehe auch