FQTQ ShowCase Prototyp einer Applikation zur Beratungsunterstützung Überblick ! Applikation zur Beratungsunterstützung ! ! ! Analyse der Mandantensituation Web gestütztes Fragebogensystem mit Datenbankanbindung Umsetzung mit der Java 2 Enterprise Edition (J2EE) 18.12.2000 ©2000 Elmar Seestädt 2 Anforderungsprofil 1/3 ! ! ! ! Die Fragen/Antworten sind wiederverwendbar Es gibt ein Scoringsystem Es gibt Multiple-Choice Antworten Es gibt Mandanten 18.12.2000 ©2000 Elmar Seestädt 3 Anforderungsprofil 2/3 ! ! ! Es gibt 1 bis n Projekte pro Mandant Es gibt 1 bis n Fragebogentypen pro Projekt Ein Mitarbeiter beim Mandanten hat 0 bis n Fragebögen auszufüllen 18.12.2000 ©2000 Elmar Seestädt 4 Anforderungsprofil 3/3 ! ! ! ! Die Antworten werden in einer Datenbank gespeichert Die Applikation hat eine Weboberfläche haben Die Applikation ist vollständig über die Weboberfläche bedien- und administrierbar Es gibt einen Auswertungsmechanismus 18.12.2000 ©2000 Elmar Seestädt 5 Globales Design Method Provider (Name Lookup, etc. benutzt EJBContainer benutzt Entity-Beans Entity-Beans Entity-Beans Entity-Beans Datenbank Request Manager (Controller EJB seitig) Aufruf Business-Methoden Aufrufe weiterleiten Servlet Engine Session Manager (Controller Proxy) Aufruf Controller Funktionen Seitenaufrufe FrontComponent Request Web Browser 18.12.2000 Screen Flow Manager JSP/HTML JSP/HTML JSP/HTML JSP/HTML JSP/HTML JSP/HTML JSP/HTML JSP/HTML Serverseitig Clientseitig Response Legende: ©2000 Elmar Seestädt Servlets Entity Beans Webseiten Session Beans 6 Datenbank ! ! Relationales Datenbanksystem Abbildung der Objekte auf Datenbank ! ! ! CMP – für einfache Objekte BMP – für komplexe Objekte Ist: Cloudscape ! ! Einfach zu Handhaben / Vorinstalliert Nur eine Demoversion ! ! ! ! -> Einschränkungen In Java implementiert Langsam Ziel: Oracle ! ! 18.12.2000 Schwierig zu Handhaben / Extra zu installieren Sehr performant ©2000 Elmar Seestädt 7 Fragebogendesign ! ! ! ! ! Es gibt Fragen und Antworten Einer Antwort wird eine Score zugewiesen Eine Frage und viele Antworten mit Score bilden einen FA-Komplex Viele dieser Komplexe bilden mit zusätzlichen Statusinformationen eine Fragebogenvorlage Eine FB-Vorlage wird personalisiert und damit zum spezifischen Fragebogen 18.12.2000 ©2000 Elmar Seestädt 8 Entity Beans CMP ! ! ! ! ! ! Role User Question Answer Application Customer 18.12.2000 BMP ! ! QuestionaireTemplate DispensedQuestionaire ©2000 Elmar Seestädt 9 Session Beans ! RequestHandler ! ! ! Erhält alle Requests Leitet die Requests an die Entity Beans weiter bzw. reagiert selbstständig StaticMethodProvider ! ! ! 18.12.2000 Ist nur „Anbieter“ von Methoden Macht z.B. JNDI-Lookups Öffnet/schliesst Datenbankverbindungen ©2000 Elmar Seestädt 10 Helper Klassen ! AnswerWrapper.java ! ! Ordnet jeder Antwort eine Score zu QAMapping.java ! 18.12.2000 Ordnet jeder Frage die passenden Answer Wrapper zu ©2000 Elmar Seestädt 11 Servlets ! SessionManager ! ! ! ! Leitet alle Controller anfragen an die RequestHandler Session Bean weiter Bereitet Objekte vor Baut Objekte in von JSP‘s benutzbare Komponenten um ScreenFlowManager ! 18.12.2000 Bestimmt die nächste zu zeigende Seite ©2000 Elmar Seestädt 12 Webinterface Design Bereich für die globale Navigation Contentview Bereich für die lokale Navigation 18.12.2000 ©2000 Elmar Seestädt 13 Webinterface Design - Admin 18.12.2000 ©2000 Elmar Seestädt 14 Webinterface Design - User 18.12.2000 ©2000 Elmar Seestädt 15 Webinterface Komponenten ! FrontComponent ! ! Index.html ! ! Multiplexed alle Request zum ScreenFlowManager und zum RequestHandler FrameSet für die Darstellung Java ServerPages ! 18.12.2000 Managen die Navigation und visualisieren das Benutzerinterface dynamisch ©2000 Elmar Seestädt 16 ToDo-Liste ! ! ! ! ! ! ! ! ! Volle Administrierbarkeit Darstellung Exception Handling Sicherheitsmanagement Transaktionsmanagement Dokumentation Auswertungsmechanismus Datenbankmigration Debug-Code entfernen 18.12.2000 ©2000 Elmar Seestädt 17