Refine
Document Type
- Bachelor Thesis (3) (remove)
Language
- German (3)
Keywords
- Java <Programmiersprache> (3) (remove)
Das Ziel dieser Arbeit ist es, die Möglichkeit der Nutzung von Rust als Ersatz für C und Java zu evaluieren. Diese beiden wurden als Vertreter von hardwarenahen bzw. einfacheren und höheren Sprachen gewählt. Sie sind außerdem bekannt dafür, unsicher bzw. langsam zu sein. In beiden Punkten soll Rust genauso gut oder besser sein als C und Java. Daher werden sie für die drei Sprachen verglichen. Da für die Wahl einer Programmiersprache auch entscheidend ist, wie aufwendig es ist, ein Programm zu erstellen, wird die Komplexität als dritter Aspekt für den Vergleich genutzt.
Anhand von Benchmarks wird zunächst die grobe Geschwindigkeit und Speichernutzung untersucht, während die Sicherheit der Sprachen in der Theorie und an einer realen Sicherheitslücke betrachtet wird.
Für einen ausführlichen Vergleich wird ein in allen drei Sprachen erstellter Webserver genutzt. Mittels diverser Metriken wird die Komplexität des Quellcodes analysiert und anschließend mit Laufzeitmessungen die Performanz.
Im Ergebnis ist Rust geeignet, C zu ersetzen, da es ähnlich schnell ist und ähnlich komplex, aber deutlich sicherer. Java hingegen ist zwar langsamer, aber dafür einfacher als Rust und sollte daher weiter eingesetzt werden für Programme, bei denen eine hohe Leistung nicht wichtig ist.
Ziel der Arbeit ist die Beschreibung des Lebenszyklus einer Java Enterprise-Applikation. Anhand einer JavaEE-Applikation zur Verwaltung krankenkassenspezifischer Daten werden agile Vorgehensweisen, Rahmen- und Randbedingungen sowie Begriffe und Technologien aus dem Java Enterprise-Umfeld vorgestellt und beschrieben.
Diese Bachelorarbeit befasst sich mit der Untersuchung einer geeigneten Webanwendung für die Darstellung von Maschinenzuständen und Fertigungsprozessdaten. Zu Beginn erfolgt eine Untersuchung zu den gängigsten Webframeworks, die mit der Programmiersprache Java Webanwendungen erzeugen können. Dabei liegen die Schwerpunkte auf Ajaxfunktionalität, unter Verwendung des Model View Controller’s (MVC) und Unterstützung der Internationalisierung (I18N). Nach einer ersten Vorauswahl werden besonders gut geeignete Webframeworks genauer untersucht. Mit dem ausgewählten Framework erfolgt eine schrittweise Erstellung und Umsetzung eines Prototyps. Dazu gehört die Erstellung einer Datenbank, in der die angezeigten Maschinenzustände gespeichert werden. Für die Verwendung ohne SPS ist die Erstellung entsprechender Testdaten mit Zufallsgeneratoren für den Prototyp erforderlich. Neben einem Funktionstest erfolgt ein Leistungstest, der mit entsprechenden Tools durchgeführt wird. Während der gesamten Programmentwicklung ist stets darauf zu achten, dass die Verwendung an flexiblen Montageanlagen erfolgen soll. Des Weiteren ist zu bedenken, dass die Programmierung der Webanwendung mit wenigen Quellcodeänderungen für verschiedenartige Fertigungsanlagen wieder verwendbar ist. Bei der Visualisierung wird speziell für die Touchscreendisplays im Industrieeinsatz auf eine ergonomische GUI-Gestaltung Wert gelegt.