004 Informatik
Refine
Document Type
- Bachelor Thesis (5)
- Master's Thesis (4)
Has Fulltext
- yes (9)
Is part of the Bibliography
- no (9)
Keywords
- JavaScript (9) (remove)
Institute
Open Access
- Closed Access (6)
- Closed (2)
- Open Access (1)
JavaScript-Frameworks (JSF) sind im Bereich der Webentwicklung seit längerem prominent. Jährlich werden neue JSF entwickelt, um spezifische Probleme zu lösen. In den letzten Jahren hat sich der Trend entwickelt, bei der Wahl des JSF verstärkt auch auf die Performanz der entwickelten Webseite zu achten. Dabei wird versucht, den Anteil an JavaScript auf der Webseite zu reduzieren oder ganz zu eliminieren. Besonders neu ist der Ansatz der "Island Architecture", die erstmals 2019 vorgeschlagen wurde. In dieser Thesis soll die Performanz der meistbenutzten und des performantesten JSF mit dem JSF "Astro" verglichen werden, welches die "Island Architecture" von sich aus unterstützt. Der Schwerpunkt liegt beim Vergleichen der Webseitenperformanz, jedoch werden auch Effizienz und Einfachheit während der Entwicklung untersucht. Das Ziel dieser Arbeit ist es, potenzielle Frameworks zu untersuchen, die die Effizienz und Produktivität für den Nutzer und während der Entwicklung steigern können.
Encryption techniques allow storing and transferring of sensitive information securely by using encryption at rest and encryption in transit, respectively. However, when computation is performed on these sensitive data, the data needs to be decrypted first and encrypted again after performing the computations. During the computations, the sensitive data becomes vulnerable to attackers as it's in decrypted form. Homomorphic encryption, a special type of encryption technique that allows computation on encrypted data can be used to solve the above-mentioned problem. The best way to achieve maximum security with homomorphic encryption is to perform at least the homomorphic encryption and decryption on the client side (browser) of a web application by not trusting the server. At present time there are many libraries with different homomorphic schemes available for homomorphic encryption. However, there are very few to no JavaScript libraries available to perform homomorphic encryption on the client side of any web application. This thesis mainly focuses on the JavaScript implementation of client-side homomorphic encryption. The fully homomorphic encryption scheme BFV is selected for the implementation. After implementing the fully homomorphic encryption scheme based on the “py-fhe” library, tests are also carried out in order to determine the applicability (in terms of time consumption, security and correctness) of this implementation in a web application by comparing the performance and security for different test cases and different settings.
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.
Bereichsübergreifender Einsatz von JavaScript – Aktueller Stand und exemplarische Implementierung
(2021)
Nahezu alle Websites nutzen die Programmiersprache JavaScript zur Darstellung von interaktiven Inhalten und zur Bereitstellung von komplexen Funktionalitäten. Seit ihren Anfängen im Jahr 1995 hat sich die Sprache nicht nur zum Standard in der Webentwicklung etabliert, sondern auch zu einer leistungsfähigen Mehrzweckprogrammiersprache weiterentwickelt.
Diese Arbeit befasst sich mit einer ausführlichen Darstellung der aktuellen Möglichkeiten, welche Ansätze sich durch die Weiterentwicklung JavaScripts zu einer Mehrzweckprogrammiersprache ergeben und wie sich diese heute umsetzen lassen. Anhand des intelligenten Schlüsselkastens „Smart Vault“ wird verdeutlicht, wie dieses Vorgehen praktisch realisiert und die Vorteile einer einzigen Programmiersprache angewendet werden können.
Es hat sich herausgestellt, dass sich JavaScript für Anwendungen unterschiedlicher Bereiche einsetzen lässt und darüber hinaus ein hohes Potenzial für weitere Entwicklungen, Verbesserungen und zusätzliche Einsatzgebiete besitzt. Es lassen sich nicht nur Websites, Web Server und Desktop Apps, sondern auch Mikrocontroller im Internet of Things konfigurieren und miteinander nutzen, ohne eine weitere Programmiersprache zu benötigen. Zahlreiche Bibliotheken und Frameworks machen es möglich, dass die Sprache verschiedene Anwendungen über ihre Einsatzgebiete hinweg miteinander verbindet.
Evaluierung neuer HTML5- und JavaScript-Technologien bei der Nutzung in heterogenen Umgebungen
(2012)
Die 1&1 Internet AG in Karlsruhe betreibt einen Onlinespeicher, der von Kunden der diversen Tochter- und Schwestergesellschaften hauptsächlich über ein Browserfrontend bedient wird. Dieses kommuniziert mittels einer definierten JSON-Schnittstelle mit der auf Java basierenden Middleware. Da der Client schon vor einigen Jahren entwickelt wurde, nutzt er noch nicht alle Möglichkeiten die HTML5 in aktuellen Browsern bietet. Die Beschreibung und Bewertung dieser Möglichkeiten stellt die Kernaufgabe der Thesis dar. Einer der Schwerpunkt soll dabei auf der Offlinefähigkeit und intelligenten Benutzung von Caching- & Sync-Strategien zwischen Onlineanwendung und Offlineclient bestehen. Desweiteren sollen die Möglichkeiten von aktuellen Browsern ohne Beachtung der Rückwärtskompatibilität zu älteren Browsern genutzt werden. Zu Demonstrationszwecken sollen Beispielanwendungen den Einsatz der neuen Technologien erstellt werden, damit deren praktische Nutzung leichter zu erfassen ist. Das Hauptaugenmerk bei den Beispielanwendungen liegt indes nicht auf der Funktionalität, sondern auf dem Einsatz der jeweiligen Technologie, so dass deren Möglichkeiten getestet werden können. Ebenfalls Teil der Arbeit soll die Erarbeitung von theoretischen Aspekten sowie die Erstellung einer Übersicht über den aktuellen Stand der Fachliteratur darstellen. Dies soll bei weiterer Nutzung der Ergebnisse die Erarbeitung von erweitertem Fachwissen erleichtern. Basis sollen hier die aktuell Erschienenen Fachbücher auf deutsch und englisch sowie - naturgemäß nochmals aktueller - die regelmäßigen Veröffentlichungen im Internet und in Fachzeitschriften bilden. Die zu besprechenden Themen umfassen die grundsätzliche Beschreibung von HTML5 und dem Standardisierungsprozess, die neuen HTML-Element in Bezug auf Formulare, Multimedia-Darstellung, die Möglichkeiten der Offline-Anwendung (Application Cache, Cache Manifest, DOM Storage), die Drag & Drop API zur Nutzung beim Dateiupload sowie die File API. Mögliche Themen für den theoretischen Teil sind gängige Architekturmuster (beispielsweise MVC, MVP, MVVM, PAC), Caching- und Sync-Strategien sowie die Potentiale aktueller Skriptsprachen (ECMAScript 5, Coffeescript, DART).
Spätestens mit der Markteinführung des iPhones im Jahr 2007 und mit der Einführung des Android Betriebssystems im Jahr darauf ist die Bedeutung der mobilen Endgeräte und deren Diversität auf dem Softwaremarkt nicht mehr zu leugnen. Bis heute ist das Marktwachstum bei den mobilen Endgeräten ungebrochen. Im Jahr 2012 wurden alleine in Deutschland 23 Millionen neue Smartphones verkauft. Somit nutzt inzwischen etwa jeder vierte Bundesbürger mobile Software. Dies ist ein hundertprozentiges Wachstum im Vergleich zum Jahr 2010. Mit der Einführung des ersten iPads (2010) und vieler ähnlicher Produkte, die meist mit dem Android Betriebssystem betrieben werden, haben sich die Möglichkeiten und Anforderungen für Softwareentwickler erneut erheblich verändert und erweitert. Aufgrund der größeren Displays und immer besserer Rechenleistungen können nun Programme mit komplexen Interfaces, wie sie zuvor nur von Desktoprechnern bekannt waren, auch auf dem mobilen Softwaremarkt Fuß fassen. Bei der Entwicklung einer neuen Anwendung stellt sich immer auch die Frage, auf welchen Endgeräten sie später ausgeführt werden soll. Grundsätzlich gibt es derzeit drei Möglichkeiten Anwendungen für die neuen und mobilen Endgeräte zu entwickeln: des entsprechenden Systems erstellt und verwendet dessen spezielle Schnittstellen. Eine solche App muss folglich für jedes Zielsystem separat entwickelt werden. Um eine plattformübergreifende Anwendung zu entwickeln bietet sich derzeit die Möglichkeit, sogenannte Web-Apps zu implementieren. Hier dient der gemeinsam genutzte WebKit-Webbrowser der verschiedenen Systeme als technische Grundlage. Hierbei können die Anwendungen mit Webtechnologien wie HTML5, CSS3 und JavaScript entwickelt werden. Mit JavaScript Frameworks wie jQuery mobile oder Sencha Touch ist es möglich,Webanwendungen zu erstellen, die vom Bedienkonzept und ihrer Anmutung kaum von nativen Apps zu unterscheiden sind. Die Entwicklung sogenannter hybrider Apps vereint die Möglichkeiten der nativen und der webbasierten Apps. Eine Web-App kann dann mit Hilfe eines Frameworks wie z.B. Titanium oder PhoneGap verpackt werden und wird so zu einer hybriden App, die beispielsweise über die Appstores der Hersteller vertrieben werden kann. In dieser Arbeit beschäftige ich mich insbesondere mit den Möglichkeiten der hybriden App-Entwicklung am Beispiel einer Präsentationsanwendung, die ich im Rahmen dieser Arbeit für die visionsbox GmbH aus Offenburg konzipiert und umgesetzt habe. Eine ähnliche Anwendung auf Basis von Adobe Flash wird bereits seit einiger Zeit von der visionsbox GmbH vertrieben. Meine Aufgabe war es, diese Anwendung auf Basis von Webtechnologien so nachzubilden, dass sie in Zukunft auf möglichst vielen Software-Plattformen lauffähig ist.
In dieser Bachelorarbeit geht es um die Konzeption und Realisierung einer Web-App für das iPad. Zuerst werden allgemeine Themen zu Apps auf Smartphones und Tablets besprochen und Unterschiede zwischen einer nativen App und einer Web-App aufgezeigt. Auf Basis der gängigen Webtechnologien HTML5, CSS3 und JavaScript, sowie mit Hilfe des Frameworks jQuery Mobile werden Grundlagen einer Web-App erklärt. Im Anschluss daran wird erläutert, wie die das praktische Beispiel der "Movie-DB" umgesetzt wurde.
Die Bachelor-Thesis "Entwicklung eines Web-Portals für M+I-Studierende" befasst sich mit der Entwicklung des Studierendenportals MI-Complete der Fakultät M+I der Hochschule Offenburg. In den üblichen Arbeitsschritten (Analyse, Konzeption, Umsetzung, Evaluation, Ausblick) wird darin der Werdegang des neuen Studierendenportals MI-Practix beschrieben.