Refine
Document Type
- Master's Thesis (4)
- Bachelor Thesis (1)
Has Fulltext
- yes (5)
Keywords
- Softwareentwicklung (5) (remove)
Faculty
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.
Die vorliegende Arbeit beschäftigt sich mit dem elektronischen Management von Bewerbungen und Bewerberinformationen im Kontext mittelständischer Unternehmen in Deutschland. Nach einer kurzen Einführung wird der Begriff Web 2.0 sowie die mit diesem einhergehenden Trends und Entwicklungen genauer beschrieben. Nachfolgend werden bestehende marktübliche Systeme für das Management von Bewerbungen miteinander verglichen. Nachdem ein Überblick über das Themenfeld gewonnen wurde, wird der Prozess des Bewerbermanagements selbst, sowie die damit verbundenen Aufgaben im Unternehmen erhoben und analysiert. Eine Befragung der involvierten Mitarbeiter, welche Unterstützung sich diese bei der Durchführung ihrer Aufgaben von einem System wünschen, rundet die Analyse ab. Die Frage, welche Kanäle, Informationsdarstellungen und Controllingmechanismen ein System bieten muss, um maximalen Mehrwert bei der Bewerberansprache und -auswahl bieten zu können, wird in Form eines Grobkonzeptes aufgegriffen. Die dort gesammelten Ideen werden dann in einem weiteren Schritt zusammengeführt, gruppiert und konkreten Modulen zugeordnet. Eine Realisierung ausgewählter Systemkomponenten sowie der Dokumentation des Entwicklungsprozesses schließt den Kernteil ab. Abgeschlossen wird die Arbeit mit einem Ausblick, welche weiteren Entwicklungsschritte möglich sind sowie mit einem Fazit, in dem persönliche Eindrücke während der Bearbeitung des Themas kurz skizziert werden.
Keine Software kommt heute ohne eine ausgebaute IT–Infrastruktur, mit der Anbindung an Datenbanken, aus. Die konsequente Ausrichtung der Software, aufgrund von technologischen Entwicklungen, ist ein wichtiger Einflussfaktor auf die Softwareentwicklung. Die Software soll sich durch Innovation, Flexibilität und Dynamik auszeichnen. Diese Diplomarbeit entstand aus der Motivation heraus, hier Abhilfe zu schaffen. Mit dieser Diplomarbeit soll bewiesen werden, das es möglich ist, die zugrundeliegende Datenbasis von herkömmlicher Dateiorganisation auf relationale Datenbanksysteme umzustellen, ohne dabei die komplette Software neu zu schreiben.
Ziel dieser Diplomarbeit ist es, eine Datenbankanwendung für eine öffentliche Stiftung aufzubauen, in der Projektideen erfasst und bewertet werden können. Da bei der Stiftung caesar die Anwendung Oracle Applications eingesetzt wird, werden für die Realisierung der Datenbankanwendung Oracle-Werkzeuge verwendet. Diese werden im Kapitel 5: Entwicklungswerkzeuge und Kapitel 6: Oracle Applications beschrieben.
Bei moderner Software kommt es auf verschiedene Faktoren an. Der erste für den Anwender zunächst sichtbare Faktor ist die Bedienungsfreundlichkeit des Produktes. Der zweite wichtige Faktor ist die Verwendbarkeit des Produktes auf verschiedenen Hardwareplattformen. Dies ist vor allem für Programme wichtig, die sich an einen großen Kundenkreis richten, da man nicht davon ausgehen kann, oder sollte, dass überall das gleiche Betriebssystem eingesetzt wird. Des weiteren wird so auch ein Umstieg auf ein anderes System erleichtert. Für das Softwarehaus selber ist die Wartbarkeit des Produktes von entscheidender Bedeutung. Objektorientierte Programmierung bietet hier durch Vererbungstechniken, Datenkapselung und ähnlichem die besten Voraussetzungen. Auch der Einsatz von Entwurfsmustern, also lange bewährten Konzepten objektorientierter Entwicklung, ist hier von Vorteil. Eine Datenbankanbindung ist für fast jede kommerzielle Software notwendig. Hierbei ist es auch von Vorteil sich nicht an eine spezielle Datenbank zu binden. Ein Mittel hierzu ist es die Datenbanksprache SQL und offene Datenbanktreiber wie etwa ODBC zu benutzen. Bei vielen Programmen ist es auch von Vorteil, wenn sie von Anfang an als verteilte Systeme entworfen werden. Verteilte Systeme haben den Vorteil, dass jedes Modul an einem anderen Ort sein kann und entweder über eine ständige oder aber auch eine temporäre Internetverbindung miteinander synchronisiert werden können. In dieser Arbeit werde ich anhand eines Praxisbeispieles beschreiben, wie man all diese Faktoren in ein Softwareprodukt unterbringt, und wie die Entwicklung aussieht.