Suche:
Die Serviceorientierte Architektur von COJAX

Die Funktionsweise der drei Schichten an einem Beispiel:

Der Kunde möchte Informationen zu einem bestimmten Produkt. Er sendet von seiner HTML-Oberfläche eine Anfrage (Request) an die Produkt-Seite.

Webanwendung

Die Webanwendung ist die direkte Schnittstelle zum Benutzer. Hier wird die Anfrage empfangen. Die gesendeten Informationen werden von der Webapplikation ausgewertet und es wird die auszuführende Aktion bestimmt.

Mit Hilfe der Servicemanager wird die benötigte Servicekomponente, hier der Angebotsmanager, an die Webanwendung übermittelt. Die vom Angebotsmanager als Java-Objekt gelieferten Produktinformationen werden in das XML-Format umgewandelt und mit Hilfe einer XSL-Transformation in HTML-Format dargestellt. Die generierte Seite wird schließlich an den Benutzer zurückgesendet.

Systemkern

Im Systemkern verwaltet der Servicemanager die Services (Dienste). Er erstellt die benötigten Komponenten, konfiguriert sie und stellt sie der aufrufenden Komponente zur Verfügung. Die eigentliche Arbeit wird von den Services erbracht. Jeder Dienst ist mit bestimmten Aufgaben betraut: z.B. der Produktmanager implementiert die Produktverwaltung oder der Bestellmanager verarbeitet die Bestellungen, die im Webshop aufgegeben werden.

Erhält der Produktmanager von der Webanwendung den Befehl die Produktdetails bereitzustellen, sendet er eine Anfrage an den Persistenzlayer um das benötigte Produktobjekt aus der Datenbank zu laden. Um Informationen über die aktuelle Lieferfähigkeit zu erhalten, fragt der Produktmanager den Lagermanager nach der Bestandsmenge auf dem Lager. Die vollständige Information wird nun an die Webanwendung zurückgeliefert.

Datenbank

Die Aufgabe des Datenbanklayers ist es, die Java Objekte dauerhaft zu speichern. Der Persistenzlayer wandelt dabei Such-, Änderungs-, Erstellungs- und Löschanfragen in entsprechende SQL-Ausdrücke um und sendet sie an den JDBC-Treiber. Der JDBC-Treiber führt die eigentlichen Datenbankabfragen aus. Die Daten, die der JDBC-Treiber zurückliefert, wandelt der Persistenzlayer dann wiederum in Java-Objekte um.

Wenn der Persistenzlayer die Anfrage erhält, das Objekt für ein bestimmtes Produktdetails zu laden, erstellt er eine entsprechende SQL-Abfrage und reicht diese an den JDBC-Treiber weiter. Für jeden von der Datenbank zurückgelieferten Datensatz erstellt der Persistenzlayer ein neues Artikelobjekt und liefert es an die aufrufende Stelle zurück.