SOA, SDO und ADF

Den wenigsten ist bekannt, dass ADF-BC seit Begin der Fusion Strategie enorm erweitert wurde und seit Oracle 11g Middleware produktiv verfügbar ist.

Eine tolle neue Eigenschaft ist die erweiterte Einbettung von ADF in eine SOA mit Service Data Objects (SDO).

Was bedeutet das nun? Bisher war es wie zu erwarten möglich Service-Operationen von Komponenten (ApplicationModules) als WebService zu exponieren. Diese ist die Standardfunktion aller Frameworks.  Neu in ADF ist, dass nun das gesamte Datenmodell einer ADF-Anwendung als WebService SOD-Objekte bereitgestellt und darauf remote per SOAP operiert werden kann, wie auf einer lokalen Anwendungsinstanz.

Um das zu verstehen, muss man das Konzept von ADF kennen:
Alle Java Business Objektes, in ADF-BC auch ViewObjects genannt, stellen Fassaden zu den eigentlichen EntityObjects (Java Beans) dar und entkoppeln u.a. die Zugriffsschicht von den eigentliche Datenobjekten (EntityObject). Die ViewObjekte werden zu Data Transfer Objects wenn sie übers Netz gesandt werden. Genau diese ist bei SDO der Fall. Alle ViewObjects können in ADF als SDO-Objecte exponiert werden. Es wird dabei zu jeder ViewObject Struktur eine ein XML-Schama (XSD) erzeugt und die CRUD-Operationen im WEBService Interface (WSDL) mit einem SDO Binding publiziert.  Eine besondere Eigenschaft von SDO ist, dass nur die geänderten Werte per ChangeSummary an den Service per SOAP gesandt werden können und somit die Daten mit minimiertem Traffic auf Client und Server identisch gehalten werden können.

Habe ich nun meine ViewObjects und WebServie als SDO und WebService bereitgestellt, kann ich ein neues ADF Client-Projekt bauen die SDO-ViewObjects anstatt der Datenbanktabellen für meine EntityObjects als Datenlieferanten nutzen. Ein Beispiel dazu wird von Andrejus Baranovskis bereitgestellt. Eine detaillierte Beschreibung ist im ADF Developer Guide vorhanden: http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcextservices.htm

Advertisements

~ von bmaier - 11. Dezember 2009.

Kommentar verfassen

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

 
%d Bloggern gefällt das: