Ziel:
Das Hauptziel dieses Projekts war die Weiterentwicklung und effiziente Wartung interner IT-Systeme, die für die Verwaltung komplexer versicherungstechnischer Prozesse und die Sicherstellung der operativen Leistungsfähigkeit des Unternehmens von entscheidender Bedeutung waren. Dabei erfolgte auch ein Wissenstransfer von den internen Projektmanagern und Anwendungsentwicklern, um diese zu entlasten. Des weiteren wurden die MItarbeiter bei der Vorbereitung auf eine technische Transformation und Migration unterstützt.
Projektbeschreibung:
Die Anwendungslandschaft bestand hauptsächlich aus Spring Batch Anwendungen, deren reibungslose Abläufe und effiziente Verarbeitung großer Datenmengen optimiert wurden. Parallel dazu gab es Webanwendungen, die als zentrale Schnittstelle für Mitarbeiter und Fachabteilungen dienten, um Versicherungsfälle abzuwickeln und Kundendaten zu pflegen. Hier lag ein Fokus auf der Implementierung neuer Funktionalitäten und der Anpassung an sich ändernde gesetzliche Bestimmungen, um die Einhaltung von Gesetzen und Compliance-Vorschriften zu gewährleisten. Ein Großteil der Arbeit lag dabei auch in der Requirement- bzw Problemanalyse mit den Fachbereichen.
Die technischen Schwerpunkte lagen im Java-Umfeld, wobei viele Webapplikationen mit JavaServer Faces (JSF) entwickelt wurden. Die Datenverwaltung erfolgte über die zentrale DB2 SQL Datenbank. Die Aufgaben umfassten oft komplexe SQL-Datenabfragen (über DBeaver und den Großrechner/TSO) mit JOINs über mehrere Tabellen und Datenaggregationen. Dadurch wurde maßgeblich an der Pflege und Optimierung der Datenstrukturen mitgewirkt, um eine hohe Datenkonsistenz und -verfügbarkeit sicherzustellen.
Tätigkeit:
Fachlichkeit:
Ziel:
In diesem Projekt sollte die Anwendung Fra-SLC zur Verwaltung von Leihcontainern und Lagerspuren für den Frachttransport verbessert und erweitert werden. Aufgrund neuer Anforderungen durch den Fachbereich und auftretender Fehler wurden Arbeitspakete definiert und Prozesse / Konzepte erarbeitet. Dabei bestand ein regelmäßiger Austausch mit den Nutzern der Anwendung (Fachbereich) und die Requirements wurden in Zusammenarbeit mit diesen Analysiert und verfeinert.
Kurzbeschreibung:
Der Schwerpunkt lag auf der Weiterentwicklung und dem Bugfixing einer bestehenden Client-Server-Applikation. Da die Anwendung bereits seit mehreren Jahren produktiv im Einsatz ist, erforderte die Einarbeitung ein tiefgehendes Verständnis des Legacy-Codes. Durch Codeanalyse mussten die vorhandenen Prozesse nachvollzogen werden, damit neue Anforderungen korrekt umgesetzt werden konnten.
Das Frontend, entwickelt mit Java Swing, diente als zentrale Schnittstelle zur Bearbeitung relevanter Daten. Dies umfasste eine Vielzahl von Funktionalitäten, wie beispielsweise das Ein- und Auslagern von Containern, die Verwaltung von Spuren sowie das Abrufen von Abrechnungen. Serverseitig hat die Applikation für die Logistik relevante Daten aufbereitet und bereitgestellt, welche in einer Oracle SQL Datenbank gespeichert wurden. Dabei wurden Teile der Systeme, wie ein automatisierter Versand von Lager-Beständen per E-Mail, auch in Oracle Prozeduren implementiert.
Neben der Implementierung neuer Features und der Behebung von Fehlern wurden in enger Abstimmung mit den Fachabteilungen auch gänzlich neue Business-Prozesse konzipiert und in der Anwendung abgebildet. Dies war entscheidend, um die Effizienz der operativen Abläufe zu steigern und auf sich ändernde geschäftliche Anforderungen reagieren zu können. Ergänzend dazu war das Erstellen von Datenbankabfragen mit SQL ein regelmäßiger Bestandteil der Tätigkeit, um die Datenkonsistenz zu gewährleisten und die notwendigen Informationen für die Frontend-Prozesse bereitzustellen.
Tätigkeit:
Fachlichkeit:
Für den Betrieb von Cloud-Native Anwendungen wurde eine hochflexible Betriebsplattform auf Basis von Kubernetes realisiert. Die Plattform lässt sich mittels Infrastructure-as-Code (IaC) Templates (Terraform, Ansible) dynamisch und automatisiert auf- und abbauen. Ein zentrales Merkmal der Plattform ist ihre Unabhängigkeit von spezifischen Cloud-Providern. Die Architektur und die sorgfältige Auswahl der Komponenten ermöglichten einen hybriden und Provider-übergreifenden Aufbau und Betrieb. Die Plattform kann somit sowohl On-Premise in der Unternehmensinfrastruktur als auch bei unterschiedlichen Cloud-Anbietern (z.B. AWS, Azure, Google Cloud) betrieben werden.
Im Rahmen dieses Projekts wurden umfassende Ergebnisdokumentationen erstellt, die alle Designentscheidungen, Konfigurationsdetails und Betriebsrichtlinien detailliert festhielten. Zudem war die Evaluation neuer Technologien und Konzepte ein kontinuierlicher Prozess, um die Plattform stets auf dem neuesten Stand der Technik zu halten und zukünftige Anforderungen optimal abdecken zu können. Die Funktionalität wurde durch ein beispielhaftes Deployment einer Cloud-Native Anwendung demonstriert und die Projektergebnisse auf einem Teamday präsentiert.
Tätigkeit:
Fachlichkeit:
Ziel:
Die veraltete Message Queue zur Übermittlung von Transportaufträgen soll auf Kafka in der Confluent Cloud umgestellt und abgeschaltet werden. Dazu wird eine Implementierung einer geeigneten Schnittstelle in der Applikation "Handlingsportal" benötigt. Dabei musste der bestehende Business Prozess analysiert und umgestellt werden, um den Anforderungen von Kafka wie Streaming Daten und das Consumer-Producer-Prinzip gerecht zu werden.
Kurzbeschreibung:
Die Webanwendung Handlingsportal stellt Informationen zu Abflügen und Ankünften am Flughafen und den zugehörigen Dispositionsaufträgen für externe Dienstleister bereit. Die Übermittlung der Daten wird dabei durch eine Message Queue gesteuert, welche aufgrund von Modernisierung der Unternehmensstruktur durch eine Schnittstelle zum Apache Kafka Cluster abgelöst werden sollte. Dazu musste in Zusammenarbeit mit anderen Entwicklern der bestehende Prozess analysiert und ein geeignetes Konzept erarbeitet werden. Die Datenstrukturen mussten in Kafka Schemas verpackt werden und ein Event-gesteuerter Datenaustausch implementiert werden, damit die Daten von einem Kafka Topic verarbeitet werden können. Das Ergebnis wurde abschließend dokumentiert und von internen Mitarbeitern abgenommen.
Tätigkeit:
Fachlichkeit:
Ziel:
Zur Reduzierung des Verwaltungs- und Wartungsaufwands soll die Software Landschaft des Unternehmens erneuert werden. Dazu zählt vor allem die Software - Suite TDispo. welche Aufträge, Planung und Informationen des Groundhandlings verwaltet. Es sollte ein neuer Spring Boot Dienst entwickelt werden, um Gerätedaten zentral zu speichern und anderen Services zur Verfügung zu stellen.
Projektbeschreibung:
Zu den Hauptaufgaben gehörte die Implementierung der Geschäftslogik innerhalb des Spring Boot-Services, welche die Abfrage, Verarbeitung und Strukturierung der Daten aus der SQL-Datenbank umfasste. Dies beinhaltete die Erstellung optimierter SQL-Abfragen, um die Daten effizient zu extrahieren und eine hohe Performance zu gewährleisten.
Parallel dazu wurde die REST-API konzipiert und entwickelt, um eine standardisierte und leicht konsumierbare Schnittstelle zu bieten. Hierbei wurde auf gängige REST-Prinzipien und Best Practices geachtet, um die Interoperabilität und Wartbarkeit des Dienstes sicherzustellen. Dies umfasste die Definition von Endpunkten, Request- und Response-Strukturen sowie die Implementierung entsprechender Controller in Spring Boot.
Insgesamt trug die Entwicklung dieses Datendienstes maßgeblich zur Verbesserung der Datenverfügbarkeit und der Systemintegration bei, indem sie eine zuverlässige und effiziente Methode zur Bereitstellung geschäftskritischer Informationen schuf.
Tätigkeit:
Fachlichkeit:
Die Dokumentation umfasste eine detaillierte Erfassung des Funktionsumfangs der App, illustriert durch zahlreiche Screenshots der verschiedenen Views. Jede einzelne Funktion wurde ausführlich beschrieben, ergänzt durch fachliche Details zu den komplexen Prozessen, die im Hintergrund ablaufen. Dies ermöglichte ein tiefgreifendes Verständnis der App aus Anwender- und technischer Perspektive. Die gesammelten Erkenntnisse und die erstellte Dokumentation wurden abschließend den Entwicklungsteams präsentiert und zur weiteren Pflege und Nutzung übergeben, um die zukünftige Entwicklung und Wartung der Anwendung zu erleichtern.
Tätigkeit:
Fachlichkeit:
Ziel:
Das Open-Source Projekt JCrypTool ist eine Lernplattform für das Feld der Kryptographie. Die Anwendnung verfügt über Masken und Hilfedokumentationen für viele in der Verschlüsselung verwendete Verfahren und Konzepte. JCryptool ist mit der Programmiersprache Java und dem Standard Widget Toolkit von Eclipse entwickelt worden. Das Projektziel war nun, dieses um Inhalte aus dem Forschungsfeld der ?Post-Quantum-Kryptographie? zu erweitern. Das bedeutet, dass Algorithmen der gängigen Kryptographie Verfahren nachvollzogen und in grafischen Oberflächen dargestellt werden sollten.
Tätigkeit:
Zunächst habe ich mir die wichtigsten post-quantum Verschlüsselungen und ihre mathematischen Grundlagen erarbeitet, um ein Konzept zu entwickeln diese Verfahren in einfacherer Form darzustellen und zu erklären. Dies bedeutete eine ausführliche Recherche von wissenschaftlichen Publikationen und vorhandenen Spezifikationen. Diese waren im Detail:
- das McEliece-Kryptosystem als code-basiertes Verfahren
- das ?Rainbow? Verfahren (Unbalanced Oil and vinegar), welches auf Multivariaten basiert
- Learning with errors, ein Verfahren basierend auf ?Lattices?
Dabei wurde auch viel Wert auf eine wissenschaftliche Arbeitsweise und die Einarbeitung von Erkenntnissen in die Tool-Hilfe gelegt.
Anhand von vorhandenen Masken des JCrypTool habe ich dann ausgearbeitet, wie die Algorithmen in ähnlicher Form in das Tool realisiert werden können und dies implementiert. Da die mathematische Grundlage zum Teil sehr komplex und nicht gut darstellbar ist, habe ich versucht die Verfahren auf einfachere Beispiele zu abstrahieren. Zum Beispiel habe ich die selbst-korrigierenden Matrizen des McElise Systems mit sehr vielen Zeilen und Spalten auf eine einfachere Matrix mit Hashwerten heruntergebrochen, angelehnt an ein CRC Verfahren. Angelehnt an die anderen Module des Tools können die neuen Verfahren auch jeweils ausprobiert und Schritt für Schritt angezeigt werden. Die meisten Algorithmen habe ich dabei in Plain Java geschrieben und die Oberflächen mit den Bordmitteln von Eclipse designt. Zusätzlich habe ich zur Dokumentation der Module jeweils einen Hilfetext geschrieben, der das gezeigte Verfahren und die Benutzung der Oberfläche erklärt. Abschließend wurde dies einigen Mitarbeitern des Fraunhofer Instituts und der Universität Aachen vorgestellt.
Ziel:
Zweck des Projekts war, eine neue Web- und Mobile Application zu designen, welche den Kunden ihre Umsatzstatistiken anzeigen kann. Dies war bis dato nur als Textbasierte ?Reporting? Funktion in der Haupt-Applikation vorhanden, weshalb ein modernerer Ansatz gewählt werden sollte. Die Idee bestand darin einen Web Application mit Spring (boot) zu entwickeln, die die Daten aus einer Datenbank abruft, um Statistiken zu berechnen, welche dann über eine REST Schnittstelle an eine Browser-Anwendung gesendet werden. Für letzteres bot sich das Vaadin Framework an, da der Kollege bereits Erfahrung damit hatte. Dieses erlaubt, eine Oberfläche vollständig in Java zu beschreiben und mit CSS zu gestalten. Das Framework wandelt dies dann in eine HTML / Javascript Seite um. Der Consultant hat mit einem Kollegen zusammen Konzept und Implementierung der Applikation durchgeführt, das grafische Design der Oberfläche erfolgte durch einen Webdesigner.
Tätigkeit:
Im Rahmen des Studiums an der H-DA müssen sogenannte ?Projekt Systementwicklung? Module belegt werden, die eine praktische Durchführung eines Projekts beinhalten. Dieses Projekt hatte zum Ziel, ein Framework zur Erfassung und Analyse von Sensoren einer elektrischen Anlage zu konzipieren. Dazu wurden Netzwerkfähige Sensoren (Smart Meters) über eine zentrale Schnittstelle abgerufen und in einem Cloud Computing System verarbeitet Dies geschah in Kooperation mit einem Unternehmen, welches diesen Prototypen als Proof-of-Concept verwenden möchte, und einem Consultant für Microsoft Azure, weshalb dieser Cloud Service eingesetzt wurde. Die Studenten wurden in kleine Teams von 2 bis 3 Personen aufgeteilt, die sich selbstständig organisierten und jeweils eine Teilkomponente des Systems entwickelten. Am Ende wurde dem Kooperations-Unternehmen der Prototyp und eine Dokumentation des Systems präsentiert und übergeben.
Tätigkeit:
Meine Aufgabe im Projekt bestand in der Installation und Konfiguration des Azure Cloud Systems, auf dem die Sensordaten gespeichert und verarbeitet wird. Das System sollte im Endeffekt zur Datenaufzeichnung und Fehleranalyse genutzt werden, die über eine Webseite oder Push-Notifications auf mobilen Endgeräten angezeigt werden können. Zur Analyse der Daten benötigten wir eine virtuelle Maschine mit der ?Stream Analytics? Komponente und das IoT Hub, um die Sensorik zu empfangen in einen Datenstream umzuwandeln. Daraus konnten dann Regeln definiert werden, die bestimmte Aktionen im System auslösen, wie zum Beispiel ein Alarm bei großer Abweichung der Strom-Leistung oder Betriebstemperatur. Unter bestimmten Umständen kann auf eine Fehlfunktion hinweisen, was unser System intelligent erkennen sollte.
Meine Tätigkeit beinhaltete auch das Erstellen und Verwalten einer SQL Datenbank. Die erfassten Sensordaten sowie die ausgelösten Events sollten in dieser Datenbank persistiert werden. Des Weiteren musste ein kleines CSharp Programm geschrieben werden, welches die Sensordaten aus dem Datenstream entgegennimmt und geeignet transformiert, um sie normalisiert in der Datenbank zu speichern. Das ?Notification Hub? von Azure wurde dazu benutzt bei bestimmten Events eine Benachrichtigung an verschiedene Empfänger zu senden. Für die HTML Seite haben wir die von Azure Cloud vorgefertigten UI Komponenten verwendet. Zum Abschluss haben wir die Teilergebnisse und Erkenntnisse unseres Teams präsentiert und die eingesetzten Technologien und Konzepte in einer Dokumentation festgehalten.
Fachlichkeit:
Ziel:
Das Hauptziel dieses Projekts war die Weiterentwicklung und effiziente Wartung interner IT-Systeme, die für die Verwaltung komplexer versicherungstechnischer Prozesse und die Sicherstellung der operativen Leistungsfähigkeit des Unternehmens von entscheidender Bedeutung waren. Dabei erfolgte auch ein Wissenstransfer von den internen Projektmanagern und Anwendungsentwicklern, um diese zu entlasten. Des weiteren wurden die MItarbeiter bei der Vorbereitung auf eine technische Transformation und Migration unterstützt.
Projektbeschreibung:
Die Anwendungslandschaft bestand hauptsächlich aus Spring Batch Anwendungen, deren reibungslose Abläufe und effiziente Verarbeitung großer Datenmengen optimiert wurden. Parallel dazu gab es Webanwendungen, die als zentrale Schnittstelle für Mitarbeiter und Fachabteilungen dienten, um Versicherungsfälle abzuwickeln und Kundendaten zu pflegen. Hier lag ein Fokus auf der Implementierung neuer Funktionalitäten und der Anpassung an sich ändernde gesetzliche Bestimmungen, um die Einhaltung von Gesetzen und Compliance-Vorschriften zu gewährleisten. Ein Großteil der Arbeit lag dabei auch in der Requirement- bzw Problemanalyse mit den Fachbereichen.
Die technischen Schwerpunkte lagen im Java-Umfeld, wobei viele Webapplikationen mit JavaServer Faces (JSF) entwickelt wurden. Die Datenverwaltung erfolgte über die zentrale DB2 SQL Datenbank. Die Aufgaben umfassten oft komplexe SQL-Datenabfragen (über DBeaver und den Großrechner/TSO) mit JOINs über mehrere Tabellen und Datenaggregationen. Dadurch wurde maßgeblich an der Pflege und Optimierung der Datenstrukturen mitgewirkt, um eine hohe Datenkonsistenz und -verfügbarkeit sicherzustellen.
Tätigkeit:
Fachlichkeit:
Ziel:
In diesem Projekt sollte die Anwendung Fra-SLC zur Verwaltung von Leihcontainern und Lagerspuren für den Frachttransport verbessert und erweitert werden. Aufgrund neuer Anforderungen durch den Fachbereich und auftretender Fehler wurden Arbeitspakete definiert und Prozesse / Konzepte erarbeitet. Dabei bestand ein regelmäßiger Austausch mit den Nutzern der Anwendung (Fachbereich) und die Requirements wurden in Zusammenarbeit mit diesen Analysiert und verfeinert.
Kurzbeschreibung:
Der Schwerpunkt lag auf der Weiterentwicklung und dem Bugfixing einer bestehenden Client-Server-Applikation. Da die Anwendung bereits seit mehreren Jahren produktiv im Einsatz ist, erforderte die Einarbeitung ein tiefgehendes Verständnis des Legacy-Codes. Durch Codeanalyse mussten die vorhandenen Prozesse nachvollzogen werden, damit neue Anforderungen korrekt umgesetzt werden konnten.
Das Frontend, entwickelt mit Java Swing, diente als zentrale Schnittstelle zur Bearbeitung relevanter Daten. Dies umfasste eine Vielzahl von Funktionalitäten, wie beispielsweise das Ein- und Auslagern von Containern, die Verwaltung von Spuren sowie das Abrufen von Abrechnungen. Serverseitig hat die Applikation für die Logistik relevante Daten aufbereitet und bereitgestellt, welche in einer Oracle SQL Datenbank gespeichert wurden. Dabei wurden Teile der Systeme, wie ein automatisierter Versand von Lager-Beständen per E-Mail, auch in Oracle Prozeduren implementiert.
Neben der Implementierung neuer Features und der Behebung von Fehlern wurden in enger Abstimmung mit den Fachabteilungen auch gänzlich neue Business-Prozesse konzipiert und in der Anwendung abgebildet. Dies war entscheidend, um die Effizienz der operativen Abläufe zu steigern und auf sich ändernde geschäftliche Anforderungen reagieren zu können. Ergänzend dazu war das Erstellen von Datenbankabfragen mit SQL ein regelmäßiger Bestandteil der Tätigkeit, um die Datenkonsistenz zu gewährleisten und die notwendigen Informationen für die Frontend-Prozesse bereitzustellen.
Tätigkeit:
Fachlichkeit:
Für den Betrieb von Cloud-Native Anwendungen wurde eine hochflexible Betriebsplattform auf Basis von Kubernetes realisiert. Die Plattform lässt sich mittels Infrastructure-as-Code (IaC) Templates (Terraform, Ansible) dynamisch und automatisiert auf- und abbauen. Ein zentrales Merkmal der Plattform ist ihre Unabhängigkeit von spezifischen Cloud-Providern. Die Architektur und die sorgfältige Auswahl der Komponenten ermöglichten einen hybriden und Provider-übergreifenden Aufbau und Betrieb. Die Plattform kann somit sowohl On-Premise in der Unternehmensinfrastruktur als auch bei unterschiedlichen Cloud-Anbietern (z.B. AWS, Azure, Google Cloud) betrieben werden.
Im Rahmen dieses Projekts wurden umfassende Ergebnisdokumentationen erstellt, die alle Designentscheidungen, Konfigurationsdetails und Betriebsrichtlinien detailliert festhielten. Zudem war die Evaluation neuer Technologien und Konzepte ein kontinuierlicher Prozess, um die Plattform stets auf dem neuesten Stand der Technik zu halten und zukünftige Anforderungen optimal abdecken zu können. Die Funktionalität wurde durch ein beispielhaftes Deployment einer Cloud-Native Anwendung demonstriert und die Projektergebnisse auf einem Teamday präsentiert.
Tätigkeit:
Fachlichkeit:
Ziel:
Die veraltete Message Queue zur Übermittlung von Transportaufträgen soll auf Kafka in der Confluent Cloud umgestellt und abgeschaltet werden. Dazu wird eine Implementierung einer geeigneten Schnittstelle in der Applikation "Handlingsportal" benötigt. Dabei musste der bestehende Business Prozess analysiert und umgestellt werden, um den Anforderungen von Kafka wie Streaming Daten und das Consumer-Producer-Prinzip gerecht zu werden.
Kurzbeschreibung:
Die Webanwendung Handlingsportal stellt Informationen zu Abflügen und Ankünften am Flughafen und den zugehörigen Dispositionsaufträgen für externe Dienstleister bereit. Die Übermittlung der Daten wird dabei durch eine Message Queue gesteuert, welche aufgrund von Modernisierung der Unternehmensstruktur durch eine Schnittstelle zum Apache Kafka Cluster abgelöst werden sollte. Dazu musste in Zusammenarbeit mit anderen Entwicklern der bestehende Prozess analysiert und ein geeignetes Konzept erarbeitet werden. Die Datenstrukturen mussten in Kafka Schemas verpackt werden und ein Event-gesteuerter Datenaustausch implementiert werden, damit die Daten von einem Kafka Topic verarbeitet werden können. Das Ergebnis wurde abschließend dokumentiert und von internen Mitarbeitern abgenommen.
Tätigkeit:
Fachlichkeit:
Ziel:
Zur Reduzierung des Verwaltungs- und Wartungsaufwands soll die Software Landschaft des Unternehmens erneuert werden. Dazu zählt vor allem die Software - Suite TDispo. welche Aufträge, Planung und Informationen des Groundhandlings verwaltet. Es sollte ein neuer Spring Boot Dienst entwickelt werden, um Gerätedaten zentral zu speichern und anderen Services zur Verfügung zu stellen.
Projektbeschreibung:
Zu den Hauptaufgaben gehörte die Implementierung der Geschäftslogik innerhalb des Spring Boot-Services, welche die Abfrage, Verarbeitung und Strukturierung der Daten aus der SQL-Datenbank umfasste. Dies beinhaltete die Erstellung optimierter SQL-Abfragen, um die Daten effizient zu extrahieren und eine hohe Performance zu gewährleisten.
Parallel dazu wurde die REST-API konzipiert und entwickelt, um eine standardisierte und leicht konsumierbare Schnittstelle zu bieten. Hierbei wurde auf gängige REST-Prinzipien und Best Practices geachtet, um die Interoperabilität und Wartbarkeit des Dienstes sicherzustellen. Dies umfasste die Definition von Endpunkten, Request- und Response-Strukturen sowie die Implementierung entsprechender Controller in Spring Boot.
Insgesamt trug die Entwicklung dieses Datendienstes maßgeblich zur Verbesserung der Datenverfügbarkeit und der Systemintegration bei, indem sie eine zuverlässige und effiziente Methode zur Bereitstellung geschäftskritischer Informationen schuf.
Tätigkeit:
Fachlichkeit:
Die Dokumentation umfasste eine detaillierte Erfassung des Funktionsumfangs der App, illustriert durch zahlreiche Screenshots der verschiedenen Views. Jede einzelne Funktion wurde ausführlich beschrieben, ergänzt durch fachliche Details zu den komplexen Prozessen, die im Hintergrund ablaufen. Dies ermöglichte ein tiefgreifendes Verständnis der App aus Anwender- und technischer Perspektive. Die gesammelten Erkenntnisse und die erstellte Dokumentation wurden abschließend den Entwicklungsteams präsentiert und zur weiteren Pflege und Nutzung übergeben, um die zukünftige Entwicklung und Wartung der Anwendung zu erleichtern.
Tätigkeit:
Fachlichkeit:
Ziel:
Das Open-Source Projekt JCrypTool ist eine Lernplattform für das Feld der Kryptographie. Die Anwendnung verfügt über Masken und Hilfedokumentationen für viele in der Verschlüsselung verwendete Verfahren und Konzepte. JCryptool ist mit der Programmiersprache Java und dem Standard Widget Toolkit von Eclipse entwickelt worden. Das Projektziel war nun, dieses um Inhalte aus dem Forschungsfeld der ?Post-Quantum-Kryptographie? zu erweitern. Das bedeutet, dass Algorithmen der gängigen Kryptographie Verfahren nachvollzogen und in grafischen Oberflächen dargestellt werden sollten.
Tätigkeit:
Zunächst habe ich mir die wichtigsten post-quantum Verschlüsselungen und ihre mathematischen Grundlagen erarbeitet, um ein Konzept zu entwickeln diese Verfahren in einfacherer Form darzustellen und zu erklären. Dies bedeutete eine ausführliche Recherche von wissenschaftlichen Publikationen und vorhandenen Spezifikationen. Diese waren im Detail:
- das McEliece-Kryptosystem als code-basiertes Verfahren
- das ?Rainbow? Verfahren (Unbalanced Oil and vinegar), welches auf Multivariaten basiert
- Learning with errors, ein Verfahren basierend auf ?Lattices?
Dabei wurde auch viel Wert auf eine wissenschaftliche Arbeitsweise und die Einarbeitung von Erkenntnissen in die Tool-Hilfe gelegt.
Anhand von vorhandenen Masken des JCrypTool habe ich dann ausgearbeitet, wie die Algorithmen in ähnlicher Form in das Tool realisiert werden können und dies implementiert. Da die mathematische Grundlage zum Teil sehr komplex und nicht gut darstellbar ist, habe ich versucht die Verfahren auf einfachere Beispiele zu abstrahieren. Zum Beispiel habe ich die selbst-korrigierenden Matrizen des McElise Systems mit sehr vielen Zeilen und Spalten auf eine einfachere Matrix mit Hashwerten heruntergebrochen, angelehnt an ein CRC Verfahren. Angelehnt an die anderen Module des Tools können die neuen Verfahren auch jeweils ausprobiert und Schritt für Schritt angezeigt werden. Die meisten Algorithmen habe ich dabei in Plain Java geschrieben und die Oberflächen mit den Bordmitteln von Eclipse designt. Zusätzlich habe ich zur Dokumentation der Module jeweils einen Hilfetext geschrieben, der das gezeigte Verfahren und die Benutzung der Oberfläche erklärt. Abschließend wurde dies einigen Mitarbeitern des Fraunhofer Instituts und der Universität Aachen vorgestellt.
Ziel:
Zweck des Projekts war, eine neue Web- und Mobile Application zu designen, welche den Kunden ihre Umsatzstatistiken anzeigen kann. Dies war bis dato nur als Textbasierte ?Reporting? Funktion in der Haupt-Applikation vorhanden, weshalb ein modernerer Ansatz gewählt werden sollte. Die Idee bestand darin einen Web Application mit Spring (boot) zu entwickeln, die die Daten aus einer Datenbank abruft, um Statistiken zu berechnen, welche dann über eine REST Schnittstelle an eine Browser-Anwendung gesendet werden. Für letzteres bot sich das Vaadin Framework an, da der Kollege bereits Erfahrung damit hatte. Dieses erlaubt, eine Oberfläche vollständig in Java zu beschreiben und mit CSS zu gestalten. Das Framework wandelt dies dann in eine HTML / Javascript Seite um. Der Consultant hat mit einem Kollegen zusammen Konzept und Implementierung der Applikation durchgeführt, das grafische Design der Oberfläche erfolgte durch einen Webdesigner.
Tätigkeit:
Im Rahmen des Studiums an der H-DA müssen sogenannte ?Projekt Systementwicklung? Module belegt werden, die eine praktische Durchführung eines Projekts beinhalten. Dieses Projekt hatte zum Ziel, ein Framework zur Erfassung und Analyse von Sensoren einer elektrischen Anlage zu konzipieren. Dazu wurden Netzwerkfähige Sensoren (Smart Meters) über eine zentrale Schnittstelle abgerufen und in einem Cloud Computing System verarbeitet Dies geschah in Kooperation mit einem Unternehmen, welches diesen Prototypen als Proof-of-Concept verwenden möchte, und einem Consultant für Microsoft Azure, weshalb dieser Cloud Service eingesetzt wurde. Die Studenten wurden in kleine Teams von 2 bis 3 Personen aufgeteilt, die sich selbstständig organisierten und jeweils eine Teilkomponente des Systems entwickelten. Am Ende wurde dem Kooperations-Unternehmen der Prototyp und eine Dokumentation des Systems präsentiert und übergeben.
Tätigkeit:
Meine Aufgabe im Projekt bestand in der Installation und Konfiguration des Azure Cloud Systems, auf dem die Sensordaten gespeichert und verarbeitet wird. Das System sollte im Endeffekt zur Datenaufzeichnung und Fehleranalyse genutzt werden, die über eine Webseite oder Push-Notifications auf mobilen Endgeräten angezeigt werden können. Zur Analyse der Daten benötigten wir eine virtuelle Maschine mit der ?Stream Analytics? Komponente und das IoT Hub, um die Sensorik zu empfangen in einen Datenstream umzuwandeln. Daraus konnten dann Regeln definiert werden, die bestimmte Aktionen im System auslösen, wie zum Beispiel ein Alarm bei großer Abweichung der Strom-Leistung oder Betriebstemperatur. Unter bestimmten Umständen kann auf eine Fehlfunktion hinweisen, was unser System intelligent erkennen sollte.
Meine Tätigkeit beinhaltete auch das Erstellen und Verwalten einer SQL Datenbank. Die erfassten Sensordaten sowie die ausgelösten Events sollten in dieser Datenbank persistiert werden. Des Weiteren musste ein kleines CSharp Programm geschrieben werden, welches die Sensordaten aus dem Datenstream entgegennimmt und geeignet transformiert, um sie normalisiert in der Datenbank zu speichern. Das ?Notification Hub? von Azure wurde dazu benutzt bei bestimmten Events eine Benachrichtigung an verschiedene Empfänger zu senden. Für die HTML Seite haben wir die von Azure Cloud vorgefertigten UI Komponenten verwendet. Zum Abschluss haben wir die Teilergebnisse und Erkenntnisse unseres Teams präsentiert und die eingesetzten Technologien und Konzepte in einer Dokumentation festgehalten.
Fachlichkeit: