Model-View-Controller-Service-Paradigma/Service: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Zeile 11: Zeile 11:
angefordert werden.
angefordert werden.


Der Aufrufer eines Services stellt i. Allg. in einem [[Model-View-Controller-Service-Paradigma/Model|MVCS-Model]] bzw.
Einem Service steht in einem [[Model-View-Controller-Service-Paradigma/Model|MVCS-Model]] bzw.
in einem [[Logic-Data-View-Controller-Service-Paradigma/Data|LDVCS-Datenmodul]] einen [[Container]] (wie z.B. ein Array, ein Objekt oder Änhliches)  
in einem [[Logic-Data-View-Controller-Service-Paradigma/Data|LDVCS-Datenmodul]] \iAllg 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.  
zur Verfügung, in dem der Service das gewünschte Ergebnis ablegen kann, sobald es verfügbar ist.  


<gallery  perrow="3" heights="317px" widths="250px">
<gallery  perrow="3" heights="317px" widths="250px">
Zeile 22: Zeile 21:
==Eigenschaften eines Service-Modules==
==Eigenschaften eines Service-Modules==


Ein Service bearbeitet eine Anfrage im Allgemeinen [[asynchron]]. Sollte die aktuelle Anfrage nicht erfolgreich bearbeitet werden können, so informiert der Service den Aufrufer mit Hilfe eines Fehler-[[Ereignis]]es über das zugehörige Problem.  
Ein Service bearbeitet eine Anfrage im Allgemeinen [[asynchron]]. Sobald das Ergenis im Modell eingetragen wurde, kann dieses den Aufrufer und beliebig viele andere Module mit Hilfe eines [[Signal]]s darüber informieren.
Anderenfalls informiert es den Aufrufer, sobald das Ergebnis vorliegt, mit Hilfe eines anderen Ereignises über den erfolgreichen Abschluss der Anfragebearbeitung und schreibt das Ergebnis gegebenenfalls in den bereitgestellten Container.
Sollte die aktuelle Anfrage nicht erfolgreich bearbeitet werden können, so kann der Service eine
entsprechende Fehlermeldung in ein spezielles Fehler-Modell bziw. -Daten-Modul eintragen, das dann die übrigen
Module über die aufgetretenen Probleme informiert.


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


=Anmerkungen=
=Anmerkungen=

Version vom 29. Mai 2011, 16:21 Uhr

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. 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 \iAllg 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 das Ergenis im Modell eingetragen wurde, kann dieses 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 bziw. -Daten-Modul eintragen, das dann die übrigen Module über die aufgetretenen Probleme informiert.

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 muss 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. Nur die Aufrufer unterscheiden sich: 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 dese Aufgabe übernehmen.

Quellen

Siehe auch