SDO (service data objects)

Service Data Objects (SDO) ermöglichen eine einfache Handhabung von Daten aus unterschiedlichen Quellen. Das Konzept findet Anwendung hauptsächlich in Service-orientierten Architekturen. Die Motivation für SDO war es, eine einheitliche Daten-Zugriffsschicht - unabhängig von den Datenquellen wie einer Datenbank oder einer XML-Datei - zu realisieren, die aber nicht das Programmiermodell beeinflusst.


So entwickelte sich der Java Specification Request (JSR) 235 der Service Data Objects, der innerhalb des Java Community Process (JCP) u.a. von IBM und Bea Systems Inc. entwickelt und erstmals im November 2003 veröffentlicht wurde. In den Veröffentlichungen wird SDO auch häufig als ein Framework für die Entwicklung von "Datenapplikationen" auf Basis einer einheitlichen Programmierschnittstelle (API) bezeichnet. Die Referenzimplementierung der SDO-Specification 2.1.1 ist die Realisierung des EclipseLink-Projektes. Damit ist es Java-Entwicklern möglich, Daten zu generieren und diese auf einheitlicher Basis in Service-Architekturen zu nutzen.

Aufbau der SDO-Architektur

Service Data Objects wurden spezifiziert, um eine einheitliche Schnittstelle (API) für die Datenzugriffsschicht zu realisieren. Dabei mussten die verschiedensten Technologien und Modelle berücksichtigt werden. Die SDO-Architektur definiert einen SDO-Core auf Basis einer Java-Umgebung. Der SDO-Core bildet u.a. die Schnittstelle des Frameworks ab. Zentrales Element des SDO-Cores ist der sogenannte Data Mediator Service, mit dem Daten aus beliebigen Quellen gelesen bzw. aktualisiert werden können.

Umsetzung 
   einer SDO-Architektur

Umsetzung einer SDO-Architektur

Die Abbildung verdeutlicht das Zusammenwirken zwischen einem Client und einer Datenquelle. Die Datenquelle (Data Source) stellt die notwendigen Daten zur Verfügung. Der Data Mediator Service greift auf diese Daten zu und erstellt auf deren Basis zunächst einen sogenannten Datengraphen. Dieser beschreibt die gelesenen Daten in Form von Datenobjekten und zusätzlichen Metadaten. Um mit unterschiedlichen Datenquellen zusammenwirken zu können, realisiert die SDO-Architektur jeweils verschiedene Data Mediator Services.

Die Datengraphen dienen der Abbildung von realen Daten als Datenobjekte und werden zwischen den kommunizierenden Komponenten ausgetauscht. Sofern in einer Komponente Änderungen am Datengraphen vorgenommen werden, so wird die Struktur dieser Veränderungen in einer Zusammenfassung aufgezeichnet, die dann vom Data Mediator Service ausgewertet wird, um so die Änderungen in der ursprünglichen Datenquelle einzupflegen. Gelöschte, aktualisierte oder neue Datenobjekte werden dann ebenfalls in der Zusammenfassung berücksichtigt.

Die Datenobjekte können neben den eigentlichen Werten oder den Verweis auf andere Datenobjekte zusätzliche Informationen beinhalten. Diese zusätzlichen Informationen - die Metadaten - können zur Analyse von Daten genutzt werden. Dazu unterstützen Datenobjekte unterschiedliche Mechanismen für den Zugriff. Auf die Datenobjekte kann sowohl dynamisch über XPath zugegriffen werden, als auch dass Datenobjekte zuvor statisch über Modelle und Schemata generiert werden können. Der statische Zugriff hat dabei den Vorteil, dass dadurch ein einfacher und direkter Zugriff auf die Daten in dem entsprechenden Datengraphen möglich ist.

http://java.sys-con.com/read/46652.htm

http://www.eclipse.org/eclipselink/sdo.php

http://www.jcp.org/en/jsr/detail?id=235

Informationen zum Artikel
Deutsch:
Englisch: service data objects - SDO
Veröffentlicht: 03.11.2013
Wörter: 470
Tags: #Entwicklung, Codierung
Links: API (application programming interface), Client, Daten, Datenbank, Datenquelle