Extending BIRT with geospatial data visualization capabilities by integrating the SOLAPLayers mapping component Bachelor Thesis



Ähnliche Dokumente
p^db=`oj===pìééçêíáåñçêã~íáçå=

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

CarMedia. Bedienungsanleitung Instruction manual. AC-Services Albert-Schweitzer-Str Hockenheim

ReadMe zur Installation der BRICKware for Windows, Version ReadMe on Installing BRICKware for Windows, Version 6.1.2

miditech 4merge 4-fach MIDI Merger mit :

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle

prorm Budget Planning promx GmbH Nordring Nuremberg

Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH

SharePoint 2010 Mobile Access

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

Preisliste für The Unscrambler X

BartPE. Dokumentation. Projektarbeit Network Services. Dozent: Wolf-Fritz Riekert. Belmondo Kovac. Autor: Andreas Dinkelacker, 3.

Technical Support Information No. 123 Revision 2 June 2008

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Zum Download von ArcGIS 10, 10.1 oder 10.2 die folgende Webseite aufrufen (Serviceportal der TU):

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient

Tuning des Weblogic /Oracle Fusion Middleware 11g. Jan-Peter Timmermann Principal Consultant PITSS

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

Künstliches binäres Neuron

SMART Newsletter Education Solutions April 2015

Analysis Add-On Data Lineage

Order Ansicht Inhalt

Word-CRM-Upload-Button. User manual

Newest Generation of the BS2 Corrosion/Warning and Measurement System

ONLINE LICENCE GENERATOR

Daten haben wir reichlich! The unbelievable Machine Company 1

1. General information Login Home Current applications... 3

Algorithms for graph visualization

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016

Group and Session Management for Collaborative Applications

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Das neue Volume-Flag S (Scannen erforderlich)

Microsoft Azure Fundamentals MOC 10979

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004

Exercise (Part V) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Die "Badstuben" im Fuggerhaus zu Augsburg

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016

Contents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up

HIR Method & Tools for Fit Gap analysis

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Workflow, Business Process Management, 4.Teil

EEX Kundeninformation

SemTalk Services. SemTalk UserMeeting

GuiXT und mysap ERP. Regensdorf, April 2004 Dr.Gerhard Rodé, Synactive GmbH

Listening Comprehension: Talking about language learning

DAT Newsletter Nr. 48 (07/2014)

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Isabel Arnold CICS Technical Sales Germany z/os Explorer IBM Corporation

Phasen. Gliederung. Rational Unified Process

Problemstellung. Keine Chance! Ich brauche eine genaue Spezifikation und dann vielleicht in 3-4 Wochen können Sie einen erstes Beispiel haben!

iid software tools QuickStartGuide iid USB base driver installation

CABLE TESTER. Manual DN-14003

So erstellen Sie wichtige Berichte mit Microsoft Technologie Tipps für PMO und IT

Cloud for Customer Learning Resources. Customer

Verbinden von IBM Informix mit Openoffice mittels JDBC

Titelbild1 ANSYS. Customer Portal LogIn

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

USB Treiber updaten unter Windows 7/Vista


Business Intelligence. Bereit für bessere Entscheidungen

Prozesse als strategischer Treiber einer SOA - Ein Bericht aus der Praxis

Symbio system requirements. Version 5.1

Kurzanleitung zu XML2DB

Therefore the respective option of the password-protected menu ("UPDATE TUBE DATA BASE") has to be selected:

Softwareanforderungen für Microsoft Dynamics CRM Server 2015

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Tube Analyzer LogViewer 2.3

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Autorisierung von ArcGIS 10.3 for Server mit Internetverbindung

Installation mit Lizenz-Server verbinden

Darstellung und Anwendung der Assessmentergebnisse

Wie man heute die Liebe fürs Leben findet

Ein Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten. Click here if your download doesn"t start automatically

creative Factory GmbH

Zeitlich abhängig von OWB?

Werbemittel-Spezifikationen

Englisch. Schreiben. 18. September 2015 HTL. Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung. Name: Klasse/Jahrgang:

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Creating OpenSocial Gadgets. Bastian Hofmann

MobiDM-App Handbuch für Windows Mobile

Lokale Installation von DotNetNuke 4 ohne IIS

Installation SQL- Server 2012 Single Node

Customer-specific software for autonomous driving and driver assistance (ADAS)

Klausur BWL V Investition und Finanzierung (70172)

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

ISO Reference Model

MetaNavigation der effizienteste Weg maximalen Mehrwert aus BI Metadaten zu ziehen

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks

Z- module telematic I. Software Overview Johannes Schütt

25 Import der Beispiele

p^db=`oj===pìééçêíáåñçêã~íáçå=

Ingenics Project Portal

Transkript:

