<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soziotechnische Integration &#187; Jan Philipp Fiedler</title>
	<atom:link href="https://test.soziotech.org/author/jan-philipp-fiedler/feed/" rel="self" type="application/rss+xml" />
	<link>https://test.soziotech.org</link>
	<description>Ein Projekt mit der Forschungsgruppe Kooperationssysteme an der Universität der Bundeswehr München</description>
	<lastBuildDate>Mon, 15 Jun 2015 15:24:48 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>CommunityMashup REST-Schnittstelle</title>
		<link>https://test.soziotech.org/communitymashup-rest-schnittstelle/</link>
		<comments>https://test.soziotech.org/communitymashup-rest-schnittstelle/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 13:13:40 +0000</pubDate>
		<dc:creator><![CDATA[Jan Philipp Fiedler]]></dc:creator>
				<category><![CDATA[CommunityMashup]]></category>
		<category><![CDATA[Dienstintegration]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Studienarbeiten]]></category>
		<category><![CDATA[Authorisierung]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Schnittstelle]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=2015</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/632_crop_940x198_fotolia_12446708_subscription_l.jpg" width="618" height="130" alt="CommunityMashup REST-Schnittstelle" /></p>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 &#8230; <a href="https://test.soziotech.org/communitymashup-rest-schnittstelle/">Weiterlesen <span class="meta-nav">&#8594;</span></a><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fcommunitymashup-rest-schnittstelle%2F&amp;action_name=CommunityMashup+REST-Schnittstelle&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss yarpp-related-none'>

Keine ähnlichen Artikel.
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/632_crop_940x198_fotolia_12446708_subscription_l.jpg" width="618" height="130" alt="CommunityMashup REST-Schnittstelle" /></p><p> <em>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 <a href="https://test.soziotech.org/glossar/rest/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für REST zu springen." onmouseover="tooltip.show('Representational State Transfer');" onmouseout="tooltip.hide();">REST</a>-Schnittstelle für das CommunityMashup entwickelt, die nachfolgend kurz vorgestellt wird</em></p>
<h2>Problemstellung</h2>
<p>Zu Beginn der Entwicklung des <a href="https://test.soziotech.org/communitymashup/" class="link-internal">CommunityMashups</a> 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).</p>
<p><div class="ngg-singlepic ngg-left wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/problemstellung.png" title="
			Aufbau des CommunityMashups vor der Erweiterung durch die REST-Schnittstelle.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/582__x270_problemstellung.png" alt="Aufbau des CommunityMashups" title="Aufbau des CommunityMashups" />
</a>
			<p class="wp-caption-text">Aufbau des CommunityMashups</p>
</div>
 <div class="ngg-singlepic ngg-left wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/zielsetzung.png" title="
			Verschiedene Szenarien zur Verwendung der REST-Schnittstelle des CommunityMashups.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/583__x270_zielsetzung.png" alt="Verwendung der REST-Schnittstelle" title="Verwendung der REST-Schnittstelle" />
</a>
			<p class="wp-caption-text">Verwendung der REST-Schnittstelle</p>
</div>
</p>
<p>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, <a href="https://test.soziotech.org/glossar/smartphone/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Smartphone zu springen." onmouseover="tooltip.show('Mobiltelefon, das im Vergleich zu herkömmlichen Mobiltelefonen mehr Computerfunktionalität und -konnektivität zur Verfügung stellt. Aktuelle Smartphones lassen sich meist über zusätzliche Programme (sogenannte Apps) vom Anwender individuell mit neuen Funktionen aufrüsten. Häufig vefügt ein Smartphone über einen Touchscreen. ');" onmouseout="tooltip.hide();">Smartphone</a>-<a href="https://test.soziotech.org/glossar/app/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für App zu springen." onmouseover="tooltip.show('App (englische Kurzform für application) bezeichnet im Allgemeinen jede Form von Anwendungsprogrammen. Im Sprachgebrauch sind damit mittlerweile jedoch meist Anwendungen für moderne Smartphones und Tablet-Computer gemeint, die über einen in das Betriebssystem integrierten Onlineshop bezogen und so direkt auf dem Smartphone installiert werden können.');" onmouseout="tooltip.hide();">Apps</a> oder Widgets) auf unterschiedlichen Geräten auf die Daten eines oder mehrerer CommunityMashups zugreifen und diese verwenden sowie manipulieren (vgl. Abbildung rechts).</p>
<h2>Verwendung der Schnittstelle</h2>
<p>Die Schnittstelle kann prinzipiell von jeder Anwendung verwendet werden, die entsprechend der Schnittstellen-Dokumentation erstellt/konfiguriert wurde:</p>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/mashup_erweitert.png" title="
			Aufbau des CommunityMashups nach der Erweiterung durch die REST-Schnittstelle.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/581__518x_mashup_erweitert.png" alt="Aufbau des erweiterten CommunityMashups" title="Aufbau des erweiterten CommunityMashups" />
