Eine generische Web-of-Things Plattform für Smart Vending unter besonderer Betrachtung von Multi-Tenancy und Templates

Author
A. Neuhauser
Master Thesis
MT1504 (July, 2015)
Supervised by
o. Univ.-Prof. Dr. Michael Schrefl
Instructed by
Dr. Bernd Neumayr
Accomplished at
University Linz, Institute of Business Informatics - Data & Knowledge Engineering
Resources
Copy

Abstract (German)

Die Fortschritte bei der Miniaturisierung von physischen Geräten und Sensoren in den letzten Jahrzehnten führten zu einem Aufschwung des Pervasive Computing. Das Web-of-Things, bei dem eine Vielzahl an alltäglichen Gegenständen als intelligente Objekte mit ihrer Umwelt über das Internet interagieren, erlangte durch die Nutzung von weit verbreiteten und interoperablen Standards wie HTTP, XML oder JSON zunehmende Bedeutung. Im Vergleich zum Internet-of-Things liegt der Fokus nicht in der Schaffung von Kommunikationsprotokollen, sondern in der Orchestrierung und Nutzung der Daten für Anwendungen. Die Autoren wurden durch die zunehmende Popularität des Verkaufs von Waren und Dienstleistungen mittels Automaten (gen. Vending) dazu veranlasst ein Smart Vending Szenario zu entwickeln, auf Basis dessen analysiert werden soll, ob und wie eine Integration von Automaten in das Web-of-Things erfolgen kann.

Das Ziel dieser Arbeit ist zu untersuchen wie komplexe Dinge, am Beispiel eines Getränkeautomaten, ins Web-of-Things integriert bzw. abgebildet werden können. Zunächst wird von den Autoren, unter Mitwirkung von Marktteilnehmern, ein Smart Vending Szenario erarbeitet und dessen Umsetzung in bestehenden Web-of-Things-Plattformen untersucht. Die durchgeführte Evaluierung zeigte, dass die verfügbaren Web-of-Things-Plattformen intentional nicht für komplexe Anwendungsszenarien entwickelt wurden. Vor allem aufgrund der fehlenden Unterstützung zur Abbildung und Integration komplexer Dinge wird in Folge von den Autoren eine eigene Plattform, namens WoTCloud, in Form eines Prototypen vorgeschlagen bzw. entwickelt.

Neben einer allgemeinen Erläuterung der Architektur und Implementierung werden im zweiten Teil der vorliegenden Arbeit spezifische Aspekte der Plattform WoTCloud näher erläutert. Dabei wird geklärt, wie Multi-Tenancy auf Datenbankebene umgesetzt wurde, um IT-Ressourcen kosteneffizient einer Vielzahl an Nutzern zur Verfügung zu stellen. Darüber hinaus wird untersucht, inwiefern der Data Layer von WoTCloud mittels Sharding bzw. dem Add-on Elastic Scale in Microsoft Azure SQL Database skaliert werden kann und so Engpässe vertikaler Skalierung vermieden werden können. Zuletzt wird ein entwickelter Wiederverwendungsmechanismus für WoTCloud auf Basis von Templates vorgestellt und im Kontext moderner Softwareentwicklung diskutiert.

Abstract (English)

Recently there has been a paradigm shift taking place in the field of computing towards miniaturized pervasive objects which are becoming more and more popular in our daily lives. Smart things are digitally enhanced physical objects with communication capabilities. Web-of-Things emerged from a lack of standardized communication protocols by reusing well-proven and widely accepted protocols like HTTP, XML or JSON in order to connect smart things to the Web. At the same time Web-of-Things platforms have risen as central data hubs for things offering light-weight integration via REST services. Moreover, vending machines are becoming more attractive and are of great interest in the context of Web-of-Things due to obvious reasons.

The objective of the thesis is to investigate how complex things like vending machines could be enabled to interact with the Web-of-Things. Thus, the authors developed a smart vending scenario in order to evaluate state-ofthe-art Web-of-Things platforms. Subsequently, market players have been interviewed about current shortcomings and challenges resulting in notional requirements concerning a vending operator’s business. After evaluating four platforms with derived criteria the authors found that all of them are not capable of covering the smart vending scenario sufficiently. Especially the feature to represent and integrate complex things was missing. As a consequence, the authors went further and agreed on building a custom Web-of-Things-platform as part of the thesis.

Apart from a profound introduction of the platform called WoTCloud, the thesis highlights two important issues. First, Multi-Tenancy and its approaches are introduced where multiple customers share the same application and database instance leading to an improved hardware utilization. Due to the intention of deploying WoTCloud globally, the shared table approach has been chosen and implemented. In addition we reveal how Sharding can be used to scale out the data layer of WoTCloud in Microsoft Azure SQL Databases by Elastic Scale in order to overcome shortcomings of scale up strategies. Lastly, a reusability approach on the basis of Templates is implemented and discussed in the context of software engineering. Vending machine operators thus benefit from automating perpetual tasks.

Preface (German)

Diese Masterarbeit gibt einen Einblick in die Entwicklung einer Web-of-Things-Plattform für komplexe Dinge. Während diese Arbeit insbesondere Multi-Tenancy als auch Templates diskutiert, fokussiert eine begleitende Arbeit, verfasst durch Stefan Penner, die Representational State Transfer (REST)-basierte Servicearchitektur und die Geschäftsregeln der Plattform. Die grundlegenden Abschnitte dieser Arbeit (Kapitel 2 - 5) sowie die konkrete Implementierung wurden von beiden Autoren gemeinsam entwickelt und sind in beiden Arbeiten deckungsgleich, sodass beide Arbeiten voneinander unabhängig gelesen werden können.