<?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; Java</title>
	<atom:link href="https://test.soziotech.org/category/technologien/java/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>Verwendung von iBeacons unter Android</title>
		<link>https://test.soziotech.org/verwendung-von-ibeacons-unter-android/</link>
		<comments>https://test.soziotech.org/verwendung-von-ibeacons-unter-android/#comments</comments>
		<pubDate>Mon, 01 Jun 2015 10:47:35 +0000</pubDate>
		<dc:creator><![CDATA[Rene Krueger]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mobiles & Handhelds]]></category>
		<category><![CDATA[Tabletops & Tablet PCs]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[iBeacons]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Tablet]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=7950</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/1795_crop_940x198_ibeacons.jpg" width="618" height="130" alt="Verwendung von iBeacons unter Android" /></p>Der folgende Artikel befasst sich mit der Nutzung von iBeacons als Bluetooth Low Energy Lokalisierungshilfsmittel fürAndroid-Geräten. Nach einer kurzen Einführung in die grundsätzliche Funktionsweise von iBeacons werden Installationsanleitungen sowie Codebeispiele zur Verwendung von iBeacons mittels Estimote-SDK und AltBeacon bereitgestellt.  Begriff iBeacons &#8230; <a href="https://test.soziotech.org/verwendung-von-ibeacons-unter-android/">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%2Fverwendung-von-ibeacons-unter-android%2F&amp;action_name=Verwendung+von+iBeacons+unter+Android&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'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/moderne-android-tablet-devices-im-vergleich/" rel="bookmark" title="Moderne Android Tablet-Devices im Vergleich">Moderne Android Tablet-Devices im Vergleich </a></li>
<li><a href="https://test.soziotech.org/tablet-pilottest-mit-senioren/" rel="bookmark" title="Android Tablet-Computer im Pilottest mit Senioren">Android Tablet-Computer im Pilottest mit Senioren </a></li>
<li><a href="https://test.soziotech.org/surface-bluetooth-mobile-manager/" rel="bookmark" title="Surface Bluetooth Mobile Manager">Surface Bluetooth Mobile Manager </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/1795_crop_940x198_ibeacons.jpg" width="618" height="130" alt="Verwendung von iBeacons unter Android" /></p>
<p><em>Der folgende Artikel befasst sich mit der Nutzung von iBeacons als Bluetooth Low Energy Lokalisierungshilfsmittel fürAndroid-Geräten. Nach einer kurzen Einführung in die grundsätzliche Funktionsweise von iBeacons werden Installationsanleitungen sowie Codebeispiele zur Verwendung von iBeacons mittels Estimote-<a href="https://test.soziotech.org/glossar/sdk/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für SDK zu springen." onmouseover="tooltip.show('Software Development Kit; ist eine Sammlung von Werkzeugen und Anwendungen, um eine Software zu erstellen, meist inklusive Dokumentation. Mit diesem ist es Softwareentwicklern möglich, eigene darauf basierende Anwendungen zu erstellen. Grundsätzlich gibt es zu jeder Programmiersprache auch ein Software Development Kit - bei interpretierten Sprachen kann dies jedoch identisch mit der Laufzeitumgebung sein. ');" onmouseout="tooltip.hide();">SDK</a> und AltBeacon bereitgestellt. </em></p>
<h2>Begriff iBeacons</h2>
<p>Der Begriff iBeacon wurde von Apple 2013 eingeführt und steht als Markenname für ein auf Bluetooth Low Energy (BLE) bzw. Bluetooth 4.0 basierendes Produkt, das z.B. zur Indoor-Navigation genutzt werden kann. Hierbei stellt das iBeacon einen Sender dar, der in kontinuierlichen Zeitabständen Daten an entsprechende Empfangsgeräte (<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>, Tablet, …) sendet. Diese Daten können mittels einer speziellen <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();">App</a> genutzt werden, um beispielsweise die eigene Position zu ermitteln. Ein iBeacon zeichnet sich durch seine lange Laufzeit und vergleichsweise hohen Reichweite aus. Die Technologie wird von verschiedenen Herstellern angeboten, wobei die im Weiteren aufgeführten Tests und Beispiele unter Verwendung von Estimote-iBeacons durchgeführt wurden.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/ibeacons/tumblr_inline_nceojforam1ssljt8-1.png" title="
			Nutzung von iBeacons mit einem Smartphone, Quelle: http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/1794__618x_tumblr_inline_nceojforam1ssljt8-1.png" alt="Schematische Darstellung zu iBeacons " title="Schematische Darstellung zu iBeacons " />
</a>
			<p class="wp-caption-text">Schematische Darstellung zu iBeacons  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-7950-1" href="#note-7950-1" onmouseover="tooltip.show('Bildquelle: http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the.');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<h2>Nutzung</h2>
<p>Im folgenden Abschnitt werden die Vorraussetzungen für die Nutzung sowie die wesentlichen Daten und Begriffe, die für die Arbeit mit iBeacons relevant sind, aufgeführt.</p>
<h3>Voraussetzung</h3>
<p>Die Nutzung von iBeacons kann nur unter bestimmten Voraussetzungen erfolgen. Das jeweilige Mobile Device muss BLE / Bluetooth 4.0 unterstützen, was somit Geräte ab iOS7 und Android 4.3 umfasst.</p>
<p>Entsprechende Bibliotheken werden für IOS von Apple bereitgestellt. Android-Entwickler müssen hingegen auf Bibliotheken der jeweiligen Hersteller zurückgreifen, da Google keine offiziellen zur Verfügung stellt.</p>
<h3>Daten eines iBeacons</h3>
<p>Die Daten, die ein iBeacons sendet, sind im Folgenden Beispielhaft aufgeführt.</p>
<ul style="text-align: justify;">
<li>UUID: B9407F30-F5F8-466E-AFF9-25556B57FE6D</li>
<li>Minor: 1</li>
<li>Major: 2</li>
<li>RSSI: -55</li>
<li>measuredPower: 62</li>
</ul>
<p>Die nachfolgende Abbildung stellt die Funktion der jeweiligen Werte schematisch dar:</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/ibeacons/ibeacons_anwendungsbeispiel.png" title="
			Skizze der Funktionsweise von iBeacons			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/1793__618x_ibeacons_anwendungsbeispiel.png" alt="iBeacons Major, Minor und RSSI" title="iBeacons Major, Minor und RSSI" />
</a>
			<p class="wp-caption-text">iBeacons Major, Minor und RSSI</p>
</div>

<p>Ein beispielhafter Anwendungsfall ist die Kennzeichnung von Bereichen in einem Unternehmen mit mehreren Standorten. So würde jedes iBeacon des Unternehmens mit der gleichen UUID initialisiert werden. Jeder Standort erhält einen entsprechenden Major-Wert und ein eine Abteilung an einem Standort einen Minor-Wert. Unternehmen X verwendet also die UUID „B9407F30-F5F8-466E-AFF9-25556B57FE6D“ und Standort A und B jeweils die Major-Werte  „1“ bzw. „2“. Die Abteilung „I“ und „J“ werden jeweils mit den Minor „1“ und „2“ verknüpft. So ist nun Abteilung I an Standort B des Unternehmens X mit den entsprechenden Werten(UUID: „B9407F30-F5F8-466E-AFF9-25556B57FE6D“, Major: „2“, Minor: „1“) eindeutig identifizierbar. Die Distanz zu einem iBeacon lässt sich aus den Werten RSSI und measuredPower berechnen</p>
<h3>Monitoring, Ranging und Region</h3>
<p>Die Begriffe Monitoring und Ranging beschreiben die zwei Kommunikationsweisen zwischen iBeacons und Empfangsgeräten. Eine Region ist ein Bereich, der sich durch festgelegte Werte (UUID, Major und Minor) definiert. Eine Region umfasst je nach Initialisierung ein bis beliebig viele iBeacons.</p>
<p>Beim Monitoring wird überprüft, ob ein bestimmter Bereich (Region) betreten oder verlassen wurde. Hierbei wird in zeitlichen Abständen getrackt, ob bzw. ob keine iBeacons einer Region empfangen werden; dementsprechend können Programmabschnitte aufgerufen werden. Monitoring ist speziell für Hintergrundprozesse geeignet, da nur beim Eintreten der zuvor erwähnten Ereignisse ein Aufruf entsprechender Methoden erfolgt.</p>
<p>Im Gegensatz zum Monitoring handelt es sich beim Ranging um einen kontinuierlichen Aufruf von entsprechenden Methoden, da dauerhaft eine Aktualisierung der empfangenen iBeacons erfolgt. Ranging eignet sich daher für Vordergrundprozesse, in denen eine Aktualisierung der entsprechenden Daten (z.B. Distanz zum iBeacon) erforderlich ist.</p>
<h2>Verwendung unter Android</h2>
<p>Wie zu Beginn dieses Beitrags erwähnt, müssen bei für Android-Anwendung die SDKs der jeweiligen Hersteller verwendet werden, z.B. das von <a href="http://estimote.com/" target="_blank" class="link-external">Estimote</a>. Alternativ dazu wird mit dem OpenSource-Projekt <a href="http://altbeacon.org/" target="_blank" class="link-external">AltBeacon</a> ein entsprechendes SDK zur allgemein gültigen Nutzung bereitgestellt, das weiter unten ebenfalls betrachtet wird.</p>
<h3>Estimote</h3>
<p>Eine Beispielanwendung, die Monitoring und Ranging verwendet, ist im Folgenden dokumentiert.</p>
<p>Zunächst muss die estimote-sdk-preview.jar in das /libs Verzeichniss des Projekts kopiert werden. Im build.gradle File muss nun folgende Abhängigkeit hinzugefügt werden:</p>
<pre class="brush:jfx"> dependencies {
   compile files('libs/estimote-sdk-preview.jar')
 }
</pre>
<p>Folgende Zeilen müssen im Manifest (AndroidManifest.xml) ergänzt werden:</p>
<pre class="brush:jfx">&lt;uses-permission android:name="android.permission.BLUETOOTH" /&gt;
&lt;uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /&gt;
</pre>
<p>Anschließend muss der Service in der selben Datei deklariert werden. Dies geschieht innerhalb des Application Tags.</p>
<pre class="brush:jfx">&lt;service android:name="com.estimote.sdk.service.BeaconService" android:exported="false" /&gt;
</pre>
<p>Nun wird eine neue Activity erstellt und eine neue Region erzeugt, die alle Estimote-iBeacons umfasst. Außerdem wird ein BeaconManager erzeugt:</p>
<pre class="brush:jfx">private static final String ESTIMOTE_PROXIMITY_UUID = "B9407F30-F5F8-466E-AFF9-25556B57FE6D";
private static final Region ALL_ESTIMOTE_BEACONS = new Region("regionId",ESTIMOTE_PROXIMITY_UUID, null, null);
private BeaconManager beaconManager = new BeaconManager(this);
</pre>
<p>Als nächstes wird in der onStart()-Methode der BeaconManager mit dem Service verbunden und je nach Bedarf das Ranging bzw. Monitoring gestartet.</p>
<pre class="brush:jfx">@Override
protected void onStart() {
  super.onStart();
  beaconManager.connect(new BeaconManager.ServiceReadyCallback() {
    @Override public void onServiceReady() {
      try {
        beaconManager.startRanging(ALL_ESTIMOTE_BEACONS);
      } catch (RemoteException e) {
      }
    }
  });
}
</pre>
<p>Nun kann ein entsprechender Listener erzeugt und dem BeaconManager zugewiesen werden:</p>
<pre class="brush:jfx">beaconManager.setRangingListener(new BeaconManager.RangingListener() {
  @Override public void onBeaconsDiscovered(Region region, List&lt;Beacon&gt; beacons) {
    System.out.println(beacons);
  }
});
</pre>
<h3>AltBeacon</h3>
<p>Radius-Networks stellt mit <a href="http://altbeacon.org/" target="_blank" class="link-external">AltBeacon</a> eine gut dokumentierte Open-Source Lösung zu Apples iBeacons zur Verfügung. Standardmäßig erkennt die Bibliothek nur iBeacons, die nach dem AltBeacon Standard spezifiziert sind. Zur Interaktion mit z.B. iBeacons von Estimote oder anderer Hersteller muss der enthaltene BeaconParser <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-7950-2" href="#note-7950-2" onmouseover="tooltip.show('Vgl. https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/BeaconParser.html.');" onmouseout="tooltip.hide();"><sup>2</sup></a> verwendet werden. Beispiele zur Verwendung der Bibliothek können auf der entsprechenden <a href="https://altbeacon.github.io/android-beacon-library/samples.html" target="_blank" class="link-internal">GitHub-Seite</a> eingesehen werden.</p>
<h3>Vergleich der Frameworks</h3>
<p>Die Konfiguration des Estimote-SDK <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-7950-3" href="#note-7950-3" onmouseover="tooltip.show('Vgl. https://github.com/Estimote/Android-SDK.');" onmouseout="tooltip.hide();"><sup>3</sup></a> ist im Gegensatz zur Alternative AltBeacon einfacher, jedoch nur auf die entsprechenden iBeacons ausgelegt, sodass für den Einsatz anderer Hardware zusätzliche Bibliotheken eingebunden werden müssen. Zudem fehlen Methoden zur Entfernungsbestimmung, sodass die Berechnung selbst durchgeführt werden muss.</p>
<p>AltBeacon zeichnet sich durch seine Flexibilität und guten Dokumentation aus, jedoch muss zunächst der entsprechende BeaconParser erzeugt werden (siehe oben).</p>
<h2>Probleme der Technologie</h2>
<p>Die RSSI-Werte variieren sehr stark. Zum einen wird das empfangene Signal durch die Haltung des Device (Tablet, Smartphone) beeinträchtigt und zum anderen ist die Position des jeweiligen iBeacons entscheidend. Positioniert man dieses beispielsweise zwischen Regalen, so leidet das Signal je nach Position des Empfängers.</p>
<p>Aufgrund der Ungenauigkeit des Signals, sollten mehrere iBeacons möglichst mit größerem Abstand eingesetzt werden, um mögliche Störungen oder Überscheidungen der Signale zu vermeiden.</p>
<h2>Fazit</h2>
<p>Die Verwendung von iBeacons unter Android ist mit den entsprechenden Frameworks, die von den Herstellern bereitgestellt werden, mit geringem Aufwand möglich. Jedoch umfasst der Funktionsumfang der SDKs, die in diesem Beispiel zum Einsatz gekommen sind, nicht den der iOS-Bibliotheken.</p>
<p>Die Technologie könnte beispielsweise für die Kennzeichnung von bestimmten Bereichen in Gebäuden verwendet werden, sofern die iBeacons bzw. die Bereiche einen ausreichenden Abstand zu einander haben. Eine zufriedenstellende Indoor-Navigation ist jedoch nur schwer umsetzbar, da die Signale bisher zu störanfällig sind.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fverwendung-von-ibeacons-unter-android%2F&amp;action_name=Verwendung+von+iBeacons+unter+Android&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-7950-1">Bildquelle: <a class="link-external" href="http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the" title="Go to external Source" >http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the</a>. <a class="simple-footnote-backlink" href="#return-note-7950-1">&#8617;</a></li><li id="note-7950-2">Vgl. <a href="https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/BeaconParser.html" target="_blank" class="link-internal">https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/BeaconParser.html</a>. <a class="simple-footnote-backlink" href="#return-note-7950-2">&#8617;</a></li><li id="note-7950-3">Vgl. <a href="https://github.com/Estimote/Android-SDK" target="_blank" class="link-internal">https://github.com/Estimote/Android-SDK</a>. <a class="simple-footnote-backlink" href="#return-note-7950-3">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/moderne-android-tablet-devices-im-vergleich/" rel="bookmark" title="Moderne Android Tablet-Devices im Vergleich">Moderne Android Tablet-Devices im Vergleich </a></li>
<li><a href="https://test.soziotech.org/tablet-pilottest-mit-senioren/" rel="bookmark" title="Android Tablet-Computer im Pilottest mit Senioren">Android Tablet-Computer im Pilottest mit Senioren </a></li>
<li><a href="https://test.soziotech.org/surface-bluetooth-mobile-manager/" rel="bookmark" title="Surface Bluetooth Mobile Manager">Surface Bluetooth Mobile Manager </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/verwendung-von-ibeacons-unter-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multitouch-Entwicklung mit MT4j</title>
		<link>https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/</link>
		<comments>https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 20:12:35 +0000</pubDate>
		<dc:creator><![CDATA[Sebastian Jung]]></dc:creator>
				<category><![CDATA[Berichte]]></category>
		<category><![CDATA[Human Computer Interaction]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Largescreen]]></category>
		<category><![CDATA[Natural User Interfaces]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Anwendungsentwicklung]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Gestensteuerung]]></category>
		<category><![CDATA[MT4j]]></category>
		<category><![CDATA[Multitouch]]></category>
		<category><![CDATA[Natural User Interface]]></category>
		<category><![CDATA[Touchscreen]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=3646</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/891_crop_940x198_mt-application_2012-01-29_15-37-47.png" width="618" height="130" alt="Multitouch-Entwicklung mit MT4j" /></p>Dieser Artikel stellt den Auftakt einer Serie weiterer Berichte zu &#8222;ersten Schritten&#8220; mit aktuell verfügbaren Multitouch-Entwicklungsumgebungen dar. Innerhalb dieser Serie liefert der vorliegene Bericht einen Überblick über die Entwicklung von Multitouch-Anwendungen mit Multitouch for Java (MT4j). Das Framework bietet umfangreiche &#8230; <a href="https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/">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%2Fmultitouch-entwicklung-mit-mt4j%2F&amp;action_name=Multitouch-Entwicklung+mit+MT4j&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'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/konzeption-eines-analyserasters/" rel="bookmark" title="Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets">Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets </a></li>
<li><a href="https://test.soziotech.org/alternative-moeglichkeiten-zur-interaktion-mit-grossen-vertikalen-displays/" rel="bookmark" title="Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays">Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays </a></li>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/891_crop_940x198_mt-application_2012-01-29_15-37-47.png" width="618" height="130" alt="Multitouch-Entwicklung mit MT4j" /></p><p><em>Dieser Artikel stellt den Auftakt einer Serie weiterer Berichte zu &#8222;ersten Schritten&#8220; mit aktuell verfügbaren Multitouch-Entwicklungsumgebungen dar. Innerhalb dieser Serie liefert der vorliegene Bericht einen Überblick über die Entwicklung von Multitouch-Anwendungen mit <a href="http://www.mt4j.org" title="Zur Projekt-Website von MT4j" target="_blank" class="link-external">Multitouch for Java (<a class="glossaryLink" href="https://test.soziotech.org/glossar/mt4j/" title="Klicken Sie, um zum detaillierten Glossareintrag für MT4j zu springen." onmouseover="tooltip.show('\"Multitouch for Java\" ist ein Framework für die Entwicklung von Multitouch-Applikationen mit der objektorientierten Programmiersprache Java. ');" onmouseout="tooltip.hide();">MT4j</a>)</a>. Das Framework bietet umfangreiche Funktionalität für das Arbeiten mit Multitouch-Hardware und einfach adaptierbare Konzepte zur Entwicklung eigener Anwendungen. Im Folgenden wird nach einer kurzen Einführung die Einrichtung mit Eclipse erläutert, einige Beispielanwendungen vorgestellt sowie ein Minimal-Beispiel implementiert.</em></p>
<h2>Einführung</h2>
<ul>
<li>Java-Framework zur Entwicklung von Multitouch-Anwendungen</li>
<li>Verwendung verschiedener Komponenten (Bilder, Videos, 3D-Objekte)</li>
<li>Anbindung unterschiedlicher Hardware und Protokolle</li>
<li>10 vorhandene Multitouch-Gesten sowie Möglichkeit zur Erstellung von eigenen Gesten</li>
<li>Performante Darstellung durch <a href="https://test.soziotech.org/glossar/opengl/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für OpenGL zu springen." onmouseover="tooltip.show('Die \"Open Graphics Library\" ist eine programmiersprachenunabhängige Schnittstelle zur Entwicklung von 2D und 3D Grafiken. ');" onmouseout="tooltip.hide();">OpenGL</a></li>
</ul>
<h3>Demo</h3>
<p>Um vor der Vorstellung der technischen Details einen ersten Eindruck zu schaffen, demonstriert das folgende Beispielvideo die Funktionalität der mitgelieferten Kartenapplikation:</p>
<p><iframe width="640" height="480" src="http://www.youtube.com/embed/M9gpbl_26zY?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<h3>Historie</h3>
<p>Das MT4j-Framework wird vom <a href="http://www.iao.fraunhofer.de" title="Zum Internetauftritt des Fraunhofer-Instituts für Arbeitswirtschaft und Organisation" target="_blank" class="link-external">Fraunhofer-Institut für Arbeitswirtschaft und Organisation (<a class="glossaryLink" href="https://test.soziotech.org/glossar/iao/" title="Klicken Sie, um zum detaillierten Glossareintrag für IAO zu springen." onmouseover="tooltip.show('Fraunhofer-Institut für Arbeitswirtschaft und Organisation ');" onmouseout="tooltip.hide();">IAO</a>)</a> entwickelt und basiert (wie der Name schon sagt) auf der weit verbreiteten objektorientierten Programmiersprache Java. Im Herbst 2009 wurde das Framework unter Open Source-Lizenz veröffentlicht und wird seitdem durch die OpenSource-Gemeinde weiterentwickelt. Die Multitouch-Plattform übernimmt alle benötigten Aufgaben, wie beispielsweise die Erkennung von Multitouch-Gesten, deren Umsetzung in Events sowie die erforderliche Grafikausgabe. Es bietet eine umfangreiche Bibliothek mit  vorgefertigten Grafiken, Gesten und Schriften und ist sehr generisch  implementiert, sodass eigene Gesten und Grafiken problemlos hinzugefügt werden  können. Das Framework ist prinzipiell kompatibel zu allen Multitouch  Geräten, da es die Inputs der Hardware abstrahiert.  Als Grundlage hierfür wird die Anbindung an verschiedene <a href="https://test.soziotech.org/glossar/api/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für API zu springen." onmouseover="tooltip.show('Application Programming Interface (dt. Programmierschnittstelle)');" onmouseout="tooltip.hide();">APIs</a> (z.B. <a href="https://test.soziotech.org/glossar/tuio-2/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für TUIO zu springen." onmouseover="tooltip.show('TUIO ist ein Protokoll und eine API für Eingaben von Multitouch-Screens ');" onmouseout="tooltip.hide();">TUIO</a>) bereitgestellt, welche die Eingaben des Touchscreens interpretieren. Die Darstellung  erfolgt über die Grafikschnittstelle OpenGL, sodass die Anwendungen auf entsprechender Hardware  sehr performant sind.</p>
<h2>Komponenten und Aufbau</h2>
<p>Die nachfolgende Tabelle gibt einen Überblick über die technischen Eigenschaften sowie bereitgestellten Gesten und Komponenten des Frameworks:</p>
<table class="h-zebra" border="0" align="center">
<thead>
<tr>
<th class="header">Eigenschaft</th>
<th>Ausprägung bei MT4j</th>
</tr>
</thead>
<tbody>
<tr class="even">
<td class="header">Programmiersprache</td>
<td>
<ul>
<li>Java</li>
</ul>
</td>
</tr>
<tr class="odd">
<td class="header">Rendering</td>
<td>
<ul>
<li>OpenGL</li>
<li>Software-Rendering</li>
</ul>
</td>
</tr>
<tr class="even">
<td class="header">Hardware-Anbindung</td>
<td>
<ul>
<li>Hardwareabstraktion und Input Abstraktion</li>
<li>Es können beliebige Eingabegeräte integriert werden</li>
<li>Native Unterstützung von Windows 7 Multitouch-Features</li>
<li>Unterstützung des TUIO-Protokolls</li>
</ul>
</td>
</tr>
<tr class="odd">
<td class="header">Multitouch-Gesten</td>
<td>
<ul>
<li><a href="https://test.soziotech.org/glossar/drag/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Drag zu springen." onmouseover="tooltip.show('Das Ziehen von Objekten auf Multitouch-Screens (ähnlich Drag and Drop) ');" onmouseout="tooltip.hide();">Drag</a></li>
<li><a href="https://test.soziotech.org/glossar/rotate/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Rotate zu springen." onmouseover="tooltip.show('Das Drehen von Objekten auf Multitouch-Screens mit einem oder zwei Fingern ');" onmouseout="tooltip.hide();">Rotate</a></li>
<li><a href="https://test.soziotech.org/glossar/scale/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Scale zu springen." onmouseover="tooltip.show('Das Vergrößern und Verkleinern (Zoom) von Objekten mit einer Fingergeste (z.B. pinchen) auf Multitouch-Screens ');" onmouseout="tooltip.hide();">Scale</a></li>
<li><a href="https://test.soziotech.org/glossar/tap/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Tap zu springen." onmouseover="tooltip.show('Das Auswählen eines Objekts durch Tippen auf Multitouch-Screens mit einem Finger (ähnlich einem Mausklick) ');" onmouseout="tooltip.hide();">Tap</a></li>
<li><a href="https://test.soziotech.org/glossar/double-tap/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Double Tap zu springen." onmouseover="tooltip.show('Das Auswählen von Objekten durch doppeltes Antippen auf einem Multitouch-Screen (ähnlich einem Doppelklick) ');" onmouseout="tooltip.hide();">Double Tap</a></li>
<li><a href="https://test.soziotech.org/glossar/tap-and-hold/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Tap and Hold zu springen." onmouseover="tooltip.show('Das Auswählen eines Objekts durch halten des Fingers auf einem Multitouch-Screen (ähnlich einem Rechtsklick) ');" onmouseout="tooltip.hide();">Tap and Hold</a></li>
<li><a href="https://test.soziotech.org/glossar/arcball-rotate/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Arcball Rotate zu springen." onmouseover="tooltip.show('Das dreidimensionale Drehen eines Objekts um einen festen Punkt mit einem Finger auf Multitouch-Screens ');" onmouseout="tooltip.hide();">Arcball Rotate</a></li>
<li><a href="https://test.soziotech.org/glossar/lasso-select/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Lasso Select zu springen." onmouseover="tooltip.show('Die Auswahl von mehreren Objekten durch Aufspannen eines Auswahlfeldes mit einem Finger auf einem Multitouch-Screen (ähnlich dem selektieren mit einer Maus) ');" onmouseout="tooltip.hide();">Lasso Select</a></li>
<li><a href="https://test.soziotech.org/glossar/flick/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Flick zu springen." onmouseover="tooltip.show('Eine Richtungsgeste durch kurzes Streichen des Fingers auf einem Multitouch-Screen ');" onmouseout="tooltip.hide();">Flick</a></li>
<li><a href="https://test.soziotech.org/glossar/gesture-draw/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Gesture Draw zu springen." onmouseover="tooltip.show('Das Zeichnen von Symbolen (zum Beispiel Häckchen) auf einem Multitouch-Screen ');" onmouseout="tooltip.hide();">Gesture Draw</a></li>
</ul>
<ul>
<li>Eigene Gesten können definiert werden</li>
</ul>
</td>
</tr>
<tr class="even">
<td class="header">Bereitgestellte Komponenten</td>
<td>
<ul>
<li>Primitive Vektorgrafiken  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-1" href="#note-3646-1" onmouseover="tooltip.show('Vierecke, Ellipsen, Polygone, etc. .');" onmouseout="tooltip.hide();"><sup>1</sup></a></li>
<li>Schriften  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-2" href="#note-3646-2" onmouseover="tooltip.show('Standardschriftarten (True Type) und Vektor-basierte Schriftarten.');" onmouseout="tooltip.hide();"><sup>2</sup></a></li>
<li>Bilder  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-3" href="#note-3646-3" onmouseover="tooltip.show('Unterstützung gängiger Formate (.jpg, .png, .bmp).');" onmouseout="tooltip.hide();"><sup>3</sup></a></li>
<li>3D-Objekte  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-4" href="#note-3646-4" onmouseover="tooltip.show('.3ds und .obj Dateien mit Texturen.');" onmouseout="tooltip.hide();"><sup>4</sup></a></li>
<li>Videos  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-5" href="#note-3646-5" onmouseover="tooltip.show('Unterstützung gängiger Formate.');" onmouseout="tooltip.hide();"><sup>5</sup></a></li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2>Installation</h2>
<p>Das MT4j Framework steht als quelloffener <a href="http://www.mt4j.org/mediawiki/index.php/Downloads" target="_blank" class="link-external">Download</a>, derzeit in Version 0.95 zur Verfügung und ist bereits als ein Eclipse-Projekt strukturiert.</p>
<p class="warningbox">MT4j  läuft derzeit nur mit der 32bit-Variante von Java. Soll ein 64bit System eingesetzt werden, muss trotzdem der 32bit <a href="https://test.soziotech.org/glossar/jdk/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für JDK zu springen." onmouseover="tooltip.show('Java Development Kit; ist eines der von Java-Entwicklern meistgenutzten Java-SDKs aus dem Hause Oracle, ehemals Sun Microsystems. ');" onmouseout="tooltip.hide();">JDK</a> installiert werden. Unter  Eclipse muss entsprechend die 32bit Variante von Java zum Ausführen  der MT4j Anwendungen ausgewählt werden!</p>
<ol>
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank" class="link-external">Java Development Kit 32bit</a> (gekennzeichnet als x86) herunterladen und installieren</li>
<li>Die heruntergeladene <a href="https://test.soziotech.org/glossar/zip/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für ZIP zu springen." onmouseover="tooltip.show('Dateiformat für komprimierte Daten, in dem verschiedene Dateien in einer Containerdatei zusammengefasst werden können. ');" onmouseout="tooltip.hide();">ZIP</a>-Datei entpacken (MT4j 0.95 full release)</li>
<li>Im Paketexplorer von Eclipse mit Rechtsklick importieren wählen</li>
<li>In dem Importfenster ein &#8222;bereits existierendes Projekt&#8220; auswählen</li>
<li>Den unter 2. entpackten Ordner auswählen und importieren</li>
</ol>

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


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-931" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/import_2012-01-14_20-16-36_0.png" title="
			In dem Fenster ein &quot;bereits existierendes Projekt&quot; auswählen			"  >
								<img alt="In dem Fenster ein &quot;bereits existierendes Projekt&quot; auswählen" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_import_2012-01-14_20-16-36_0.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Import Schritt 2</p>
		</div>
	</div>
			
	<div id="ngg-image-1010" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/import_2012-02-21_17-19-40.png" title="
			Die MT4j Ordner auswählen (&quot;mt4j-core&quot; und &quot;mt4j-desktop&quot;)			"  >
								<img alt="Die MT4j Ordner auswählen (&quot;mt4j-core&quot; und &quot;mt4j-desktop&quot;)" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_import_2012-02-21_17-19-40.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Import Schritt 3</p>
		</div>
	</div>
			
	<div id="ngg-image-885" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/java-eclipse_2012-01-14_20-15-48.png" title="
			Im Paketexplorer von Eclipse importieren auswählen.			"  >
								<img alt="Im Paketexplorer von Eclipse importieren auswählen." src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_java-eclipse_2012-01-14_20-15-48.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Import Schritt 1</p>
		</div>
	</div>
			
	<div id="ngg-image-1011" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/java-eclipse_2012-02-21_17-23-16.png" title="
			Eclipse mit korrekt installierten MT4j			"  >
								<img alt="Eclipse mit korrekt installierten MT4j" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_java-eclipse_2012-02-21_17-23-16.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Eclispe mit MT4j</p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<h2>Mitgelieferte Beispiele</h2>
<p>Das MT4j-Paket enthält 19 einfache Beispielanwendungen.  Diese sind unterteilt in die Pakete &#8222;basic&#8220; und &#8222;advanced&#8220; und sind im Ordner  &#8222;examples&#8220; zu finden. Die Basic Examples dienen zum Verstehen und Testen der  grundlegenden Techniken in sehr einfach gehaltenen Applikationen. Die Advanced Examples demonstrieren die Leistungsfähigkeit des Frameworks, indem  beispielsweise 3D Modelle verwendet werden. Jede Anwendung  befindet sich in einem eigenen Paket. Es ist keine weitere Konfiguration  erforderlich, da das Framework alle benötigte Komponenten automatisch sucht  und auswählt. Zum Starten ist jeweils eine &#8222;Start&#8230;Example.java&#8220;  Datei hinterlegt, die als &#8222;Java Application&#8220; in Eclipse ausgeführt werden kann.  Nach dem Start öffnet sich ein neues Fenster innerhalb dessen die  Multitouch-Interaktion möglich ist.</p>
<h3>Basic-Anwendungen</h3>

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


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-892" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/css.png" title="
			Einfache Anwendung zum Manipulieren von geometrischen Flächen mit Multitouch-Gesten			"  >
								<img alt="Einfache Anwendung zum Manipulieren von geometrischen Flächen mit Multitouch-Gesten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_css.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>css</p>
		</div>
	</div>
			
	<div id="ngg-image-893" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/helloworld.png" title="
			Eine Applikation zur Manipulation des &quot;Hello World&quot; Schriftzuges			"  >
								<img alt="Eine Applikation zur Manipulation des &quot;Hello World&quot; Schriftzuges" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_helloworld.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>helloworld</p>
		</div>
	</div>
			
	<div id="ngg-image-894" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/javagui.png" title="
			Es lassen sich Java-eigene Formen einfügen, beliebig kombinieren und durch Mulittouch-Gesten bearbeiten			"  >
								<img alt="Es lassen sich Java-eigene Formen einfügen, beliebig kombinieren und durch Mulittouch-Gesten bearbeiten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_javagui.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>javagui</p>
		</div>
	</div>
			
	<div id="ngg-image-895" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/mtgestures.png" title="
			Eine Zusammenfassung von möglichen Gesten, welche das Framework unterstützt			"  >
								<img alt="Eine Zusammenfassung von möglichen Gesten, welche das Framework unterstützt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_mtgestures.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>mtgestures</p>
		</div>
	</div>
			
	<div id="ngg-image-896" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/scenes.png" title="
			Beispiel zur Verwendung von verschiedenen Scenen in einer einzigen Applikation			"  >
								<img alt="Beispiel zur Verwendung von verschiedenen Scenen in einer einzigen Applikation" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_scenes.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>scenes</p>
		</div>
	</div>
			
	<div id="ngg-image-897" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/svgexample.png" title="
			Ein Programm zur Manipulation von Vektorgrafiken mit verschiedenen Multitouch-Gesten			"  >
								<img alt="Ein Programm zur Manipulation von Vektorgrafiken mit verschiedenen Multitouch-Gesten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_svgexample.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>svgexample</p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<h3>Advanced-Anwendungen</h3>

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


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-898" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/drawing.png" title="
			Ein &quot;Finger&quot;-Zeichenprogramm mit einfachen Optionen			"  >
								<img alt="Ein &quot;Finger&quot;-Zeichenprogramm mit einfachen Optionen" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_drawing.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>drawing</p>
		</div>
	</div>
			
	<div id="ngg-image-899" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/flickrmt.png" title="
			Eine Applikation zum Suchen und Darstellen von Bilder des Dienstes flickr			"  >
								<img alt="Eine Applikation zum Suchen und Darstellen von Bilder des Dienstes flickr" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_flickrmt.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>flickrmt</p>
		</div>
	</div>
			
	<div id="ngg-image-900" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/fluidsimulator.png" title="
			Ein Simulator, welcher flüssige Partikel anhand von Gesten darstellt			"  >
								<img alt="Ein Simulator, welcher flüssige Partikel anhand von Gesten darstellt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_fluidsimulator.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>fluidsimulator</p>
		</div>
	</div>
			
	<div id="ngg-image-901" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/models3d.png" title="
			Es können 3D Modelle dargestellt, gezoomt und beliebig gedreht werden			"  >
								<img alt="Es können 3D Modelle dargestellt, gezoomt und beliebig gedreht werden" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_models3d.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>models3d</p>
		</div>
	</div>
			
	<div id="ngg-image-902" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/modestmapsmt.png" title="
			Eine Anwendung zur Arbeit mit verschiedenen Kartendiensten, wobei die Karte gezoomt und bewegt werden kann			"  >
								<img alt="Eine Anwendung zur Arbeit mit verschiedenen Kartendiensten, wobei die Karte gezoomt und bewegt werden kann" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_modestmapsmt.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>modestmapsmt</p>
		</div>
	</div>
			
	<div id="ngg-image-891" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/mt-application_2012-01-29_15-37-47.png" title="
			Eine Shell-Applikation mit dem geladenen 3D-Model Beispiel. In dieser Anwendung können verschiedene Applikationen ausgewählt und geladen werden.			"  >
								<img alt="Eine Shell-Applikation mit dem geladenen 3D-Model Beispiel. In dieser Anwendung können verschiedene Applikationen ausgewählt und geladen werden." src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_mt-application_2012-01-29_15-37-47.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>mtShell</p>
		</div>
	</div>
			
	<div id="ngg-image-903" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/physics.png" title="
			Eine einfache Physiksimulation entsprechend der Multitouch-Gesten			"  >
								<img alt="Eine einfache Physiksimulation entsprechend der Multitouch-Gesten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_physics.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>physics</p>
		</div>
	</div>
			
	<div id="ngg-image-904" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/puzzle.png" title="
			Geladene Bilder können in dieser Applikation in ein Puzzle verwandelt werden, welches sich dann zusammensetzen lässt			"  >
								<img alt="Geladene Bilder können in dieser Applikation in ein Puzzle verwandelt werden, welches sich dann zusammensetzen lässt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_puzzle.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>puzzle</p>
		</div>
	</div>
			
	<div id="ngg-image-905" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/simpleparticles.png" title="
			Eine Partikelsimulation entsprechend der Multitouch-Eingaben			"  >
								<img alt="Eine Partikelsimulation entsprechend der Multitouch-Eingaben" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_simpleparticles.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>simpleparticles</p>
		</div>
	</div>
			
	<div id="ngg-image-906" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/space3d.png" title="
			Eine 3D Darstellung der Erde mit Mond, welche gezoomt und gedreht werden kann			"  >
								<img alt="Eine 3D Darstellung der Erde mit Mond, welche gezoomt und gedreht werden kann" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_space3d.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>space3d</p>
		</div>
	</div>
			
	<div id="ngg-image-907" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/touchtail.png" title="
			Diese Anwendung verwandelt Inputgesten in ein fortlaufendes Bewegungsbild			"  >
								<img alt="Diese Anwendung verwandelt Inputgesten in ein fortlaufendes Bewegungsbild" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_touchtail.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>touchtail</p>
		</div>
	</div>
			
	<div id="ngg-image-908" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/water.png" title="
			Eine einfache Wassersimulation, welche durch Berührung Wellen erzeugt			"  >
								<img alt="Eine einfache Wassersimulation, welche durch Berührung Wellen erzeugt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_water.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>water</p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<h2>Minimalimplementierung</h2>
<p>Eine Multitouch-Anwendung mit MT4j zu schreiben ist denkbar einfach, da sie nur zwei Klassen (Scene und MTApplication) benötigt. Die folgenden beiden Abschnitte geben einen Überblick über die Implementierung eine einfachen Applikation zur  Bildmanipulation. Die Anwendung, die zum Selbsttest ebenfalls als <a href="https://test.soziotech.org/wp-content/uploads/2012/02/Soziotech_MT4j_Beispiel1.zip" class="link-zip">Download </a>verfügbar ist, ermöglicht es,  ein Bild anzuzeigen und dieses mit Standard-Multitouch-Gesten zu manipulieren.</p>
<h3>Scene</h3>
<p>Eine &#8222;Scene als erste benötigte Bestandteil der Anwendung muss die abstrakte Klasse  &#8222;AbstractScene&#8220; erweitern. In dieser Klasse wird festgelegt, welche Komponenten angezeigt werden. Es gibt viele vorgefertigte Elemente, die insbesondere Standard-Multitouch-Gesten bereits beherrschen.  Hierzu gehören beispielsweise Grafiken, Textfelder und Rahmen  für verschiedene andere Objekte. Für unser Minimalbeispiel benötigen wir folgenden Code für die Scene-Klasse:</p>
<pre class="brush:java">package MinimalExample;

import org.mt4j.MTApplication;
import org.mt4j.components.TransformSpace;
import org.mt4j.components.visibleComponents.widgets.MTImage;
import org.mt4j.input.gestureAction.InertiaDragAction;
import org.mt4j.input.inputProcessors.componentProcessors.dragProcessor.DragProcessor;
import org.mt4j.sceneManagement.AbstractScene;
import org.mt4j.util.math.Vector3D;

import processing.core.PImage;

public class PictureScene extends AbstractScene
{
  private String picturePath =  "MinimalExample" + MTApplication.separator + "data" + MTApplication.separator;

  public PictureScene (MTApplication mtApplication, String name)
  {
    super(mtApplication, name);

    MTApplication app = mtApplication;
    PImage img = app.loadImage(picturePath + "pic.jpg");
    MTImage image = new MTImage(img,app);
    image.setUseDirectGL(true);
    image.setPositionGlobal(new Vector3D(400,400,0));
    image.scale(0.2f, 0.2f, 0.2f, image.getCenterPointLocal(), TransformSpace.LOCAL);
    image.addGestureListener(DragProcessor.class, new InertiaDragAction());
    this.getCanvas().addChild(image);
  }

  @Override
  public void init() {}

  @Override
  public void shutDown() {}
}</pre>
<p>Datei ist zu beachten, dass sich das entsprechende Bild im Paket &#8222;MinimalExample.data&#8220; (gekennzeichnet als &#8222;picturePath&#8220;) befinden muss,  damit es geladen werden kann!</p>
<h3>MTApplication</h3>
<p>Die &#8222;Application&#8220;-Klasse dient zum Starten der Anwendung und muss die abstrakte  Klasse &#8222;MTApplication&#8220; erweitern. Die vorher beschriebene Scene wird lediglich  hinzugefügt. Anschließend wird die Anwendung mit dem Methodenaufruf &#8222;initialize()&#8220;  gestartet. Dazu sind lediglich die Folgenden Codezeilen erforderlich:</p>
<pre class="brush:java">package MinimalExample;

import org.mt4j.MTApplication;

public class StartMinimalExample extends MTApplication
{
  private static final long serialVersionUID = 1L;

  public static void main(String args[])
  {
    initialize();
  }

  @Override
  public void startUp()
  {
    this.addScene(new PictureScene(this, "Picture scene"));
  }
}</pre><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fmultitouch-entwicklung-mit-mt4j%2F&amp;action_name=Multitouch-Entwicklung+mit+MT4j&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-3646-1">Vierecke, Ellipsen, Polygone, etc. . <a class="simple-footnote-backlink" href="#return-note-3646-1">&#8617;</a></li><li id="note-3646-2">Standardschriftarten (True Type) und Vektor-basierte Schriftarten. <a class="simple-footnote-backlink" href="#return-note-3646-2">&#8617;</a></li><li id="note-3646-3">Unterstützung gängiger Formate (.jpg, .png, .bmp). <a class="simple-footnote-backlink" href="#return-note-3646-3">&#8617;</a></li><li id="note-3646-4">.3ds und .obj Dateien mit Texturen. <a class="simple-footnote-backlink" href="#return-note-3646-4">&#8617;</a></li><li id="note-3646-5">Unterstützung gängiger Formate. <a class="simple-footnote-backlink" href="#return-note-3646-5">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/konzeption-eines-analyserasters/" rel="bookmark" title="Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets">Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets </a></li>
<li><a href="https://test.soziotech.org/alternative-moeglichkeiten-zur-interaktion-mit-grossen-vertikalen-displays/" rel="bookmark" title="Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays">Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays </a></li>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CommunityMashup &#8211; Ein erster Überblick</title>
		<link>https://test.soziotech.org/communitymashup-ein-erster-ueberblick/</link>
		<comments>https://test.soziotech.org/communitymashup-ein-erster-ueberblick/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 12:53:53 +0000</pubDate>
		<dc:creator><![CDATA[Peter Lachenmaier]]></dc:creator>
				<category><![CDATA[Berichte]]></category>
		<category><![CDATA[CommunityMashup]]></category>
		<category><![CDATA[Dienstintegration]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Aggregation]]></category>
		<category><![CDATA[Daten]]></category>
		<category><![CDATA[Filtertung]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Mashup]]></category>
		<category><![CDATA[Modell]]></category>
		<category><![CDATA[personenzentrisch]]></category>
		<category><![CDATA[Service-Orientierte-Architektur]]></category>
		<category><![CDATA[Social Software]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/211_crop_940x198_istock_000001551784medium.jpg" width="618" height="130" alt="CommunityMashup &#8211; Ein erster Überblick" /></p>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 &#8222;Social Web&#8220; die Person im Vordergrund. Eine definierte Schnittstelle mit vorgefertigen Anwendungskompenten lässt eine einfache Verwendung &#8230; <a href="https://test.soziotech.org/communitymashup-ein-erster-ueberblick/">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-ein-erster-ueberblick%2F&amp;action_name=CommunityMashup+%26%238211%3B+Ein+erster+%C3%9Cberblick&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'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/communitymashup/" rel="bookmark" title="CommunityMashup &#8211; Überblick">CommunityMashup &#8211; Überblick </a></li>
<li><a href="https://test.soziotech.org/communitymashup/service-orientierte-architektur/" rel="bookmark" title="CommunityMashup &#8211; Service-Orientierte-Architektur">CommunityMashup &#8211; Service-Orientierte-Architektur </a></li>
<li><a href="https://test.soziotech.org/communitymashup/model-driven-approach/" rel="bookmark" title="CommunityMashup &#8211; Model Driven Approach">CommunityMashup &#8211; Model Driven Approach </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/211_crop_940x198_istock_000001551784medium.jpg" width="618" height="130" alt="CommunityMashup &#8211; Ein erster Überblick" /></p><p> <em>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 &#8222;Social Web&#8220; 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.</em></p>
<h2>Ausgangssituation</h2>
<p>Mit dem Erfolg von <a href="https://test.soziotech.org/glossar/web-2-0/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Web 2.0 zu springen." onmouseover="tooltip.show('Teilmenge des soziotechnischen Systems Internet (d.h. Dienste + Menschen, von denen diese genutzt werden). Im Gegensatz zum Web 1.0 steht hier das Individum im Vordergrund (me centricity), es geht um Beteiligung jedes Einzelnen (participation) und um freudvolle(re) Nutzung. Hieraus sind verschiedene spezialisierte Dienste entstanden, die sich für vielfältige und ggf. individuell verschiedene Use Cases einsetzen lassen (Nutzungsoffenheit). ');" onmouseout="tooltip.hide();">Web 2.0</a> im privaten und <a href="https://test.soziotech.org/glossar/2078/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Enterprise 2.0 zu springen." onmouseover="tooltip.show('Der Einsatz von Plattformen und Ideen aus dem Web 2.0-Umfeld in Unternehmen zur Unterstützung ihrer Wissensarbeiter. ');" onmouseout="tooltip.hide();">Enterprise 2.0</a> im unternehmensweiten Bereich veränderte sich die Art und Weise wie Informationen strukturiert und kosumiert werden.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/stockphotos/istock_000010104241large.jpg" title="
			Digitale Vernetzung der Gesellschaft			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/220__618x_istock_000010104241large.jpg" alt="Social Networking" title="Social Networking" />
</a>
			<p class="wp-caption-text">Social Networking</p>
</div>

<h3>Auswirkungen des Erfolg von <a href="https://test.soziotech.org/glossar/social-software/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Social Software zu springen." onmouseover="tooltip.show('Anwendungssysteme, die unter Ausnutzung von Netzwerk- und Skaleneffekten, indirekte und direkte zwischenmenschliche Interaktion (Koexistenz, Kommunikation, Koordination, Kooperation) auf breiter Basis ermöglichen und die Identitäten und Beziehungen ihrer Nutzer im Internet abbilden und unterstützen. ');" onmouseout="tooltip.hide();">Social Software</a></h3>
<p>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 <a href="https://test.soziotech.org/glossar/microblogging/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Microblogging zu springen." onmouseover="tooltip.show('Microblogging ermöglicht es seinen Nutzern, kurze Nachrichten zu veröffentlichen. Die Nachrichten sind in der Regel in der Länge beschränkt (z.B. 140 Zeichen bei der bekanntesten Internetplattform Twitter) und erscheinen in einem plattformweiten Nachrichtenstrom. Nachrichten anderer Nutzer können gezielt abonniert werden. ');" onmouseout="tooltip.hide();">Microblogging</a> 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.</p>
<h3>Mobile und ubiquitäre Nutzung</h3>
<p>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 <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> 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.</p>
<h3>Nutzerzentrische Aggregation verschiedener Quellen</h3>
<p>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.</p>
<h2>Grundidee</h2>
<p>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 (&#8222;mashup&#8220;). 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.<br />
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/community_mashup_overview_0.png" title="
			Grundidee des CommunityMashup			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/603__618x_community_mashup_overview_0.png" alt="Grundidee des CommunityMashup" title="Grundidee des CommunityMashup" />
</a>
			<p class="wp-caption-text">Grundidee des CommunityMashup</p>
</div>
</p>
<h2>Model Driven Approach</h2>
<p>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.</p>
<h3>Datenmodell</h3>
<p>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.<br />
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/data_model.png" title="
			Kernelemente des CommunityMashup Datenmodells			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/600__618x_data_model.png" alt="Kernelemente des CommunityMashup Datenmodells" title="Kernelemente des CommunityMashup Datenmodells" />
</a>
			<p class="wp-caption-text">Kernelemente des CommunityMashup Datenmodells</p>
</div>
</p>
<p>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.</p>
<h3>Anwendungskomponenten</h3>
<p>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:<br />
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/model_driven_idea_0.png" title="
			Übersicht über die Modell-Getriebene-Entwicklung von CommunityMashup Komponenten			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/604__618x_model_driven_idea_0.png" alt="Modell-Getriebene-Entwicklung" title="Modell-Getriebene-Entwicklung" />
</a>
			<p class="wp-caption-text">Modell-Getriebene-Entwicklung</p>
</div>
</p>
<p>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 <a href="https://test.soziotech.org/glossar/xml/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für XML zu springen." onmouseover="tooltip.show('Extensible Markup Language; Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten.');" onmouseout="tooltip.hide();">XML</a>-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.</p>
<h2>Service-Orientierte-Architektur</h2>
<p>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.<br />
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/communitymashup/distributed_environment.png" title="
			Exemplarischer Aufbau einer Verteilten Umgebung mit CommunityMashup Komponenten			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/601__618x_distributed_environment.png" alt="Verteilte Umgebung" title="Verteilte Umgebung" />
</a>
			<p class="wp-caption-text">Verteilte Umgebung</p>
</div>
</p>
<p>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 <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 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 <a href="https://test.soziotech.org/glossar/api/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für API zu springen." onmouseover="tooltip.show('Application Programming Interface (dt. Programmierschnittstelle)');" onmouseout="tooltip.hide();">API</a> 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.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fcommunitymashup-ein-erster-ueberblick%2F&amp;action_name=CommunityMashup+%26%238211%3B+Ein+erster+%C3%9Cberblick&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'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/communitymashup/" rel="bookmark" title="CommunityMashup &#8211; Überblick">CommunityMashup &#8211; Überblick </a></li>
<li><a href="https://test.soziotech.org/communitymashup/service-orientierte-architektur/" rel="bookmark" title="CommunityMashup &#8211; Service-Orientierte-Architektur">CommunityMashup &#8211; Service-Orientierte-Architektur </a></li>
<li><a href="https://test.soziotech.org/communitymashup/model-driven-approach/" rel="bookmark" title="CommunityMashup &#8211; Model Driven Approach">CommunityMashup &#8211; Model Driven Approach </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/communitymashup-ein-erster-ueberblick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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--20153">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-585" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-3" 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-3" />
							</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-3" 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-3" />
							</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-3" 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-3" />
							</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-3" 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-3" />
							</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>
		<item>
		<title>Howto – Touchscreen Komponenten mit JavaFX und Adobe Illustrator</title>
		<link>https://test.soziotech.org/howto-gui-erstellen-mittels-adobe-illustrator-und-javafx/</link>
		<comments>https://test.soziotech.org/howto-gui-erstellen-mittels-adobe-illustrator-und-javafx/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 16:44:30 +0000</pubDate>
		<dc:creator><![CDATA[Markus Schran]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Largescreen]]></category>
		<category><![CDATA[Studienarbeiten]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[Dropdown]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Icons]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Interaktion]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Komponenten]]></category>
		<category><![CDATA[Symbole]]></category>
		<category><![CDATA[Touchscreen]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=689</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/257_crop_940x198_institition-3.png" width="618" height="130" alt="Howto – Touchscreen Komponenten mit JavaFX und Adobe Illustrator" /></p>In diesem Howto wird gezeigt wie Interaktionskomponenten für Touchscreen Systeme mit Adobe Illustrator erstellt werden können, um diese mittels JavaFX interaktiv in einer GUI einzubinden. Dies geschieht exemplarisch anhand des in einer Bachelorarbeit entwickelten GUI-Entwurfs für ein Fussgänger-Navigationssystems der UnibwM. &#8230; <a href="https://test.soziotech.org/howto-gui-erstellen-mittels-adobe-illustrator-und-javafx/">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%2Fhowto-gui-erstellen-mittels-adobe-illustrator-und-javafx%2F&amp;action_name=Howto+%E2%80%93+Touchscreen+Komponenten+mit+JavaFX+und+Adobe+Illustrator&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'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
<li><a href="https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/" rel="bookmark" title="Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite">Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite </a></li>
<li><a href="https://test.soziotech.org/touchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen/" rel="bookmark" title="Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München">Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/257_crop_940x198_institition-3.png" width="618" height="130" alt="Howto – Touchscreen Komponenten mit JavaFX und Adobe Illustrator" /></p><p>In diesem Howto wird gezeigt wie Interaktionskomponenten für Touchscreen Systeme mit Adobe Illustrator erstellt werden können, um diese mittels <a href="https://test.soziotech.org/glossar/javafx/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für JavaFX zu springen." onmouseover="tooltip.show('Framework für plattformübergreifende Rich Internet Applications. Es ist Teil der Java-Spezifikation und -familie von Sun Microsystems und steht in direkter Konkurrenz zu Adobe Flash bzw. Flex und Microsoft Silverlight. ');" onmouseout="tooltip.hide();">JavaFX</a> interaktiv in einer <a href="https://test.soziotech.org/glossar/gui/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für GUI zu springen." onmouseover="tooltip.show('Graphical User Interface zu deutsch auch grafische Benutzeroberfläche. Bezeichnung einer Software-Komponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt. Die Darstellungen und Elemente (Arbeitsplatz, Symbole, Papierkorb, Menü) können meist unter Verwendung eines Zeigegerätes wie einer Maus gesteuert werden. ');" onmouseout="tooltip.hide();">GUI</a> einzubinden. Dies geschieht exemplarisch anhand des in einer Bachelorarbeit entwickelten GUI-Entwurfs für ein <a href="https://test.soziotech.org/?p=742" target="_blank" class="link-internal">Fussgänger-Navigationssystems der UnibwM</a>.<span id="more-689"></span></p>
<p>Wichtige Elemente für die GUI eines Touchscreen Systems sind neben Buttons v.a. Elemente zur Auswahl von Listenelementen und Einstellungen. Aus diesem Grund zeigt das vorliegende Howto neben Buttons auch das Erstellen von Dropdown-Elementen und Layern für Texte. Dabei ist der grundlegen Aufbau dieser Elemete gleich, nur im Aussehen unterscheiden sie sich.</p>
<p>Zunächst betrachten wir einen Screenshot der GUI des oben verlinkten Navigationssystems.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/startscreen_0.png" title="
			Startscreen des Fussgängernavigationssystems das im Rahmen der Bachelorarbeit erstellt wurde., Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/564__x618_startscreen_0.png" alt="Fussgängernavigation Startscreen" title="Fussgängernavigation Startscreen" />
</a>
			<p class="wp-caption-text">Fussgängernavigation Startscreen <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<p>Grundsätzlich muss zwischen zwei Arten von Elementen unterschieden werden, zum Einen die, die zur Laufzeit erst erstellt werden und zum Andern die Elemente, die aus bestehenden Dateien gelanden werden. In dieser GUI sind die grauen Elemente des Hintergrunds sowie alle Button-Texte durch den Programmcode erzeugt. Bei den Hintergrundelementen geschieht dies, da sie sehr simple sind und so variabel an die Fenstergröße anpasst werden können. Die Texte werden durch den Namen der Buttons bestimmt und sind daher durch den Programmcode realisiert.</p>
<h2><strong>Erstellen von Hintergrundelementen einer Gui</strong></h2>
<p>Zunächst werfen wir einen Blick auf die einfachen Element, die nicht interaktiv verwendet werden, und ihre Realisierung in JavaFX.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/prog-background-1.png" title="
			Abbildung zur Erstellung des GUI Hintergrund, Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/321__618x_prog-background-1.png" alt="GUI - Hintergrund" title="GUI - Hintergrund" />
</a>
			<p class="wp-caption-text">GUI - Hintergrund <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<p>Die Hintergrundfläche wird durch ein einfaches graues Rechteck realisiert. Dabei muss jedes Element das in der GUI angezeigt wird einem &#8222;content&#8220; zugeordnet werden. Was es damit genau auf sich hat wird später genauer erklärt.</p>
<pre class="brush:jfx">var rect = Rectangle {
	x: 0  y: 0
	width: FWIDTH  height: FHRaster*(1+4*BLayer)
	fill: Color.LIGHTGRAY
}
insert rect into gui.content;</pre>
<p>Linien oder Texte können einer Oberfläche direkt oder einem anderen Objekt zugeordnet werden.</p>
<pre class="brush:jfx">var ddbHline = Line {
	startX: 0  startY: FHRaster*(1+3+4*BLayer)
	endX: FWIDTH  endY: FHRaster*(1+3+4*BLayer)
}
insert ddbHline into ddbFrame.content;

var text = Text {
	font: Font { size: 16 *rate }
	content: BTitle[type]
}
insert text into buttons.content;</pre>
<p>Komplexere Elemente können mithilfe der von Sun bzw. inzwischen Oracle bereitgestellten JavaFX Production Suit in Adobe Illustrator erstellt werden und nach dem Exportieren als &#8222;<a href="https://test.soziotech.org/glossar/fxz/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für FXZ zu springen." onmouseover="tooltip.show('Datenformat der JavaFX Production Suite. Als FXZ gespeicherte Grafiken können zur Laufzeit mit JavaFX einfach verändert werden. ');" onmouseout="tooltip.hide();">FXZ</a>-Datei&#8220; eingebunden werden <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-2" href="#note-689-2" onmouseover="tooltip.show('Details zum Export aus AI in eine &#8222;FXZ-Datei&#8220; im Artikel &#8222;Howto zum Export von JavaFX Dateien durch Production Suite&#8222;');" onmouseout="tooltip.hide();"><sup>2</sup></a>. Im Beispiel der GUI des Fussgänger- Navigationssystems wurden die Buttons zur Auswahl der Navigation sowie zur Steuerung der Karte in AI erstellt. Wie diese nach dem Export in das Programm eingebunden werden, beschriebt der letzte Abschnitt dieses Howtos. Zunächst wird jedoch erklärt, wie solche Elemente in AI erzeugt werden.</p>
<h2>Erstellung der Buttons für das Fussgängernavigationssystem</h2>
<p>Zunächst wurde ein erster Entwurf der erforderlichen grafischen Elemente von einer Designerin anhand von GUI Mock-Ups erstellt. Diese Elemente wurden anschließend weiter bearbeitet und an die Vorstellungen der grafischen Oberfläche angepasst.</p>
<h3>Normale Buttons</h3>
<p>Die Abbildung zeigt den Button aus dem Mock-Up links, sowie den von der Grafikerin erstellten Button, mit zwei unterschiedlichen Zuständen (Mitte). Rechts befinden sich die Zustände, nachdem sie an das vorgegebene Farbschema angepasst wurden.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/design-elemente-1.png" title="
			Realisierung der GUI Buttons vom Mock- Up Design zu fertigen Vektorgrafik in AI, Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/316__618x_design-elemente-1.png" alt="Umsetzung der Mock- Ups" title="Umsetzung der Mock- Ups" />
</a>
			<p class="wp-caption-text">Umsetzung der Mock- Ups <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<p>Die Buttons besitzen eine Grundfläche und entsprechende   Layer. Durch einen mehrfarbigen Hintergrund und weitere Effekte können   verschiedene Abstufungen geschafft werden. Hierzu muss es einen Layer geben, in   dem Texte oder Symbole eingefügt werden können. Die nachfolgende   Abbildung zeigt eine sinnvolle Anordnung der Layer und ihre Bezeichnung,   um sie in der GUI zu verwenden.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/javafx-production-suite/button-struktur.png" title="
			Screenshot aus Adobe Illustrator zeigt den Aufbau der Ebenen für die GUI des Navigationssystems, Quelle: BA- Schran.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/315__618x_button-struktur.png" alt="Aufbau der Button-Ebenen" title="Aufbau der Button-Ebenen" />
</a>
			<p class="wp-caption-text">Aufbau der Button-Ebenen <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-3" href="#note-689-3" onmouseover="tooltip.show('Bildquelle: BA- Schran.');" onmouseout="tooltip.hide();"><sup>3</sup></a></p>
</div>

<p>Die Buttons benötigen sinnvollerweise aussagekräftigen Icons, um ihrer Funktionalität zu beschreiben. Die meisten der hier verwendeten Icons stammen von der Internetseite „<a href="http://thenounproject.com/" target="_blank" class="link-external">The Noun Projekt</a>“. Diese Seite sammelt spezielle Symbole, auch<strong> </strong>Piktogramme genannt, die auf der ganzen Welt einheitlich verwendet werden, um einen bestimmten Zweck auszudrücken. Bei dem sehr hilfreichen Projekt geht es im Prinzip darum, eine visuelle Sprache zu erzeugen, die es ermöglicht, jkulturunabhängig ausschließlich anhand der verwendeten Symbole zu kommunizieren.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/noun-collection.jpg" title="
			Die Abbildung zeigt alle Piktogramme der "Noun Projekt"- Seite die im Rahmen der BA verwendet wurden., Quelle: http://thenounproject.com/.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/335__618x_noun-collection.jpg" alt="Verwendete Piktogramme" title="Verwendete Piktogramme" />
</a>
			<p class="wp-caption-text">Verwendete Piktogramme <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-4" href="#note-689-4" onmouseover="tooltip.show('Bildquelle: http://thenounproject.com/.');" onmouseout="tooltip.hide();"><sup>4</sup></a></p>
</div>

<p>Die Problematik einer nicht fest definierten Sprache ist jedoch, dass man sie schnell missverstehen kann. Die verwendeten Icons müssen daher gut überlegt sein. Im Falle der zu Grunde liegenden Bachelor Arbeit wurden zu jeder Aktion mehrere unterschiedliche Buttons erstellt, die dann durch eine kurze Benutzerstudie bewertet wurden. Fall keines der Standard-Icons ausreichend gut wiedererkannt wird, kann es durchaus notwendig sein, eigne Icons zu entwickeln. Dies geschah im vorliegenden Fall beispielsweise für den Button &#8222;militärisch&#8220; der Navigationssoftware, da die Seite &#8222;<a href="http://thenounproject.com/" target="_blank" class="link-external">The Noun Projekt</a>&#8220; keine sinnvollen Möglichkeiten bat. Die folgende Abbildung zeigt einige der erstellten Icons.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/design-icons.png" title="
			Alle Buttons die im Rahmen der BA für das Fussgänger Navigationssystem erstellt wurden., Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/317__618x_design-icons.png" alt="Button Icons" title="Button Icons" />
</a>
			<p class="wp-caption-text">Button Icons <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<h3>Dropdown Listen</h3>
<p>Für die GUI des Navigationssystem wurde eine eigene Dropdown Box entwickelt. Das Konzept der Dropdown Boxen ist in den folgenden Abbildungen gezeigt. Die Form und Anordnung der Elemente ist an die der Navigationsführung der <em>Cityterminals 2.0</em> angelehnt. Die linke Abbildung zeigt die Umsetzung auf einem Cityterminal. In der rechten Abbildung ist das entwickelte Mock-Up-Konzept und die grafisch verfeinerte Realisierung zu sehen.</p>

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


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-319" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-4" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/design-elemente-2.png" title="
			Realisierung der Dropdown Buttons vom Mock- Up Design zu fertigen Vektorgrafik in AI, Quelle: BA- Schran .			"  >
								<img alt="Realisierung der Dropdown Buttons vom Mock- Up Design zu fertigen Vektorgrafik in AI" src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_design-elemente-2.png" width="126" height="100" class="colorbox-4" />
							</a>
			<p class=wp-caption-text>Dropdown Elemente <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-255" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-4" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/institition-1.png" title="
			1. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü, Quelle: BA- Schran .			"  >
								<img alt="1. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü" src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_institition-1.png" width="126" height="100" class="colorbox-4" />
							</a>
			<p class=wp-caption-text>Institution auswählen (1) <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-256" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-4" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/institition-2.png" title="
			2. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü, Quelle: BA- Schran .			"  >
								<img alt="2. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü" src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_institition-2.png" width="126" height="100" class="colorbox-4" />
							</a>
			<p class=wp-caption-text>Institution auswählen (2) <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-257" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-4" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/institition-3.png" title="
			3. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü, Quelle: BA- Schran .			"  >
								<img alt="3. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü" src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_institition-3.png" width="126" height="100" class="colorbox-4" />
							</a>
			<p class=wp-caption-text>Institution auswählen (3) <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-258" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-4" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/institition-4.png" title="
			4. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü, Quelle: BA- Schran .			"  >
								<img alt="4. Abbildung der Bildreihe zur Auswahl einer Institution mittels Dropdown Menü" src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_institition-4.png" width="126" height="100" class="colorbox-4" />
							</a>
			<p class=wp-caption-text>Institution auswählen (4) <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-318" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-4" href="https://test.soziotech.org/wp-content/uploads/outdoor-terminals/navigationsfuhrung-ucm.png" title="
			Die Abbildung zeigt die Navigation des Cityterminals, Quelle: BA- Schran .			"  >
								<img alt="Die Abbildung zeigt die Navigation des Cityterminals" src="https://test.soziotech.org/wp-content/uploads/outdoor-terminals/thumbs/thumbs_navigationsfuhrung-ucm.png" width="126" height="100" class="colorbox-4" />
							</a>
			<p class=wp-caption-text>Navigationsfuhrung Cityterminal <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>Alle Dropdown Elemente sind im Grunde aufgebaut wie ein normaler Button. Durch die verschiedenen Formen ist es möglich die Zustände, wie geschlossene oder geöffnete Boxen, voneinander abzuheben. Wie bereits beim Button, kann als Inhalt hier genauso zwischen Text oder Symbolen gewählt werden.</p>
<h3>Leiste zum Zoomen</h3>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/design-elemente-3.png" title="
			Realisierung der Zoom Leiste Buttons vom Mock- Up Design zu fertigen Vektorgrafik in AI, Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/320__150x_design-elemente-3.png" alt="Zoom Leiste" title="Zoom Leiste" />
</a>
			<p class="wp-caption-text">Zoom Leiste <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<p>Die in der Abbildung gezeigte Leiste zum Zoomen der Lagekarte funktioniert über zwei Buttons sowie den Schiebregler in der Mitte. Derartige Elemente sind mit JavaFX natürlich individuell erstellbar und können der GUI eine Vielzahl neuer Funktionen geben.</p>
<p>Sowohl die Textfelder als auch die Leiste wurden an Farben und Formen des vorgegebenen Designs angepasst und fügen sich somit gut in das Gesamtbild. Die einfachen Buttons der GUI haben dabei zwei verschieden abgestufte Orangetöne. Die Textfelder sind grau und können auch durch orange hervorgehoben zu werden (z.B. für einen aktiven Zustand). Alle Elemente dieser Abbildung zusammen erzeugen die GUI der Navigationssoftware. Wie diese in JavaFX eingebunden werden, zeigt der folgende Abschnitt.</p>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/gui-elements.png" title="
			Die Abbildung zeigt alle Elemente des Navigationssystems die im Rahmen der BA erstellt wurden, Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/262__618x_gui-elements.png" alt="Elemente der GUI des Navigationssystems" title="Elemente der GUI des Navigationssystems" />
</a>
			<p class="wp-caption-text">Elemente der GUI des Navigationssystems <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-1" href="#note-689-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<h2>Einbinden exportierter FXZ-Dateien</h2>
<p>Um nach einem Export die Daten verwenden zu können müssen sie in  JavaFX geladen werden und entsprechend dem &#8222;content&#8220; zugeordnet werden.  Das Laden der Elemente wird durch folgendes Codefragment realisiert.</p>
<pre class="brush:jfx">fxdGUI = FXDNode {
	url: "{__DIR__}GUI.fxz"
	backgroundLoading: true
	placeholder: Text { x: 10 y: 10 content: "Loading Gui ..."}
	loader: FXDLoader {
		onDone: function() {
			//Aufruf der Funktion zur Erstellung der GUI
			loadGUI();
		}
	}
};</pre>
<p>Das Positionieren in der GUI sowie das endgültige Hinzufügen geschieht durch folgende Ausschnitte aus dem Programmcode:</p>
<pre class="brush:jfx">var button = fxdGUI.getNode(BTitle[type]);
var duplicate = Duplicator.duplicate(button);

//Button wird zuerst an die Koodinate 0,0 gesetzt
duplicate.translateX = -(duplicate.impl_getPivotX()-(duplicate.layoutBounds.width/2)*duplicate.scaleX);
duplicate.translateY = -(duplicate.impl_getPivotY()-(duplicate.layoutBounds.height/2)*duplicate.scaleY);
duplicate.onMouseClicked=buttonpressed;

insert duplicate into buttons.content;
insert text into buttons.content;</pre>
<p>Ein wesentlicher Vorteil einer Umsetzung der GUI mit JavaFX und Adobe  Illustrator ist die Trennung zwischen Programmierer und Designer. So  kann bei guter Programm-Realisierung die GUI vom Designer verändert  werden ohne das dabei der Quellcode geändert werden muss. Beispielsweise reicht es,  wenn der Designer einen neuen Button erzeugt und ihn nach einem gegeben  Muster benennt. Beim nächsten Erneuern der GUI übernimmt der Code den  Button einfach und fügt ihn zum &#8222;content&#8220; hinzu.</p>
<p>Abschließend noch ein kurzer Einblick in den Aufbau und die Komponenten einer JavaFX Oberfläche. Der gesamte Frame einer Anwendung in JavaFX ist vom Typ  „Stage“. Diese ist einzigartig und definiert Aussehen und Eigenschaften des Frames. Weiterhin beinhaltet die &#8222;Stage&#8220; genau eine „Scene“, welche  sozusagen den Inhalt der Oberfläche bestimmt. Alle Elemente die in der  GUI zu sehen sein sollen, müssen entweder direkt in dieser „Scene“  aufgeführt sein oder in einem anderen Element (Container), welches sich in der  „Scene“ befindet.</p>
<p>Für jede Klasse, die einen Knotenpunkt darstellt, ist die  Variable &#8222;content“ die Referenz auf alle Folgeknoten. Somit ist die  „Stage“ quasi das Programmfenster und die Scene der Wurzelknoten zu einem  Baum, der alle Elemente der GUI beinhaltet. Zur Verdeutlichung dient findet sich unten noch die folgende Grafik der <a href="http://www.oracle.com/de/index.html" target="_blank" class="link-external"><em>Oracle</em>-Website</a>.  Alle starren Elemente der GUI werden dabei dem &#8222;content&#8220; der  gleichnamigen Variablen hinzugefügt, welche direkt in der Scene  auftaucht:</p>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/javafx-hierachy.gif" title="
			Aufbau JavaFX Frame, Quelle: http://www.oracle.com/.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/259__540x_javafx-hierachy.gif" alt="Aufbau JavaFX Frame" title="Aufbau JavaFX Frame" />
</a>
			<p class="wp-caption-text">Aufbau JavaFX Frame <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-689-5" href="#note-689-5" onmouseover="tooltip.show('Bildquelle: http://www.oracle.com/.');" onmouseout="tooltip.hide();"><sup>5</sup></a></p>
</div>
<img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fhowto-gui-erstellen-mittels-adobe-illustrator-und-javafx%2F&amp;action_name=Howto+%E2%80%93+Touchscreen+Komponenten+mit+JavaFX+und+Adobe+Illustrator&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-689-1">Bildquelle: BA- Schran . <a class="simple-footnote-backlink" href="#return-note-689-1">&#8617;</a></li><li id="note-689-2">Details zum Export aus <a href="https://test.soziotech.org/glossar/ai/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für AI zu springen." onmouseover="tooltip.show('Adobe Illustrator; vektorbasiertes Grafik- und Zeichenprogramm. Es dient also dem Herstellen von Computergrafiken, die ohne Qualitätsverlust beliebig groß skaliert werden können. Wird synonym als Dateiendung der entsprechenden Adobe Illustrator Daten verwendet. ');" onmouseout="tooltip.hide();">AI</a> in eine &#8222;FXZ-Datei&#8220; im Artikel &#8222;<a href="https://test.soziotech.org/?p=676" class="link-internal">Howto zum Export von JavaFX Dateien durch <a class="glossaryLink" href="https://test.soziotech.org/glossar/production-suite/" title="Klicken Sie, um zum detaillierten Glossareintrag für Production Suite zu springen." onmouseover="tooltip.show('Verbindungsstück zwischen Entwickler und Designer für JavaFX. Es stellt Plugins für Adobe Illustrator und Photoshop sowie einen SVG-FXZ-Konverter zur Verfügung, mithilfe derer Grafiken in das JavaFX Format FXZ umgewandelt werden können. ');" onmouseout="tooltip.hide();">Production Suite</a></a>&#8222; <a class="simple-footnote-backlink" href="#return-note-689-2">&#8617;</a></li><li id="note-689-3">Bildquelle: BA- Schran. <a class="simple-footnote-backlink" href="#return-note-689-3">&#8617;</a></li><li id="note-689-4">Bildquelle: <a class="link-external" href="http://thenounproject.com/" title="Go to external Source" >http://thenounproject.com/</a>. <a class="simple-footnote-backlink" href="#return-note-689-4">&#8617;</a></li><li id="note-689-5">Bildquelle: <a class="link-external" href="http://www.oracle.com/" title="Go to external Source" >http://www.oracle.com/</a>. <a class="simple-footnote-backlink" href="#return-note-689-5">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
<li><a href="https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/" rel="bookmark" title="Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite">Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite </a></li>
<li><a href="https://test.soziotech.org/touchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen/" rel="bookmark" title="Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München">Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/howto-gui-erstellen-mittels-adobe-illustrator-und-javafx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München</title>
		<link>https://test.soziotech.org/touchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen/</link>
		<comments>https://test.soziotech.org/touchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 17:56:17 +0000</pubDate>
		<dc:creator><![CDATA[Markus Schran]]></dc:creator>
				<category><![CDATA[Forschung]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Largescreen]]></category>
		<category><![CDATA[Studienarbeiten]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Adobe Illustrator]]></category>
		<category><![CDATA[Bachelorarbeit]]></category>
		<category><![CDATA[Campus]]></category>
		<category><![CDATA[Fußgänger]]></category>
		<category><![CDATA[Fußgängernavigation]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Kartenmaterial]]></category>
		<category><![CDATA[Navigationssystem]]></category>
		<category><![CDATA[Production]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Touchscreen]]></category>
		<category><![CDATA[UniBwM]]></category>
		<category><![CDATA[Vektordaten]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=742</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/556_crop_940x198_blog_test.jpg" width="618" height="130" alt="Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München" /></p>Dieser Artikel beschreibt die wesentlichen Ergebnisse der Bachelorarbeit &#8222;Konzeption und Umsetzung eines Touchscreen-basierten Campus-Navigationssystems für die Universität der Bundeswehr München&#8220; von Markus Schran. Ziel der Bachelorarbeit war die Konzeption und prototypische Umsetzung eines stationären Navigationssystems auf einem Outdoor-Kiosk-Terminal. Hierzu wurde &#8230; <a href="https://test.soziotech.org/touchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen/">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%2Ftouchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen%2F&amp;action_name=Touchscreen-basiertes+Campus-Navigationssystem+f%C3%BCr+die+Universit%C3%A4t+der+Bundeswehr+M%C3%BCnchen&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'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/" rel="bookmark" title="Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite">Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite </a></li>
<li><a href="https://test.soziotech.org/potenziale-und-nutzungskonzepte-interaktiver-touchscreens/" rel="bookmark" title="Potenziale und Nutzungskonzepte interaktiver Touchscreens">Potenziale und Nutzungskonzepte interaktiver Touchscreens </a></li>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/556_crop_940x198_blog_test.jpg" width="618" height="130" alt="Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München" /></p><p><em>Dieser Artikel beschreibt die wesentlichen Ergebnisse der Bachelorarbeit &#8222;Konzeption und Umsetzung eines Touchscreen-basierten Campus-Navigationssystems für die Universität der Bundeswehr München&#8220; von Markus Schran. Ziel der Bachelorarbeit war die Konzeption und prototypische Umsetzung eines stationären Navigationssystems auf einem Outdoor-Kiosk-Terminal. Hierzu wurde zunächst zur Verfügung stehendes Kartenmaterial gesammelt und anwendungsspezifisch bewertet. Anschließend wurde der Besucherverkehr der Universität über mehrerer Tage protokolliert, bevor verschiedene Umsetzungsmöglichkeiten im Bezug auf Programmiersprache und Software Entwicklungstools gegeneinander abgewogen werden konnten. Das Ziel der praktischen Arbeit bestand darin, ein benutzerfreundliches und übersichtliches Programm für das touchscreen-basierte Terminal  zu programmieren. Neben den Grundfunktionen des  Programms befasste sich die Arbeit vor allem mit späteren Weiterentwicklungsmöglichkeiten. Nach einer kurzen Einführung in die  grundlegende Problematik werden in diesem Artikel die wichtigsten Schritte der Arbeit sowie die erzeugten Artefakte vorgestellt.</em></p>
<h2><span id="more-742"></span>Problemstellung</h2>
<p>Die Universität der Bundeswehr München ist darum bemüht, für ihre Besucher trotz ihres stetigen strukturellen Wandels eine hervorragende Infrastruktur zu bieten. Für externe Besucher ist die geografische Aufteilung der Universität zum Teil sehr unübersichtlich, da Fakultäten und Verwaltungsstellen auf unterschiedliche Gebäude aufgeteilt oder weit über das Gelände disloziert sind. Ähnlich verhält es sich mit Sportstätten auf dem Universitätsgelände, die von vielen Gästen genutzt werden. Aus diesem Grund wurde im Jahr 2010 an der Universität ein neues Schilder-Leitsystem errichtet, das es Universitätsangehörigen und Besuchern ermöglicht, sich einfacher auf dem Universitätsgelände zu orientieren. Aufgrund seines statischen Charakters schafft es jedoch auch dieses neue Leitsystem nicht, alle Anliegen potenzieller Besucher bestmöglich zu unterstützen. Das Leitsystem kann sich nicht optimal darauf einstellen, ob sich die Gäste mit dem Auto, zu Fuß oder vielleicht mit einem Fahrrad über das Gelände bewegen. Eine weitere Problemantik besteht darin, dass dieses Leitsystem dem Hauptanliegen der Besucher nicht entgegenkommen kann. Die meisten Besucher suchen eine bestimmte Person an der Universität, haben jedoch oft keine weiteren Informationen zum geografischen Aufenthalt der gesuchten Person. Da kein statisches Wegeleitsystem die Vielzahl der Personen an der Universität direkt abbilden kann, musste hierfür eine alternative Lösung gefunden werden. <strong><br />
</strong></p>
<h2>Zielsetzung</h2>
<p>Im Zuge der Installation des Leitsystems wurde auch das im Bild gezeigte Terminal „arctic 32“ der Firma <a href="http://www.friendlyway.de/" target="_blank" class="link-external">Friendlyway</a> an der Wache aufgestellt.</p>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/outdoor-terminals/terminal-plan.jpg" title="
			Terminal und Lageplan befindlich vor dem Wachgebäude an der UniBwM, Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/260__500x_terminal-plan.jpg" alt="Terminal und Lageplan" title="Terminal und Lageplan" />
</a>
			<p class="wp-caption-text">Terminal und Lageplan <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<p>Aus den in der Problemstellung beschriebenen Gründen beschäftigte sich die nachfolgend beschriebene  Bachelorarbeit damit, für dieses Terminal eine interaktive aktionsbasierte Ergänzung des statischen Stelenleitsystems zu entwickeln, das die Besucher je nach  individuellen Präferenzen und Zielwünschen optimal bei ihrer Navigation  auf dem Campus unterstützt.</p>
<p>Im Verlauf der Arbeit wurde ermittelt welche Funktionen eine mögliche Anwendung auf diesem Terminal bereitstellen muss und auf welchen Informationen diese Funktionen basieren. So wurde im ersten Schritt der Arbeit, durch Umfragen und Protokolle, erfasst, worin der Informationsbedarf unter den Besuchern liegt. Des Weiteren ist festgestellt worden wie sich der akademische und militärische Bereich der Universität nach außen präsentierten kann und welche Informationen Sie über diese Plattform teilen möchten. Im Zweiten Schritt muss festgestellt werden, woher das System diese Informationen bezieht und welche Art gewählt wird, diese später dem Nutzer zu präsentieren. Nachdem dann eine angemessene Möglichkeit gefunden wurde, diese geplante Benutzeroberfläche zu erzeugen, galt es im vorletzten Schritt diese zu implementieren und auf dem Terminal in Betrieb zu nehmen. Das zu entwickelnde Programm muss später durch Dritte einfach zu warten und erweiterbar sein, um somit auch der Verwaltung zu ermöglichen Veränderungen vorzunehmen. Im letzten Schritt gibt die Arbeit einen Ausblick auf mögliche Erweiterungen und Zusatzfunktionen, die später einmal in die Software mit aufgenommen werden könnten.</p>
<h2>Vorgehen bei der Umsetzung</h2>
<p>Das folgende Kapitel beschriebt die einzellnen Schritte der Bachelorarbeit. Hierzu fasst jeder Absatz einen Schritte zur Umsetzung zusammen.</p>
<h3>Vorstudie &#8211; Analyse Besucherverkehr</h3>
<p>Um eine Software zu erstellen, die konkret auf die Anliegen der Besucher der Universität eingeht, wurde das Besucherverhalten erst genauer erforscht. Dazu wurden der Besucherverkehr an einem Dienstag und einem Mittwoch von 7:00 bis 20:00 Uhr protokolliert. Dabei wurde genauestens notiert, aus welchem Grund die Besucher das Gelände aussuchen und welches Ziel sie haben. Da alle Besucher das Gelände über das Westtor betreten müssen, um sich dort bei der militärischen Wache auszuweisen, war es einfach, den gesamten Besucherstrom zu erfassen.  Dabei war es sogar möglich, die wichtigsten Informationen zu erfassen, ohne dabei die Besucher aufzuhalten. <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-2" href="#note-742-2" onmouseover="tooltip.show('Brigitte, Ringbauer; Romy, Kniewel &amp; Cornelia, Hipp (2009): Fußgänger sind keine Autos – Benutzerzentrierte Entwicklung eines Fußgängernavigationssystems. In: Usability Professionals 2009. Stuttgart: Henning Brau, S. 18-22.');" onmouseout="tooltip.hide();"><sup>2</sup></a>  Aus Gründen der Geheimhaltung und des Datenschutzes ist hier nur das Diagramm über die zeitliche Verteilung der Gäste abgebildet.  <div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/diagramm-1-zeitverteilung.png" title="
			Ergebnis Grafik zur "Zeitlichen Verteilung" der BA Besucherumfrage , Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/250__480x618_diagramm-1-zeitverteilung.png" alt="Zeitliche Verteilung der Besucher" title="Zeitliche Verteilung der Besucher" />
</a>
			<p class="wp-caption-text">Zeitliche Verteilung der Besucher <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>
</p>
<h3>Kartenmaterial</h3>
<p>Im nachsten Schritt wurden die Anforderungen an das Kartenmaterial spezifiziert. Die daraufhin gesammelten Karten der Universität wurden anhand dieser Anforderungen bewertet um eine geeignete Karte für die Software zu finden. Alle untersuchten Karten werden an dieser Stelle kurz mit ihren Merkmalen beschrieben. <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-3" href="#note-742-3" onmouseover="tooltip.show('Furutani, Tomoyuki (2005): A Study on Tourist  Navigation with the use of Application Service Provider of Location  Positioning System &#8211; A Case Study in Kamakura. Proceedings of the Eastern Asia Society for Transportation Studies, 1996/2005 (5), S. 1239 &#8211; 1240.');" onmouseout="tooltip.hide();"><sup>3</sup></a></p>
<p><strong>3D- Karte eines FH- Studenten</strong></p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/lageplan-bb.jpg" title="
			3D Lageplan der Universität der Bundeswehr in München erstellt einem Externen Studenten im Rahmen einer Diplomarbeit., Quelle: Diplomarbeit eines TU Studenten.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/323__480x618_lageplan-bb.jpg" alt="3D Lageplan" title="3D Lageplan" />
</a>
			<p class="wp-caption-text">3D Lageplan <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-4" href="#note-742-4" onmouseover="tooltip.show('Bildquelle: Diplomarbeit eines TU Studenten.');" onmouseout="tooltip.hide();"><sup>4</sup></a></p>
</div>

<p>Die gezeigte Karte ist von einem externen Fachhochschulstudenten vor fast 40 Jahren erstellt worden. Diese zeigt die Universität der Bundeswehr in einer Art Vogelperspektive aus nord-östlicher Sicht des Geländes. Sie zeigt auserdem alle Gebäude des damaligen Geländes in drei Dimensionen, sowie die vorhanden Sportstätten, den Parkplatz an der östlichen Seite, sowie die Grünflächen. Die Vorteile dieser Karte liegen ganz klar in der drei dimensionalen Darstellung der Gebäude. Diese hilft den Besuchern bei der Orientierung auf dem Gelände, weil es ihnen einfacher fällt ein Gebäude anhand des Aussehens zu identifizieren. Die Karte enthält neben den Formen der Gebäude auch noch Informationen über weitere Merkmale, wie z. B. die Farbe oder die Fassade.</p>
<p><strong>3D-Modelierung in Google Earth</strong></p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/google-earth.png" title="
			Im Rahmen einer BA wurde die UniBwM als 3D Model in Google Earth realisiert, Quelle: Google Earth.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/322__480x618_google-earth.png" alt="Google Earth UniBwM" title="Google Earth UniBwM" />
</a>
			<p class="wp-caption-text">Google Earth UniBwM <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-5" href="#note-742-5" onmouseover="tooltip.show('Bildquelle: Google Earth.');" onmouseout="tooltip.hide();"><sup>5</sup></a></p>
</div>

<p>Im Rahmen einer Bachelorarbeit entstand Anfang 2010, dieses 3D-Modell der Universität. Dieses ist für die Plattform von <em>Google Earth</em> ausgelegt worden und alle zugänglichen Daten sind im programmeigenen Format. Die Idee hierbei war es, die Modelle zu exportieren, in einer anderen Umgebung nachzubauen und sie dann für die Navigationssoftware zu nutzen. Die Vorteile die Darstellung wären wieder in der drei-dimensionalen Darstellung. Zudem könnte man flexibel agieren und z.B. Probleme wie verdeckte Informationen umgehen, würde man diese Modelle selbst exportieren und auf eigener Entwicklungsumgebung wiederverwenden.</p>
<p><strong>2D-Karte des Stelen Leitsystems</strong></p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/2d-lageplan-alt.jpg" title="
			2D Lageplan der Universität der Bundeswehr in München erstellt von designgruppe koop., Quelle: designgruppe koop.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/562__480x618_2d-lageplan-alt.jpg" alt="2D Lageplan(alt)" title="2D Lageplan(alt)" />
</a>
			<p class="wp-caption-text">2D Lageplan(alt) <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-6" href="#note-742-6" onmouseover="tooltip.show('Bildquelle: designgruppe koop.');" onmouseout="tooltip.hide();"><sup>6</sup></a></p>
</div>

<p>Diese Karte wurde im Rahmen der Beschaffung eines Leitsystems für die <a href="https://test.soziotech.org/glossar/unibwm/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für UniBwM zu springen." onmouseover="tooltip.show('Abkürzung für Universität der Bundeswehr München. Die UniBwM ist die südliche der zwei deutschen Bundeswehr Universitäten. Anschrift: Werner-Heisenberg-Weg 39, 85577 Neubiberg.');" onmouseout="tooltip.hide();">UniBwM</a> erstellt. Sie zeigt alle Gebäude des Universitätsgeländes in zwei Dimensionen sowie alle Straßen und weitere wichtige Objekte. So sind neben Parkplätzen auch Straßennamen auch einige Sportstätten verzeichnet. Der wesentliche Vorteil, der zur endgültigen Verwendung der Karte in der Navigationssoftware führte, ist die Darstellung in Form einer Vektorgrafik. Diese ermöglicht entscheidende Implementierungsvorteile mit der verwendeten Programmiersprache <a href="https://test.soziotech.org/glossar/javafx/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für JavaFX zu springen." onmouseover="tooltip.show('Framework für plattformübergreifende Rich Internet Applications. Es ist Teil der Java-Spezifikation und -familie von Sun Microsystems und steht in direkter Konkurrenz zu Adobe Flash bzw. Flex und Microsoft Silverlight. ');" onmouseout="tooltip.hide();">JavaFX</a>  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-7" href="#note-742-7" onmouseover="tooltip.show('JavaFX ist ein neues Framework für plattformübergreifende Internetapplikationen &#8211; Oracle Produkt Seite');" onmouseout="tooltip.hide();"><sup>7</sup></a>, auf die an späterer Stelle eingegangen wird. Denn durch den Zugriff auf die Vektordaten ist es möglich, Gebäude und Straßen separat zu verändern. Dies ermöglicht es im Programm, das Zielgebäude farblich hervorzuheben oder die Route zum Ziel direkt zu markieren. Weiterhin können einzelne Objekte ein- oder ausgeblendet, verschoben oder in Größe und Form verändert werden. Durch das Vorliegen der Quelldaten ist auch gewährleistet, dass die Karte bei weiteren Veränderungen an der Universität aktualisiert wird. <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-8" href="#note-742-8" onmouseover="tooltip.show('Schöttle, Felix (2007): Automatisches Generieren von graphischen Wegbeschreibungen für Fußgänger.  Diplomarbeit, Naturwissenschaftlich-Technische Fakultät I, Fachrichtung  Informatik, Universität des Saarlandes, S. 25,26.');" onmouseout="tooltip.hide();"><sup>8</sup></a></p>
<h3>Realisierungsmöglichkeit &#8211; JavaFX und <a href="https://test.soziotech.org/glossar/production-suite/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Production Suite zu springen." onmouseover="tooltip.show('Verbindungsstück zwischen Entwickler und Designer für JavaFX. Es stellt Plugins für Adobe Illustrator und Photoshop sowie einen SVG-FXZ-Konverter zur Verfügung, mithilfe derer Grafiken in das JavaFX Format FXZ umgewandelt werden können. ');" onmouseout="tooltip.hide();">Production Suite</a></h3>
<p>Zur Umsetzung des Navigationssystems bieten sich verschiedene Programmiersprachen und Erweiterungen an. In der Arbeit wurde zwischen der Realisierung durch Java mithilfe von Baltik SVG Tool oder JavaFX mit Produktion Suite abgewogen.  An dieser Stelle wird nun die zur Realisierung verwendete Möglichkeit über JavaFX aufgezeigt.</p>
<p>JavaFX ist ein recht neues Framework für plattformübergreifende Internetapplikationen. Es basiert auf JavaScript und kann auf Funktionen und Schnittstellen der Java-Klassenbibliothek zurückgreifen. Somit verbindet JavaFX die objektorientierten Vorteile der Programmiersprache Java und die einer webbasierten Applikationssprache wie JavaScript.  Zusätzlich schafft JavaFX mit der Production Suite eine Verbindung zwischen Designer und Entwickler. Es stellt Plugins für Adobe Illustrator und Adobe Photoshop zur Verfügung. <a href="https://test.soziotech.org/glossar/fxz/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für FXZ zu springen." onmouseover="tooltip.show('Datenformat der JavaFX Production Suite. Als FXZ gespeicherte Grafiken können zur Laufzeit mit JavaFX einfach verändert werden. ');" onmouseout="tooltip.hide();">FXZ</a>-Grafiken können zur Laufzeit mit JavaFX sehr einfach verändert werden. Einzelne Bestandteile können zum Beispiel über eine im SVG-Programm oder in Illustrator zugewiesene <a href="https://test.soziotech.org/glossar/id/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für ID zu springen." onmouseover="tooltip.show('Identifikator oder auch Kennung; ist ein künstlich zugewiesenes Merkmal zur eindeutigen Identifizierung eines Objektes. ');" onmouseout="tooltip.hide();">ID</a> angesprochen werden und es lassen sich damit sehr einfach Eigenschaften, wie Transparenz, Position, Größe oder Form des Objekts ändern.  Die Funktionsweise von JavaFX und Produktion Suite wird im Artikel &#8222;<a href="https://test.soziotech.org/?p=676" target="_blank" class="link-internal">Howto zum Export von JavaFX Dateien durch Production Suite</a>&#8220; beschrieben.</p>
<h3>Programm Design</h3>
<p>Bei der Gestaltung des Programm Designs wurden sehr viele Entwürfe angefertigt die immer wieder die Benutzeroberfläche verfeinert haben, um sie möglichst intuitiv und einfach zu gestalten. Dabei war es wichtig den vorhandenen Platz optimal auszunutzen, und trotzdem keine Informationen zu überdenken oder Bedienelemente an ungünstigen Stellen anzuordnen. Hierbei muss berücksichtigt werden, dass es sich um ein vertikales Display mit kapazitiver Thoughglass Touchscreen Technologie handelt. Dies schränkt zum Einen den effektiv zu nutzenden Bereich ein, in dem Touchscreen-Eingaben getätigt werden können. Zum Anderen müssen die Eingabeelemente eine gewisse Größe besitzen, da die Technologie eine gewisse Ungenauigkeit besitzt.  Durch einige Experimente an Modeloberflächen, wurden die Fläche des Displays in gewisse Bereiche eingeteilt, sowie Mindestgrößen für Schrift und Eingabeelemente festgelegt. Diese sind in der folgenden Abbildung  eingezeichnet. <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-9" href="#note-742-9" onmouseover="tooltip.show('Maguire, Mc (1999): A review of user-interface design guidelines for public information kiosk systems. International Journal of Human Computer Studies, 3/1999 (50). Citeseer, S. 263-280.');" onmouseout="tooltip.hide();"><sup>9</sup></a>  <div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/display-bereiche.png" title="
			Einteilung der Bereiche des Touchscreen-Display, Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/332__240x618_display-bereiche.png" alt="Bereiche im Display " title="Bereiche im Display " />
</a>
			<p class="wp-caption-text">Bereiche im Display  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>
</p>
<ul>
<li>Die Rote Fläche zeigt den Bereich in dem eine Touchscreen Eingabe schwer umzusetzen ist und somit nur zur Anzeige genutzt wird.</li>
<li>Die Blaue Fläche zeigt den zu nutzende Bereich des  Touchscreen Displays.</li>
<li>Die Grüne Fläche markiert den Bereich in dem der Focus des Nutzers liegt. Alle Hauptfunktionalitäten sowie Programminteraktionen werden in diesem Bereich ausgeführt.</li>
<li>Die Gelben Objekte zeigen die Größen umzusetzender Bedienelemente, sie besitzen eine Kantenlänge von 50/60/75 Pixel</li>
<li>Der Text zeigt die zu verwendende Größe einer Überschrift und eines normalen Textes (Arial, Schriftgröße 24/12)</li>
</ul>
<p>Unter Berücksichtigung dieser Bereiche ergaben sich nach wiederholter Analyse und Überarbeitung das untern abgebildete Model der Benutzeroberfläche. Darin sind im Focus die Suchfunktionen wiederzufinden, sowie die Buttons zum Zoomen und Zurücksetzen der Karte. Im unteren Display-Bereich sind die weitern Funktionen angeordnet, um Informationen ein und auszublenden. Es wurde hier in der Abbildung auf eine zusätzliche Beschriftung verzichtet, da die Button-Titel sehr aussagekräftig sind und dies die Darstellung nicht zu verfälschen. <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-10" href="#note-742-10" onmouseover="tooltip.show('Sandnes, F.E.; Jian, H.L.; Huang, Y.P. &amp; Huang, Y.M. (2010): User Interface Design for Public Kiosks: An Evaluation of the Taiwan High Speed Rail Ticket Vending Machine.  Journal of information science and engineering, 1/2010 (26). Institute  of Information Science, Academia sinica, S. 307–321.');" onmouseout="tooltip.hide();"><sup>10</sup></a></p>

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


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-552" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-5" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/mock-up-v2.png" title="
			MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde., Quelle: BA- Schran .			"  >
								<img alt="MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde." src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_mock-up-v2.png" width="126" height="100" class="colorbox-5" />
							</a>
			<p class=wp-caption-text>Fussgängernavigation MockUp V2 <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-553" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-5" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/mock-up-v3-3d.png" title="
			MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde., Quelle: BA- Schran .			"  >
								<img alt="MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde." src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_mock-up-v3-3d.png" width="126" height="100" class="colorbox-5" />
							</a>
			<p class=wp-caption-text>Fussgängernavigation MockUp V3 <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-554" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-5" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/mock-up-v5.png" title="
			MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde., Quelle: BA- Schran .			"  >
								<img alt="MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde." src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_mock-up-v5.png" width="126" height="100" class="colorbox-5" />
							</a>
			<p class=wp-caption-text>Fussgängernavigation MockUp V5 <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-555" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-5" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/mock-up-v7-1.png" title="
			MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde., Quelle: BA- Schran .			"  >
								<img alt="MockUp zum Startscreen des Fussgängernavigationssystems das im Rahmen der Ba erstellt wurde." src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_mock-up-v7-1.png" width="126" height="100" class="colorbox-5" />
							</a>
			<p class=wp-caption-text>Fussgängernavigation MockUp V7 <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
			
	<div id="ngg-image-564" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-5" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/startscreen_0.png" title="
			Startscreen des Fussgängernavigationssystems das im Rahmen der Bachelorarbeit erstellt wurde., Quelle: BA- Schran .			"  >
								<img alt="Startscreen des Fussgängernavigationssystems das im Rahmen der Bachelorarbeit erstellt wurde." src="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/thumbs/thumbs_startscreen_0.png" width="126" height="100" class="colorbox-5" />
							</a>
			<p class=wp-caption-text>Fussgängernavigation Startscreen <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<h3>Anpassung der Vektordaten</h3>
<p>Die gelieferten Daten Vektordaten mussten im ersten Schritt der Realisierung nun soweit angepasst werden, dass diese mit Hilfe der JavaFX Produktion Suite in das FXZ- Format umgewandelt werden konnten. Da ein Designer die Elemente einer Vektordatei oftmals nur auf das Nötigste gruppiert und in Ebenen separiert, war an dieser Stelle viel Aufwand notwendig. Die erhaltene Adobe Illustrator Datei enthielt jeweils eine Ebene für die Symbole der Karte, die Gebäude, deren Schatten, die Straßen und die Grundfläche im Hintergrund. In diesen Ebenen waren die einzelnen Elemente jedoch nicht weiter sortiert oder beschriftet worden.  Ohne eine solche Beschriftung und Gruppierung wäre es nicht möglich, später im Programm, die Objekte anzusprechen und zu verändern. Somit bestand die erste Aufgabe darin, diese Ebenen und Gruppen, neu zu strukturieren.</p>
<p>In der Ebene der Gebäude musste die meiste Arbeit geleistet werden. Hier wurden zuerst alle Pfade die zu einem Gebäude gehören gruppiert.  Die Beschriftung der einzelnen Bauteile der Gebäude wurde auch mit aufgenommen, da es bisher sehr wenige Karten des Geländes gibt die auch diese mit abbilden. Nachdem alle diese neuen Informationen in die Karte mit eingezeichnet wurden, mussten dies auch entsprechend benannt und gruppiert werden. Nach dieser erneuten Gruppierung umfasst jedes Gebäude drei Untergruppen. Den Aufbau dieser Gruppe und der Untergruppen Label, Shape und Shadow zeigt die folgende Abbildung. <div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/ai-ebene-nr2.png" title="
			Die Abbildung zeit die erzeugte Struktur der Ebene in einer AI Grafik und deren Benennung, Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/333__240x618_ai-ebene-nr2.png" alt="AI Ebenen" title="AI Ebenen" />
</a>
			<p class="wp-caption-text">AI Ebenen <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>
Um später einmal eine Route in den Plan einzeichnen zu können, bedient man sich wieder dem gleichen Prinzip, wie schon zuvor beim Hervorheben eines Gebäudes. Die zum Ziel führenden Straßenabschnitte werden rot gefärbt, um somit die Route erkenntlich zu machen. Dafür muss aber jeder Straßenabschnitt ein eigener Pfad sein. Somit kann für jeden dieser Abschnitte die Farbe einzeln bestimmt zu werden. Somit mussten alle bestehenden Straßen an jeder Kreuzung zerteilt werden und schließlich alle mit einer ID versehen werden. Der letzte Schritt dieser Anpassung wurde von einer Grafikerin übernommen. Dabei wurde der Lageplan um die fehlenden Sportstätten, Park- und Antreteplätze und fehlenden Wege der Universität ergänzt. Die nächste Abbildung zeigt den fertig überarbeiteten Lageplan nach all diesen Schritten. Die Anzahl der einzelnen Elemente im Lageplan hat sich dadurch verdoppelt und die Anzahl der Gruppierungen und Beschriftungen sind um das Fünffache angestiegen.  <div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/2d-lageplan-neu.jpg" title="
			2D Lageplan der Universität der Bundeswehr in München erstellt von designgruppe koop und bearbeitet im Rahmen der Bachelorarbeit , Quelle: BA- Schran .			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/563__320x618_2d-lageplan-neu.jpg" alt="2D Lageplan(neu)" title="2D Lageplan(neu)" />
</a>
			<p class="wp-caption-text">2D Lageplan(neu) <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-742-1" href="#note-742-1" onmouseover="tooltip.show('Bildquelle: BA- Schran .');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>
  Bei Einblendung aller Elemente sieht der Lageplan etwas überladen aus. Doch das gezielte Ein- und Ausblenden von Informationen während der Programmlaufzeit ermöglicht eine benutzerfreundliche Navigationshilfe.</p>
<h2>Zusammenfassung und Ausblick</h2>
<p>Die Arbeit begann im Oktober 2010 mit der Aussicht auf eine lauffähige Navigationssoftware für das Gelände der Bundeswehruniversität. Dabei haben die Recherchen und Analysen der Problemstellung ergeben, dass diese Software, neben einer einfachen Grundfunktion, eine Vielzahl von nützlichen Zusatzfunktionen beinhalten könnte. Jede dieser Funktionen wäre dabei eine große Bereicherung, sowohl im Bereich der Benutzerfreundlichkeit, wie auch im Hinblick auf die Wartung. Sie könnten helfen die Universität der Bundeswehr positiv nach außen zu präsentieren. Zunächst blieb der Fokus jedoch auf einer gut konzeptionierten Analyse der genauen Anforderungen an die Software.  Um möglichst viele Erkenntnisse zur Problematik zu sammeln wurden unterschiedlichste Forschungsbereiche beleuchtet.</p>
<p>Die Auswertungen bezüglich des Kartenmaterials waren äußerst ernüchternd, da sie im Grunde keine Auswahlmöglichkeit lassen.  Die Wahl des Realisierungsverfahrens hingegen blieb unterer den vorgestellten Möglichkeiten ausgeglichen. Auch wenn sich die Umstellung auf JavaFX schwerer als zunächst angenommen erwies, bleib es die richtige Entscheidung und wird sich auch an späterer Stelle weiter auszahlen.  Dies hatte sich bei der Anpassung der Vektordaten von gezeigt. Dieser vorher nicht bedachte Arbeitsabschnitt hat bei weitem am meisten Zeit in Anspruch genommen. Die Entscheidung, sich an dieser Stelle intensiver mit der Umstrukturierung und Aufbereitung der Vektordaten zu befassen und vorerst von einer vollständigen Realisierung des Programmes abzusehen, war vollkommen richtig.  Die eigentlichen Vorteile, die zur Auswahl von JavaFX und einer vektorbasierten Karte geführt haben, werden dabei eigentlich erst an späterer Stelle deutlich. Denn zurzeit beschränken sich die Funktionen des Programms sowie ein Zusammenspiel der angesprochenen Komponenten noch auf ein Minimum, doch nun gilt es dies umgehend zu einer Version zu erweitern, die auf dem Terminal in Betrieb genommen werden kann.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Ftouchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen%2F&amp;action_name=Touchscreen-basiertes+Campus-Navigationssystem+f%C3%BCr+die+Universit%C3%A4t+der+Bundeswehr+M%C3%BCnchen&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-742-1">Bildquelle: BA- Schran . <a class="simple-footnote-backlink" href="#return-note-742-1">&#8617;</a></li><li id="note-742-2">Brigitte, Ringbauer; Romy, Kniewel &amp; Cornelia, Hipp (2009): <em>Fußgänger sind keine Autos – Benutzerzentrierte Entwicklung eines Fußgängernavigationssystems.</em> In: Usability Professionals 2009. Stuttgart: Henning Brau, S. 18-22. <a class="simple-footnote-backlink" href="#return-note-742-2">&#8617;</a></li><li id="note-742-3">Furutani, Tomoyuki (2005): <em>A Study on Tourist  Navigation with the use of Application Service Provider of Location  Positioning System &#8211; A Case Study in Kamakura</em>. Proceedings of the Eastern Asia Society for Transportation Studies, 1996/2005 (5), S. 1239 &#8211; 1240. <a class="simple-footnote-backlink" href="#return-note-742-3">&#8617;</a></li><li id="note-742-4">Bildquelle: Diplomarbeit eines TU Studenten. <a class="simple-footnote-backlink" href="#return-note-742-4">&#8617;</a></li><li id="note-742-5">Bildquelle: Google Earth. <a class="simple-footnote-backlink" href="#return-note-742-5">&#8617;</a></li><li id="note-742-6">Bildquelle: designgruppe koop. <a class="simple-footnote-backlink" href="#return-note-742-6">&#8617;</a></li><li id="note-742-7">JavaFX ist ein neues Framework für plattformübergreifende Internetapplikationen &#8211; <a href="http://www.oracle.com/index.html" target="_blank" class="link-external">Oracle Produkt Seite</a> <a class="simple-footnote-backlink" href="#return-note-742-7">&#8617;</a></li><li id="note-742-8">Schöttle, Felix (2007): <em>Automatisches Generieren von graphischen Wegbeschreibungen für Fußgänger</em>.  Diplomarbeit, Naturwissenschaftlich-Technische Fakultät I, Fachrichtung  Informatik, Universität des Saarlandes, S. 25,26. <a class="simple-footnote-backlink" href="#return-note-742-8">&#8617;</a></li><li id="note-742-9">Maguire, Mc (1999): <em>A review of user-interface design guidelines for public information kiosk systems</em>. International Journal of Human Computer Studies, 3/1999 (50). Citeseer, S. 263-280. <a class="simple-footnote-backlink" href="#return-note-742-9">&#8617;</a></li><li id="note-742-10">Sandnes, F.E.; Jian, H.L.; Huang, Y.P. &amp; Huang, Y.M. (2010): <em>User Interface Design for Public Kiosks: An Evaluation of the Taiwan High Speed Rail Ticket Vending Machine</em>.  Journal of information science and engineering, 1/2010 (26). Institute  of Information Science, Academia sinica, S. 307–321. <a class="simple-footnote-backlink" href="#return-note-742-10">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/" rel="bookmark" title="Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite">Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite </a></li>
<li><a href="https://test.soziotech.org/potenziale-und-nutzungskonzepte-interaktiver-touchscreens/" rel="bookmark" title="Potenziale und Nutzungskonzepte interaktiver Touchscreens">Potenziale und Nutzungskonzepte interaktiver Touchscreens </a></li>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/touchscreen-basiertes-campus-navigationssystem-fuer-die-universitaet-der-bundeswehr-muenchen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite</title>
		<link>https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/</link>
		<comments>https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 17:57:25 +0000</pubDate>
		<dc:creator><![CDATA[Markus Schran]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Adobe Illustrator]]></category>
		<category><![CDATA[FXD]]></category>
		<category><![CDATA[FXZ]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Production Suite]]></category>
		<category><![CDATA[Vektorgrafik]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=676</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/310_crop_940x198_fxd-export.png" width="618" height="130" alt="Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite" /></p>In diesem Howto wird gezeigt, wie aus einer Vektorgrafik in Adobe Illustrator eine FXZ-Datei erstellt werden kann, die zur Programmierung einer entsprechenden Oberfläche in JavaFX benötigt wird. Dazu wird das Plugin der JavaFX Production Suite verwendet, das als Integrationslösung zur &#8230; <a href="https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/">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%2Fhowto-export-von-vektorgrafiken-mit-der-javafx-production-suite%2F&amp;action_name=Howto+%26%238211%3B+Export+von+Vektorgrafiken+mit+der+JavaFX+Production+Suite&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'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/310_crop_940x198_fxd-export.png" width="618" height="130" alt="Howto &#8211; Export von Vektorgrafiken mit der JavaFX Production Suite" /></p><p>In diesem Howto wird gezeigt, wie aus einer Vektorgrafik in Adobe Illustrator eine <a href="https://test.soziotech.org/glossar/fxz/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für FXZ zu springen." onmouseover="tooltip.show('Datenformat der JavaFX Production Suite. Als FXZ gespeicherte Grafiken können zur Laufzeit mit JavaFX einfach verändert werden. ');" onmouseout="tooltip.hide();">FXZ</a>-Datei erstellt werden kann, die zur Programmierung einer entsprechenden Oberfläche in <a href="https://test.soziotech.org/glossar/javafx/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für JavaFX zu springen." onmouseover="tooltip.show('Framework für plattformübergreifende Rich Internet Applications. Es ist Teil der Java-Spezifikation und -familie von Sun Microsystems und steht in direkter Konkurrenz zu Adobe Flash bzw. Flex und Microsoft Silverlight. ');" onmouseout="tooltip.hide();">JavaFX</a> benötigt wird. Dazu wird das Plugin der <a href="http://javafx.com/downloads/all.jsp" target="_blank" class="link-external">JavaFX <a class="glossaryLink" href="https://test.soziotech.org/glossar/production-suite/" title="Klicken Sie, um zum detaillierten Glossareintrag für Production Suite zu springen." onmouseover="tooltip.show('Verbindungsstück zwischen Entwickler und Designer für JavaFX. Es stellt Plugins für Adobe Illustrator und Photoshop sowie einen SVG-FXZ-Konverter zur Verfügung, mithilfe derer Grafiken in das JavaFX Format FXZ umgewandelt werden können. ');" onmouseout="tooltip.hide();">Production Suite</a></a> verwendet, das als Integrationslösung zur Unterstützung solcher Anwendungsfälle von Oracle bereitgestellt wird.</p>
<p><span id="more-676"></span></p>
<p>Falls bisher noch keine Runtime-Umgebung für JavaFX installiert wurde, zeigt der zuvor in dieser Serie erschienene Artikel <a href="https://test.soziotech.org/?p=903" title="Zum Sociotech-Artikel Howto - Erste Schritte mit JavaFX 2.0" class="link-internal">Howto &#8211; Erste Schritte mit JavaFX 2.0</a> alle erforderlichen Voraussetzungen, die für das Programmieren mit JavaFX benötigt werden, sowie allgemeine grundlegende Begriffe und Befehle. Die nachfolgend vorgestellten Schritte stammen z.T. aus dem <a href="http://download.oracle.com/javafx/1.3/gettingstarted/production_suite/" title="Zum Getting Started Tutorial der Production Suite" target="_blank" class="link-external">Getting Started Tutorial zur Production Suite</a> und wurden für den Kontext der Artikelserie zu JavaFX entsprechend angepasst.</p>
<h2>Vektorgrafik in Adobe Illustrator</h2>
<p>Zunächst betrachten wir eine Grafik mit ihrer Ebenenstruktur in Adobe Illustrator. Bereits beim Erstellen der Grafik muss auf Ebenen und Benennung geachtet werden. Rechts im Bild sind die Ebene mit ihren jeweiligen Gruppierungen gut zu erkennen.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/javafx-production-suite/fxd-beispiel.png" title="
			Beispiel einer guten Struktur in Adobe Illustrator und anhand einer Tutorial Grafik, Quelle: http://download.oracle.com/javafx/1.3/gettingstarted/production_suite/.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/307__618x_fxd-beispiel.png" alt="Struktur einer Vektorgrafik" title="Struktur einer Vektorgrafik" />
</a>
			<p class="wp-caption-text">Struktur einer Vektorgrafik <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-676-1" href="#note-676-1" onmouseover="tooltip.show('Bildquelle: http://download.oracle.com/javafx/1.3/gettingstarted/production_suite/.');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<p>In der abgebildeten Grafik sind alle Zahlen mit ihrem quadratischen Rahmen gruppiert und durchnummeriert. An der Benennung der Elemente kann man ableiten, welche Komponenten später im Programm angesprochen können werden sollen. Alle Objekte, die in JavaFX über ihre <a href="https://test.soziotech.org/glossar/id/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für ID zu springen." onmouseover="tooltip.show('Identifikator oder auch Kennung; ist ein künstlich zugewiesenes Merkmal zur eindeutigen Identifizierung eines Objektes. ');" onmouseout="tooltip.hide();">ID</a> (Ebenennamen) aufrufbar sein sollen, sollten in Adobe Illustrator mit dem Präfix „JFX:“ versehen werden. Dies bietet sich insbesondere bei Grafiken an, die viele Objekte bzw. Ebenen besitzen, von denen aber nur ein gewisser Teil später im Programm explizit angesprochen werden muss.</p>
<p>Über den Punkt &#8222;Datei&#8220; in der Menüleiste erreicht man unter &#8222;Save for JavaFX&#8230;&#8220; das Plugin. Es öffnet sich das unten abgebildete Exportfenster mit den möglichen Ausgabeoptionen. Wenn später alle Objekte über eine ID angesprochen werden sollen, kann dies in den Ausgabeeinstellungen festgelegt werden.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/javafx-production-suite/fxd-export.png" title="
			Preview-Ansicht der Tutorial Grafik beim Export mit Ausgabeoptionen für die zu erstellende "FXZ"- File, Quelle: http://download.oracle.com/javafx/1.3/gettingstarted/production_suite/.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/310__618x_fxd-export.png" alt="Exportbeispiel mit Ausgabe optionen" title="Exportbeispiel mit Ausgabe optionen" />
</a>
			<p class="wp-caption-text">Exportbeispiel mit Ausgabe optionen <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-676-1" href="#note-676-1" onmouseover="tooltip.show('Bildquelle: http://download.oracle.com/javafx/1.3/gettingstarted/production_suite/.');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<h2>Tranformation in JavaFX-Quelltext</h2>
<p>Das Speichern erzeugt die FXZ-Datei zur geöffneten Grafik. Beim Vergleich der originalen Adobe Illustrator Grafik und der exportierten FXZ-Datei ist gut zu erkennen, wie die Benennung im Quelltext der Ausgabedatei in der folgenden Grafik wiederzufinden ist.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/javafx-production-suite/fxd-stuktur1.png" title="
			Zeigt die Struktur der Zieldatei die sehr ähnlich einer XML - Struktur kommt. Man erkennt das der Root-Knoten vom Typ "FXD" ist., Quelle: BA- Schran.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/309__518x_fxd-stuktur1.png" alt="Struktur einer FXZ-Datei" title="Struktur einer FXZ-Datei" />
</a>
			<p class="wp-caption-text">Struktur einer FXZ-Datei <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-676-2" href="#note-676-2" onmouseover="tooltip.show('Bildquelle: BA- Schran.');" onmouseout="tooltip.hide();"><sup>2</sup></a></p>
</div>

<p>Zum Ausgabeformat ist noch zu sagen, dass die JavaFX-Ausgabedatei, wie schon angesprochen, im FXZ-Format vorliegt. Dieses beinhaltet eine <a href="https://test.soziotech.org/glossar/fxd/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für FXD zu springen." onmouseover="tooltip.show('Datenformat der textuellen Beschreibung einer Vektorgrafik in JavaFX. Neben der eigentlichen Grafik liegt diese in der FXZ Datei vor. ');" onmouseout="tooltip.hide();">FXD</a>-Datei, in der die eigentliche textuelle Beschreibung der Grafik enhalten ist. Die textuelle Beschreibung basiert auf <a href="https://test.soziotech.org/glossar/xml/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für XML zu springen." onmouseover="tooltip.show('Extensible Markup Language; Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten.');" onmouseout="tooltip.hide();">XML</a> und beschreibt Element für Element, gegliedert nach den jeweiligen Ebenen. Somit besteht die Ausgabedatei (.fxz) aus der Grafik an sich und der textuellen Beschriebung (.fxd), was sich auch im Wurzeltag „FXD“ in  der Abbildung oben widerspiegelt.</p>
<p>Weiterführenden Informationen zu JavaFX und der JavaFX Production Suite finden sich u.a. auf den Oracle-Seiten <a href="http://download.oracle.com/javafx/tutorials.html" target="_blank" class="link-external">JavaFX Tutorials</a> und <a href="http://download.oracle.com/javafx/howto.html" target="_blank" class="link-external">JavaFX Howtos</a>.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fhowto-export-von-vektorgrafiken-mit-der-javafx-production-suite%2F&amp;action_name=Howto+%26%238211%3B+Export+von+Vektorgrafiken+mit+der+JavaFX+Production+Suite&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-676-1">Bildquelle: <a class="link-external" href="http://download.oracle.com/javafx/1.3/gettingstarted/production_suite/" title="Go to external Source" >http://download.oracle.com/javafx/1.3/gettingstarted/production_suite/</a>. <a class="simple-footnote-backlink" href="#return-note-676-1">&#8617;</a></li><li id="note-676-2">Bildquelle: BA- Schran. <a class="simple-footnote-backlink" href="#return-note-676-2">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/howto-export-von-vektorgrafiken-mit-der-javafx-production-suite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto &#8211; Erste Schritte mit JavaFX 2.0</title>
		<link>https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/</link>
		<comments>https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 08:02:07 +0000</pubDate>
		<dc:creator><![CDATA[Markus Schran]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technologien]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Production Suite]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=903</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/386_crop_940x198_javafx_test.jpg" width="618" height="130" alt="Howto &#8211; Erste Schritte mit JavaFX 2.0" /></p>In diesem Howto wird kurz erklärt, welche Software für das Arbeiten mit JavaFX 2.0 benötigt wird und wo diese erhältlich ist. Dabei orientiert sich das Tutorial an den aktuellsten Komponenten, die mit der Veröffentlichung der neuen Version 2.0 von JavaFX &#8230; <a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/">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%2Fhowto-erste-schritte-mit-javafx-2-0%2F&amp;action_name=Howto+%26%238211%3B+Erste+Schritte+mit+JavaFX+2.0&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/386_crop_940x198_javafx_test.jpg" width="618" height="130" alt="Howto &#8211; Erste Schritte mit JavaFX 2.0" /></p><p>In diesem Howto wird kurz erklärt, welche Software für das Arbeiten mit <a href="https://test.soziotech.org/glossar/javafx/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für JavaFX zu springen." onmouseover="tooltip.show('Framework für plattformübergreifende Rich Internet Applications. Es ist Teil der Java-Spezifikation und -familie von Sun Microsystems und steht in direkter Konkurrenz zu Adobe Flash bzw. Flex und Microsoft Silverlight. ');" onmouseout="tooltip.hide();">JavaFX</a> 2.0 benötigt wird und wo diese erhältlich ist. Dabei orientiert sich das Tutorial an den aktuellsten Komponenten, die mit der Veröffentlichung der neuen Version 2.0 von JavaFX erschienen sind. Die Software ist zum Verfassungszeitpunkt dieses Artikels nur für 32-Bit-Windows Betriebssysteme erhältlich.<span id="more-903"></span></p>
