© Excellent backgrounds/Shutterstock.com
RESTful Services und Android

Android „Frühlingsgefühle“


Wenn es darum geht, eine Android-Anwendung mit einem Java REST Backend zu verbinden, erhält man als Google-Resultat tausende Einträge, wie es gemacht werden „könnte“. Der vorliegende Artikel zeigt eine saubere Variante basierend auf dem Spring-for-Android-Projekt [1], damit Sie zukünftig ganz ohne Google-Recherche durchstarten können, wenn es darum geht, RESTful Services anzuzapfen.

Wie bereits einleitend erwähnt, bietet sich Entwicklern ein extrem breites Spektrum von Möglichkeiten, um Android mit einem REST Service zu verbinden. Einer der häufigsten Ansätze ist die Verwendung der Android-Basis-HTTP-Komponenten (HttpURLConnection und Co. lassen grüßen): Eine Connection zum Server wird aufgebaut, der Response-Code und zugehöriger Response-Inhalt in Empfang genommen, um dann im Client weiterverarbeitet zu werden.

JM6_14.tif_fmt1.jpg

Lesetipp

Den ersten Teil dieser Artikelreihe von Florian Müller finden Sie übrigens im Java Magazin 6.2014: „Android meets BaaS. Backend-Konfiguration statt Neuentwicklung“: www.javamagazin.de.

Dieser Ansatz funktioniert für einfache Request-Response-Szenarien gut, doch mit zunehmender Komplexität der Anforderungen steigt die Wartbarkeit des hier genannten Ansatzes exponentiell: Schnell wird klar, dass im Client „echte“ Domainobjekte verwendet werden sollten statt einfacher String-Konstrukte, Security poppt als Thema auf und falls die HTTP-Calls nicht zentral über eine saubere Clientarchitektur zum Server abgeführt werden, sondern munter aus den einzelnen Activities „geschossen“ werden, ist das Dilemma vollständig und ein unmittelbarer Rewrite des Clients steht bevor.

An dieser Stelle sei übrigens noch erwähnt: Es ist immer wieder verwunderlich, dass Android noch keinen „nativen“ JSON via REST De-facto-Mechanismus anbietet, der den Entwickler bei genau dieser Art von Architekturimplementierung unterstützt. Doch es ist davon auszugehen, dass mit zunehmendem Reifegrad von Android auch an dieser Stelle nachgebessert wird, sodass mittel- bis langfristig der Einsatz von Hilfsbibliotheken und Frameworks ad acta gelegt werden kann.

Um das hier dargestellte Rewrite-Szenario zu umschiffen, bietet sich der Einsatz eines clientseitigen „JSON via REST“-Helfers an, dieser sollte folgende Merkmale aufweisen:

  • Einfaches Ansprechen von serverseitigen REST-Ressourcen (ohne für einen Call jeweils einen „Siebenzeiler“ implementieren zu müssen)

  • Transformation der Responses in entsprechende Client-Domain-Objekte (keine object.getString('id')-Konstrukte)

  • Authen...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang