SI-Screen: elderly interaction & service assistant

[toc]Das AAL-Forschungsprojekt Social Interaction Screen hat das Ziel die soziale Interaktion älterer Menschen mit ihrer Familie, Freunden und Bekannten aus der näheren Umgebung zu erleichtern und zu mehr realer sozialer Aktivität anzuregen. Vor diesem Hintergrund entsteht das nutzerorientierte soziale Interaktionswerkzeug elisa mit einer innovativen Benutzerschnittstelle für die Interaktion mittels dem Social Web. In diesem Beitrag stellen wir die Vision und die zentralen Konzepte von SI-Screen vor.

Ausgangssituation

Aktuell finden in ganz Europa im Rahmen des AAL Joint Programme umfangreiche Aktivitäten statt, um die Lebensqualität einer zunehmend älter werdenden Gesellschaft durch die Entwicklung neuer Technologien nachhaltig zu sichern. Das Ziel dieser Bemühungen besteht darin, neue Dienstleistungen und Technologien und insbesondere IKT zu entwickeln, um älteren Menschen so lange wie möglich ein selbstbestimmtes, unabhängiges und sozial integriertes Leben in ihren eigenen vier Wänden zu ermöglichen.

Das Ziel des AAL-Projektes SI-Screen ist die soziale Interaktion älterer Menschen mit ihrer Umwelt zu vereinfachen und zu unterstützen. Vor diesem Hintergrund arbeiten zehn europäische Partner an elisa, einem Tablet-Computer dessen Benutzerschnittstelle ganzheitlich auf die Bedürfnisse von Senioren ab Rentenalter ausgelegt ist. Die Interaktion und Kommunikation mit Familie und Freunden erfolgt unter Zuhilfenahme des Social Webs, mit dem Anliegen die soziale Bindung von Senioren zu fördern.

SI-Screen Vision

Die Benutzerschnittstelle von Desktop-Rechnern, Smartphones, Tablets etc. wurde vorwiegend für Personen konzipiert, die mehrere Stunden am Tag mit diesen Geräten arbeiten und den unterschiedlichsten Tätigkeiten nachgehen. Das Spektrum der Anwendungsmöglichkeiten reicht vom Stöbern im Internet über Dokumentenverarbeitung bis hin zur Anwendungsentwicklung.

[singlepic id=1156 w=618 float=center]

Der Nachteil für ältere Menschen besteht darin, dass sie durch die Vielzahl an Möglichkeiten überfordert sein können, insbesondere wenn sie zuvor keine oder nur wenig Erfahrung im Umgang mit Computern besitzen. Bei ihrer gezielten Suche nach Information oder Unterstützungsfunktion können sie beispielsweise die Orientierung verlieren oder die Angst aufkommen versehentlich einen „falschen“ Knopf zu drücken. Unsere Umfragen in Deutschland und Spanien haben ergeben, dass ältere Menschen vorwiegend ein Gerät benötigen, dass sie vorwiegend selbständig, ohne Anleitung und externe Hilfe, bedienen können.

elisa Tablet

Um dieser Anforderung gerecht zu werden gehen wir über die klassische Entwicklung einer Software-Anwendung hinaus. Mit elisa realisieren wir ein Tablet, dessen Möglichkeiten von älteren Menschen begreifbar sind und über dessen Design das Gerät mit einem eindeutigen Zweck verbunden wird. Dabei achten wir insbesondere auf eine moderne ästhetische Formgebung bei der Tablet Hardware, die auch für jüngere Generationen ansprechend ist und nicht als stigmatisierende Betonung des Alters unserer Zielgruppe wahrgenommen wird.

[singlepic id=1166 w=618 float=center]

[nggtags Gallery=SI-Screen+Tablet+Accessory]

