ejb architektur für große web - applikationen gerald weber 9.2.2001
TRANSCRIPT
EJB Architektur für großeEJB Architektur für großeWeb - ApplikationenWeb - Applikationen
Gerald Weber9.2.2001
EJB -ArchitekturEJB -Architektur
Klassische TP-Monitor Applikation zum Vergleich
Übertragung auf EJBEntwurfsprobleme in den einzelnen
SchichtenVereinfachungen
TP-MonitoreTP-Monitore
TP-Heavy Applikationen:>> 10.000 Clients
Typische Mainframe AnwendungenProprietäre Technologien.
Datenbanken/Filesysteme
Transaction Server
Workflow Server(Request Queues)
Clients
Presentation Server
ArchitekturArchitektur
Firewall
Transaction ServerTransaction Server
Abstraktion von der Datenmodellierung
Stellen die Daten als Business Objects dar, deren Interface sich selten ändert.
Entsprechen den Entity Beans
Workflow ServerWorkflow Server
Gleichartige Server.Führen Business Rules aus, die sich
schneller ändernHaben zwischen Transaktionen
keinen Zustand, dies erlaubt Clustering.
Benutzen Nested Transactions
Request QueuesRequest 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 ServerPresentation 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?)
ClientsClients
Ultra-Thin Clients: Stellen nur eine Seite dar
Sehr leichtgewichtige Verbindungen (belegen keine Serverressourcen.)
Alternative z.B. Clients enthalten Präsentationsschicht, Cache.
Entity BeansEntity Beans
Java Objekte, deren Attribute persistent sind.
Get-Methoden: Feingranular oder als Object-By-Value.
Business Methoden abstrahieren von der Datenmodellierung.
Business RulesBusiness 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(Stateful) Sessions
Zustand für einen Benutzer.EJB: Stateful Session Bean:
Kann auf Platte ausgelagert werden (Skalierbarkeitsanforderung).
PräsentationsschichtPräsentationsschicht
Kommuniziert mit Business-Logik nur über serialisierte Daten.
Keine Referenzen auf Business-Objekte.
Transfrormiert das Modell der serialisierten Daten in das Darstellungsmodell.
Entity BeansEntity 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äsentationPräsentation
Oberste Schicht: Enthäelt Layout.Zweitoberste Schicht: Nur Daten und
Links.Drittoberste Schicht: Operationen in
Servlets. ->Links: ServletaufrufeForms: Editierbare Links.
Business LogicBusiness Logic
Transaktional: Eine Methode in Transaktionsklammern:– Kann lokalen Cache verwenden.– Updates werden durchgeschrieben.