Model-View-Controller-Service-Paradigma/Service: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) |
||
Zeile 11: | Zeile 11: | ||
angefordert werden. | angefordert werden. | ||
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]] | 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 | |||
<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 | 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. | ||
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.
Model (Data) | View | Controller |
|||
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.
- MVCS-Prozess 01.png
Der MVCS-Prozess
- LDVCS-Prozess 01.png
Der LDVCS-Prozess
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
- Kowarschick, W.: Multimedia-Programmierung
- Berkovitz, Joe (2006): An architectural blueprint for Flex applications