Elisa unterscheidet sich sowohl im Endgerät als auch im Aufbau der grafischen Oberfläche von Tablets, die aktuell auf dem Markt erhältlich sind. Entgegen dem Trend eine möglichst dünne Display-Fassung aus Glas und Aluminum anzubieten, sehen wir einen breiten Rahmen mit einem Bezug aus Leder vor. Ein breiterer Rahmen verfügt über ausreichend Platz für die Ablage der Hände, ohne dass die Finger die Touch-Oberfläche berühren und versehentlich eine Funktion auslösen können. Ein integrierter Standfuß und Tragegriff sorgen für Stabilität sowohl während der Bedienung am Tisch, als auch für einen sicheren Transport bei der Mitnahme des Tablets.

elisa User Interface

Mit dem elisa UI entsteht eine klar strukturierte grafische Benutzerschnittstelle, die eine nachvollziehbare Navigation und einen konsistente Darstellung und Ablauf für jeden Funktionsbereich vorsieht. Für den ersten elisa Prototypen wurden insgesamt zwei Layout-Varianten konzipiert – das Inhalts-zentrische und das Personen-zentrische Layout.

Beim Inhalts-zentrischen Layout liegt die Betonung auf dem Zugang zu aufbereiteten Inhalten aus dem Web, ausgewählt nach persönlichen Präferenzen. Die in Magazin-Stil dargestellten Inhalte sollen dazu anregen auf lokale Interessengruppen und deren Aktivitäten aufmerksam zu werden, daran aktiv teilzunehmen und Gleichgesinnte dazu einzuladen.

Bei der Personen-zentrischen Gestaltung der elisa UI steht hingegen die soziale Interaktion mit Familie und Freunden im Vordergrund. Mit dem Ziel über aktuelle Geschehnisse von Vertrauten selbst bei großer örtlicher Entfernung auf dem Laufenden zu bleiben und die Möglichkeit zu bieten Personen mit gleichen Interessen zu finden oder verlorene Kontakte wieder herzustellen. Durch die Integration von bestehenden sozialen Netzwerken kann eine Brücke zur jüngeren Generation entstehen.

[singlepic id=1155 w=618 float=center]

[nggtags Gallery=SI-Screen+elisa+layout+content-centric]

[nggtags Gallery=SI-Screen+elisa+layout+person-centric]

Bei der elisa UI nehmen wir bewusst Abstand von der gegenwärtig dominierenden App-Metapher von Smartphones und Tablets. Unseren Beobachtungen zufolge werden Apps als inkonsistent in ihrem Funktionsumfang und grafischer Gestaltung wahrgenommen. Darüber hinaus setzen die verfügbaren Produkte voraus, dass der Endanwender administrative Aufgaben, wie z. B. die Installation und Konfiguration, selbständig übernehmen kann. Eine weitere Hürde für ältere Menschen ist oftmals die wiederholte Registrierung von Benutzerkonten für jede (Web-)Anwendung, bevor sie in den vollständigen Genuss der jeweiligen Funktionalität kommen.

[singlepic id=1184 w=618 float=center]

In SI-Screen steht der Nutzen und eine freudvolle Bedienung durch ältere Menschen an erster Stelle. Vor diesem Hintergrund haben wir für elisa Konzepte erarbeitet, um die unterschiedlichen Funktionen von Webdiensten über eine einheitliche Benutzerschnittstelle zur Verfügung zu stellen und die notwendigen administrativen Aufgaben zu reduzieren oder zumindest auf ein Person des eigenen Vertrauens übertragen zu können. Idealerweise können ältere Menschen die Vorteile des Social Webs nutzen, ohne selbst eine Mitgliedschaft beim jeweiligen Dienst beantragen zu müssen. Die Einmalanmeldung und Konsolidierung der Inhalte und Funktionalität des Social Webs verwirklichen wir über den sogenannten Social Software Integration Layer (SSIL).

Social Software Integration Layer

