Refine
Document Type
- Bachelor Thesis (5)
- Master's Thesis (1)
Has Fulltext
- yes (6)
Is part of the Bibliography
- no (6)
Keywords
- Node.js (6) (remove)
Institute
Open Access
- Closed Access (3)
- Closed (2)
- Open Access (1)
Die vorliegende Arbeit „Platform enabled Web - Webanwendungen auf Basis öffentlicher APIs am Beispiel von Facebook und Instagram“ beschäftigt sich mit einer Nische im Bereich der Webanwendungen. Unter Betreuung der Firma „Visual Statements“ wurde eine Webanwendung realisiert, deren Mehrwert ausschließlich auf den öffentlich zugänglichen Schnittstellen der Plattformen Facebook und Instagram basiert. Das Social Media Dashboard erlaubt der Redaktionsabteilung von Visual Statements die exakte Analyse der relevanten Key Perfomance Indikatoren des gesamten Markennetzwerks.
Zu Beginn der Arbeit wurde der Begriff API und die damit in Verbindung stehenden Architekturen des Webs beleuchtet. Es wurde gezeigt, welche wichtigen Konzepte, wie diverse Repräsentationsformate oder Autorisierungsverfahren, eine Basis für zuverlässige und offene Web-APIs bilden. Eigens für diese Arbeit realisierte Minimalbeispiele veranschaulichten die Implementation in der Praxis und machten die aufgezeigten Konzepte zugänglicher.
Anschließend folgte eine Analyse offener Web-APIs und der darauf basierenden Anwendungen im WWW. Eine umfassende Betrachtung der verschiedenen Anwendungsbereiche mit unterschiedlichen Beispielen verdeutlichte die Bedeutung des APIs in einem großen Spektrum diverser Sektoren. Dabei wurde nicht nur der technische Anwendungsbereich untersucht - auch auf Schnittstellen mit dem ökonomischen Sektor und den dortigen Einfluss von APIs wurde eingegangen. Daraufhin wurde erörtert, welchen Nutzen offene APIs in diesen Bereichen haben, welche Hindernisse für eine erfolgreiche Etablierung zu überwinden sind und welche Lösungsansätze hierbei bereits existieren.
Das bekannte Graph API von Facebook, welches die unmittelbare Bezugsquelle aller Informationen darstellt, die für das Social Media Dashboard benötigt wurden, wurde anschließend genau beschrieben. Der Abschnitt zeigte zudem, weshalb Facebook längst nicht mehr nur eine Plattform für den Kommunikationsaustausch ist, sondern vielmehr ein eigenes Ökosystem für Entwickler, Kreative und Unternehmen geschaffen hat. Die immense Menge an zugänglichen Daten, das umfangreiche Angebot an open-source Software und die verschiedenen Initiativen, welche von Facebook als Plattform zur Verfügung gestellt werden, unterstreichen die gemachten Erkenntnisse.
Auf Basis der Möglichkeiten, die dieses Ökosystem zu bieten hat, wurde das Projekt in Zusammenarbeit mit Visual Statemens spezifiziert. So schloss sich die Definition des Anforderungsprofils nahtlos an die Übersicht zu Facebooks Plattform an. Unter Berücksichtigung verschiedener Kriterien wurde hier das Bild des gewünschten Ergebnisses gezeichnet, welches im folgenden und abschließenden Kapitel umgesetzt wurde. Unter Verwendung von Node.js als serverseitiger Software und einer großen Anzahl eingebundener Module wurde eine funktionsfähige und datenbanklose Webanwendung realisiert, welche sämtliche Informationen aus den offenen APIs von Facebook und Instagram bezieht. Visual Statements besitzt nun ein maßgeschneidertes Tool zur Analyse der Social Media Performance und kann unabhängig von kostenpflichtigen Anbietern auf die wertvollen Informationen zugreifen.
Im Rahmen der Bachelorarbeit zum Thema „Vergleich von REST und GraphQL als moderne Web-APIs und Implementierung eines PIM-Systems“ werden zwei moderne Ansätze zum Erstellen von Web-APIs untersucht und verglichen. Ziel der Arbeit ist es, passende Anwendungsfälle für die Verwendung von REST und GraphQL zu definieren. Im praktischen Teil der Arbeit wurde eine Prototyp eines Product-Information-Management-Systems mit einer GraphQL-Schnittstelle implementiert.
Diese Arbeit befasst sich mit dem Thema Internet of Things und darin insbesondere mit dem Bereich Smart Home und Smart Mobile Home. Wesentliche Aspekte werden zu diesen Gebieten herausgearbeitet und analysiert. Es wird festgestellt, dass kaum Möglichkeiten existieren, Mobile Homes um smarte Systeme zu erweitern, wie es im herkömmlichen Smart Home Bereich der Fall ist.
Die Low-Code Entwicklungsplattform Node-RED wird als Tool für IoT-Anwendungen im Detail vorgestellt und die Funktionsweise wird ausführlich analysiert. Die Vorgehensweise bei der Anwendungsentwicklung, nach welcher einzelne Bausteine zu aneinanderhängenden Abläufen verkettet werden, wird aufgezeigt.
Der in diesem Rahmen entwickelte Prototyp Smart Van setzt dort an, wo die aktuellen Beschränkungen für Smart Mobile Home Systeme sitzen. Planung, Konzeption und die Implementierung mithilfe von Node-RED werden dokumentiert. Die Ergebnisse werden präsentiert und die Umsetzung des Prototyps wird als Erfolg ausgewertet.
Zusammenfassend wird festgehalten, dass Node-RED gegenwärtig und voraussichtlich auch in Zukunft ein wichtiges Werkzeug für Anwendungen im Bereich IoT ist. Für den Prototyp Smart Van werden die nächsten notwendigen Schritte festgehalten, mit deren Umsetzung der Prototyp auf dem Markt von Smart Mobile Home Systemen ein gewisses Potenzial besitzt.
Einleitend wird der Kontext der Aufgabenbeschreibung vorgestellt. In einer Umgebung, in der Internet jederzeit und überall abrufbar ist, macht die Entwicklung von Web-Applikationen gegenüber systemeigenen Applikationen immer mehr Sinn. Hier gilt es, die im Multimedia- Bereich etablierte Flash-Programmierung wegen des immer geringer werdenden Supports durch offene Lösungen des HTML5-Standards zu ersetzen. Konkret wird dies hier mit dem Canvas-Element gelöst. Außerdem dienen WebSockets der Synchronität in Echtzeit zu kollaborativen Zwecken.
In Kapitel zwei geht es um die Theorie, die dem Framework zugrunde liegt. Es ist in zwei Abschnitte eingeteilt. Im ersten Abschnitt werden Vor- und Nachteile sowie Konzepte von generischen Frameworks aufgezeigt. Weiterhin wird auf funktionale und nicht-funktionale Anforderungen an derartige Frameworks eingegangen. Beendet wird der Abschnitt mit der Vorstellung einiger Frameworks, die in der Praxis häufig verwendet werden. Der zweite Abschnitt befasst sich mit Kollaboration im Zusammenhang mit Echtzeit-Webanwendungen. Zu Beginn wird erläutert, wie die Begriffe „Kollaboration“, „Echtzeit“ und „Web- Anwendung“ definiert sind. Im weiteren Verlauf wird auf Techniken der Kollaboration in der Raum-Zeit-Klassifizierung eingegangen. Abgeschlossen wird das Kapitel mit der Vorstellung diverser technischer Umsetzungsmöglichkeiten sowie einem Beispiel aus der Praxis.
Kapitel drei befasst sich mit den Webtechnologien, die im Rahmen dieser Thesis verwendet werden. Der erste Teil des Kapitels beinhaltet neben einer Kurzzusammenfassung über die Neuerungen in HTML5 eine detaillierte Vorstellung des HTML5-Canvas und der WebSockets. Es folgt ein kurzer Abriss über die Programmiersprache JavaScript. Im zweiten Teil des Kapitels wird Node.js als serverseitige Infrastruktur präsentiert. Weiterhin werden Produkte für die serverseitige Speicherung der Daten vorgestellt und verglichen. Zum Abschluss werden einige Canvas-Bibliotheken gegenübergestellt.
Kapitel vier beschäftigt sich mit den konkreten Anforderungen an das Framework. Sie sind gegliedert in Oberfläche, Anwendung, Technik und Implementierung.
Als letztes Kapitel des Hauptteils beinhaltet Kapitel fünf die Konzeption und Implementierung des Frameworks. Nach einer kurzen Übersicht über die Dateistruktur folgen konkrete Konzepte zur Client-Server-Kommunikation. Es wird verglichen, wie Design und Funktionalität des aktuellen Flash-Stundenplan-Gestalters Verwendung im Prototyp der zu entwickelnden HTML5-Version finden. Schließlich werden Entwurf und Umsetzung des Frameworks mit Codebeispielen präsentiert. Abschließend wird ein Zwischenfazit zur Implementierung gezogen, welches auf Schwierigkeiten und Erkenntnisse im Entwicklungsprozess sowie mögliche Funktionen in künftigen Versionen eingeht.
On a regular basis, we hear of well-known online services that have been abused or compromised as a result of data theft. Because insecure applications jeopardize users' privacy as well as the reputation of corporations and organizations, they must be effectively secured from the outset of the development process. The limited expertise and experience of involved parties, such as web developers, is frequently cited as a cause of risky programs. Consequently, they rarely have a full picture of the security-related decisions that must be made, nor do they understand how these decisions affect implementation accurately.
The selection of tools and procedures that can best assist a certain situation in order to protect an application against vulnerabilities is a critical decision. Regardless of the level of security that results from adhering to security standards, these factors inadvertently result in web applications that are insufficiently secured. JavaScript is a language that is heavily relied on as a mainstream programming language for web applications with several new JavaScript frameworks being released every year.
JavaScript is used on both the server-side in web applications development and the client-side in web browsers as well.
However, JavaScript web programming is based on a programming style in which the application developer can, and frequently must, automatically integrate various bits of code from third parties. This potent combination has resulted in a situation today where security issues are frequently exploited. These vulnerabilities can compromise an entire server if left unchecked. Even though there are numerous ad hoc security solutions for web browsers, client-side attacks are also popular. The issue is significantly worse on the server side because the security technologies available for server-side JavaScript application frameworks are nearly non-existent.
Consequently, this thesis focuses on the server-side aspect of JavaScript; the development and evaluation of robust server-side security technologies for JavaScript web applications. There is a clear need for robust security technologies and security best practices in server-side JavaScript that allow fine-grained security.
However, more than ever, there is this requirement of reducing the associated risks without hindering the web application in its functionality.
This is the problem that will be tackled in this thesis: the development of secure security practices and robust security technologies for JavaScript web applications, specifically, on the server-side, that offer adequate security guarantees without putting too many constraints on their functionality.