D. Software
Refine
Year of publication
Document Type
- Master's Thesis (11)
- Bachelor Thesis (10)
- Study Thesis (2)
Has Fulltext
- yes (23)
Keywords
- Agile Softwareentwicklung (2)
- Cloud Computing (2)
- Comic (2)
- Data Mining (2)
- Datenbank (2)
- Neuronales Netz (2)
- Visualisierung (2)
- Android (1)
- App <Programm> (1)
- Atlassian (1)
Faculty
- Fakultät 10 / Institut für Informatik (23) (remove)
Diese Arbeit untersucht verschiedene Ansätze, Daten im Google Cloud Firestore zu strukturieren und deren Auswirkungen auf Kosten, Performance sowie Codequalität. Zunächst folgt eine Aufbereitung des aktuellen Stands der Forschung. Darauf folgt die experimentelle Methodik. Hier dient eine prototypische Implementierung der Szenarien als Grundlage. Im Zuge des Experiments werden in unterschiedlichen Disziplinen Daten erhoben und im Anschluss ausgewertet, um empfehlenswerte Lösungen für definierte Anwendungsfälle zu benennen. Am Ende gibt die Arbeit ein kurzes Fazit zu den gewonnenen Erkenntnissen sowie einen Ausblick auf weitere Optimierungspotenziale ab.
Kategorisierung und Bewertung plattformübergreifender Ansätze für die Auswahl eines Frameworks
(2023)
Die plattformübergreifende Entwicklung ist eine populäre Art der Anwendungsentwicklung, die in der Forschung und Industrie immer weiter an Relevanz gewinnt. Dabei wird eine Codebasis geschrieben, die auf mehreren Betriebssystemen lauffähig ist. Das Ziel dieses Ansatzes ist es unter anderem, die Zeit- und Kosteneffizienz zu optimieren. Es gibt verschiedene Ansätze der plattformübergreifenden Entwicklung. Die einzelnen Frameworks lassen sich wiederum in diese Ansätze einteilen. Durch die steigende Akzeptanz dieser Art der Entwicklung herrscht eine zu große Auswahl an Frameworks, von denen jedes eigene Stärken und Schwächen aufweist. Dies ist ein Problem, da Entwickelnde keine Übersicht und Einordnung der Frameworks für ihre individuellen Bedürfnisse haben. Um diesem Problem entgegen zu wirken, wird in dieser Arbeit ein Verfahren entwickelt, mit dem das passende Framework für die Rahmenbedingungen des jeweiligen Projekts ermittelt werden kann. Dazu werden die Frameworks Kotlin Multiplatform, Flutter, React Native und Vue.js, das zur Umsetzung einer PWA genutzt wird, für eine mobile Anwendung getestet, die auf Android und iOS Geräten laufen soll. Zusätzlich werden 44 Kriterien ermittelt, anhand derer die Frameworks bewertet werden. Mit dem resultierenden Verfahren kann sowohl eine objektive, als auch eine subjektive Auswertung der Frameworks erfolgen, um eine geeignete Auswahl zu treffen.
In dieser Arbeit wird ein System zur Modellierung von IT-Compliance-Anforderun-gen in einer Graph-Datenbank entwickelt. Dabei werden organisationsinterne Com-pliance-Maßnahmen, ihre Umsetzungsdokumentation und die zwischen ihnen entstehenden Beziehungen berücksichtigt. Anschließend werden die Stärken und Schwächen des Systems anhand einer Erprobung mit Anforderungen an ein fiktives IT-Projekt der deutschen Versicherungsbranche herausgestellt und so die Praxistauglichkeit bewertet. Es wird unter anderem aufgezeigt, wie Compliance- Daten in die Datenbank aufgenommen werden können und welche Unterschiede es zu bisher verbreiteten Prozessen in diesem Gebiet gibt.
As a customer, it can be frustrating to face an empty shelf in a store. The market does not always realize that a product has been out of stock for a while, as the item is still listed as in stock in the inventory management system. To address this issue, a camera should be used to check for Out-of-Stock (OOS) situations.
This master thesis evaluates different model configurations of Artificial Neural Networks (ANNs) to determine which one best detects OOS situations in the market using images. To create a dataset, 2,712 photos were taken in six stores. The photos clearly show whether there is a gap on the shelf or if the product is in stock. Based on the pre-trained VGG16 model from Keras, two fully connected layers were implemented, with 36 different ANNs differing in the optimization method and activation function pairings. In total, 216 models were generated in this thesis to investigate the effects of three different optimization methods combined with twelve different activation function pairings. An almost balanced ratio of OOS and in-stock data was used to generate these models.
The evaluation of the generated OOS models shows that the FTRL optimization method achieved the least favorable results and is therefore not suitable for this application. Model configurations using the Adam or SGD optimization methods achieve much better results. Of the top six model configurations, five use the Adam optimization method and one uses SGD. They all achieved an accuracy of at least 93% and were able to predict the Recall for the OOS class with at least 91%.
As the data ratio between OOS and in-stock data did not correspond to reality in the previously generated models, the in-stock images were augmented. Including the augmented images, new OOS models were generated for the top six model configurations. The results of these OOS models show no convergences. This suggests that more epochs in the training phase lead to better results. However, the results of the OOS model using the Adam optimization method and the Sigmoid and ReLU activation functions stand out positively. It achieved the best result with an accuracy of 97.91% and a Recall of the OOS class of 87.82%.
Overall, several OOS models have the potential to increase both market sales and customer satisfaction. In a future study, the OOS models should be installed in the market to evaluate their performance under real conditions. The resulting insights can be used for continuous optimization of the model.
Heutzutage ist das Internet, wie die sozialen Netzwerke ein fester Bestandteil unserer So nutzen Unternehmen in dem Kommunikationszeitalter die Netzwerke um in diesen Plattformen mit den Nutzern zu kommunizieren. Hierbei ist das Ziel dieser Bachelorarbeit zu untersuchen in wie weit man eine Erweiterung entwickeln kann um diese Ziele zu erreichen.
Dabei soll im Rahmen dieser Arbeit eine prototypische Implementierung stattfinden, um die Entwicklung eines Multichannel Social Media Marketingtools basierend auf Atlassian Produkten zu ermöglichen.
Die Arbeit gibt zunächst einen Überblick der wichtigsten Grundlagen. Danach wird mit einer Analyse die Anforderungen an den Prototypen erhebt und ausgewertet , sowie eine Marktanalyse durchgeführt. Darauf folgt die Konzeption, wie die Implementierung des Prototyps, was im Anschluss mit einem Test für die Gebrauchstauglichkeit ergänzt wird.
Cloud Computing ist der zentrale Faktor zur Beschleunigung der Digitalisierung in Deutschland und wird in den kommenden Jahren eine wichtige Rolle in jedem deutschen Unternehmen spielen. Für Unternehmen wird es dabei um die Umsetzung von
Cloud-Strategien und die praktische Einbindung in die täglichen Betriebsprozesse gehen. Zusätzlich müssen Unternehmen ihre bestehende Datenlandschaft in moderne Architekturen zum Datenmanagement in die Cloud migrieren. Dabei können Unternehmen auf eine Vielzahl an unterschiedlichen unternehmensweiten Datenarchitekturen
zurückgreifen. Die vorliegende Masterarbeit gibt eine Einführung in die aktuelle Entwicklung von Cloud Computing und erläutert, mit Data Fabric, Data Lakehouse und Data Mesh, drei unternehmensweite Datenarchitekturen für die Cloud. Data Fabric, Data Lakehouse und Data Mesh bilden dabei aktuell die modernsten Konzepte für unternehmensweite Datenarchitekturen. Zusätzlich werden ein Data Lakehouse und ein Data Mesh in einer ausgewählten Cloud-Umgebungen entworfen, prototypisch aufgebaut und praktisch analysiert. Ziel der Masterarbeit ist es, die unternehmensweiten Datenarchitekturen in der Cloud zu erläutern, konkrete technologische Architekturen zu entwerfen und entsprechende Hinweise zu Aufwandstreibern in Unternehmen zu identifizieren.
Architektur für ein Qualitätsmanagementsystem zur Verbesserung der Relevanz von Suchergebnissen
(2023)
Die Suchfunktion ist in vielen Softwareprodukten eine wichtige Komponente, die häufig zur Navigation in der Anwendung dient. Gerade, wenn große Datenmengen bereitgestellt werden, wie es bei Streamingdiensten (Netflix, Spotify) oder bei E-Commerce-Plattformen (Amazon, Zalando) der Fall ist, ist es wichtig, dass die Suchergebnisse für den Nutzer relevant sind. Eine für den Nutzer effektive Navigation mit der Suchfunktion ist nur möglich, wenn die Suchergebnisse eine ausreichend große Relevanz für den Nutzer bieten. Die Organisationen, welche die oben genannten Dienste betreiben, versuchen daher, die Relevanz ihrer Suchergebnisse zu optimieren. Eine Optimierung auf Relevanz ist zwar für eine spezielle Suche einfach, jedoch können dabei häufig Seiteneffekte auftreten, welche die Relevanz über alle Suchen verschlechtern. In einem E-Commerce-Shop kann das Einfiihren des Synonyms „Birne -> Glühbirne" dafür sorgen, dass Nutzer, die Gliihbirnen kaufen wollen und nach „Birne" suchen nun auch Gliihbirnen finden. Falls Nutzer aber das Obst Birne kaufen möchten, sind die Ergebnisse für diese Gruppe irrelevant. Bei einer Optimierung der Relevanz über alle Suchen können Qualitätsmanagementsysteme unterstützen. Ein Qualitätsmanagementsystem fiir die Relevanz von Suchergebnissen muss nicht nur fachliche und technische, sondern auch organisatorische Anforderungen beachten, um die Optimierungspotenziale vollständig auszuschöpfen. Diese Arbeit erläutert diese Anforderungen und stellt eine Architektur für ein Qualitätsmanagementsystem vor. Die Architektur wird hinsichtlich der Erfüllung der erläuterten Anforderungen analysiert. Desweiteren werden die Vor- und Nachteile fiir die jeweiligen Architekturentscheidungen unter Betrachtung der Anforderungen diskutiert. Das Ziel der Arbeit ist es, die Architektur entsprechend zu erläutern, sodass eine Organisation diese für sich angepasst implementieren kann.
Die Digitalisierung hat Auswirkung auf die Entwicklung von Produkten. Die Teams werden agiler, die Kunden haben als Eigentümer eines Produktes Mitspracherecht und bestimmen gemeinsamen mit den Entwicklern, welche Features als Nächstes aus dem vordefinierten Backlog in dem nächsten Sprint als Inkrement eingebaut und ausgeliefert werden. Durch die enge Zusammenarbeit werden die Release-Zyklen eines Produktes kürzer und es werden mehr Features als in der Vergangenheit bei nicht agilen Methoden deployt. Durch die kurzen Release-Zyklen werden viele unterschiedlichen Versionen ausgerollt. Dies hat zur Folge, dass Fehler, die vorher durch das Testen nicht entdeckt worden sind, auf einer produktiven Umgebung ausgerollt werden. Hat der Fehler eine starke Auswirkung auf die Benutzung der Anwendung, dann besteht die Möglichkeit, die Änderung manuell durchzuführen. Diese muss beim nächsten Release eingebaut werden. Wenn die Release-Zyklen länger werden, birgt es die Gefahr, dass viele manuelle Änderungen in der Zeit entstehen. Der ausgerollte Zustand entspricht nach einer bestimmten Zeit nicht mehr dem eingecheckten Zustand im Git-Repository. An der Stelle bietet der GitOps-Ansatz eine mögliche Abhilfe, um den ausgerollten Ist-Zustand durch regelmäßiges Pullen so nah wie möglich an dem im Repository eingecheckten Soll-Zustand zu halten.
Für EDB, das e-Learning Datenbank Portal der TH Köln, soll im Zuge dieser Arbeit eine Komponente zum Verwalten und Durchführen von Mehrspieler-Livequiz entwickelt werden. Um die Motivation der Nutzer zu erhöhen, soll diese an die unter der Zielgruppe verbreitetsten Nutzertypen des Hexad-Frameworks angepasst werden. Dazu wurde eine Umfrage mit Studierenden der TH Köln durchgeführt. Mithilfe der validen Antworten (N=52) wurde unter anderem die Verteilung der Übereinstimmung mit den sechs Nutzertypen Philanthropist,
Socializer, Free Spitit, Achiever, Player sowie Disruptor ermittelt. Neben der Übereinstimmung mit den Nutzertypen wurden auch verschiedene technische Daten wie Bildschirmauflösungen und verwendete Browser und Betriebssysteme erhoben, welche beim Testen der Anwendung eine optimale Darstellung derselben bei einem möglichst großen Anteil der Zielgruppe bedingen könnten. In mehreren Schritten, von einer Betrachtung etablierter Alternativen bis zur Entwicklung eines Wireframes, wurde eine konzeptuelle
Lösung entwickelt und realisiert. Dabei wurde ein Datenbankschema zur Speicherung der Quiz, Fragen und Antworten mitsamt einer API designt und angelegt. Das Ergebnis ist die Implementation einer Anwendung, welche alle Must-Have und mehrere Nice-To-Have Anforderungen erfüllt. Mit dieser können Quiz mit Fragen und Antworten erstellt, bearbeitet, gelöscht und in Quizräumen von mehreren Personen synchron gelöst werden. Es werden Zwischenergebnisse für die einzelnen Fragen und eine Rangliste mit den Endergebnissen eines Quiz angezeigt. Für eine Weiterentwicklung wurden acht
Verbesserungsansätze erdacht.
Das Ziel dieser Arbeit war es aufzuzeigen, warum eine elektronische Unterstützung bei politischen Wahlen in Deutschland bislang noch nicht möglich ist. Weder die Nutzung von einem Wahlcomputer im Wahllokal noch eine Stimmabgabe über das Internet vom heimischen PC aus sind möglich. Da die Digitalisierung längst in allen Lebensbereichen Einzug gefunden hat und es selbst einem Kühlschrank möglich ist, per E-Mail Bescheid zu sagen, wenn keine Milch mehr da ist, verwundert es doch schon sehr, dass wir noch immer mit Stift und Unmengen von Papier unsere Volksvertreter wählen. Um dies zu verstehen, werden in dieser Arbeit die gesetzlichen Vorgaben für eine politische Wahl erläutert und deren Bedeutung für elektronisch unterstützte Wahlen aufgezeigt. Dabei liegt das Hauptaugenmerk auf einer Wahlmöglichkeit über das Internet. Es werden mögliche Chancen, Risiken und Anforderungen eines solchen Wahlverfahrens erörtert und gezeigt, warum eine technische Umsetzung so schwer ist und wie eine solche möglicherweise aussehen könnte. Außerdem werden die Themen eines elektronischen Personalausweises, der elektronischen Partizipation und deren Bedeutung für ein Internet-Wahlsystem erläutert sowie ein Blick darauf geworfen, wie andere europäische Länder dieses Thema behandeln.
More and more often, spoken information must and should be available in written form. For this purpose, various transcription programs try to support the user with various conveniences when transcribing the source material. A variety of online services go one step further and provide a ready-to-use, automatically generated transcription for a fee. Since the fees can be very expensive for the individual user and the online services may not always be used for privacy reasons, the goal of this work is to implement an open offline alternative. This alternative should be an open source editor based on the open speech-to-text-engine DeepSpeech and should on one hand provide the user with an offline transcription and on the other hand support him in correcting it. To achieve this goal, first the traditional speech recognition and eventually DeepSpeech will be described. This is followed by the conception and implementation of the editor. Since this project is explicitly intended to be an open source project, the last part will take a closer look at the release.
Ziel dieser Arbeit ist die Entwicklung eines E-Learning Systems, welches als asynchrones und flexibles Online-Format frei zugänglich ist. Nach einer Zusammenfassung der wichtigsten theoretischen und rechtlichen Schulungsthemen, wird das System konzipiert und prototypisch entwickelt. Die Zielgruppe des Systems sind in erster Linie Einzelpersonen und Arbeitnehmer, welche eine Datenschutzschulung aufgrund von Nachweispflichten des Datenschutzgrundgesetzes benötigen.
Aufbauend auf einer vorherigen Arbeit, die sich mit der Implementierung einer Komponentezum Auslesen mdizinischer Sensordaten mithilfe eines Arduino und eines Raspberry Pi befasst hat, beschäftigt sich diese Arbeit mit der Visualisierung sowie Auswertung der durch das System gesammelten Daten. Das Ziel dieser Arbeit ist es, über einen Zeitraum von etwa drei Monaten mithilfe der Komponente Daten zu sammeln und diese Daten in einem sinnvollen Kontext visuell darzustellen. Zudem sollen diese Daten mithilfe unterschiedlicher Algorithmen des Maschinellen Lernens ausgewertet werden,
um mögliche Muster und Zusammenhänge erkennen zu können. In diesem Kontext konnte die Hypothese aufgestellt werden, dass ein Zusammenhang zwischen der Körpertemperatur und der Sauerstoffsättigung im Blut besteht.
Neben den großen Anbietern digitaler Comics mit elektronischem Kopierschutz (DRM) haben sich auch Anbieter für DRM-freie Comics etabliert. Als Open Source-Alternative zu den Plattformen Ersterer wurde im Rahmen des Praxisprojekts die Software ComicLib als Web-App zur Verwaltung digitaler Comicsammlungen geschaffen. Diese ermöglicht die gemeinsame Verwaltung DRM-geschützter sowie -freier Comics. Letz-tere sind außerdem im Webbrowser lesbar. Die im Rahmen dieser Arbeit entstandene And-roid-App soll eine Open Source-Alternative zu den mobilen Apps der Plattformen der gro-ßen Anbieter sein und ComicLib um eine mobile App zur Offline-Nutzung der Comics erwei-tern. Der erste Prototyp wird im Nachgang des Projekts weiter getestet und verbessert, be-vor die erste stabile Version veröffentlicht wird.
Entwicklung einer freien Software zur Verwaltung von digitalen Comics auf Basis von Web Technologien
(2019)
Mit dem Aufkommen von E-Books sind auch Comics im digitalen Zeitalter angekommen. Digitale Comicsammlungen bestehen meistens aus Dateien unterschiedlicher, teils proprietärer Dateiformate. Da Comics in proprietären Formaten nur in den Anwendungen der Hersteller geöffnet werden können, gestaltet sich die gemeinsame Verwaltung aller Comics einer Sammlung schwierig. Da die Verwaltung der Comics bei diesen Herstellern zentralisiert auf deren Servern erfolgt, ist das Lesen von Comics bei diesen über deren Apps standortunabhängig möglich. Diesen Vorteil bieten Comics in nicht-proprietären Formaten nicht. Für den maximalen Komfort muss man sich also für einen einzelnen Anbieter entscheiden und eine Fragmentierung der eigenen Comicsammlung über mehrere Anbieter hinweg vermeiden. Diese Probleme soll dieses Projekt lösen und dazu mit ComicLib eine freie Software zur zentralen Verwaltung und Bereitstellung digitaler Comicsammlungen schaffen. Da ein Öffnen der proprietären Dateien nicht möglich ist, soll die Beschaffung von Informationen zu Comics, Serien und Verlagen über den Zugriff auf die ComicVine API1 von Gamespot2 erfolgen. Bei Comics in nicht-proprietären Dateiformaten soll das Lesen direkt in der Software möglich sein, bei den proprietären Formaten soll die Datei stattdessen nur zum Download bereitgestellt werden. Eine eigene Programmierschnittstelle soll die Erweiterung von ComicLib um mobile Apps ermöglichen. Die Implementation als Webanwendung soll eine Nutzung der Comicverwaltung auf Computern, Tablets und Smartphones ermöglichen.
Aufgrund ihrer aktuellen Bedeutung im Zusammenhang des Internet of Things werden in der vorliegenden Arbeit Time Series Databases und Event Stores miteinander vergli-chen. Ziel ist, die Gemeinsamkeiten und Unterschiede der beiden Arten von Datenbank Management Systemen herauszustellen.
Der erste, theoretische Teil des Vergleichs erfolgt anhand der funktionalen Kriterien Speichersystem, Performance und Funktionen sowie der nicht-funktionalen Kriterien Usability und Support. Im zweiten Teil des Vergleichs wird anhand eines konkreten An-wendungsfalls untersucht, ob sich Time Series Databases und Event Stores gleicher-maßen für die Speicherung und in einem zweiten Schritt für die Abfrage von Zeitreihen-daten eignen.
Zumal der theoretische Vergleich Unterschiede zwischen einzelnen Time Series Data-bases und Event Stores in Bezug auf die betrachteten Kriterien erkennen lässt, wird für den praktischen Vergleich unter Berücksichtigung der im konkreten Anwendungsfall gegebenen Anforderungen nur die am besten geeignetste Time Series Database (In-fluxDB) und der am besten geeignetste Event Store (Event Store) ausgewählt. Der prak-tische Vergleich zeigt, dass die Zeitreihendaten im konkreten Anwendungsfall zwar in beiden Arten von Datenbank Management Systemen gespeichert werden können, die Nutzung der auf Zeitreihendaten spezialisierten Time Series Database InfluxDB jedoch offensichtliche Vorteile gegenüber dem Event Store aufweist.
Text-Mining auf Basis von SAP HANA am Beispiel von Social-Media-Beiträgen eines Handelsunternehmens
(2018)
Die wesentlichen Hauptthemen, die in der vorliegenden Arbeit miteinander in Zusammenhang stehen, sind die Anwendung von Verfahren im Text-Mining und die IMDB, HANA, des europäischen Softwareherstellers SAP. Hierbei soll die HANA-Technologieplattform als Basis verwendet werden, um ein Text-Mining-Anwendungsfall zu bearbeiten, die die Analyse von Social-Media-Beiträgen vorsieht.
Untersuchung des Potentials Neuronaler Netze für Regelungsprozesse am Beispiel eines Betonverteilers
(2018)
Ziel der Arbeit ist die Entwicklung eines Ansatzes zur Nutzung Neuronaler Netze für die Steuerung eines Betonverteilers. Nach der Erläuterung der Grundlagen Neurona-ler Netze wird ein Netz entworfen und ein Test anhand realistischer Testdaten durch-geführt. Nach einer ausführlichen Beschreibung des Umfelds des Anwendungsfalls (Betonverteiler), sowie der Grundlagen Neuronaler Netze, ihrer Lernverfahren und ihrer Einsatzmöglichkeiten in der Regelungstechnik erfolgt der Entwurf eines Ansatzes zur Konstruktion eines Netzes für den Betonverteiler als Anwendungsfall sowie die Beschreibung der Implementation von Simulationsmodell und neuronalem Netz.
Die vorliegende Bachelorarbeit in Kooperation mit der Deutsche Sporthochschule Köln hat die Konzeption und Entwicklung eine Software, mit der Daten aus der Fußball-Bundeliga 2011–2012 mit Hilfe einer Heatmap erzeugt werden, zum Inhalt. Die Software soll die Torpositionen vor einem Offensivspiel zu verschiedenen Zeitpunkten des Spieles veranschaulichen.
Bei der Arbeit wurden zwei Cluster-Methoden betrachtet, nämlich die Density-Based Spatial Clustering of Applications with Noise (DBSCAN) und der Kerndichtschätzer (kernel density estimation). DBSCAN ist ein bekannter Cluster-Algorithmus und wurde mit dem Software-Tool WEKA untersucht. Es zeigte sich, dass dieses Verfahren nicht so gut für diese Aufgabenstellung geeignet ist, da einzelnen Cluster nicht so gut unterschieden werden konnten. Der Kerndichtschätzer ist dagegen ein statistisches Verfahren zur Schätzung einer Dichte, der auch in Geoinformationssystemen verwendet wird. Dieses Verfahren ist besser für die Aufgabenstellung geeignet.
Nach der Analyse der Daten im XML-Format wurde der Algorithmus Kerndichtschätzer für die Deutsche Sporthochschule Köln in detr Programmiersprache Java implementiert. Die Software untersucht die Bildung von Clustern bzw. die Torschussdichte mit der Absicht, ein Verhalten oder Muster vor einem Offensivspiel zu erkennen. Sie enthält eine sehr gute Visulisierung der verschiedenen Situationen, die zum Torschuss führten, anhand eines Fußballfeldes
Vergleich von verteilten Datenbanksystemen hinsichtlich ihrer Clusterbildung und Skalierbarkeit
(2017)
Die vorliegende Ausarbeitung geht der Frage nach, wie sich die Datenbankmanagementsysteme MariaDB, MongoDB und Cassandra hinsichtlich ihres Clusteraufbaus,
sowie den damit verbundenen Möglichkeiten der Skalierbarkeit unterscheiden. Dazu werden zunächst Grundlagen zum Aufbau von verteilten Datenbanksystemen, zu den verschiedenen Transaktionskonzepten, sowie zu den möglicherweise auftretenden Probleme vermittelt. Anschließend werden die drei Systeme im Detail untersucht und herausgearbeitet, wie sie genau funktionieren und in welchen Punkten sie sich von einander unterscheiden. Als Abschluss wird ein Fazit gezogen, welches System in verteilten Computerumgebungen
am geeignetsten ist, insofern ein klarer Sieger hervorgeht.
An empirical evaluation of using the Swift language as the underlying technology of RESTful APIs
(2016)
The purpose of the current thesis is to determine the appropriateness of using the Swift language as the underlying technology for the development of RESTful APIs in a Linux environment. The current paper describes the process of designing, implementing and testing individual RESTful API components based on Node.js, PHP, Python and Swift and seeks to determine whether Swift is a viable alternative.
The thesis begins by defining a methodology for implementing and testing individual RESTful API components based on Node.js, PHP, Python and Swift. It then proceeds to detail the implementation and testing processes, following with an analytic discussion regarding the advantages and drawbacks of using the Swift language as the underlying technology for RESTful APIs and server-side Linux-based applications in general.
Based on the implementation process and on the results of the previously mentioned evaluation phase, it can be stated that the Swift language is not yet ready to be used in a production environment. However, its rapid evolution and potential for surpassing its competitors in the foreseeable future make it an ideal candidate for implementing RESTful APIs to be used in development environments.
Der erste Teil dieser Arbeit gibt einen Überblick über die Themenfelder der modellgetriebenen Softwareentwicklung und der objektrelationalen Abbildung. Durch eine Kombination dieser beiden Themen wird schließlich der Begriff der modellgetriebenen O/R-Mapping-Frameworks definiert und näher erläutert. Im zweiten Teil bestätigt ein Vergleich von drei dieser Frameworks (Bold for Delphi, MDriven sowie Texo mit EclipseLink) die Vor- und Nachteile des modellgetriebenen Ansatzes auch in Bezug auf die Persistenz. Der Vergleich macht außerdem deutlich, was aktuell in der Praxis möglich ist (und was nicht) und in welchem Umfang Standards genutzt werden (insbesondere MDA und UML). Daneben werden auch die Schwächen in diesem Bereich aufgezeigt. Abschließend gibt es eine kurze Bewertung der Frameworks, auch im Hinblick auf mögliche Anwendungsszenarien.
Die Menge an Informationen steigt seit Jahren immer weiter an. Dies lässt sich auch leicht an der Entwicklung der Speichermedien feststellen. So bot die erste 5,25-Zoll Festplatte, eine Seagate ST- 506, lediglich 5 MB Speicherkapazität. Heutige 3,5-Zoll Festplatten verfügen hingegen über bis zu 8 TB Speicherkapazität und werden ebenso ausgenutzt wie ihre Vorgänger aus der Anfangszeit der Magnet-festplatten. Zusätzlich geht die Tendenz dorthin, alle Daten jederzeit zur Verfügung zu haben. Sei es daheim am Rechner, auf der Arbeit oder per Tablet oder Smartphone unterwegs, dank der immer mehr verbreiteten Cloud-Speicher stehen die Daten jederzeit zur Verfügung. Mit dem enormen Zuwachs an Dateien und auch an Dateiformaten wird es jedoch immer schwieriger, diese Masse zu überblicken und bestimmte Inhalte in annehmbarer Zeit wiederzufinden. Beispiels- weise hostet der Internetdienst Flikr die schier unüberschaubare Menge von über 6 Milliarden Bilder. Doch nicht nur die großen Servicedienstleister besitzen große Datenmengen, auch Einzelpersonen haben derweil große Musik- und Bildsammlungen, zumal jedes aktuelle Smartphone über eine Kamera verfügt. Jeder ist somit praktisch zu jeder Zeit in der Lage, ein Foto in hochauflösender Qualität zu schießen und direkt in seine Cloud hochzuladen. Diese Datenmengen manuell zu ordnen, erfordert einen sehr hohen Aufwand, den nicht alle Menschen gewillt sind zu leisten. Vor allem am Smartphone geht dieses Benennen und Einsortieren aufgrund der vorhandenen Technik nicht so leicht von der Hand. In der Praxis sammeln sich die Aufnahmen mit der Zeit immer weiter an und letztlich befinden sich mehrere hundert wenn nicht gar tausend Bilder in einem Ordner, welche sich namentlich meist nur durch eine fort- laufende Nummer unterscheiden. Diesen Umstand Rechnung tragend, treten Metainfor-mationen immer mehr in den Vordergrund. So speichern die zuvor genannten mobilen Alleskönner meist viele informative Daten mit in den Bilddateien ab. Beispielsweise kann dank der eingebauten GPS-Module der Ort der Aufnahme aus den Bildern ausgelesen werden. Die Dienstleister für Cloud-speicher nutzen diese Informationen jedoch nur marginal aus und bieten dem Endanwender kaum Unterstützung bei der Suche nach be- stimmten Inhalten, wie etwa beim OX Drive, der Cloudlösung der Firma Open-Xchange.
Die vorliegende Master Thesis zeigt, wie dieser Cloud-Speicher, welcher in die Hauseigene OX App Suite integriert ist, um sogenannte Smartfeatures erweitert werden kann. Diese Smartfeatures sollen dem Endan-wender helfen, die Daten einfacher – wenn nicht gar automatisch – zu ordnen und somit leichter bestimmte Inhalte wiederzufinden. Kernthema dieser Arbeit ist daher die auto- matische Extraktion von unterschiedlichen Metadaten aus diversen Dateiformaten. Des Weiteren wird gezeigt, wie diese Daten effizient gespeichert und abgefragt werden können. Die Thesis stellt hierzu den Document Store Elasticsearch vor und vergleicht diesen mit seinem Konkurrenten Apache Solr.