Der SSIL ist eine Server-basierte Software-Lösung, die elisa unterstützt mehrere Dienste des Social Webs über eine einheitliche Schnittstelle anzubinden. Zu diesem Zweck verdichtet der SSIL Profil-Informationen, Activity Streams (Status Updates) und Content Streams (Kommentare, Empfehlungen, Photos) von bestehenden SNS[ref]In elisa werden bspw. Facebook und Google+ als SNS unterstützt.[/ref], Social Content Sharing Plattformen[ref]In elisa werden bspw. Flickr und Picasa als Social Content Sharing Plattformen unterstützt.[/ref], Gruppenkalender[ref]In elisa wird bspw. Google Calender als Gruppenkalender unterstützt.[/ref] sowie Web Feeds[ref]In elisa werden bspw. Web Feeds von Artikel- oder Event-Webseiten bezogen.[/ref], Mailing-Listen und persönliche Blogs. Der SSIL verfügt über keine Benutzerschnittstelle, sondern ermöglicht elisa den Bi-Direktionalen Zugriff auf das Social Web.

[singlepic id=1185 w=618 float=center]

CommunityMashup

Für die Realisierung des SSIL setzen wir auf CommunityMashup, eine Personen-zentrische Mashup-Lösung die an der Forschungsgruppe Kooperationssysteme realisiert wird. CommunityMashup ist eine Service-orientierte Middleware, welche für jeden Endanwender Inhalte aus den verschiedenen SNS bezieht, zu einem einheitlichen Datenstrom (Awareness-Stream) verdichtet und anschliessend den elisa Tablets über eine REST API bereitstellt.

Um etwaige Zugangsbarrieren für technisch unerfahrene Senioren zu senken, wurde CommunityMashup um die Möglichkeit erweitert die Konfiguration von der Inhaltsbereitstellung zu trennen. Auf diese Weise erhalten ältere Menschen den Zugang zum Social Web, während die bereitstellenden Webdienste und deren Konfiguration vom Endanwender verborgen bleiben.

[singlepic id=1169 w=618 float=center]

Profile Admin UI

Die Konfiguration der Dienstzugriffe erfolgt über die Profile Admin UI. Mit Hilfe der Profile Admin UI können Vertrauenspersonen mittels Fernzugriff die administrativen Aufgaben für den Endanwender übernehmen. Konkret können Dritte im Bedarfsfall über eine Administrations-Webseite (temporär) dazu berechtigt werden, Benutzerzugänge zu bestehenden oder neuen E-Mail-Konten bzw. Web-Diensten im SSIL zu hinterlegen.

Auf diese Weise können ältere Menschen über ihre Einmalanmeldung auf ihrem elisa Tablet Zugriff auf die unterschiedlichen Dienste erlangen, ohne selbst einen Registrierungsvorgang durchführen zu müssen. Versierte Nutzer können weiterhin die Konfiguration von elisa übernehmen, sind aber ungezwungen und können zumindest einen Teil davon abgeben.

Service Integration

Unabhängig von der Administration können Familienmitglieder und Freunde mit Zugang zu sozialen Netzwerken einem elisa Nutzer Zugriff auf die eigenen Aktivitäten und publizierten Inhalte, wie Fotos oder geteilte Informationen, gewähren. Für Plattformen mit API-Key- oder OAuth-Unterstützung, wie z. B. Facebook oder Google+, ist für den Zugriff von elisa auf diesen Awareness-Stream keine Mitgliedschaft notwendig. Elisa ist bei ausgewählten Webdiensten als Anwendung registriert und mit Erlaubnis eines Mitglieds können Inhalte mit dem jeweiligen elisa Anwender geteilt werden.

Die Integration von Web-Diensten mittels SSIL geht über die Unterstützung von sozialen Netzwerken hinaus. Internetauftritte von lokalen Veranstaltern wie Theater, Museen, Kirchen Vereine oder Verbände, sowie Veröffentlichungen von Zeitungen oder Nachrichtenagenturen können beispielsweise über Web Feeds oder vergleichbare Datenquellen angebunden werden. Alternative Publikationsformen wie Newsletter werden in Zukunft über CommunityMashup ebenfalls unterstützt und können anschliessend abonniert werden.

Zusammenfassung und Ausblick

Das Ziel von SI-Screen ist die Realisierung eines Tablet Computers, der Inhalte und Funktionen über eine einheitliche und freudvolle Benutzerschnittstelle für ältere Menschen bereitstellt und zu sozialer Kommunikation und Aktivitäten im realen Leben anregt. Durch Übertragung der administrativen Vorgänge an Vertrauenspersonen können Senioren in die Vorzüge des Sozialen Webs gelangen, selbst wenn sie keine oder wenig Erfahrung im Umgang mit Computern haben.

Der erste Prototyp, eine klick-bare Demo-Anwendung der elisa UI, wurde im Januar 2012 fertig gestellt. In März und April 2012 wurden Senioren in Spanien und Deutschland zu den Hardware Designs und den beiden Layout-Varianten der grafischen Oberfläche befragt. Das Feedback fliesst in das gegenwärtige Design und Entwicklung des zweiten Prototypen ein. Über einen ISO 9241-9 Ergonomie-Test wird im Mai die Gebrauchstauglichkeit potentieller Tablet Computern evaluiert, deren Komponenten im zweiten Prototypen verarbeitet werden.

Danksagung

Dieser Beitrag steht im Zusammenhang mit dem Forschungsprojekt SI-Screen, das mit Mitteln des Bundesministeriums für Bildung, und Forschung (Förderkennzeichen 16SV3982), sowie durch das Europäische AAL Joint Programme (AAL-2009-2-088) gefördert wird. Das Vorhaben wird von einem Zusammenschluss aus zehn internationalen Partnern durchgeführt und von der Innovationsmanufaktur GmbH (ehemals SportKreativWerkstatt GmbH) koordiniert. Das Hardware-Design und Prototyping des elisa Produkts wird von Porsche Design Studio entwickelt. Die visuelle Gestaltung des Artikelbildes und der elisa UI erfolgt durch helios.bz. Die Koordination der Produkt- und Systementwicklung sowie die Integration von Social Software obliegt der Universität der Bundeswehr München. Weiterführende Informationen zu SI-Screen sind verfügbar unter http://www.si-screen.eu.

CommunityMashup – Ein erster Überblick

[toc] Das CommuntiyMashup ist eine Integrationslösung für Daten aus sozialen Diensten. Es vereinheitlicht und verbindet Daten aus den unterschiedlichsten Quellen. Hierbei steht im Sinne des „Social Web“ die Person im Vordergrund. Eine definierte Schnittstelle mit vorgefertigen Anwendungskompenten lässt eine einfache Verwendung der Daten in verschiedensten Anwendungsszenarien zu. Diese Seite gibt einen Überblick über die dem CommunityMashup zugrundeliegenden Konzepte und vermittelt einen Einblick in seine vielfältigen Verwendungsmöglichkeiten.

Ausgangssituation

Mit dem Erfolg von Web 2.0 im privaten und Enterprise 2.0 im unternehmensweiten Bereich veränderte sich die Art und Weise wie Informationen strukturiert und kosumiert werden.

[singlepic id=220 w=618 float=center]

Auswirkungen des Erfolg von Social Software

Im Zuge des immer verbreiteteren Einsatzes von Social Software auch im Unternehmenskontext vollzieht sich eine Entwicklung von einer datenzentrischen Systemsicht hin zu einer personzentrischen Perspektive. Soziale Netzwerke wie Facebook oder Microblogging Dienste wie Twitter sind nur zwei Arten von Diensten die Einzug in unser tägliches Leben gefunden haben. Insgesamt lässt sich beoachten, dass fast jeder Nutzer inzwischen mehr als einen Dienst benutzt, sei es wegen spezieller Funktionalitäten, den Personen die über den jeweiligen Dienst erreichbar sind oder schlichtweg um private und berufliche Nutzung zu trennen. So sind wir unter anderem gezwungen den richtigen Kanal zu wählen um Informationen zu konsumieren bzw. zu verteilen. Dies nährt den Wunsch nach einer Integrationslösung, die unsere Daten aus unterschiedlichen Diensten vereint ohne dabei ein neues zentralisiertes System zu schaffen. Insbesondere muss uns die Wahl der Dienste und die Art und Weise, wie wir diese nutzen wollen offen bleiben.