<p>Im Mai 2011 ist die neue Version von JavaFX erschienen, nachdem der Umgebung in der jüngsten Vergangenheit immer größere Anwendung zuteil wurde. Dieses Howto stellt alle benötigten Komponten, die zum Entwickeln mit JavaFX 2.0 erforderlich sind, mit einer minimalistischen Konfigurationsanleitung zusammen.</p>
<h2>Installation</h2>
<p>Bevor im nächsten Abschnitt eine minimalistische Beispielsanwendung erstellt wird, müssen zunächst alle erforderlichen Komponenten installiert werden.</p>
<h3>Java SE 6 <a href="https://test.soziotech.org/glossar/jdk/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für JDK zu springen." onmouseover="tooltip.show('Java Development Kit; ist eines der von Java-Entwicklern meistgenutzten Java-SDKs aus dem Hause Oracle, ehemals Sun Microsystems. ');" onmouseout="tooltip.hide();">JDK</a></h3>
<p>Für das Arbeiten mit JavaFX  2.0 ist mind. Java SE 6 JDK Update 24 <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-903-1" href="#note-903-1" onmouseover="tooltip.show('Zum Verfassungzeitpunkt dieses Artikels ist bereits Update 25 aktuell und wird entsprechend genutzt.');" onmouseout="tooltip.hide();"><sup>1</sup></a> erforderlich.</p>
<ol>
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank" class="link-external">Java SE 6 Update 25 JDK</a> downloaden.</li>
<li>Zur Installation .exe-Datei ausführen.</li>
</ol>
<h3>JavaFX 2.0 <a href="https://test.soziotech.org/glossar/sdk/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für SDK zu springen." onmouseover="tooltip.show('Software Development Kit; ist eine Sammlung von Werkzeugen und Anwendungen, um eine Software zu erstellen, meist inklusive Dokumentation. Mit diesem ist es Softwareentwicklern möglich, eigene darauf basierende Anwendungen zu erstellen. Grundsätzlich gibt es zu jeder Programmiersprache auch ein Software Development Kit - bei interpretierten Sprachen kann dies jedoch identisch mit der Laufzeitumgebung sein. ');" onmouseout="tooltip.hide();">SDK</a> (inkl. Runtime)</h3>
<p>Zusätzlich zur Java-Entwicklungsumgebung wird das JavaFX SDK benötigt.</p>
<ol>
<li><a href="http://www.oracle.com/technetwork/java/javafx/downloads/index.html" target="_blank" class="link-external">JavaFX SDK  Zip-Archiv</a> downloaden.</li>
<li> Archive auf lokalem System entpacken und darin befindliche .exe-Datei entsprechend nachfolgendem Screenshot ausführen.</li>
</ol>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/javafx-production-suite/screen1.png" title="
			Bild zum Entpacken und Installieren des Java SDKs, Quelle: Blog - Schran.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/362__x618_screen1.png" alt="Install SDK" title="Install SDK" />
