|
Titel: |
Modernisierung und Optimierung des Stromverbrauches einer Java- basierten Webanwendung unter Anwendung von Green Software Engineering und Coding Praktiken |
|
AutorIn: |
René Kühteubl |
|
Typ: |
Bachelorarbeit
|
|
ÖFOS 2012 Code: |
102022 Softwareentwicklung
|
|
Institution: |
Ferdinand Porsche FernFH, Wiener Neustadt, WIBA |
|
Betreuung: |
Werner Toplak |
|
Datum: |
2024 |
|
Abstract (de): |
Diese Bachelorarbeit befasst sich mit der Modernisierung einer Java-basierten Webanwendung zur Erfassung von Umweltdaten von Unternehmen unter Anwendung von Green Software Engineering und Green Coding. Ziel war es, den Stromverbrauch der Anwendung im Vergleich der bereits existierenden Implementierung um mindestens 10 % zu senken. Bei der Analyse wurde festgestellt, dass die bestehende Anwendung in einer monolithischen Architektur gebaut wurde, veraltete Technologien und Ineffiziente Code-Strukturen verwendet wurden. Verbesserungsansätze umfassten die Aktualisierung der Java-Laufzeitumgebung, die Optimierung der Datenbankschemata sowie die Implementierung von Caching-Mechanismen und die Optimierung der Code-Struktur. Zudem wurden moderne Architekturansätze wie Microservices im Rahmen eines Proof-of-Concept (POC) evaluiert. In der Umsetzung wurden die zentralen Funktionalitäten auf ein modernes Framework migriert, wobei auf Optimierungen in Datenverarbeitung, Logging und energieeffizienter Code-Ausführung geachtet wurde. Um die beiden Systeme zu vergleichen wurde der Stromverbrauch wurde mithilfe eines hardwarebasierten Tools gemessen. Einige Tests zeigten deutliche Energieeinsparungen, andere jedoch erhöhten Verbrauch aufgrund der Komplexität neuer Komponenten, Overheads oder schlechter Implementierung. |
|
Abstract (en): |
This bachelor thesis focuses on modernizing a Java-based web application for recording environmental data from companies, applying Green Software Engineering and Green Coding principles. The goal was to reduce the application's power consumption by at least 10% compared to the existing implementation. The analysis revealed that the existing application was built with a monolithic architecture, outdated technologies, and inefficient code structures. Improvement approaches included updating the Java runtime environment, optimizing database schemas, implementing caching mechanisms, and restructuring the code for better efficiency. Additionally, modern architectural approaches, such as microservices, were evaluated in the context of a proof of concept (POC). During the implementation, the core functionalities were migrated to a modern framework, with a focus on optimizations in data processing, logging, and energy-efficient code execution. The power consumption of both systems was measured using a hardware-based tool for comparison. While some tests showed significant energy savings, others revealed increased consumption due to the complexity of new components, overhead, or poor implementation. |
|
Keywords (de): |
Green Software Engineering, Green Coding, Java, Spring Boot, Web Application, Optimierung |
|
Keywords (en): |
Green Software Engineering, Green Coding, Java, Spring Boot, Web Application, Optimization |
|
|
|
|
|