EJB Architektur für große Web - Applikationen Gerald Weber 9.2.2001 EJB -Architektur Klassische TP-Monitor Applikation zum Vergleich Übertragung auf EJB Entwurfsprobleme in den einzelnen Schichten Vereinfachungen TP-Monitore TP-Heavy Applikationen: >> 10.000 Clients Typische Mainframe Anwendungen Proprietäre Technologien. Architektur Clients Presentation Server Firewall (Request Queues) Workflow Server Transaction Server Datenbanken/Filesysteme Transaction Server Abstraktion von der Datenmodellierung Stellen die Daten als Business Objects dar, deren Interface sich selten ändert. Entsprechen den Entity Beans Workflow Server Gleichartige Server. Führen Business Rules aus, die sich schneller ändern Haben zwischen Transaktionen keinen Zustand, dies erlaubt Clustering. Benutzen Nested Transactions Request Queues Workflow Server entnehmen daraus Requests transaktional, d.H. bei abort ist der Request wieder in der Queue. Garantieren also RequestAbarbeitung. Clients erhalten nur BusinessExceptions Presentation Server Zwei Teile: Session Management und Presentation. Sind nicht Teil des zentralen, Transaktionalen Teils. Können längerlebige Daten für komplexe Integrity-constraints enthalten. (Model-View?) Clients Ultra-Thin Clients: Stellen nur eine Seite dar Sehr leichtgewichtige Verbindungen (belegen keine Serverressourcen.) Alternative z.B. Clients enthalten Präsentationsschicht, Cache. Entity Beans Java Objekte, deren Attribute persistent sind. Get-Methoden: Feingranular oder als Object-By-Value. Business Methoden abstrahieren von der Datenmodellierung. Business Rules werden realisiert als stateless Session Beans. Können Daten lokal cachen, aber nur für eine Transaktion sonst komplexe Überprüfungen bei Transaktionsende. (Stateful) Sessions Zustand für einen Benutzer. EJB: Stateful Session Bean: Kann auf Platte ausgelagert werden (Skalierbarkeitsanforderung). Präsentationsschicht Kommuniziert mit Business-Logik nur über serialisierte Daten. Keine Referenzen auf BusinessObjekte. Transfrormiert das Modell der serialisierten Daten in das Darstellungsmodell. Entity Beans Java Objekte mit persistenten Attributen. Assoziationen nicht über Referenzen, sondern über Schlüssel. Extraktion von Finder-Methoden und update-Methoden aus der Systemspezifikation. Präsentation Oberste Schicht: Enthäelt Layout. Zweitoberste Schicht: Nur Daten und Links. Drittoberste Schicht: Operationen in Servlets. -> Links: Servletaufrufe Forms: Editierbare Links. Business Logic Transaktional: Eine Methode in Transaktionsklammern: – Kann lokalen Cache verwenden. – Updates werden durchgeschrieben.