</a>
			<p class="wp-caption-text">Install SDK <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-903-2" href="#note-903-2" onmouseover="tooltip.show('Bildquelle: Blog - Schran.');" onmouseout="tooltip.hide();"><sup>2</sup></a></p>
</div>

<h3>Netbeans 7.0 und JavaFX Plugin</h3>
<p>Als integrierte Entwicklungsumgebung wird aktuell lediglich die Netbeans IDE, nicht aber Eclipse unterstützt. Zur Integration von JavaFX wird ein zusätzliches Plugin benötigt.</p>
<ol>
<li>Aktuellen <a href="http://netbeans.org/downloads/index.html" target="_blank" class="link-external">Netbeans 7.0 Installer (Java SE/EE/all)</a> downloaden.</li>
<li>Installer für die Basis Version von Netbeans ausführen.</li>
<li>Zip-Archiv <a href="http://www.oracle.com/technetwork/java/javafx/downloads/index.html" target="_blank" class="link-external">JavaFX Plugin für Netbeans</a> downloaden</li>
<li>Archive auf dem lokalen System entpacken.</li>
<li>Netbeans IDE starten.</li>
<li> In der Menü-Leiste &#8222;Tools&#8220; wählen und  auf &#8222;Plugins&#8220; klicken, vgl. Abb. Install Plugin 1.</li>
<li>Register&#8220; Downloaded&#8220; wählen und auf &#8222;Add Plugins&#8230;&#8220; klicken, vgl. Abb. Install Plugin 2.</li>
<li> Im neu geöffneten Fenster zu den zuvor entpacketen Dateien navigieren, vgl. Abb. Install Plugin 3 &amp; 4.</li>
<li>Alle entpackten NBM-Dateien auswählen und &#8222;Open&#8220; klicken, vgl. Abb. Install Plugin 5.</li>
<li>Abschließend auf &#8222;Install&#8220; klicken und den Anweisungen des Netbeans Installer folgen, vgl. Abb. Install Plugin 6.</li>
</ol>