ExtendingBIRTwith geospatialdata visualizationcapabilities byintegratingthe SOLAPLayersmapping component BachelorThesis DepartmentofComputerScience UniversityofAppliedScienceRapperswil SpringTerm2011 Author: ChristophSüess Advisor: Prof.StefanKeller ProjectPartner: Spatialytics,QuébecCity,Canada ExternalCo Examiner:ClaudeEisenhut InternalCo Examiner: Prof.HansjörgHuser ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page2/106 1 Abstract Department Nameofstudent Computerscience ChristophSüess Academicyear Springsemester2011 Titleofthebachelorthesis Extending BIRT with Geospatial Data Visualization capabilities by integrating the SOLAPLayers mapping component Examiner Prof.StefanKeller Topic Reportingtools/OSBI/GeoBI Projectpartner Spatialytics Institution InstitutfürSoftwareHSR Summary Today, Business Intelligence (BI) is an important part for every modern company. BI allowsanalyzingalargeamountofdata.theoverviewovertheinformationsimplifiesto takedecisions,whichinfluencethestrategiesofthecompany.thedifferentpartsofbi aresupportedbyalotofproprietaryandopensourceapplications(osbi). Spatialytics from Québec, Canada is a small start up company, which established in 2009.ThemaingoalofSpatialyticsistoprovidetheuseofgeo spatialdatafordifferent OSBI tools.spatialyticshasthreesoftware toolswhichcoveringdifferentaspectsofthe BI process. One of these solutions is SOLAPLayers. SOLAPLayers is a reporting tool, whichdisplaysdatafromdifferentdatasourcesonaninteractive,webbaseddashboard. Themainfeatureisthepossibilitytoretrievegeo spatialdataanddisplayitonamap component. This bachelor thesis forced to restructure the existing SOLAPLayers 2.0 version, to provide a more flexible, extendable and dynamical software component, which can be integrated into other considerable reporting tools. The new version allows providing new data source drivers and output formats in an easy way to the framework. In a second step, a driver for relational databases has been added to the application. This driver was necessary to extend the range of potential users of SOLAPLayers, since not every company owns a data warehouse. The resulting software is not a final version. More data sources and other features will be added to SOLAPLayers before providing thesoftwaretothepublic. The second goal of this project was to create a map component for the popular open source reporting tool BIRT. BIRT is on of the main projects of the Eclipse foundation. The founder and most active collaborator is the company Actuate. Based on different facts,thedecisiontointegratesolaplayersintobirtwasdone.finally,solaplayersis usedasdatasourceandreportitemofthenewbirt plugin. Thisdocumentcontainstheanalysisandtheprojectdocumentationofbothpartsofthis bachelorthesis.additionalanexcursiononthetopic stateoftheartofreportingtools can be found in the appendix of this document. The whole thesis was produced by ChristophSüessatSpatialyticsinQuébecCAduringathreemonthlonginternshipand supervisedbyprof.stefankelleratthehochschulefürtechnikatrapperswilch. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

