Integration von Google-Apps Diensten in eigene Applikationen


Trabajo de Seminario, 2008

38 Páginas


Extracto


INHALTSVERZEICHNIS

1 Einleitung

2 Aller Anfang ist schwer

3 GData
3.1 Authentifizierung
3.2 Java Authentifizierung

4 Kalender
4.1 Beispielanwendung
4.2 Anmeldung
4.3 Kalenderliste
4.4 Events anlegen
4.5 Events abrufen

5 YouTube
5.1 Beispielanwendung
5.2 Anmeldung
5.3 Video Suche
5.4 Abspielen von Videos

6 Kontakte
6.1 Beispielanwendung
6.2 Anmeldung
6.3 Kontakte darstellen
6.4 Kontakte anlegen
6.5 Kontakte l öschen

7 Blogger
7.1 Beispielanwendung
7.2 Anmeldung
7.3 Blogeinträge darstellen
7.4 Blogeinträge erstellen
7.5 Blogeinträge l öschen

8 Charts

9 Maps

10 Ausblick

Literatur

1 EINLEITUNG

GOOGLE ist heute jedem Computerbenutzer ein Begriff. Das 1996 ge- gr ündete, in Mountain View (Kalifornien, USA) ansässige Unternehmen bestimmte und bestimmt die Entwicklung des Internets aktiv mit. Als die bei- den Gr ünder, Lary Page und Sergey Bryn, mit Hilfe eines Risikokapitalgebers den Startup[1] von Google planten, war ihr Ziel bereits definiert. Es besteht darin, die Information der Gesellschaft zu ordnen und allen Menschen zur Verf ügung zu stellen. Dieses Ziel realisierten sie als erstes mit der bekannten Suchmaschine, die laut Statistikseite www.webhits.de einen Marktanteil in Deutschland hat, der über 90% liegt.

Die Suchmaschine ist wohl der bekannteste Dienst in der Palette der Google Produkte. Jedoch sind viele andere Dienste des Unternehmens stark im Kom- men. So liest man in den hiesigen Medien ständig über Dienste wie Google Maps, Google Mail oder Google Kalender. Was diese Dienste darstellen und wie ein Entwickler mittels der Programmiersprache Java auf diese Dienste zugreift, bzw. sie in eigene Applikationen einbaut, wird in den nachstehenden Kapiteln beschrieben.

Um die Integration der Dienste so anschaulich wie m öglich zu machen, geh ört zu diesem Dokument eine Java Anwendung, die kostenlos über die Autoren dieser Arbeit bezogen werden kann. Anhand dieser Beispielanwen- dung wird unter anderem gezeigt, wie man sich mittels der Java Client Library bei Google anmeldet und Dienste wie Mail, Maps, Blogger oder Kalender benutzt und verarbeitet. Um jedoch mit der Integration der Dienste beginnen zu k önnen, m üssen einige Voraussetzungen, die in Kap. 2, näher beschrieben werden, erf üllt sein.

2 ALLER ANFANG IST SCHWER

Um mit den Google Services umgehen zu k önnen, sind diverse Grundvor- aussetzungen zu erf üllen. Die Erste ist das HTTP Protokoll. Da die Kommu- nikation mit den Diensten über das Internet abläuft, ist ein Verständnis des Protokolls unbedingt notwendig. Des Weiteren werden die meisten Google Dienste mit so genannten ”ClientLibrarys“ausgeliefert.Eine Client Library ist eine Schnittstelle von einer Programmiersprache zu den darunter liegen- den Protokollen. Das von Google verwendete Protokoll nennt sich ”Google Data API“ und wird in Kap. [3] genauer beschrieben. In diesem Dokument und in der dazu geh örenden Beispielapplikation wird ausschließlich die Java Library benutzt. D.h. das Beherrschen der Programmiersprache Java in der Version [5] oder h öher ist unbedingt notwendig, um den einzelnen Kapiteln folgen zu können.

Die Java Client Library wird als JAR[2] Datei von Google ausgeliefert und kann kostenlos über http://code.google.com/p/gdata-java-client/downloads/list bezogen werden. F ür die Beispielanwendung wird die Version 1.16.4 der Library benutzt. Als erstes sollte die Datei ”gdata-src.java-[1].[16].[4]“herunterge- laden werden. Anschließend muss die Build Konfiguration der API bearbeitet werden. Die Datei ”gdata/java/build-src/build.properties“imentpackten Verzeichnis enthält Pfadangaben zu drei weiteren JAR Dateien, die f ür die Kompilierung der Library ben ötigt werden. Die Archiv Dateien activation.jar, mail.jar und servlet.jar sind Bestandteil der meisten Applikationsserver wie JBoss oder Glassfish und k önnen von diesen verwendet werden. Um die Library zu kompilieren wird Ant[3] verwendet. Der Ant Befehl lautet: ”ant -f build-src.xml“ und sollte aus dem Verzeichnis ”gdata/java“ über eine Konsole ausgef ührt werden.

Ist die Kompilierung erfolgreich verlaufen, befinden sich im Verzeichnis ”gda- ta/java/lib“ die ben ötigten JAR Dateien. Diese sind insgesamt [21] St ück und sollten dem Klassenpfad eines Java Projektes, welches die Klassen verwendet, hinzugef ügt werden. F ür die Beispielanwendung wird Eclipse in Version [3].[3].[2] als IDE[4] benutzt. Dort sind die Google JAR Dateien bereits dem Klassenpfad hinzugef ügt und m üssen nicht separat herunter geladen und kompiliert wer- den. Die Beispielanwendung kann über die ”Import“FunktionvonEclipse direkt als Java Projekt in den Workspace importiert werden. Die nachstehenden Kapitel verwenden diese Anwendung, um den Einsatz der Client Library zu demonstrieren. Eine weitere Voraussetzung, um die Google Dienste zu verstehen, ist XML. Das GData Protokoll basiert auf XML. Die Konzepte des Protokolles werden später ausf ührlich erklärt. Um dieses einzusetzen, ist der vertraute Umgang mit Java nicht zwingend notwendig. Lediglich dieses Dokument benutzt die Client Library in Java. Google stellt den Entwicklern noch weitere APIs zur Verf ügung. Diese gibt es bisher in den Programmiersprachen: Java, PHP, Object-C, Python, .NET und JavaScript. Falls diese preferiert werden, emp- fiehlt sich das Lesen der jeweiligen Library Dokumentation unter http://code.google.com/apis/gdata/clientlibs.html.

Eine der wichtigsten Voraussetzungen, um mit den Google Diensten inter- agieren zu k önnen, ist allerdings ein aktiver Google Account. Google be- nutzt f ür alle seine Dienste ein und denselben Account. D.h. ein Benutzer muss sich nur einmal anmelden und kann sich mit diesem Account f ür alle Dienste freischalten lassen. Ein sogenanntes ”GoogleKonto“kann unter https://www.google.com/accounts/NewAccount kostenlos angelegt werden. In den Kontoeinstellungen k önnen anschließend die einzelnen Dienste, wel- che auch in den nachstehenden Kapiteln benutzt werden, freigeschaltet werden.

3 GDATA

Google Services sind, wie auch Webservices[5], sogenannte Remote Services. Das bedeutet, dass das Codesegment, welches eine Anfrage bearbeitet, auf einem Server von Google liegt. Also muss der Entwickler, egal ob von ei- ner Web- oder Desktopanwendung aus, mit den Google Servern kommuni- zieren. Anders als bei den meisten Webservices, denen SOAP[6] zu Grunde liegt, benutzen die Google Dienste ein eigenes Protokoll. Dieses Protokoll basiert, wie schon erwähnt, auf XML[7] und nennt sich kurz ”GoogleDataAPI“oder ”GData“.DieoriginalDokumentationdesProtokollsliegtaufderSeite: http://code.google.com/apis/gdata/overview.html und kann dort kostenlos gelesen werden.

GData basiert im wesentlichen auf Atom 1.0, inkl. dem Atom Publishing Protokoll[8], und RSS 2.0. Die Unterschiede der beiden Protokolle k önnen in Quelle [1] nachgeschlagen werden. Die Kommunikation mit den Diensten erolgt über HTTP-Request und HTTP-Response, wobei die Nachrichten im GData Format stehen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1. Features von GData, Quelle [2]

In Abbildung 1 werden die Features von GData den zugrundeliegenden Protokollen, Atom und RSS gegen über gestellt. Ein tokoll diese Fähigkeit besitzt, wohingegen ein ”Y“gibtanobdasPro- ”N“dasnichtVorhanden- sein darstellt. Wobei die markantesten Änderungen in der Fähigkeit zur Nebenläufigkeit, Authorisierung und der M öglichkeit Queries abzusetzen bestehen. Am besten lässt sich eine Kommunikation über das GData Protokoll an einem Beispiel erklären.