<p>Die notwendigen Komponenten zum Arbeiten mit JavaFX sind damit installiert und eingerichtet.</p>
<h3>Adobe Integration &#8211; JavaFX <a href="https://test.soziotech.org/glossar/production-suite/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Production Suite zu springen." onmouseover="tooltip.show('Verbindungsstück zwischen Entwickler und Designer für JavaFX. Es stellt Plugins für Adobe Illustrator und Photoshop sowie einen SVG-FXZ-Konverter zur Verfügung, mithilfe derer Grafiken in das JavaFX Format FXZ umgewandelt werden können. ');" onmouseout="tooltip.hide();">Production Suite</a></h3>
<p>Neben der Standardentwicklungsumgebung ist das Arbeiten mit Adobe Illustrator in Kombination mit der JavaFX Plugin Production Suite für vektorbasierten Grafiken sehr empfehlenswert, da die Vektordaten ohne Qualitätsverlust übernommen werden können. Eine Testversion der verschiedenen Adobe Produkt kann bei Bedarf auf der <a href="http://www.adobe.com/de/downloads/" target="_blank" class="link-external">Adobe Produktseite</a> heruntergeladen werden.</p>
<p>Die Production Suite ist zur Zeit noch nicht expliziet für JavaFX 2.0 verfügbar, zur älteren Version 1.3.1 gibt es hier eine <a href="http://www.oracle.com/technetwork/java/javafx/downloads/previous-jsp-137062.html" target="_blank" class="link-external">Downloadmöglichkeit</a>. Nach der Installation findet sich die Exportmöglichkeit des Plugins in Adobe Illustator unter Datei &gt; Save for JavaFX&#8230; .</p>
<h2>Hallo Welt! Beispielanwendung</h2>
<p>Nachdem alle Voraussetzungen geschaffen sind, zeigt dieser Abschnitt kurz den groben Aufbau einer Anwendung mit JavaFX 2.0 anhand eines beispielhaften Hallo Welt! Programms. Bei der Verwendung von Netbeans muss der Code hierfür noch nicht einmal selbst geschrieben werden, da dieser bei jedem Erzeugen einer JavaFX Main Class automatisch mit erstellt wird.</p>
<p>Als erstes wird eine Class Datei erzeugt, um zu sehen wie das von Netbeans erstellte Programm aussieht:</p>
<ol>
<li>Netbeans starten, sofern nicht noch geöffnet.</li>
<li>Unter &#8222;File&#8220; auf &#8222;New Projekt&#8220; bzw. auf den orangnen Ordner unter der Menüleiste klicken, vgl. Abb.&#8220;New Projekt 1.</li>
<li>In der Kategorie &#8222;Java&#8220; &#8222;Java FX Application&#8220; auswählen und dann &#8222;Next&#8220; klicken, vgl. Abb. New Projekt 2.</li>
<li>Unter &#8222;Project Name&#8220; kann ein beliebiger Name gewählt werden.</li>
<li>&#8222;Finish&#8220; klicken, vgl. Abb. New Projekt 3.</li>
</ol>
<p>Anschließend öffnet sich eine neue Main Class mit dem neu erstellten Hello World! Beispielprogramm.</p>