2 ManagementSummary BachelorthesisSS2011 Page3/106 In den 1990er Jahren wurde ein Verfahren mit dem Namen Business Intelligence populär. Hinter dem Begriff Business Intelligence kurz BI verbirgt sich der Prozess zursystematischenanalysevondaten,welchemeistinelektronischerformvorhanden sind. Dieses Werkzeug wird von Unternehmen genutzt um sich eine Übersicht über diverse Zahlen zu verschaffen und die Erkenntnisse in die Strategien einfliessen zu lassen. Somit können die Unternehmensziele besser verfolgt und kontrolliert werden. Das BI Verfahren kann grob in drei Phasen unterteilt werden. In der ersten Phase werden die Daten zusammengetragen. Diese Daten werden normalerweise in einem sogenannten Data Warehouse abgelegt. In der zweiten Phase wird ein Zusammenhang zwischendeninformationengebildet,sodassausdendatenschlüssegezogenwerden können. In der letzten Phase, werden die Fakten dem Unternehmen präsentiert und dafürgesorgt,dassdieerkenntnissegenutztwerdenkönnen. DaessichmeistensumgrosseDatenbeständehandelt,istesnichtverwunderlich,dass dieser Prozess durch diverse IT Systeme unterstützt wird. So wurden im Verlaufe der Jahre Software Komponenten für alle drei Phasen des BI Verfahrens entwickelt. Inzwischen gibt es mehrere Unternehmen, die etablierte Applikationen für den BI Prozess vermarkten. Die wohl namhaftesten Produkte sind diejenigen des weltweit tätigenunternehmenssap. In den letzten Jahren wurde das Vertrauen in Open Source Softwarelösungen durch effiziente und erfolgreiche Produkte gestärkt. Viele Anwender erkannten die Stärken von Open Source und legten das weiterverbreitete MisstrauengegenüberderfreienSoftwarenieder. DieserTrendsetzesichauchinderBusinesswelt fort. Neben den proprietären BI Tools entstand freie Software, welche mit OSBI (Open Source Business Intelligence) betitelt wurde. Manche Produkte unterstützen den gesamten BI Prozess und andere konzentrieren sich auf bestimmte Teile, wie zum Beispiel dem Zusammentragen, Figure1 LogovonpopulärenOSBI der Zurverfügungstellung oder dem Auswerten derinformationen. 2009 entstand in Québec City in Kanada das Start Up Unternehmen Spatialytics. Spatialytics ist nach wie vor ein sehr frisches Unternehmen, dass noch diverse Entscheidungen treffen muss. Die Firma ging aus Figure2 LogodesUnternehmesSpatialytics einigen Projekten aus der Geoinformatik, welche an der Université Laval Fuss fassten, hervor. Die treibende Kraft hinter dem Projekt war Prof. Thierry Badard. Spatialytics kannte den BI Markt und interessierte sich dafür, den Aspekt der räumlichen Information der Daten in einem Data Warehouse für spezifischere Auswertungen zu ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page4/106 nutzen. Ein populäres Zitat aus der Geowelt besagt, dass achtzig Prozent aller gespeichertenbusinessdateneinenräumlichenbezughaben.biszumheutigentagwird dieseraspektjedochvonvielenbi undosbi Systemenzuweniggenutzt.Derräumliche GesichtspunktistaberwiederZeitlicheinderWirtschaftsehrwichtig. SpatialyticsverfolgtimMomentdreiProjekte.MitGeoKettlebietetdasUnternehmenein ETL Tool (Extract, Transform, Load) an, welches neben den herkömmlichen Datenformaten auch mit diversen geometrischen Datenformaten umgehen kann. Mondrian ist ein OLAP Server, ein System das performante und komplexe Zugriffe auf ein Data Warehouse ermöglicht. Spatialytics erweiterte dieses quelloffene Projekt mit dem räumlichen Aspekt, so dass die resultierenden Daten auch geometrische Informationenenthaltenkönnen.DarausentstanddasProduktGeoMondrian. Das dritte wichtige und im Zusammenhang mit der Bachelorarbeit interessanteste Projekt von Spatialytics, widmet sich dem Auswerten der Daten. Mit SOLAPLayers können Daten aus verschiedenen Datenquellen abgefragt werden und in einem interaktiven Report dargestellt werden. Natürlich liegt auchhierwiederdashauptmerkmal auf der Präsentation der geografischen Daten. Das Herz von SOLAPLayers bildet die interaktive Karte, welche komplexe geografische Zusammenhänge abbilden kann. In Zukunft will Spatialytics diese geometrischen Features von SOLAPLayers auch für namhafte Open Source Reporting Tools anbieten. Dazu gehören Produkte wie Pentaho Reporting, JasperReportsundBIRT. Figure3 SOLAPLayersDemoDashboard Diese Bachelorarbeit forcierte die Integration einer interaktiven Karte in Berichte, welche mit Hilfe von BIRT erstellt werden können. Es war nicht gegeben, aber naheliegenddasmanhierfürdieexistierendesolaplayers Lösungnutzte.DasZielwar ein Prototyp zu erstellen, welcher vor allem für Demos verwendet und gegebenenfalls späterfürdenernstfallerweitertwerdenkann. Die erste Version von SOLAPLayers war noch nicht bereit um in eine bestehende Software eingegliedert zu werden. Darum begann man an einer neuen Version zu arbeiten. Neben dem Hinzufügen von neuen Features, stand vor allem das Umstrukturieren von SOLAPLayers im Mittelpunkt. Die neue Version sollte flexibler sein, so dass die Applikation einerseits besser erweitert und andererseits einfach in Drittapplikationen eingegliedert werden kann. Die Umstrukturierung ging zu Gunsten dieserbachelorarbeit.dasresultaterlaubtnunneuedatenquellenundausgabeformate flexiblehinzuzufügen.deraufwandbeschränktsichdabeiaufdasentwickelnvonneuen Treibern, die Integration ist mit sehr geringem Aufwand verbunden. Neben dieser Umstrukturierung wurde SOLAPLayers durch einen neuen Datenquellen Treiber ergänzt. Ab sofort können auch relationale Datenbanken mit SOLAPLayers benutzt werden. Zuvor wurden nur SOLAP Quellen unterstützt. Die Unterstützung von relationalendatenbankenwarausmehrerengründenüberfällig.entscheidenwar,dass ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page5/106 nachwievornichtalleunternehmenmitfürdieanalyseoptimiertendata Warehouse arbeiten. Öfters sind die Daten in einfacheren relationalen Datenbanken vorhanden. Auch wenn die Verwendung solcher Datenquellen, auf Grund von Performance Einbussen, nicht empfehlenswert ist, sollte ein Reporting Tool deren Anbindung unterstützen. Nach dem Fertigstellen dieser Zwischenversion von SOLAPLayers wurde dieentwicklungansolaplayersausserhalbderbachelorarbeitweitergeführt. Die Bachelorarbeit widmete sichnunderbirtintegration von SOLAPLayers. Die Möglichkeit der Integration wurde zuerst analysiert und diverse Szenarien besprochen. Die Schlussfolgerung zeigte, dass es Sinn macht SOLAPLayers als Datenquelle sowie zur Präsentation der Daten zu verwenden. Die Integration stelltesichalsschwierigerals geplant heraus. Trotzdem konnte das geplante Szenario umgesetztwerden. Neben der resultierenden Figure4 BIRTReportmitSOLAPLayers Karte Software wurde ein Bericht zumthema StateoftheArtofReportingTools erstellt,welcherdieaktuellesituation vontoolszurerstellungvonberichtenaufzeigt. Die Umstände machten das Projekt nicht einfach. Da das Projektin einem sehr jungen Unternehmen, welches sich schnell entwickelt, durchgeführt wurde, konnten viele Abhängigkeiten nicht vermieden werden. Des Weiteren existierte für SOLAPLayers keine Dokumentation und auch das sehr etablierte Tool BIRT ist leider sehr schlecht dokumentiert,wasdieerweiterungdesreportingtoolsbetrifft.diekommunikationan sich war jedoch sehr gut, obwohl eine begrenzte Sprachbarriere vorhanden war. Schwierigkeiten brachten aber auch die verschiedenen Interessengruppen mit sich. Einerseits sollte meine Arbeit bei Spatialytics das Unternehmen weiterbringen und andererseits war das Bachelorprojekt gewissen Richtlinien unterstellt. Diese KoordinationerfordertevielDurchhaltewillenundAufwand. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page6/106 3 Scope Extending BIRT with Geospatial Data Visualization capabilities by integratingthesolaplayersmappingcomponent BachelorarbeitvonChristophSüessimAusland AbteilungInformatik,Frühjahrssemester2011 Ausgangslage Reporting Programme(Berichterstellungsprogramme)automatisierendieAnalyseund Aufbereitung von Informationen. Damit lassen sich Berichte (Reports) in Form von Tabellen und Businessgrafiken (Charts) erstellen und in den gängigen Formaten (z.b. HTML, PDF, XLS und CSV) ausgeben. Die Berichte können nach der einmaligen Konfigurationimmerwiedererzeugtwerden. Business Intelligence Reporting Tools (BIRT http://www.eclipse.org/birt/) ist ein solches Reporting Programm. Es basiert auf Eclipse und ist Java Open Source(Eclipse PublicLicense). UmeinenReportzuerstellen,musszunächsteineVerbindungzueinerDatenquelle,z.B. zu einem Data Warehouse, hergestellt werden. Dann kann der Report mit Hilfe des "BIRTReportDesigners"interaktivdefiniertwerden.FürflexibleAnfragengibtesauch eine Scriptingsprache. Das Resultat ist eine XML Report Design Datei. Der eigentliche Reportwirdmitder"BIRTReportEngine"(Laufzeitumgebung)erzeugt.DieseSoftware lässtsichauchgutinwebapplikationen(java/j2ee)integrieren. WirdeinerInformationeinRaumbezugzugeordnet(z.B.eineAdresseoderKoordinate), sosprichtmanvongeodaten.geodatensindkomplex,aufwändigindererfassungund Rechenintensiv in der räumlichen Auswertung (z.b. Umkreissuche). Sie werden typischerweise in bzw. Geo Datenbanken ( Erweiterungen) gespeichert und mittels Geo Informationssystemen(GIS)verwaltet. Für die räumlich erweiterte Prozessierung von Informationen aus Data Warehouses (sog. Spatial Online Analytical Processing, Spatial OLAP, bzw. SOLAP) und v.a. deren Darstellung in einer Onlinekarte, gibt es die JavaScript Bibliothek SOLAPLayers. SOLAPLayers basiert auf den Bibliotheken GeoExt/OpenLayers (vgl. http://www.spatialytics.org/?page_id=10). Im Bereich SOLAP hat sich die Univ. Laval, QuébéceinenNamengemacht. Aufgabenstellung ZurzeitwerdenvonBIRT ReportsnurBusinessdiagrammeunterstützt.Wasfehlt,istdie AusgabealsOnlinekarte.DieAufgabederArbeitbestehtdaherausfolgendenTeilen: torestructurethesolaplayersapplicationontheserverside,toprovideamoreflexible applicationwhichallowstoaddnewdatasourcesandoutputformatsinaneasyway ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page7/106 to analyse how it will be possible to add a map component in the toolbox offered by BIRT and which features this component will have to provide (access to some spatial datasources,thematicmappingcapabilities,etc.) to analyse how it will be possible to add a map component in the toolbox offered by BIRTandwhichfeaturesthiscomponentwillhavetoprovide todevelopthecodeinordertoeffectivelycarryoutthisintegration. Towriteanexcurseonthetopic: ThestateoftheartofOSBI tools Beteiligte Diplomand: Projektpartner: BetreuungHSR,VerantwortlicherDozent: Gegenleser: Experte: ChristophSüess(csueess@hsr.ch) Prof.ThierryBadardundMitarbeiterdes CentreforResearchinGeomatics(CRG), DépartementdesSciencesGéomatiques, UniversitéLaval,Québec,Qc,G1V0A6, Canada. Prof.StefanKeller,IFS HSR (sfkeller@hsr.ch) Prof.HansjörgHuser ClaudeEisenhut,EisenhutInformatik Burgdorf (ceisenhut@eisenhutinformatik.ch) Projektabwicklung Termine BeginnderArbeit: 28.03.2011 Abgabetermin: 17.06.2011(12.00Uhr). Weitere Termine: Siehe https://www.hsr.ch/termine Diplom Bachelorund.5142.0.html(intern) Arbeitsaufwand FürdieerfolgreichabgeschlosseneArbeitwerden12ECTSangerechnet.Diesentspricht einerarbeitsleistungvon360stunden. HinweisefürdieGliederungundAbwicklungdesProjektes GliedernSieIhreArbeitin4bis5Teilschritte.SchliessenSiejedenTeilschrittmiteinem Meilenstein ab. Definieren Sie für jeden Meilenstein, welche Resultate dann vorliegen müssen! FolgendeTeilschrittebzw.MeilensteinesollteninderPlanungvorgesehenwerden: Schritt1:Projektauftraginkl.Projektplan(mitMeilensteinen), Meilenstein1:ReviewdesProjektauftragesabgeschlossen.Projektauftragvon AuftraggeberundDozentgenehmigt Termin:ca.zweiWochennachBeginnderArbeit LetzterMeilenstein:Systemtestsabgeschlossen Termin:ca.eineWochevorAbgabe ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page8/106 DieSoftwareistineinemagilen,d.h.iterativenundinkrementellenProzesszu entwickeln:manplanemöglichstfrüheinenerstenlauffähigenprototypenmit denwichtigstenundkritischstenkernfunktionen.indenfolgendenphasenkann dannschrittweiseausgebautundgetestetwerden. FallsinderArbeitneueoderunbekannteTechnologieneingesetztwerden,sollte manparallelzumerarbeitendesprojektauftragesmitdemtechnologiestudium beginnen. EssindUnit Testseinzusetzen.SoftwareundDokumentewerdenaufeinem Repositoryverwaltet(z.B.SVN,git).Ev.isteinBuildServerhilfreich(z.B.Cruise Control). ManhaltesichimÜbrigenandieVorgabenausdemModulSE Projekt. Projektadministration: EsisteinProjekttagebuchzuführenausdemersichtlichwird,welcheArbeiten durchgeführtwurden(inkl.ungefähremzeitaufwand).dieseangabensolltenggf. eineindividuellebeurteilungermöglichen. DieArbeitensindlaufendzudokumentieren.ManlegedieProjektdokumentation mitderaktuellenplanungunddenbeschreibungenderarbeitsresultate elektronischineinemprojektordnerab.dieserprojektordnersolltejederzeit einsehbarsein(z.bsvn ServeroderFile Share). Fortschrittsbesprechung: RegelmässigfindetzueinemfixenZeitpunkteineFortschrittsbesprechungstatt (ArbeitenimAusland:Wochenbericht). TeilnehmersindDozentundStudenten,beiBedarfauchVertreterder Auftraggeber Termingem.Absprache(ArbeitenimAuslandz.B.Montags). Fallsnotwendig,könnenweitereBesprechungen/Diskussioneneinberufen werden. SieerstellenzujederBesprechungeinKurzprotokoll,welchesSiespätestens2 3 TagenachderSitzungperE MailandenBetreuersenden(ArbeitenimAusland: EintragimWikio.ä.). InhaltderDokumentation DiefertigeArbeitmussfolgendeInhaltehaben: 1. Abstract,ManagementSummary,Aufgabenstellung 2. TechnischerBericht 3. DokumentedesProjektdokumentation 4. Anhänge(Literaturverzeichnis,CD Inhalt) Mind.dieDokumentederPunkte1,2sowieInstallationundCodemüssenin Englischsein. DieAbgabeistsozugliedern,dassdieobigenInhalteklarerkenntlichund auffindbarsind. Zitatesindzukennzeichnen,dieQuelleistanzugeben. VerwendeteDokumenteundLiteratursindineinemLiteraturverzeichnis aufzuführen. Projekttagebuch,DokumentationdesProjektverlaufes,Planungetc. WeitereDokumente(z.B.KurzbeschreibungfürBroschüre,Poster)gemäss www.hsr.chundgemässabsprachemitdembetreuer. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page9/106 FormderDokumentation Bericht(StrukturgemässBeschreibung)gebunden(2Exemplare)undinOrdner (1Exemplar kopierfähig inlosen,gelochtenblättern). AlleDokumenteundQuellendererstelltenSoftwareaufCD;CD'ssauber angeschrieben(3ex.). Bewertungsschema Als Bewertungsschema gilt das in www.hsr.ch erwähnte, d.h. die folgenden Aspekte werdenbewertet: Projektorganisation(Gewicht1/6) Bericht(Gewicht1/6):Inhalt,Gliederung,Sprache Inhalt(Gewicht½):1.Vorstudie,AnforderungsanalyseundDomainanalyse;2. Entwurf(Systemarchitektur,BeschreibungdesEntwurfs,Entwurf Benutzerschnittstelle);3.RealisierungundTest MündlichePrüfung(Gewicht1/6) Es gelten ansonsten die üblichen Regelungen zum Ablauf und zur Bewertung der BA ArbeitdesStudiengangsInformatikderHSR. Rapperswil,27.Oktober2010,S.Keller ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page10/106 4 Tableofcontents 1 Abstract...2 2 ManagementSummary...3 3 Scope...6 4 Tableofcontents...10 5 Overview...12 6 SOLAPLayers2.0Extended...13 6.1 Overview...13 6.2 Technicalreport...13 6.2.1 Introduction...13 UsageofSOLAPLayers...13 SOLAPLayersversions...13 Guidelines...14 Courseofaction...14 6.2.2 Stateoftheartofreportingtools...14 6.2.3 Resultsandevaluation...15 Achievementofobjectives...15 FutureImprovements...15 6.3 Projectdocumentation...15 6.3.1 Requirementsspecification...15 6.3.2 Analysis ResultsettoOLAP cubetransformation...15 WhyusingSQLfordataanalyzing?...15 WhyparsingSQL resultstoolap cubes?...15 WhatisanOLAP cube?...16 Howdoesthetransformationwork?...16 6.3.3 Architecture...17 ArchitectureofSOLAPLayers1.0...17 ArchitectureofSOLAPLayers2.0Extended...18 Activitydiagram...20 Packagediagram/layeroverview...21 Classdiagram...22 Technologies...23 Clientapplication...24 6.3.4 Implementation...25 Systemtest...25 Codequality...29 6.3.5 Futureimprovements...30 Chores...30 Extensions...30 6.3.6 Developersguide...31 Installation...31 Addanewconnectiontype...32 Addanewoutputformat...33 Registernewoutputformat...34 Addanewdatasource...34 UsingMDX queries...35 UsingSQL queries...36 ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page11/106 Creatingadashboard...40 7 Geoextensions2Birt...41 7.1 Overview...41 7.1.1 Technicalreport...41 Introduction...41 StateoftheArt...41 7.1.2 Projectdocumentation...41 Requirementsspecification...41 Analysis...42 Architecture...47 Implementation...48 Systemtest...48 Codequality...51 FutureImprovements...51 UserGuide...52 Developersguide...59 8 Projectmanagement...60 9 Projectreview...60 9.1 Acknowledgment...60 9.2 Fieldreport...60 9.3 Lessonslearned...61 10 Furtherdocumentation...61 11 Appendices...62 APPENDIXA ContentoftheCD...62 APPENDIXB Glossary...62 APPENDIXC References...64 APPENDIXD Tableoffigures...65 APPENDIXE Projectmanagement...67 APPENDIXF Licenseagreement...81 APPENDIXG Agreementoftheauthor...82 APPENDIXH Instructions:CreatingadashboardusingSOLAPLayers...82 APPENDIXI CustomizedSCRUM processforbachelorthesis...84 APPENDIXJ Interimreport...86 APPENDIXK Resultpresentations...88 APPENDIXL Stateoftheartofreportingtools...89 ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page12/106 5 Overview This document is structured in two different main parts. The first part documents the SOLAPLayers improvement, which was done at the beginning of the bachelor project. ThesecondpartdescribestheintegrationofSOLAPLayers2.0ExtendedintotheBIRTplugin. Both parts contain a technical report and project documentation. Information about the project progress and approach can be found at the end of this document. Additionaldocumentsareattachedtothisdocumentintheappendices. Note: SOLAPLayers 2.0 Extended is not an official name of a SOLAPLayers version. SOLAPLayers2.0ExtendedreferstothestateofSOLAPLayers,whichwasreachedatthe endofthebachelorthesis project. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page13/106 6 SOLAPLayers2.0Extended 6.1 Overview Main use of this chapter is to document SOLAPLayers 2.0 Extended. For better Understanding some parts of the SOLAPLayers base ideas will complete this documentation.thedocumentisstructuredbytwomaintopics,thetechnicalreportand theprojectdocumentation. 6.2 Technicalreport 6.2.1 Introduction UsageofSOLAPLayers SOLAPLayers is a product developed by the University of Laval. Spatialytics extends SOLAPLayerssince2009. SOLAPLayers is a Java reporting framework, which is used to build interactive dashboardswithmappingcapabilities.solaplayersretrievesdatafromdifferentdata sourcesanddisplaystheinformationondashboards.thecorefunctionofsolaplayers istocreateinteractivemaps. On the on hand, SOLAPLayers can be used as a web based reporting tool. Dashboards can be defined using simple HTML tags. On the other hand, SOLAPLayers can be integratedinexistingreportingtoolstoextendthemwithmappingcapabilities. SOLAPLayersversions SOLAPLayers1.0 Figure5 SOLAPLayerslogo The initial version of SOLAPLayers provided the possibility of querying one single GeoMondrian data sources. The whole project was structured in four classes. The connectionstringwasconfiguredintheweb.xml file.geojsonandolapjsonexistedas datatransportformat.thewholesourcecodewashighcoupledanddidnotprovidea lotofreusability.solaplayers1.0useddojoandopenlayersfortherepresentationof themapontheclientside.thesolaplayers1.0sourcecodeisavailablefordownload at http://sourceforge.net/projects/spatialytics/. SOLAPlayers 1.0 is more a proof of conceptthananactualversion. SOLAPLayers2.0 SOLAPLayers 2.0 is a revision of the concept of SOLAPLayers 1.0. The client and the serverpartwerereengineered.ontheclientsidethedojo andopenlayers frameworks were replaced with ExtJS and GeoExt. SOLAPLayers 2.0 supports many more componentsfordatarepresentation(crosstab,barchart,barchart,etc.) ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page14/106 SOLAPLayers2.0Extended SOLAPLayers2.0ExtendedisnoofficialreleaseofSOLAPLayers,moreoveritreferences to the state, which was reached after the bachelor project. SOLAPLayers 2.0 Extended hastwomaingoals: Buildaflexibleapplication,whichsimplifiestoaddnewdatasourcesandoutput builders.forreachingthisgoal,thewholesourcecodewillbereviewedand refactored. AddaSQL datasourcetosolaplayersforqueryingrelationaldatabases. GeoBIExt1.0 GeoBiExt1.0willbetherenamedproductofthefinalSOLAPLayers2.0release.GeoBiExt 1.0willbepresentedattheFOSS4G2011inDenver,Colorado. Guidelines SOLAPLayers was an existing project based on some technology and architecturedesicions and principles they were defined before the bachelor project started. This bachelorthesisdidnotevaluatethisdecisionsandcontinuedonthegivenbase.onthe onehand,thiswasnotadesireofspatialytics,ontheotherhand,theevaluationwould betootimeconsumingforthisproject.thefollowingkey factsaffectedthecourseofthe project: SOLAPLayersretrievesdatafromanydatasourceandsendsittotheclientinthe OLAPJson format.olapjsonisaundocumentedformatinventedbyspatialytics. OLAPJsonrepresentsaOLAPCubeinaJSON format. Theclient sideofsolaplayerswasnevertouchedbythestudentduringthis project.theclient sideparsestheolapjson fileandrepresentsthedatausing html,cssandjavascript.aslongastheolapjson fileisvalid,thepossiblefailures ontheguiareproblemsoftheclient side.asmalloverviewoftheclient sidecan befoundinthesub chapter clientapplication. TheOLAPCubetransformation(OLAP4JtoOLAPJson)wasalreadyapartofthe 1.0versionDuringtheprojectthesourcecodewassplitedupindifferentpartsto maketheapplicationmoreflexible.someimprovementsonthesourcecodeand thealgorithmweremadeaswell.theevaluationofthistransformationwasnota partofthisthesisandwasneverreviewedindetail. Allthekeytechnologydecisionsweredoneinadvanced: o Javaasthemainprogramminglanguage o OLAP4J Librarytohandlethreedimensionalmdx result cubes o The2D spatial java libraryjtstopologysuite,whichisusedtointerpret geometry formats o JSONasbasedatatransportformat o AllthetechnologiesusedbytheclientsideofSOLAPLayers(Javascript, HTML,CSS,OpenLayersandtheEXTJS framework) Courseofaction ThisprojectwasdevelopedinacustomizedSCRUM process.forfurtherinformationsee APPENDIXI CustomizedSCRUM Processforbachelorthesis. 6.2.2 Stateoftheartofreportingtools For information about the state of the art of reporting tools, consider the document Stateoftheartofreportingtools whichisattachedtothisdocument.forthestateof theartofsolaplayersseethechapter SOLAPLayers2.0. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

6.2.3 Resultsandevaluation BachelorthesisSS2011 Page15/106 Achievementofobjectives The goal of this project could be reached completely. Spatialytics was satisfied by the solution. The version was used for extending SOLAPLayers right after finishing SOLAPLayers2.0Extended. FutureImprovements SOLAPLayers2.0ExtendedisnotamajorreleaseofSOLAPLayers.Itisnotyetdefined which features GeoBIExt 1.0 will provide. Some recommendations are available at the chapter FutureImprovements oftheprojectdocumentation. 6.3 Projectdocumentation 6.3.1 Requirementsspecification The requirement specification was done by Spatialytics in an agile way. The SCRUM Taskboardcanbefoundintheappendix(see APPENDIXE projectmanagement ). 6.3.2 Analysis ResultsettoOLAP cubetransformation AbigpartoftheanalysisisalreadydonebySpatialytics.Theusedtechnologiesaregiven and the application will be developed based on the version 2.0 of SOLAPLayers. The followingchaptersdocumenttheanalysisofthesolutionsofsolaplayers2.0extended. The following text shows the way in which SOLAPLayers 2.0 Extended transforms the resultsetofasql queryintoanolap cuberepresentation. WhyusingSQLfordataanalyzing? Why accessing simple relational databases with SQL queries instead of using MDX? OLAP data sources are much faster for the analysis of a large amount of data, then accessing databases using SQL. Anyway, many enterprises still work with simple relationaldatabases,evenforanalyzingissues.thatiswhysolaplayershastosupport thiskindofdatasourcesaswell. WhyparsingSQL resultstoolap cubes? The data format is based on a data cube on all logical layers of SOLAPLayers. The commondataformat,whichisprocessedbytheoutputbuilders,isbasedonanolapcube.theolapjson format,whichtransportstheresultfromsolaplayerstothecalling application,representsacubeaswell.thiswasgivenbytheprojectguidelines. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

WhatisanOLAP cube? BachelorthesisSS2011 Page16/106 Figure6 VisualizationofanOLAP cube OLAP cubes result from MDX queries and can be imagine as three dimensional result setsrespectivelyasdatacubes(morethanthreedimensionsarepossible).inthesample cube above Product, Time and Location are dimensions and 174 is a specific measure. OLAP cubes are often represented as cross tables in reports or dashboards. Furtherinformationcanbefoundonhttp://en.wikipedia.org/wiki/OLAP_cube. Howdoesthetransformationwork? SQLisnotabletoreceiveanOLAP Cube.Thatisthereasonwhyitisnecessarytoparse the two dimensional result set to an OLAP cube representation. There are some steps necessarytoreachagoodresult: 1. RequirementsfortheSQL query a. Allthemeasuresanddimensionshavetobeapartoftheselectstatement b. Itisnecessarytogroupthedatabythedimensions Basically,everyrowoftheresultsetwillcontaintwoimportantpiecesof information.thefirstpartoftheinformationcontainsthecoordinates. Thecoordinatesdescribethepositionofthemeasure/s.Thesecondpart oftheinformationisthemeasure,respectivelyabunchofmeasures. Thefollowingexampleshowsthedatacolumn,whichdescribesthevalue inthecubeabove.product,locationandtimearethedimensions,which arepresentinthegroupby clauseofthesql query. 174 isthemeasure. Withthisinformationitispossibletolocateallgivenmeasuresinthe cube.ifaspecificcoordinateisnotavailableintheresultset,itmeans,that thevalueofthismeasureiszero. Product Location Time Value Cellphones Euro 2000 174 c. Anaggregate functionhastobespecifiedforthemeasures Becausewealwaysusethegroup by clauseitisnecessarytodefine aggregate functionsforallthemeasures. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page17/106 Forexample:Themeasureinthecubeabovecouldbetheaveragepriceof acellphoneatacontinentinayear.inthequerywecalculatetheaverage priceofallthecountriesofonecontinentusingtheavg function. Product Location Time Country Value Cellphones Euro 2000 Spain 171 Cellphones Euro 2000 Germany 177 174 2. Additionalmetadata Toextracttheinformationcorrectlyadditionalmetadataisnecessary.Thetype hastobedefinedforeachrowofaresultset: a. Spatialdimension Whichrowrepresentsthenameofthespatialdimension? b. Geometrydata Whichrowrepresentsthegeospatialdata(usuallyapolygonoramultipolygon)ofthespatialdimension? c. Geometrypointrepresentation Whichrowcontainsapointrepresentationofthespatialdimensionsin ordertodisplaydataadditionallyasasimplemarkeronamap? d. Dimensions Whichrowscontaintheotherdimensions? e. Measures Whichrowsrepresentthemeasures? Forguidelinesandfurtherinformationhavealookatthechapter UsingSQL Queries inthedevelopersguide. Limitations Thecube transformationisstilllimited.metadataarenotapartoftheresultingcubeat themoment.datacanberelatedtojustonespecificspatialdimension. 6.3.3 Architecture ArchitectureofSOLAPLayers1.0 SOLAPLayers 2.0 has a very basic architecture. The whole process of retrieving and transforming data is done in one shot. SOLAPLayers does not provide any hooks to extend the software. It is an in four class structured procedural application, which is developed only for the reason of sending mdx queries and receiving OLAPJson. SOLAPLayerswasdevelopedtoaccessoverawebservlet. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

ArchitectureofSOLAPLayers2.0Extended BachelorthesisSS2011 Page18/106 Figure7 OverviewSOLAPLayers2.0Extended The new architecture of SOLAPLayers uses the advantages of objectoriented programming.thedifferentstepsoftheworkflowweresplittedintoflexibleparts.this enhancestheextendabilityofsolaplayers.inuseofconfigurationsandparametersthe prozess can be customized easely without touching the core source code. The new architecturebringsthefollowingadvantages: Thesourcecodeislogicallystructuredindifferentclassesandpackages.This makesthesourceclearandunderstandableingeneral. Specificdatasourcescanbeconfiguredusinganxml file.nofurtherchanges inthesourcecodearenecessary. Newconnectiondrivers(e.g.flatfiles,webservices,etc.)canbeaddedeasily. Interfacesandabstractclasseshelptodevelopandintegratethenew connectiontype.nochangesatthecorearenecessary.definingthepathto thenewdriverinthedatasourceconfigisallwhathastobedone. SOLAPLayersusesreflectiontoloadandconstructthedrivers. Scaffoldingsfornewoutputformatsexist.Afterimplementingannewoutput builderjustverylittlechangesonthecoresourcecodehastobedone.in futureversionsthisshouldnotbenecessaryatall(seechapter Future improvements ). SOLAPLayers2.0Extendedprovidesaccesspointsforwebapplicationsaswell asforsystemstheyusingsolaplayersasalibrary. ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page19/106 Figure8 OverviewvisionSOLAPLayers2.0Extended ChristophSüess Version:1.0 Lastchange:16.06.1119:48

BachelorthesisSS2011 Page20/106 Activitydiagram Figure9 Activitydiagram The activity diagram shows the workflow of SOLAPLayers. The following steps were performed: 1. TheSeverretrievesthequeryandparameters.Thesourceofthisinformationcan beaninputofanuserorthedataofasystem,whichusessolaplayersasapart oftheapplication.inthesamestep,solaplayersreadsthedatasource configuration,whichspecifiytheconnectionforthedatasource(e.g.db url, password,user,etc.).withthequery,theadditionalparamtersandtheopen connectionthedatafromthedatasourcecanbereceived. 2. Acomondataformatisusefulltobuildoutputsforeachdatasource.Thatiswhy thereceiveddatastructuregetstransformedintoacomonformat.thiscomon formatismainlyaolap cube representationplussomeadditionalyinformation (e.g.theexecutedquery). 3. Thecomondatastructureallowstocreatedifferentoutputformatsforevery kindofdatasource.theoutputisnotyetsendedtotheclient,thismakesit possibletoreuseanoutputbuilderforanotheroutputbuilder.inthiswayreally complexoutputbuilderscanbedeveloped. 4. Inthelaststep,theoutputissendedbacktotheclientorthecallingapplication. Dependingonthecallingsystem,someinformationhavetobeadded(e.g.HTTPheaderinformations). AlltheactivitysfromaboveareflexiblepartsofSOLAPLayers.Fornewdatasourcesor outputformatsthisactionshavetobeimplementedandcontributedtotheframework. ChristophSüess Version:1.0 Lastchange:16.06.1119:48