Mobile und ubiquitäre Nutzung

Eine weitere Veränderung der letzten Jahre lässt sich in der Nutzung verschiedenster Geräte, mit denen wir Informationen konsumieren, festhalten. Sei es mit dem Tablet zuhause im Wohnzimmer, unterwegs per Smartphone oder klassisch im Büro mit dem Desktoprechner. Hinzukommen ubiquitäre Systeme wie interaktive Wandbildschirme, welche die letzten Lücken unserer Informationsversorgung schließen. Eine zukunftsfähige Integrationslösung muss daher dem Nutzer die Möglichkeiten der freien Geräte- und Plattformwahl offen lassen.

Nutzerzentrische Aggregation verschiedener Quellen

Der Grundgedanke des Web 2.0 beinhaltet die starke Einbeziehung aller Nutzer bei der Erstellung von Inhalten und die Möglichkeit diese mit anderen Personen zu teilen. Mit der Integration von Daten aus uterschiedlichen Diensten entsteht der Wunsch diese untereinander mit zusätzlichen Informationen zu Verknüpfen und diese wiederum mit anderen zu teilen. Hierin liegt auch ein Kritikpunkt an aktuellen Integrationssystemen, die meist nur aus einer Single-User Perspektive getrieben sind. Beispielsweise ist die Verteilung der Information innerhalb einer Gruppe, wer welche Artikel zu einem gemeinsamen Interessensgebiet gelesen hat, aus dieser Perspektive unmöglich. Wobei die Artikel natürlich aus verschiedensten Quellen stammen können. Zusammen mit der personenzentrischen Sicht auf Daten, der Vielzahl verschiedenster genutzer Dienste und der Verwendung unterschiedlichster Geräte führt dies zum Wunsch einer neuen Integrationslösung für die wir im folgenden die Konzepte und Lösungsansätze vorstellen.

Grundidee

Das CommunityMashup verbindet die Inhalte aus verschiedensten sozialen Diensten. Dazu zählen beispielsweise Soziale Netzwerke wie facebook, Microblogging Dienste wie twitter oder Bild-Dienste wie flickr, aber auch spezielere wie beispielsweise der Referenzmanagement-Dienst Mendeley für wissenschaftliche Veröffentlichungen. Die Daten aus diesen Diensten werden über die Schnittstellen der Services abgerufen und über spezielle Adapter vereinheitlicht, so dass sie miteinander vermischt und verbunden werden können („mashup“). Die vereinheitlichten Daten werden anschließen wieder über spezielle Schnittstellen bereitgestellt. Hierbei wird auf unterschiedliche Anwendungsszenarien und deren spezielle Anforderung eingegangen, die insbesondere durch verschiedene Geräte und Plattformen beeinflusst sind. Wir unterscheiden ganz allgemein zwischen Web-Anwendungen, Desktop-Anwendungen und Anwendungen für mobile Geräte. Die folgende Grafik visualisiert diese Zusammenhänge noch einmal grafisch. Hierbei ist vorallem zu beachten, dass Daten nicht nur von den angebunden Diensten zu den Endbenutzer Anwendungen fließen, sondern auch in umgekehrter Richtung.
[singlepic id=603 w=618 float=center]

Model Driven Approach