<p>Die neue Version von JavaFX versucht sich wieder mehr an der ursprünglichen Java Programmierung zu orientieren. So ist zum Beispiel die Main Class von Typ &#8222;.java&#8220; und nicht wie früher von Typ &#8222;.fx&#8220;. Weiterhin gibt es nun auch wieder eine echte main Methode wie schon in Java.</p>
<pre class="brush:jfx">    public static void main(String[] args) {
        Application.launch(HelloWorld.class, args);
    }</pre>
<p>Der &#8222;Lauch&#8220;- Befehl in der Main Methode führt die statische Methode &#8222;Start&#8220; der darin angegebenen Klasse aus. Gleich geblieben im Vergleich zu früheren Versionen von JavaFx ist der Aufbau im Sinne einer &#8222;Stage&#8220; und der beinhalteten &#8222;Scene&#8220;, wie die folgende Abbildung zeigt:</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/campus-touchscreen-navigationssystem/javafx-hierachy.gif" title="
			Aufbau JavaFX Frame, Quelle: http://www.oracle.com/.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/259__418x_javafx-hierachy.gif" alt="Aufbau JavaFX Frame" title="Aufbau JavaFX Frame" />
</a>
			<p class="wp-caption-text">Aufbau JavaFX Frame <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-903-3" href="#note-903-3" onmouseover="tooltip.show('Bildquelle: http://www.oracle.com/.');" onmouseout="tooltip.hide();"><sup>3</sup></a></p>