</a>
			<p class="wp-caption-text">Aufbau des erweiterten CommunityMashups</p>
</div>

<p>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.</p>
<p>Die REST-Schnittstelle wird vom CommunityMashup in Form eines Java-Servlets bereitgestellt, welches ebenfalls die Dokumentation der Schnittstelle enthält.</p>
<p>Beide können über die <a href="https://test.soziotech.org/glossar/url/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für URL zu springen." onmouseover="tooltip.show('Unter URLs (Uniform Resource Locator) versteht man eindeutige menschenlesbare Adressen, die Inhalte wie beispielsweise Webseiten im Internet identifizieren und dadurch zugreifbar machen. URLs werden meist als Internetadressen bezeichnet. ');" onmouseout="tooltip.hide();">URL</a> 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.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/welcome.png" title="
			Der Einstieg in die Nutzung der REST-Schnittstelle des CommunityMashups ist serlbsterklärend.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/595__618x_welcome.png" alt="Webeinstieg der REST-Schnittstelle" title="Webeinstieg der REST-Schnittstelle" />
</a>
			<p class="wp-caption-text">Webeinstieg der REST-Schnittstelle</p>
</div>

<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/screenshot.png" title="
			Ein Screenshot der Dokumentation der REST-Schnittstelle des CommunityMashups.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/584__618x_screenshot.png" alt="Dokumentation der Schnittstelle" title="Dokumentation der Schnittstelle" />
</a>
			<p class="wp-caption-text">Dokumentation der Schnittstelle</p>
</div>

<h2>Technische Umsetzung</h2>
<p>Um die REST-Schnittstelle mit der modellgetriebenen Entwicklung des CommunityMashups <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-2015-1" href="#note-2015-1" onmouseover="tooltip.show('Vgl. https://test.soziotech.org/communitymashup/model-driven-approach/.');" onmouseout="tooltip.hide();"><sup>1</sup></a> im Einklang zu halten, werden die dynamischen (vom Datenmodell des CommunityMashups anhängigen) Methoden und Funktionen mit Hilfe angepasster <a href="http://www.eclipse.org/modeling/m2t/?project=jet#jet" title="JET-Templates" target="_blank" class="link-external">JET-Templates</a> automatisch aus dem Modell generiert, was eine spätere manuelle Anpassung der Schnittstelle an Änderungen des CommunityMashups überflüssig macht:</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/jet.png" title="
			Die Verwendung von JET-Templates im Eclipse Modelling Framework und in der REST-Schnittstelle des CommunityMashups.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/589__618x_jet.png" alt="Die Verwendung von JET-Templates" title="Die Verwendung von JET-Templates" />
</a>
			<p class="wp-caption-text">Die Verwendung von JET-Templates</p>
</div>