Das Grundkonzept in der Kommunikation liegt darin, dass der Client (Web oder Desktop) eine Anfrage an den Service stellt und eine Antwort in Form eines Feeds erhält. Feeds sind, wie auch bei RSS, Daten in einer XML Se- quenz zusammengefasst. Also stellt der Client z.B. eine Anfrage mit dem Inhalt: ”GET/myFeed“.DieseenthälteinHTTP-GET-RequestfürdenFeed ”/myFeed“,wobei ”/myFeed“indenmeistenFälleneineUrldarstellt.

Listing [1]. Abfragen eines Feeds

Abbildung in dieser Leseprobe nicht enthalten

Listing 1 enthält eine Antwort des Dienstes, welche eine HTTP Header Mes- sage mit dem Wert 200 enthält. Diese steht f ür eine erfolgreiche Kommu- nikation. Der Inhalt des Feeds ist, wie zu sehen, eine XML Sequenz mit Metadaten. D.h. ohne wirklichen Inhalt, lediglich Daten wie id, title oder link etc.

Tabelle 1 zeigt die verschiedenen HTTP-Request Methoden und die ihnen zugeordneten Funktionalitäten.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 1

HTTP-Request mit Funktion

Um die volle Funktionalität von GData Feeds zu verstehen, wird auf die Quelle [3] verwiesen. Diese stellt ein umfassendes Referenzwerk dar.

3.1 Authentifizierung

Ein etwas spezielleres Thema ist die Authentifizierung von Benutzern bei einem Google Dienst. Bei der Authentifizierung wird zwischen zwei Metho- den unterschieden, dem ”ClientLogin“unddem ”AuthSub“.Der AuthSub ist speziell f ür Webapplikationen gedacht und wird an dieser Stelle nicht näher erläutert. Wohingegen der ClientLogin f ür Desktopanwendungen ge- dacht ist, die sich mit einem ”SingleUser“anmeldenmöchten.Beidieser Anmeldung werden mittels einem HTTP-POST-Request Daten wie Benutzer- name, Passwort und dem zu verwendenden Dienst über eine sichere HTTPS[9] Verbindung an ”https://www.google.com/accounts/ClientLogin“gesendet. Sollte die Anmeldung erfolgreich verlaufen sein, so wird als Response ein alphanumerischer String zur ück gesendet, der mit dem Label hen ist. Dieser String wird anschließend benutzt, um einen ”Auth“verse- ”Authentication Header“ zu erzeugen. Bei jeder nachfolgenden Kommunikation wird dieser HTTP-Header mitgesendet, um eine Authentifizierung zu bestätigen. Diese aktive Verbindung nennt sich ”Token“undkannbeiInaktivitätauchablau- fen und somit ung ültig werden. Dies zwingt den Benutzer zu einer Neuameldung. Tabelle [2] zeigt die m öglichen Antworten bei einem fehlerhaften Anmeldeversuch.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 2

HTTP-Response von fehlerhaften Anmeldungen

Für weiterf ührende Information bez üglich der beiden Anmeldemethoden soll auf die Quelle [4] verwiesen sein, diese stellt eine ausf ührliche Dokumentation von Googles Loginmechanismus dar.

3.2 Java Authentifizierung

Die Datei ”com.servix.gui.tabs.GData.java“inderBeispielanwendungenthält ein Codesegment, welches die Anmeldung eines Google Accounts über den Mail Service realisiert.

Listing [2]. Java Google Anmeldung

Abbildung in dieser Leseprobe nicht enthalten

Listing 2 zeigt die Anmeldung bei GoogleMail. Über die Klasse ”Google- Service“ wird ein Objekt erzeugt, welches Parameter, wie zu verwendender Service und Applikationsname ben ötigt. Der Applikationsname kann frei gewählt werden. Über die Methode ”setUserCredentials“wirdanschließend der Benutzername und das Passwort gesetzt. Diese Methode vollzieht auch schon die eigentliche Anmeldung. Bei einer fehlerhaften Anmeldung wird eine ”AuthenticationException“ausgelöst.SolltedieAnmeldungerfolgreich verlaufen sein, so wird f ür alle nachfolgenden Service Aufrufe der durch diese Anmeldung generierte Authentication Header verwendet. Abbildung [2] zeigt die Beispielanwendung beim Anzeigen des Login Bildschirms.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung [2]. Anmeldebildschirm der Beispielanwendung

4 KALENDER