</div>

<p>Die nachfolgenden Befehle erzeugen die angesprochene Stage und ihre Scene sowie  eine Variable, die später den Inhalt der Application beinhalten soll.  Alle Objekte, die der Variable &#8222;root&#8220; zugeordnet werden, sind später auch  im Programm zu sehen.</p>
<pre class="brush:jfx">        primaryStage.setTitle("Hello World");
        Group root = new Group();
        Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);</pre>
<p>Dies trifft zum Beispiel auf den folgenden Button &#8222;btn&#8220; zu, der zunächst definiert und dann mit einer Aktion belegt wird. Durch das Hinzufügen zu den Kindern des Wurzelelements taucht er im später sichtbaren Content-Bereich auf.</p>
<pre class="brush:jfx">        Button btn = new Button();
        btn.setLayoutX(100);
        btn.setLayoutY(80);
        btn.setText("Hello World");
        btn.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
            public void handle(ActionEvent event) {
                System.out.println("Hello World");
            }
        });
        root.getChildren().add(btn);</pre>
<p>Durch drücken von &#8222;F6&#8243; oder dem grünen Pfeil unter der Menüleiste kann das Programm gestartet werden.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fhowto-erste-schritte-mit-javafx-2-0%2F&amp;action_name=Howto+%26%238211%3B+Erste+Schritte+mit+JavaFX+2.0&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-903-1">Zum Verfassungzeitpunkt dieses Artikels ist bereits Update 25 aktuell und wird entsprechend genutzt. <a class="simple-footnote-backlink" href="#return-note-903-1">&#8617;</a></li><li id="note-903-2">Bildquelle: Blog - Schran. <a class="simple-footnote-backlink" href="#return-note-903-2">&#8617;</a></li><li id="note-903-3">Bildquelle: <a class="link-external" href="http://www.oracle.com/" title="Go to external Source" >http://www.oracle.com/</a>. <a class="simple-footnote-backlink" href="#return-note-903-3">&#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/howto-erste-schritte-mit-javafx-2-0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
