EJB Architektur für große Web - Applikationen Gerald Weber
EJB -Architektur Klassische TP-Monitor Applikation zum Vergleich Übertragung auf EJB Entwurfsprobleme in den einzelnen Schichten Vereinfachungen
TP-Monitore TP-Heavy Applikationen: >> Clients Typische Mainframe Anwendungen Proprietäre Technologien.
Datenbanken/Filesysteme Transaction Server Workflow Server (Request Queues) Clients Presentation Server Architektur Firewall
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 Request- Abarbeitung. Clients erhalten nur Business- Exceptions
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 Business- Objekte. 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.