Ausgehend von der Grundidee einer Integrationslösung für soziale Dienste, die Daten vereinheitlicht und über spezielle Schnittstellen wieder bereitstellt, stellt sich die Frage nach dem passenden Entwicklungsansatz. Erfahrungen haben gezeigt, dass Internetdienste sowie ihre ggf. vorhandenen Schnittstellen einer permanenten Änderung und Weiterentwicklung unterworfen sind. Dienste kommen und gehen bzw. sind populären oder unpopulärer ebenso verhält es sich mit ihren Funktionen und Schnittstellen. Um flexibel auf diesen kontinuierlichen Wandel reagieren zu können und dabei eine stetige Evolution der Integrationslösung zu ermöglichen, schlagen wir einen modellgetriebenen Ansatz vor. Dieser basiert auf einem dafür konzipierten personenzentrischen Datenmodell, das die Zusammenhänge in sozialen Diensten wiedergibt. Dieses Datenmodell und die darauf aufbauenden Anwendungskomponenten stellen wir im weiteren Verlauf näher vor.

Datenmodell

Untenstehende Abbildung zeigt die Kernelemente des personenzentrischen CommunityMashup-Datenmodells. Es enthält die drei Kernelmente Person, Organisation und Inhalt (Content). Organisationen wie auch Inhalte können hierarchisch strukturiert werden. Inhalte werden über eine Autor-Beziehung mit Personen verknüpft, diese wiederum können über Organisationen gruppiert werden. Personen-Objekte spiegeln jeweils reale Menschen wieder, d. h. für eine Person wird nicht ein eigenes Element für je benutzten Dienst erzeugt werden, vielmehr bilden alle verteilten Profile zusammen eine digitale Identität ab. Das Selbe gilt auch für die Profile von Organisationen. Jeder weitere Dienst trägt seine zusätzlichen Profilinformationen über Erweiterungs-Objekte (Extensions) bei. So bleibt auch der Bezug zur ursprünglichen Quelle erhalten.
[singlepic id=600 w=618 float=center]

Ein Kernkonzept des Datenmodells ist die bewusst offene Verwendung von Tags für Metainformationen, um ein Minimum von zusätzlichen Attributen für die einzelnen Daten-Objekte fix speichern zu müssen. Beispielsweise erhält eine Person nicht mehr zwei Attribute für die private und die berufliche E-Mail-Adresse, sondern Referenzen zu zwei E-Mail Objekten getaggt mit privat bzw. beruflich. Ein E-Mail Objekt lässt sich dann beispielsweise noch facebook taggen um so deren Verwendung auszuzeichnen. Dieses Verfahren wird auf alle Objekte des Datenmodells angewandt und erlaubt sehr flexible Such- und Filtermethoden und ermöglicht dadurch letztlich eine nutzungsoffene Verwendung der Integrationslösung.

Anwendungskomponenten

Mit der aus dem Datenmodell hervorgehend Abbildungsvorschrift, die es erlaubt Daten aus sozialen Diensten zu vereinheitlichen und miteinander zu verbinden, stellt sich die Frage, welche Teile einer konkreten Anwendung direkt vom vorliegenden Datenmodell abängen und somit ebenfalls automatisch aus dem Modell generiert werden können. Um eine nachhaltige und erweiterbare Lösung zu ermöglichen, ist es quasi ein Muss, dass alle diese direkt ableitbaren Teile automatisch bzw. zumindest semi-automatisch generiert werden. Die folgende Grafik gibt einen Überblick über die für das CommunityMashup relevanten, automatisch generierbaren Anwendungskomponenten:
[singlepic id=604 w=618 float=center]

