Fachbereich VI – Informatik und Medien Mobile und standortbezogene Dienste für digitale Baumkataloge Dipl.-Inf. Oguz Ibram, Prof. Dr. Petra Sauer Kooperationspartner: Meelogic Consulting, FEZ Berlin; Projektlaufzeit: 08.11.2012 - 31.12.2013 Kurzfassung Baumkataloge dokumentieren Baumbestände, rechtlich vorgeschriebene Baumkontrollen und durchgeführte Baumpflegemaßnahmen. In den letzten Jahren geht der Trend immer mehr zu mobilen Anwendungen, einerseits haben sich neuartige mobile Endgeräte am Markt durchgesetzt, andererseits passt sich die Softwareentwicklung diesem Trend durch neue Programmiersprachen und Frameworks an. Der folgende Bericht stellt innovative mobile Dienste für einen zeitgemäßen Baumkatalog vor. Abstract Tree catalogues document tree inventories, judicially ordered tree controls and performed tree maintenance measures. In the last years the trend in software development goes towards mobile applications. On the one hand novel mobile end devices have emerged in the market, on the other hand software development adapts to this trend by new programming languages and frameworks. The following report introduces innovative mobile services for a modern tree catalogue. Einleitung In Baumkatalogen werden Baumbestände mit definierten Sach- und Positionsdaten gehalten sowie die Daten zu den rechtlich vorgeschriebenen Baumkontrollen und Baumpflegemaßnahmen vorgehalten. Je größer ein Baumbestand umso schwieriger ist es, ihn ohne Informationstechnik zu verwalten. Digitale Baumkataloge veränderten die bis dahin papierlastige Arbeit rund um die Verwaltung von Baumbeständen. Der Fortschritt in der Mobilfunkkommunikation wie schnellere Verbindungen, kostengünstige Endgeräte wie Smartphones und Tablets verändert diese Branche erneut, indem mobile, ortsbasierte Dienste in den Vordergrund rücken. Im nachfolgend vorgestellten Projekt wurde das Ziel verfolgt, Kerndienste und neuartige Dienste digitaler Baumkataloge zu identifizieren, zu definieren und eine Auswahl der Dienste prototypisch umzusetzen. Ausgewählte Zwischenergebnisse werden im Folgenden vorgestellt. Agile Softwareentwicklung mit Scrum Scrum ist ein Vorgehensmodell zur Softwareentwicklung, welches inkrementelle und iterative Softwareentwicklung fokussiert. Software wird quasi häppchenweise entwickelt, sofort produktiv eingesetzt und danach wird zur Entwicklung des nächsten „Häppchens“ iteriert. Eine solche Iteration, an deren Ende ein neues „Häppchen“ Software freigegeben wird, heißt Sprint. Die agilen Modelle stehen damit im Gegensatz zu den klassischen Modellen wie dem Wasserfallmodell, die es vorsehen, erst nach vollständigem Abschluss einer Softwareentwicklungsphase mit der nächsten zu beginnen, d.h. erst nach Erstellung der finalen Version des Modells mit der Entwicklungsphase zu beginnen. Nach deren vollständigem Abschluss beginnt die Testphase usw. Bei Missverständnissen mit dem Kunden führt dieses Vorgehensmodell zu ggf. teuren Korrekturen. Aspekte der Entwicklung innovativer Dienste für einen digitalen Baumkatalog Zur Entwicklung der Dienste wurde das Softwareentwicklungsframework Oracle Application Express (APEX) eingesetzt und sollte hinsichtlich der effizienten Nutzbarkeit für die Realisierung derartiger Dienste entsprechend evaluiert werden. Die praktische Arbeit mit dem in jungen, innovativen Unternehmen verstärkt eingesetzten Vorgehensmodell Scrum zu analysieren, war ein weiteres zentrales Projektthema. Abb. 1: Scrum mit Redmine Backlogs : der Anforderungskatalog Beuth Hochschule für Technik Berlin 57 Fachbereich VI – Informatik und Medien Beim Scrum-Prozess beginnt ein Softwareprojekt mit der Erstellung des Product Backlogs, einer Liste von Anforderungen (User Story) an das Produkt. Diese Liste wird vom Product Owner (dem Kunden) erstellt, sie kann jederzeit erweitert oder auch verkürzt werden. Auch können die Prioritäten jederzeit vom Kunden geändert werden. Die Entwickler entnehmen der Liste die vom Kunden priorisierten Anforderungen, zerlegen sie unter der technischen Sichtweise in Tasks, schätzen den Aufwand ab und beginnen ihre Arbeit. Das gute Funktionieren des Scrum-Prozesses überwacht der erfahrene Scrum Master. Scrum kennt viele Arten von Meetings, die wichtigsten sind wohl das Sprint Review Meeting (Vorführung der neuen Funktionalität gegenüber dem Kunden) und das tägliche, kurze Daily Scrum Meeting zur Kommunikation innerhalb des Teams. Es gibt Tools, die den Scrum-Prozess unterstützen. Im Projekt fiel die Wahl auf das intuitiv zu bedienende Tool Redmine Backlogs. Redmine Backlogs ist ein Plugin für Redmine, einem klassischen Projektverwaltungstool, das aus dem Ticketing-System von Redmine ein ScrumProduct-Backlog macht und die Ticket-Kategorie Task hinzufügt. Um aus Redmine ein Scrum-Tool zu machen, bringt Redmine Backlogs außerdem visuelle Effekte mit, wie z.B. die einfache Veränderung der Prioritäten im Product Backlog durch Neusortierung, die Anzeige der Tasks auf einer für Scrum typischen weißen Tafel uvm. Mit Redmine Backlogs wurden im Projekt der erstellte Anforderungskatalog und die Entwicklungsarbeit verwaltet. Herauskristallisiert haben sich die im Folgenden beschriebenen inhaltlichen Schwerpunkte für die Realisierung innovativer Dienste für Baumkataloge. Baumkontrolle und Baumpflege Für die Baumkontroll- und Baumpflegevorgänge existieren die in der grünen Branche anerkannten Regelwerke der FLL (Forschungsgesellschaft Landschaftsentwicklung Landschaftsbau e.V.). Bei [FLL 10] handelt es sich um Richtlinien, die die Durchführung von Baumkontrollen und die Erstaufnahme des Bestands regeln. Es wird u.a. festgelegt, welche Daten bei beiden Vorgängen erhoben werden sollten. [FLL 06] spricht Empfehlungen aus, wie die fachgerechte Umsetzung der Pflegemaßnahmen erfolgen sollte. Es wird u.a. beschrieben, wie fachgerechte Kronenschnitte auszusehen haben, wie Kronensicherungen angebracht werden sollten, wie mit Rinden- und Holzschäden umzugehen ist usw. Diese Vorgänge sind klassische Außendiensttätigkeiten. Es bot sich an, sie als mobile Dienste eines digitalen Baumkatalogs umzusetzen. Als Softwareentwicklungsframework kam die Rapid Application Development (RAD)-Umgebung APEX von Oracle zum Einsatz. APEX unterstützt das deklarative Entwickeln von Softwarekomponenten, indem wiederkehrende Arbeiten automatisiert werden und sich der Entwickler auf die Geschäftsprozesse konzentrieren kann. Die Geschäftsprozesse werden in APEX mit SQL und PL/SQL erstellt und bei Bedarf als Web-Service für beliebige andere Clients zur Verfügung gestellt. Seit der Version 4.2 unterstützt APEX auch die Entwicklung mobiler Applikationen deklarativ. Für diesen Zweck ist jQuery Mobile in APEX integriert. jQuery Mobile bzw. APEX unterstützen den Entwickler beim Erstellen Browser-basierter sogenannter Web-Apps. Der Vorteil der Browser-basierten Web-Apps liegt darin, dass sie plattformübergreifend verwendet werden können, d.h. es macht keinen Unterschied, ob das Betriebssystem des Endgeräts Android, iOS oder Windows Phone ist. Der Nachteil ist die etwas schlechtere Performance im Vergleich zu nativen Apps. Die neuesten Entwicklungen im HTML-Standard HTML5 unterstützen Web-Apps in vieler Hinsicht. Zu nennen seien hier das Web Storage, womit die lokale Speicherung von Daten im Browser gemeint ist, das schneller und sicherer als Cookies ist, oder der App Cache, der es ermöglicht, dass auch Web-Apps offline im Browser laufen können. Abb.2 zeigt einen Ausschnitt aus einem im Projekt als Web-App entwickelten FLL-konformen Baumkontrollformular. Mit diesem Formular auf dem mobilen Endgerät kann der Baumkontrolleur die Bäume kontrollieren und erfasst direkt die Daten. In Zeiten der immer leistungsfähigeren Mobilfunkangebote sollte diese bzw. auch die native Herangehensweise die bisher in der Branche stark verbreiteten Offline-Lösungen ablösen. Die Offline-Lösungen liefen auf teuren, für die Arbeit auf dem Feld entworfenen, Handheld-Geräten (z.B. von Trimble). Mit der neuen, innovativen WebApp wird einerseits jedes Smartphone bzw. Tablet zum kostengünstigen Arbeitsgerät, andererseits kann nun Online – also unter Nutzung der Internetverbindung – gearbeitet werden, wodurch Synchronisierungsaufwand und -konflikte entfallen. Weitere Unterstützung können aus räumlichen Abfragemöglichkeiten und Visualisierungen auf Karten resultieren. Abb. 2: Mobiles Baumkontrollformular 58 Nachhaltige Forschung in Wachstumsbereichen – Band iv Fachbereich VI – Informatik und Medien Räumliche Abfragen und thematische Karten Es gibt verschiedene Ansätze, geodatenbasierte Dienste umzusetzen, z.B. kann ein Geoinformationssystem (GIS) oder eine Geodatenbank integriert werden. Je mehr Logik bereits in der Datenbankschicht verarbeitet wird, desto performanter sind Applikationen. Im Projekt wurde daher die Geodatenbank Oracle Spatial eingesetzt. Oracle ist eine objektrelationale Datenbank, d.h. dass das klassische relationale Datenmodell um objektorientierte Funktionalitäten erweitert wurde. Spatial führt den objektrelationalen Datentyp SDO_GEOMETRY ein, der u.a. die Koordinaten und die Geometrie, also die geometrische Form eines räumlichen Objekts, speichert. Die Sachdaten befinden sich im gleichen oder in einem Datensatz, zu dem eine relationale Verknüpfung besteht. Mit dieser Herangehensweise sind sowohl Geodaten als auch Sachdaten in derselben Datenbank gespeichert. Eine Geodatenbank wie z.B. Oracle Spatial kann räumliche Abfragen beantworten, wie beispielsweise Abfragen nach den nächsten Nachbarn eines Objekts oder die Entfernungsabfrage zwischen Objekten. Darüber hinaus können die Abfrageergebnisse visualisiert werden. Hierfür bieten sich thematische Karten an, d.h. Karten, die ein Thema (z.B. alle Bäume, deren Baumkontrolle ansteht) visuell hervorheben. Das ganze wird als Presentation Service oder Mapping bezeichnet und ist unter diesem Begriff Teil der OGC-Spezifikation OpenLS – ein Web-Service-Standard für ortsbasierte Dienste (Location Based Services). Im Projekt wird das Mapping mit Oracle MapViewer gelöst. Als Basiskarte bietet sich das freie Projekt OpenStreetMap an. Für die Realisierung von Applikationen, die ohne Lizenzkosten auskommen müssen, kann für Geoabfragen Oracle Locator anstelle von Spatial eingesetzt werden. Statt Oracle MapViewer und Oracle Maps kann das freie OpenLayers zum Einsatz kommen. Schädlingsmonitoring, HeatMaps, CO2-Fußabdruck, Historienverwaltung Mit den vielen, bei Baumkontrollen erfassten Daten können verschiedene Erkenntnisse über den Baumbestand gewonnen werden. Ein zentraler Punkt ist die Visualisierung des Befalls mit Schädlingen z.B. mit dem Eichenprozessionsspinner. Mit verschiedenen Ansätzen wird im Projekt versucht, den Schädlingsbefall zu visualisieren. Durch neue Möglichkeiten in der HTML5Spezifikation können mit Canvas HeatMaps im Browser gezeichnet werden. HeatMaps zeigen mit Farbwerten unterschiedliche Konzentrationen an. Ein weiterer Dienst, der in Umweltfragen wertvolle Unterstützung bieten kann, ist die Berechnung des CO2-Fußabdrucks, den ein Baumbestand aufnehmen kann. Historienverwaltung befasst sich damit, Datensätze in einer Datenbank auch nach ihrer Überschreibung aufzuheben. Dies ist unter rechtlichen Aspekten von großer Bedeutung. Es bietet sich das Oracle Auditing-Feature an. Abb. 3: Darstellung der Baumstandorte auf einer digitalen Karte Beuth Hochschule für Technik Berlin 59 Fachbereich VI – Informatik und Medien Zusammenfassung Der erstellte digitale Baumkatalog dient als Basis für die Entwicklung weiterer innovativer Dienste. In [Doob 08] wurden noch 2008 die zähen Zugriffszeiten im Mobilfunk beklagt. Mit ihrer Verbesserung werden auch im Bereich der Grünflächeninformationssysteme und Baumkataloge zunehmend mobile Online-Lösungen zur Anwendung kommen. Ob sich die plattformübergreifenden mobilen Lösungen (z.B. jQuery Mobile), die im Projekt verwendet wurden, gegen die nativen Lösungen durchsetzen werden, wird die Zeit zeigen. Mobile, ortsbasierte Dienste unterstützen den Außendienst im grünen Bereich enorm und je größer der Baumbestand umso größer ist die Unterstützung. Für Einrichtungen mit mittlerem Baumbestand und begrenztem Budget ist eine auf kostenfreie Oracle-Technologien gestützte Version eines Baumkatalogs ein gutes Arbeitsmittel. Abbildungsverzeichnis Abb. 1 Scrum mit Redmine Backlogs: der Anforderungskatalog Abb. 2 Mobiles Baumkontrollformular Abb. 3: Darstellung der Baumstandorte auf einer digitalen Karte Literatur [Czar 11] Czarski, Carsten: Oracle Application Express, in: Database Pro, S. 90 – 94, Neue Mediengesellschaft Ulm mbH, 02/2011. [Doob 08] Doobe, Gerhard: Digitales Baumkataster – Empfehlungen des Arbeitskreises Stadtbäume der GALK für Aufbau und Fortschreibung, in: Stadt + Grün, S. 14 – 19, Patzer Verlag Berlin-Hannover, 10/2008. [FLL 06] Forschungsgesellschaft Landschaftsentwicklung Landschaftsbau e.V.: ZTV-Baumpflege – Zusätzliche Technische Vertragsbedingungen und Richtlinien für Baumpflege, Forschungsgesellschaft Landschaftsentwicklung Landschaftsbau Bonn, 2006. [FLL 10] Forschungsgesellschaft Landschaftsentwicklung Landschaftsbau e.V.: Baumkontrollrichtlinien – Richtlinien für Regelkontrollen zur Überprüfung der Verkehrssicherheit von Bäumen, Forschungsgesellschaft Landschaftsentwicklung Landschaftsbau Bonn, 2010. [Hart 13]Hartman, Roel; Rokitta, Christian; Peake, David: Oracle Application Express for Mobile Web Applications, Apress New York, 2013. [Reid 11] Reid, Jon: jQuery Mobile – Building CrossPlatform Mobile Applications, O’Reilly & Associates Sebastopol, 2011. [Saue 11]Sauer, Petra: Datenbank- und Anwendungsentwicklung für digitale Baumkataloge, in: Forschungsbericht 2011, S. 152 – 156, Beuth Hochschule für Technik Berlin, wvb Wissenschaftlicher Verlag Berlin, 2011. 60 Nachhaltige Forschung in Wachstumsbereichen – Band iv Kontakt Prof. Dr. Petra Sauer Beuth Hochschule für Technik Berlin Fachbereich VI Luxemburger Straße 1, 13353 Berlin Telefon: (030) 4504-2691 E-Mail: [email protected] Kooperationspartner Meelogic Consulting AG Dr. Friedrich Echternacht Wöhlertstr. 12-13, 10115 Berlin FEZ-Berlin, Kinder-, Jugend- und Familienzentrum Sabine Jahn Straße zum FEZ 2, 12459 Berlin