<p>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.</p>
<h2>Sicherheitssystem der Schnittstelle</h2>
<p>Die Sicherheit der Daten des CommunityMashups wird durch die Verwendung sogenannter <a href="http://en.wikipedia.org/wiki/Message_authentication_code" title="Wikipedia: Message Authentication Code" target="_blank" rel="nofollow" class="link-external">Message Authentication Codes</a> (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.</p>
<h2>REST-Zugriff</h2>
<p>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:</p>

<div class="ngg-galleryoverview" id="ngg-gallery--20150">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-585" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/communitymashup/access.png" title="
			Dieses Schaubild zeigt den Ablauf eines Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle, welche lediglich als Vermittler zwischen dem Nutzer und dem CommunityMashup dient.			"  >
								<img alt="Dieses Schaubild zeigt den Ablauf eines Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle, welche lediglich als Vermittler zwischen dem Nutzer und dem CommunityMashup dient." src="https://test.soziotech.org/wp-content/uploads/communitymashup/thumbs/thumbs_access.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Zugriff über die REST-Schnittstelle</p>
		</div>
	</div>
			
	<div id="ngg-image-586" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/communitymashup/access_auth.png" title="
			Dieses Schaubild zeigt den Ablauf eines gesicherten Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle. Die REST-Anfrage wird zunächst auf ihre Integrität getestet, danach wird geprüft ob die anfragende Anwendung über ausreichende Rechte verfügt. Trifft beides zu wird die Anfrage an das CommunityMashup weitergeleitet.			"  >
								<img alt="Dieses Schaubild zeigt den Ablauf eines gesicherten Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle. Die REST-Anfrage wird zunächst auf ihre Integrität getestet, danach wird geprüft ob die anfragende Anwendung über ausreichende Rechte verfügt. Trifft beides zu wird die Anfrage an das CommunityMashup weitergeleitet." src="https://test.soziotech.org/wp-content/uploads/communitymashup/thumbs/thumbs_access_auth.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Gesicherter Zugriff über die REST-Schnittstelle</p>
		</div>
	</div>
			
	<div id="ngg-image-587" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/communitymashup/access_auth_nonce.png" title="
			Dieses Schaubild zeigt den Ablauf eines mit einer Nonce gesicherten Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle. Der Ablauf entspricht dem des normalen gesicherten Zugriffs, durch die Verwendung einer Nonce (Number used Once), welche nur für eine Anfrage gültig ist wird ein Replay-Angriff, d.h. das wiederholte senden der gleichen Anfrage, verhindert.			"  >
								<img alt="Dieses Schaubild zeigt den Ablauf eines mit einer Nonce gesicherten Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle. Der Ablauf entspricht dem des normalen gesicherten Zugriffs, durch die Verwendung einer Nonce (Number used Once), welche nur für eine Anfrage gültig ist wird ein Replay-Angriff, d.h. das wiederholte senden der gleichen Anfrage, verhindert." src="https://test.soziotech.org/wp-content/uploads/communitymashup/thumbs/thumbs_access_auth_nonce.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Gesicherter Zugriff über die REST-Schnittstelle</p>
		</div>
	</div>
			
	<div id="ngg-image-588" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/communitymashup/access_unauth.png" title="
			Dieses Schaubild zeigt den Ablauf eines unauthorisierten Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle.			"  >
								<img alt="Dieses Schaubild zeigt den Ablauf eines unauthorisierten Zugriffs auf die Daten des CommunityMashups über die REST-Schnittstelle." src="https://test.soziotech.org/wp-content/uploads/communitymashup/thumbs/thumbs_access_unauth.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Unauthorisierter Zugriff auf die REST-Schnittstelle</p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

<img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fcommunitymashup-rest-schnittstelle%2F&amp;action_name=CommunityMashup+REST-Schnittstelle&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class="simple-footnotes"><h2 class="notes">Quellen und Fußnoten:</h2><ol><li id="note-2015-1">Vgl. <a href="https://test.soziotech.org/communitymashup/model-driven-approach/" class="link-internal">https://test.soziotech.org/communitymashup/model-driven-approach/</a>. <a class="simple-footnote-backlink" href="#return-note-2015-1">&#8617;</a></li></ol></div><div class='yarpp-related-rss yarpp-related-none'>
<p>Keine ähnlichen Artikel.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/communitymashup-rest-schnittstelle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