Viele UML-Werkzeuge unterstützen mittlerweile die automatische Erzeugung einer (Java) Schnittstelle mit zugehörigen leeren Klassen und Methoden. Für eine durchgängige Lösung wird allerdings ausführbare Code mit einer Laufzeitumgebung (RunTime) benötigt. Diese kümmert sich beispielsweise um die Erzeugung von Objekten bzw. um die Bereitstellung von Methoden zur Manipulation solcher Instanzen. Ein zusätzlicher Event-Mechanismus erlaubt das Verfolgen dieser Änderungen. Eine weitere wichtige Anwendungskomponente stellt die Persistierung dar. Diese wird beispielsweise für Caching benötigt. Für die Persistierung von Daten ist eine Serialisierung und Deserialisierung der Objekte notwendig. Diese wird ebenfalls für den Datenaustaustausch über Web-Schnittstellen im XML-Format benötigt. Im Rahmen des CommunityMashup-Projektes wird aktuell eine durchgängige Werkzeugkette aufgebaut, die die automatische Erstellung dieser Komponenten ermöglicht. Wir wenden den gleichen modellgetrieben Ansatz auch auf ein Meta-Modell an, das die möglichen Konfigurationen des CommunityMashup beschreibt. Hierfür werden viele identische Komponenten benötigt, allerdings jeweils bezogen auf ein anderes Modell. Die Verwendung des Meta-Modells erlaubt es, Konfigurationen speichern und laden zu lassen (Persitierung) und beispielsweise aus Gründen der Fernwartung auch über eine Web-Schnittstelle abfragen und verändern zu lassen.

Service-Orientierte-Architektur

Alleine durch die oben beschrieben, aus einem Modell erzeugbaren Komponenten lässt sich noch keine gesamte Integrationslösung erstellen. Ziel des CommunityMashups ist nicht nur ein flexibles Entwicklungskonzept das durch den modellgetriebenen Ansatz erreicht wird, sondern auch eine flexible Systemarchitektur die aufgrund von Anforderungen wie Skalierbarkeit, Performance und Ausfallsicherheit eine Verteilung von Systemkomponenten zulässt. Diese Service-Orientierte-Architektur, muss sich dadurch auszeichnen, dass definierte Systemkomponenten als eigenständige Services mit definierten Schnittstellen realisiert werden. So lassen sich selbst zur Laufzeit einzelne Komponenten aktualisieren bzw. austauschen ohne die Verfügbarkeit des Gesamtsystems zu beeinflussen. Nachfolgende Abbildung zeigt ein exemplarisches verteiltes Szenario mit Client- und Server Komponenten.
[singlepic id=601 w=618 float=center]

Die Verbindung der Daten aus den eizelnen Quelldiensten (Source 1 bis Source n) wird auf einem Server durchgeführt und durch eine Konfiguration gesteuert. Jede dieser Quellkomponenten wird als eigener Service realisiert, der sich sich einzeln aktualiseren lässt, beispielsweise um auf die Änderung einer entfernten Schnittstelle zu reagieren.Java Intern überführen die dargestellten Quellkomponenten Daten der externen Dienste in das dem personenzentrische CommunityMashup-Datenmodell und tragen diese hierdurch sukzessive zu einem gemeinsamen Datensatz zusammen. Die zentrale CommunityMashup-Komponente stellt diesen Datensatz (ggf. je nach Bedarf gefiltert) wieder über eine Java Schnittstelle bereit. Darauf aufbauend lässt sich eine REST Schnittstelle hinzufügen, die die aggregierten und gefilterten Daten (zugriffsbeschränkt) über das Web verfügbar macht. Spezielle Anwendungskomponenten lassen nun eine Verwendung der Daten auf Client-Seite über eine identische Java API zu. Die je nach Client-Typ (im oben abgebildeten Beispiel eine klassische Desktop Anwendung in Kombination mit einem Android Mobile Device) speziell ausgeprägten Anwendungskomponenten kümmern sich im Hintergrund transparent um den Datenaustausch und verlagern je nach Client rechenintensive Aufgaben auf den Server.

CommunityMashup REST-Schnittstelle

[toc] Das CommunityMashup stellt Anwendungen eine auf Web2.0-Inhalte spezialisierte und auf einem personenzentrischen Datenmodell basierende Datenbasis zur Verfügung. Um Anwendern/Entwicklern generische Zugriffsmöglichkeiten auf diese Datenbasis zu ermöglichen, wurde im Rahmen einer Masterarbeit eine REST-Schnittstelle für das CommunityMashup entwickelt, die nachfolgend kurz vorgestellt wird

Problemstellung

