REST ohne Stress

Google Cloud Endpoints


Ideen für mobile Apps gibt es wie Sand am Meer. Daher wundert es nicht, dass man mit seiner Idee nicht alleine startet, sondern im Wettlauf mit anderen Teams. Oder der Kunde hätte die erste Version der App einfach nur gerne am liebsten schon vorgestern. Wie es möglich ist, dass zumindest das Thema Backend-Kommunikation kein Hindernis mehr darstellt, erfahren Sie hier.

Fast jede mobile App ist in der einen oder anderen Weise auf ein Backend angewiesen. Das Mittel der Wahl ist hier klassischerweise eine REST-Schnittstelle, über die JSON oder XML ausgetauscht wird. Obwohl es hier schon viele Frameworks (Jersey oder Restlet, Gson oder Jackson, SimpleXML) gibt, bleibt doch viel Boilerplate-Code zu schreiben. POJOs wollen annotiert, die Verbindung aufgebaut, Retry-Mechanismen eingebaut werden.

Und dann bleibt noch das Problem, wie man REST-Schnittstellen überhaupt beschreibt. Weder WSDL noch WADL haben sich hier bislang richtig durchgesetzt. Sowohl auf dem Server als auch auf dem Client muss die Schnittstelle jedenfalls erstellt und gepflegt werden. Kommt dann noch ein iOS-Client dazu, hat man diese Arbeit in Objective-C nochmals.

Google stellt Entwicklern mit den Cloud Endpoints ein mächtiges Werkzeug zur Verfügung, mit dem die REST-Schnittstelle im Backend und der nötige Clientcode auf geradezu magische Weise generiert werden können. In den nächsten Abschnitten beschreibe ich Schritt für Schritt anhand einer Beispielapplikation, wie man ein Cloud-Endpoints-Backend erstellt und dies aus einer Android-Applikation heraus aufruft. Auf iOS gehe ich nicht detailliert ein, kann aber aus eigener Projekterfahrung versichern, dass auch hier die generierten Client-Libraries einen guten Dienst tun.

Set-up

Als Entwicklungsumgebung wird Eclipse in der aktuellen Version (4.3, „Kepler“) verwendet. Mit dem Google-Plug-in für Eclipse [1] gelingen die Projektkonfiguration, das Deployment in die App-Engine sowie die Generierung der Client-Libraries noch komfortabler als per Kommandozeile. Falls noch nicht geschehen, kann unter dem gleichen Update-URL auch das Plug-in für Android-Entwicklung bezogen werden.

Für die Benutzung der App-Engine ist ein kostenloser Google-Account notwendig, mit dem unter app­engine.google.com eine neue Applikation mit eindeutigem Namen angelegt wird. Für mein Beispiel verwende ich iteratec-bib als Application Identifier. Weiterhin wird das App-Engine-SDK für Java [2] benötigt. Die weiteren Schritte sind nun:

  • Ein Backend-Projekt mit den fachlichen Ent...

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