© best_vector/Shutterstock.com
Windows Developer
Teil 1: Entwicklung einer Location-based App mit OAuth und REST

Windows Phone meets Cloud

Auf REST basierende, verteilte Anwendungen gewinnen im mobilen Umfeld mit stetig steigender Tendenz an Bedeutung. Besonders in Kombination mit ortsabhängigen Diensten ergeben sich sehr interessante Möglichkeiten. Begleiten Sie mich durch die folgenden Artikel von der App-Idee über die Realisierung auf der Windows-Phone-8-Plattform bis hin zur Portierung der App auf die Windows-8-Plattform.

Matthias Fischer


ArtikelserieTeil 1: Kommunikation und AuthentifizierungTeil 2: Verarbeitung und Darstellung von Informationen

Während ich in Berlin unterwegs war, wurde ich auf das Angebot der Firma car2go [1] aufmerksam, die ihren Kunden Autos innerhalb des jeweiligen Geschäftsgebiets eines Standorts mittels eines zeitbasierten Preismodels zur Verfügung stellt (Abb. 1).

Abb. 1: Webseite von car2go

car2go bietet unter http://bit.ly/apicar2go ein offenes API an, das jeder Entwickler in seiner eigenen Anwendung nutzen kann. Voraussetzung dafür ist ein gültiger API-Schlüssel, der nach einer unkomplizierten Registration der App-Idee kostenlos vom Betreiber des Diensts mitgeteilt wird.

In Zusammenarbeit mit dem Unternehmen möchte ich an dieser Stelle gern einen realen Dienst und eine reale App in das Zentrum stellen, anstelle eines „ausgedachten akademischen“ Beispiels.

Die Programmierschnittstelle basiert auf einer Kombination von REST und OAuth, wie sie auch von verschiedenen anderen Dienstanbietern verwendet wird. Im Gegensatz zu Windows 8 gibt es auf dem Windows Phone 8 kein Authentifikation-Helper-API für OAuth. Aus diesem Grund soll der erste Teil dieser Serie sich zunächst mit der Kommunikation und der Authentifikation gegenüber dem Dienst auseinandersetzen. Später wird es dann um die Verarbeitung und Darstellung der Informationen gehen.

Das REST-API

REST ist keine eigenständige Technologie oder Norm. Es ist eine Abkürzung für „Representational State Transfer“. Jedoch basiert REST auf normierten Technologien und Protokollen wie HTTP(S), XML oder JSON. Dahinter verbirgt sich die Idee, dass eine Ressource mithilfe einer eindeutigen Adresse (URI) gefunden und ggf. manipuliert werden kann. Vereinfacht könnte man sagen: ein URI je Tabelle bzw. Entity.

Beispielsweise ist den freien Fahrzeugen der URI http://www.car2go.com/api/v2.1/vehicles, den Parkplätzen der URI http://www.car2go.com/api/v2.1/parkingspots und den Tankstellen der URI http://www.car2go.com/api/v2.1/gasstations zugeordnet.

Diese Entities können ausgelesen und ggf. manipuliert werden. REST-basierte Dienste stellen (in der Regel) bis zu vier Aktionen zur Verfügung: Auslesen, Anlegen, Ändern, Entfernen. Im Sinne einer unkomplizierten Schnittstelle werden die HTTP-Verben (auch Methoden genannt) verwendet, um die möglichen Aktionen mit einem Entity des Diensts zu unterscheiden. Es gibt nicht den REST-Standard, aber die meisten Implementierungen nutzen die HTTP-Verben wie in Tabelle 1 dargestellt.

HTTP-VerbVerwendungGETAus...

Windows Developer
Teil 1: Entwicklung einer Location-based App mit OAuth und REST

Windows Phone meets Cloud

Auf REST basierende, verteilte Anwendungen gewinnen im mobilen Umfeld mit stetig steigender Tendenz an Bedeutung. Besonders in Kombination mit ortsabhängigen Diensten ergeben sich sehr interessante Möglichkeiten. Begleiten Sie mich durch die folgenden Artikel von der App-Idee über die Realisierung auf der Windows-Phone-8-Plattform bis hin zur Portierung der App auf die Windows-8-Plattform.

Matthias Fischer


ArtikelserieTeil 1: Kommunikation und AuthentifizierungTeil 2: Verarbeitung und Darstellung von Informationen

Während ich in Berlin unterwegs war, wurde ich auf das Angebot der Firma car2go [1] aufmerksam, die ihren Kunden Autos innerhalb des jeweiligen Geschäftsgebiets eines Standorts mittels eines zeitbasierten Preismodels zur Verfügung stellt (Abb. 1).

Abb. 1: Webseite von car2go

car2go bietet unter http://bit.ly/apicar2go ein offenes API an, das jeder Entwickler in seiner eigenen Anwendung nutzen kann. Voraussetzung dafür ist ein gültiger API-Schlüssel, der nach einer unkomplizierten Registration der App-Idee kostenlos vom Betreiber des Diensts mitgeteilt wird.

In Zusammenarbeit mit dem Unternehmen möchte ich an dieser Stelle gern einen realen Dienst und eine reale App in das Zentrum stellen, anstelle eines „ausgedachten akademischen“ Beispiels.

Die Programmierschnittstelle basiert auf einer Kombination von REST und OAuth, wie sie auch von verschiedenen anderen Dienstanbietern verwendet wird. Im Gegensatz zu Windows 8 gibt es auf dem Windows Phone 8 kein Authentifikation-Helper-API für OAuth. Aus diesem Grund soll der erste Teil dieser Serie sich zunächst mit der Kommunikation und der Authentifikation gegenüber dem Dienst auseinandersetzen. Später wird es dann um die Verarbeitung und Darstellung der Informationen gehen.

Das REST-API

REST ist keine eigenständige Technologie oder Norm. Es ist eine Abkürzung für „Representational State Transfer“. Jedoch basiert REST auf normierten Technologien und Protokollen wie HTTP(S), XML oder JSON. Dahinter verbirgt sich die Idee, dass eine Ressource mithilfe einer eindeutigen Adresse (URI) gefunden und ggf. manipuliert werden kann. Vereinfacht könnte man sagen: ein URI je Tabelle bzw. Entity.

Beispielsweise ist den freien Fahrzeugen der URI http://www.car2go.com/api/v2.1/vehicles, den Parkplätzen der URI http://www.car2go.com/api/v2.1/parkingspots und den Tankstellen der URI http://www.car2go.com/api/v2.1/gasstations zugeordnet.

Diese Entities können ausgelesen und ggf. manipuliert werden. REST-basierte Dienste stellen (in der Regel) bis zu vier Aktionen zur Verfügung: Auslesen, Anlegen, Ändern, Entfernen. Im Sinne einer unkomplizierten Schnittstelle werden die HTTP-Verben (auch Methoden genannt) verwendet, um die möglichen Aktionen mit einem Entity des Diensts zu unterscheiden. Es gibt nicht den REST-Standard, aber die meisten Implementierungen nutzen die HTTP-Verben wie in Tabelle 1 dargestellt.

HTTP-VerbVerwendungGETAus...

Neugierig geworden?


    
Loading...

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