Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:cba:messages

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
software:cba:messages [2014/11/24 15:50]
max.neumaier
software:cba:messages [2014/11/24 16:02]
max.neumaier
Zeile 24: Zeile 24:
   *     In verteilten Anwendungen sind Meldungen transparent,​ d.h. sie werden so zwischen Service-Aufruf und Service kommuniziert,​ das ein einheitliches Verhalten unabhängig vom Ort der Meldungs-Entstehung realisiert wird.    *     In verteilten Anwendungen sind Meldungen transparent,​ d.h. sie werden so zwischen Service-Aufruf und Service kommuniziert,​ das ein einheitliches Verhalten unabhängig vom Ort der Meldungs-Entstehung realisiert wird. 
  
 +------
 ===Architektur=== ===Architektur===
 Das Meldungs-Management ist in das CBA-Framework eingebettet. Es besteht aus  Das Meldungs-Management ist in das CBA-Framework eingebettet. Es besteht aus 
Zeile 35: Zeile 35:
  
 {{ software:​cba:​message-handling.png?​400 }} {{ software:​cba:​message-handling.png?​400 }}
 +-------
 +
 +===Konfiguration===
 +Die potenziellen Meldungen werden mit einer Meldungs-Nummer konfiguriert. In der Meldungs-Definition sind Platzhalter für die später einzufügenden Parameter definierbar. Die Meldungstexte sind mehrsprachfähig. ​
 +
 +------
 +===Funktionen===
 +Das CBA-Framework stellt eine Menge von Funktionen zum Meldungs-Management zur Verfügung:
 +
 +  * **clearMessage** Löschen des Meldungs-Puffers
 +  * **setMessage** Einfügen einer Meldung in den Meldungs-Puffer
 +  * **getMessageText** Konvertierung einer Meldung in einen Text
 +  * **getMessages** ​ Rückgabe des Meldungs-Puffers
 +  * **saveMessage** ​ Speichern der Meldungen in der Logging-Datenbank
 +  * **removeMessage** ​ Löschen der zuletzt eingestellten Meldung aus dem Meldungs-Puffer
 +
 +Der Funktion **setMessage** werden eine Meldungsnummer,​ ggf. Meldungs-Parameter (z.B. Informationen über das fehlerhafte Objekt u.ä.), die Klassifikation und ein Flag zur Verhaltens-Spezifikation übergeben. Weitere Parameter können die Meldung stärker spezifizieren und sind insbesondere für einen Fehleranalyse wichtig. Mit Hilfe der Funktion getMessageText wird anhand der Meldungsnummer eine sprachabhängige Zeichenkette ermittelt, die mit den angegebenen Meldungs-Parametern formatiert wird. {0} ist dabei der Platzhalter für den ersten Meldungs-Parameter,​ {1} für den zweiten etc. Die Meldungs-Parameter sind eine Zeichenkette,​ in der beliebig viele Parameter durch ‚|’ getrennt hintereinander angegeben werden können. Automatisch wird der Meldung der Zeitstempel,​ die Session-Zuordnung und (wenn vorhanden) die Transaktionsnummer angefügt, sodass Meldungen in einen Kontext eingeordnet werden können. ​
 +
 +**Beispiel:​**
 +  * **Meldungsnummer**:​ 1234
 +  * **Meldungstext**:​ '​Die Datei '​{0}'​ hat folgenden Fehler verursacht: {1}
 +  * **Aufruf**:​ setMessage (1234, "​bild.gif|Datei schreibgeschützt",​ "​E",​ "​e6",​ myTable, null, 4711);
 +  * **Meldung**:​ Die Datei '​bild.gif'​ hat folgenden Fehler verursacht: Datei schreibgeschützt
 +
 +Die Funktion **removeMessage** kann dazu genutzt werden, die zuletzt eingestellte Meldung aus dem Meldungs-Puffer zu löschen. Damit können programmtechnisch Fehler abgefangen und die Auswirkungen einer Meldung rückgängig gemachtwerden.
 +
 +Die Funktion **getMessageText** kann auch aufgerufen werden, ohne dass eine Meldung in den Meldungs-Puffer geschrieben wird. In den Bedienoberflächen können so z.B. mehrsprachige Texte für Abfragen, Meldungen u.ä. ermittelt werden.
 +
 +**getMessages** liest den Meldungs-Puffer aus, um alle Meldungen der Transaktion auswerten zu können.
 +
 +Mit **saveMessage** werden die relevanten Meldungen zu Zwecken des Logging und des Monitoring in die Datenbank abgespeichert. Das Logging umfasst die Meldungen, bei denen das Flag '​l'​ gesetzt ist und deren Level kleiner oder gleich dem im System eingestellten Logging-Level ist. Sie können u.a. mit System-Werkzeugen aus der Datenbank ausgelesen werden. Das **Monitoring** erfolgt mit einer eigenen Anwendung, die die in der Datenbank abgespeicherten Logging-Informationen nach einer eigenen Logik auswertet. über die konfigurierte BLU des Meldungs-Puffers kann die Monitoring-Anwendung über das Vorhandensein neuer Logging-Informationen informiert werden und damit zeitnah reagieren. ​
 +
 +-------
 +===Meldungs-Klassifikation===
 +
 +Meldungen unterliegen in CBA folgender Klassifikation: ​
 +|**F .. fatale Fehler**|Fehler,​ die die Weiterarbeit der Applikation verhindern oder wesentlich beeinträchtigen|
 +|**E .. Fehler**|Fehler,​ die in der Arbeit einer Applikation auftreten können, nur lokale Auswirkungen haben und auf die der Anwender reagieren kann|
 +|**W .. Warnungen**|Hinweise des Systems auf Inkonsistenzen,​ ungünstige Zustände und ähnliches|
 +|**I .. Informationen**|Informationen an den Nutzer|
 +|**Q .. Fragen**|Fragen an den Nutzer, die mit Ja oder Nein beantwortet werden können|
 +
 +
 +Die Klassifikation wird beim Aufruf der Funktion **setMessage** übergeben.
 +
 +Das Verhalten eines **setMessage**-Aufrufes wird durch das Flag bestimmt. Es kann folgende Werte beinhalten: ​
 +|**e .. Exception** |Die Meldung löst nach ihrer Behandlung einen CbaException aus, der in einer beliebigen Aufruf-Hierarchie-Ebene abgefangen werden kann.|
 +|**1 .. Logging-Level 1** |Logging- und Monitoring-Informationen für fatale Systemfehler|
 +|**2 .. Logging-Level 2** |Logging- und Monitoring-Informationen für fatale Konfigurationsfehler|
 +|**3 .. Logging-Level 3** |Logging- und Monitoring-Informationen für fatale Anwendungsfehler|
 +|**4 .. Logging-Level 4** |Logging- und Monitoring-Informationen für Systemfehler|
 +|**5 .. Logging-Level 5** |Logging- und Monitoring-Informationen für Konfigurationsfehler|
 +|**6 .. Logging-Level 6** |Logging- und Monitoring-Informationen für Anwendungsfehler|
 +|**7 .. Logging-Level 7** |anwendungsspezifische Logging- und Monitoring-Informationen|
 +|**8 .. Logging-Level 8** |anwendungsspezifische Logging- und Monitoring-Informationen|
 +|**9 .. Logging-Level 9** |anwendungsspezifische Logging- und Monitoring-Informationen|
software/cba/messages.txt · Zuletzt geändert: 2021/07/01 09:52 (Externe Bearbeitung)