Allgemeine Operationen in dem System
1.) Top Level Objekt holen und anzeigen
2.) Selektiertes Objekt holen und anzeigen
3.) Kaufbares Objekt erwerben
******************************************************************************************************************
Operationen in dem Entwurf :
------------------------------------------------------------
Alle Operationen werden von HTML Requests von dem Web Browser des Kunden ausgelöst und sind parametrisierte
Servlet Aufrufe. Als erstes Parameter wird immer HANDLER=|handler| übergeben; das Servlet wird das Request zu dem ensprechenden
RequestHandler weiterleiten.Es gibt 3 RequestHandlers:
CategoryRHandler - HTML Darstellung eines Category Objektes | enthalten Servlet Aufrufe
CollectionRHandler - HTML Darstellung eines Collection Objektes |
BuyRHandler - Kaufen
zu 1.) Top Level Objekt holen und anzeigen
- ein predefiniertes Request für das Top Level Object mit HANDLER=category&ID=0 wird gesendet
- ein FrontServlet wird erzeugt wenn es keins vorhanden ist; es erzeugt ein ApplicationContext Objekt,
das weiter ein NavigableFactory Objekt erzeugt und es zur Verfügung stellt
- das FrontServlet nimmt das Request entgegen und ruft CategoryRHandler.processRequest() auf
- als Folge, holt sich der CategoryRHandler das TopLevel Objekt von dem NavigableFactory Objekt
seines ApplicationContext (die Methode getTopLevel()); das Objekt wird angezeigt
zu 2.) Selektiertes Objekt holen und anzeigen
- ein Request für das selektierte Object mit HANDLER=|obj_type|&ID=|id| wird gesendet.
|obj_type|=category für ein NCategory Objekt
=collection für ein NTicketCollection Objekt
- das FrontServlet ruft die methode processRequest() von dem entsprechenden RequestHandler auf
- hier wird das angefragte Objekt von dem NavigableFactory Objekt geholt (die Methode
getNavigable(ID,typ) ) und angezeigt.Die Daten werden aus dem gekapselten Bean geholt.
In dem Fall eines Category Objektes, wird auch die Liste der untergeordneten Navigables benötigt
( die methode getChildList() in NCategory )
zu 3.) Kaufbares Objekt erwerben
- ein Request für das selektierte Object (ein NTicketCollection !) mit HANDLER=buy&ID=|id| wird gesendet.
- das FrontServlet ruft die methode processRequest() von BuyRHandler auf
- hier wird das Objekt von dem NavigableFactory geholt und die Transaction wird ausgeführt, in dem die Methode
setTicketsnumber von dem gekapselten Collection Bean mit der neuen Anzahl der Tickets aufgerufen wird, nachdem es geprüft wird
ob die Transaktion gültig ist (genügend Tickets); wenn nicht, eine ensprechende Fehlermeldung wird angezeigt. Wenn
die Transaktion erfolgreich war, wird eine Bestätigung angezeigt.
|