Daten exponieren - eXtreme (schnell und einfach) Programmiert?

 
Agile Day - 22. Mai
 
14:30
 
Prozess
Raum Rebland
 
Basic

Kommt Ihnen das bekannt vor: Man hat unterschiedlichste, isolierte Anwendungen und plötzlich müssen diese in die Service-Landschaft integriert werden.

Und wie immer soll das Projekt nicht nur schnell realisiert, sondern der Service auch einfach zu konsumieren sein und der Datenaustausch auf einem allgemein anerkannten Standard basieren.

Doch wie (Entwicklungsmodell?) und womit (Standards?, Bibliotheken?, Open Source?) kann man dies alles erreichen?

Eine "einfache und schnelle" Möglichkeit bietet hier die Kombination aus eXtreme Programming als schlankem Entwicklungsmodell und dem Open Data Protocol (OData) als Standard (Protokoll) in Verbindung mit der Apache Olingo [in Incubation] Java Bibliothek.

Das "Open Data Protocol (OData)" ist ein offenes und standardisiertes Protokoll und genießt die Unterstützung von unterschiedlichen Organisationen und Firmen. Es wurde speziell für das Erstellen und Konsumieren von Services definiert, um Daten anzubieten als auch diese abzufragen und zu bearbeiten. Hierzu baut es auf allgemein anerkannten und verbreiteten Protokollen (HTTP), Methodiken (REST) und Formaten (ATOM/XML und JSON) auf. Das Ergebnis ist eine einheitliche Weise, um als Service-Anbieter Schnittstellen und Daten zu definieren und bereitzustellen, um so entsprechenden Konsumenten die Möglichkeit zu geben diese einheitlich zu verarbeiten. Kurzum, befreien sie ihre Daten aus den Silos, welche in ihren Anwendungen heute noch existieren.

Ausgangslage: Eine Datenbank mit Datenstruktur ist vorhanden, welche von einem (JEE) Applikationsserver per JPA abgefragte werden kann.

Ziel: Über einfache URL Aufrufe im Browser sollen die Daten als JSON verfügbar sein (entsprechend dem Open Data Protocol sowohl als einfach GET Abfrage als auch mit erweiterten $select und $expand Abfragen).

Vorgehen: In einer Live-Demo wird anhand der Kombination aus eXtreme Programming, dem Open Data Protocol (OData) und Apache Olingo [in Incubation] gezeigt wie man "einfach und schnell" Daten aus einer Datenbank bereitstellen kann.

Entsprechend dem eXtreme Programming wird testgetrieben (TDD) die Applikation auf Basis der Apache Olingo Bibliothek anhand von folgenden, iterativen Schritten implementiert:

  • Definieren des Datenmodell nach OData (EDM)
  • Ein erster Lese-Durchstich auf den Service
  • Anbindung der Datenbank an den Service

Resultat: Am Ende wurde eine Applikation auf Basis von Apache Olingo [in Incubation] erstellt, welche in einem JEE Applikationsserver läuft, auf die Daten aus der Datenbank zugreift und diese gemäß dem OData-Standard bereitstellt.

Michael Bolz

SAP AG
Michael Bolz arbeitet seit einem Jahr im OData Umfeld und war in dieser Zeit dabei, die OData Spezifikation (in Version 2) als Open Source Implementierung im Apache Olingo Projekt zu realisieren.