Einer der gr ößten und bekanntesten Google Dienste ist der Kalender. Google gibt dort dem Benutzer die M öglichkeit, Termine zu verwalten. Dies beinhaltet die Erstellung, Bearbeitung und L öschung von Terminen inkl. deren Details anhand eines ausgekl ügelten Webfrontends.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3. Google Kalender Frontend

Abbildung 3 zeigt dieses Webfrontend. Wie zu sehen ist, steht dem Benutzer eine Zeittabelle zur Verf ügung, in der via Mauseingabe Termine auf bestimm- te Zeiten gelegt werden k önnen. Des Weiteren besteht die M öglichkeit, Ter- mine zu ver öffentlichen und Freunde über Email einzuladen. D.h. es besteht eine sharing Funktion, welche die Koordination von gemeinsamen Terminen regelt. Eine weitere Funktionalität ist die Erinnerungsfunktion, es besteht die M öglichkeit eine Erinnerung über Email, Popup oder per SMS zu aktivieren. F ür die Integration in eigene Applikationen stellt Google in den Client Li- brarys diverse Klassen f ür die Interaktion mit dem Kalender bereit. Die Voraussetzung f ür die Verwendung der Library mit dem Kalender ist die Aktivierung des Kalenderdienstes in der Google Konto übersicht. Dort wird auch gleich ein Standard Kalender eingerichtet, in dem alle Termine stan- dardmäßig eingetragen werden. Die volle Dokumentation f ür die API“ ist unter Quelle [5] verf ügbar.

4.1 Beispielanwendung

Die Beispielanwendung zum Kalender Dienst implementiert verschiedene Services. Zum einen k önnen Termine angelegt und abgerufen werden. Dies kann f ür verschiedene Kalender geschehen. Des Weiteren besteht die M öglichkeit neue Kalender anzulegen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4. Google Kalender Beispielanwendung

Abbildung 4 zeigt die Kalenderansicht der Beispielanwendung. Im oberen Teil k önnen Events angelegt werden. Diese werden im unteren, linken Be- reich angezeigt. Um Kalender anzulegen, wird der rechte, untere Bereich verwendet.

4.2 Anmeldung

Wie in Kap. 3.2 bereits zu sehen ist, bietet Google eine Service Klasse, welche die Anmeldemechanismen implementiert. Jeder Google Dienst, der über die Google Data API kommuniziert, hat eine eigene Service Klasse. Im Falle des Kalenders wäre dies ”com.google.gdata.client.calendar.CalendarService“. Diese Klasse ist ein direkter Nachfahre von der GoogleService Klasse und implementiert somit all ihre Methoden. Die Beispielanwendung realisiert die Kalenderinteraktion in der Klasse ”com.servix.gui.tabs.Calendar“.Listing [3] zeigt einen Auszug aus dieser Datei, welche die Anmeldung bei dem Kalenderdienst realisiert.

[...]


1 Firmengr ündung anhand einer Idee in der IT Branche.

2 Ein Java Archive (umgangssprachlich aufgrund der Dateiendung auch JAR-Datei genannt) ist eine ZIP-Datei, die zusätzliche Metadaten in einer Datei

3 http://ant.apache.org/

4 Integrierte Entwicklungsumgebung.

5 http://de.wikipedia.org/wiki/Webservice

6 Simple Object Access Protocol

7 Extensible Markup Language

8 http://ietfreport.isoc.org/idref/draft-ietf-atompub-protocol/

9 Hyper Text Transfer Protokoll Secure benutzt SSL/TLS f ür eine sichere Verbindung.

Final del extracto de 38 páginas

Detalles

Título
Integration von Google-Apps Diensten in eigene Applikationen
Universidad
Furtwangen University
Curso
SOA und Web2.0
Autores
Año
2008
Páginas
38
No. de catálogo
V93697
ISBN (Ebook)
9783640100583
Tamaño de fichero
1250 KB
Idioma
Alemán
Palabras clave
Integration, Google-Apps, Diensten, Applikationen, Web2
Citar trabajo
Holger Staudacher (Autor)Tobias Langenbacher (Autor), 2008, Integration von Google-Apps Diensten in eigene Applikationen, Múnich, GRIN Verlag, https://www.grin.com/document/93697

Comentarios

  • No hay comentarios todavía.
Leer eBook
Título: Integration von Google-Apps Diensten in eigene Applikationen



Cargar textos

Sus trabajos académicos / tesis:

- Publicación como eBook y libro impreso
- Honorarios altos para las ventas
- Totalmente gratuito y con ISBN
- Le llevará solo 5 minutos
- Cada trabajo encuentra lectores

Así es como funciona