Ich habe eine Anwendung, die auf einen Soap-Server angewiesen ist, um Inhalte zu erzeugen. Außerdem basiert die Authentifizierung für die Website auf einem separaten LDAP-Server. Wenn einer dieser Server ausfällt oder nicht antwortet, ist die Website natürlich nicht erreichbar.
Ich versuche, ein Design zu entwerfen, so dass ich Fehlerberichte für Website-Administratoren haben kann und auch eine schöne Nachricht an die Benutzer im Falle, dass die Website nicht funktioniert. Fehlerberichterstattung ist wirklich nur eine E-Mail, Datenbank einfügen oder protokollieren, um Textdatei auf dem Server von PHPs $_COOKIE, $_SERVER, $_SESSION, $_REQUEST zusammen mit möglicherweise eine SoapFault Ausnahme. Diese Informationen würden mir bei der Fehlersuche in Bezug auf mögliche Probleme mit der Website helfen, falls sie auftreten.
Derzeit ist meine Website wie folgt aufgebaut:
SoapClientInterface (defines soap functionality)
/ \
|
| implements
|
Client (the client implementing the interface, try/catch blocks on all soap calls here)
/ \
|
| extends
|
Authorization (asserts soap objects returned from server/ requests going to server
are appropriate for the user performing the request)
/ \
|
| extends
|
{all children classes using the soap interface defined on this level}
Aus dem schlechten Diagramm oben :-) Ich habe eine Klasse Client, die alle meine Try-Catch-Blöcke für Soapfault-Ausnahmen umfasst und frage mich, wie ich am besten zwei Dinge mit den Catches mache: 1. den Benutzer zu benachrichtigen, dass eine Aktion fehlgeschlagen ist (alle meine Funktionen sind in if/else-Blöcken und wenn ich feststelle, dass eine Operation fehlgeschlagen ist, leite ich den Benutzer zu einer Statusseite weiter und informiere ihn, dass seine Aktion fehlgeschlagen ist.
2. die Situation an die Administratoren der Website zur Fehlersuche zu melden (diese Funktionalität ist im Moment eine einfache Funktion, die in der Statusseite definiert ist, die, wenn die Statusseite einen Fehlercode erhält, die Cookier-, Server-, Session- und Request-Variablen ausgibt und diese per E-Mail an die Administratoren der Website sendet.
Für Vorschläge hierzu wären wir dankbar, und wenn Sie weitere Informationen benötigen, fragen Sie bitte nach.
EDIT: Nach meiner Erfahrung mit Webprogrammierung zeigen meine Anwendungen den Status von Benutzeraktionen normalerweise auf der Seite an, auf der die Aktion stattfindet, und leiten nicht an eine andere Seite weiter. Dies ist das erste Mal, dass ich eine Anwendung so kodiert habe, dass sie eine Benutzeraktion ausführt und für alle Statusmeldungen auf eine separate Seite umleitet. Sollte ich mich selbst dafür bestrafen, dass ich es so gemacht habe? Sieht jemand einen Vorteil darin, eine einzige Statusseite für alle Website-Aktionen zu haben oder eine Klasse/Funktion, die den Status auf der Seite meldet, auf der die Aktion stattgefunden hat? (Ich frage dies in Bezug auf das Design der Statusseite an sich und wie man Fehler melden und was nicht.)