Zu Beginn der Entwicklung des CommunityMashups wurde der Zugriff auf die Daten des Frameworks lediglich über eine Java-Schnittstelle ermöglicht, d.h. eine es nutzende Anwendung musste in Java implementiert sein und auf der gleichen Maschine wie das CommunityMashup laufen.Eine auf verschiedene Geräte oder Architekturen verteilte Nutzung wurde somit starkt erschwert (vgl. Abbildung links).

[singlepic id=582 h=270 float=left] [singlepic id=583 h=270 float=left]

Um diesem Problem zu begegnen, wurde das CommunityMashup im Rahmen einer Masterarbeit um eine REST-Schnittstelle erweitert. Mit Hilfe dieser Schnittstelle können verschiedenste Arten von Anwendungen (z.B. normale Anwendungen, Smartphone-Apps oder Widgets) auf unterschiedlichen Geräten auf die Daten eines oder mehrerer CommunityMashups zugreifen und diese verwenden sowie manipulieren (vgl. Abbildung rechts).

Verwendung der Schnittstelle

Die Schnittstelle kann prinzipiell von jeder Anwendung verwendet werden, die entsprechend der Schnittstellen-Dokumentation erstellt/konfiguriert wurde:

[singlepic id=581 w=518]

Da die Kommunikation mit der REST-Schnittstelle über das HTTP-Protokoll und damit potentiell dem gesamten Internet geschehen kann, ist die Anwendungsentwicklung sowohl was den Ort als auch die Architektur des Zielsystems betrifft vom CommunityMashup unabhängig.

Die REST-Schnittstelle wird vom CommunityMashup in Form eines Java-Servlets bereitgestellt, welches ebenfalls die Dokumentation der Schnittstelle enthält.

Beide können über die URL des CommunityMashup-REST-Services erreicht werden, der eine selbsterklärende Beschreibung der angebotenen Dienste bereithält. Unter anderem kann die Syntax der REST-Anfragen nachgeschlagen werden und die Anfragen können im Browser getestet werden, was bei der Entwicklung kompatibler Anwendungen hilft.

[singlepic id=595 w=618 float=center]

[singlepic id=584 w=618 float=center]

Technische Umsetzung

Um die REST-Schnittstelle mit der modellgetriebenen Entwicklung des CommunityMashups[ref]Vgl. https://soziotech.org/communitymashup/model-driven-approach/.[/ref] im Einklang zu halten, werden die dynamischen (vom Datenmodell des CommunityMashups anhängigen) Methoden und Funktionen mit Hilfe angepasster JET-Templates automatisch aus dem Modell generiert, was eine spätere manuelle Anpassung der Schnittstelle an Änderungen des CommunityMashups überflüssig macht:

[singlepic id=589 w=618 float=center]

Um den unauthorisierten Zugriff auf das CommunityMashup einzuschränken, wurde ein Sicherheitssystem entwickelt, das nur registrierten Anwendungen den Zugriff auf die Daten und Funktionen des CommunityMashups gestattet. Die Absicherung der REST-Anfragen geschieht durch eine Signatur, welche die Anfrage vor einer Manipulation schützt und den Absender der Anfrage eindeutig identifiziert.

Sicherheitssystem der Schnittstelle

Die Sicherheit der Daten des CommunityMashups wird durch die Verwendung sogenannter Message Authentication Codes (MAC) sichergestellt, welche auch bei anderen (REST)-Schnittstellen namhafter Online-Dienstanbieter wie Amazon, GoogleMaps oder Flickr verwendet wird. Dabeiwird neben der eigentlichen Anfrage der Hashcode der Anfrage und eines geheimen Schlüssels übermittelt, wodurch zum einen die Integrität der Nachricht und zum anderen die Identität des Absenders sichergestellt sind.

REST-Zugriff

Die folgenden Prozessdiagramme liefern einen kurzen Überblick über die Zugriffsmöglichkeiten auf das CommunityMashup über die REST-Schnittstelle, darunter auch über den Ablauf einer gesicherten REST-Anfrage:

[nggtags gallery=REST+Zugriff]