Implementierung von Microservices in Typescript in einer Cloud basierenden Infrastruk- tur zur Generierung von verschiedenen Dokumenten und Ausgabeformaten.
Hierbei wurde RabbitMQ zur Kommunikation zwischen einzelnen Microservices genutzt und MSSql als Datenspeicher.
Die Herausforderung hierbei lag insbesondere in der Notwendigkeit Millionen von Dokumentaufträgen zu Handhaben bei begrenzten Ressourcen.
Aufträge zur Dokumenterzeugung wurden gebündelt und an einen externen Service via Rest-API übertragen.
Der externe Service wiederum konnte nur eine begrenzte Anzahl von Aufträgen gleichzeitig verarbeiten und deren Abarbeitung war sehr zeitintensiv, sodass hier entsprechende Warteschleifen-Mechanismen nötig wurden, welche auch über mehrere Service-Instanzen (parallele Verarbeitung) zuverlässig funktionieren.
Weiterhin mussten generierte Dokumente entsprechend weiterverarbeitet werden und an diverse weitere externe Dienste geliefert werden.
Das Projekt musste leider Aufgrund des EuGH Urteils zur deutschen PKW Maut vorzei- tig durch den Auftraggeber beendet werden.
Umsetzung der zentralen Funktionen des Gesamtsystems von der Konzeption über die Implementierung bis hin zum automatisierten Testen.
Für die Backend-Entwicklung wurden Node.js basierende Microservice innerhalb einer auf Microsoft Azure basierenden Cloud Infrastruktur umgesetzt.
Hiebei spielten insbesondere folgende Dinge eine herausstechende Rolle:
Die Anbindung an externe Loyalty Anbieter via API und Web-Scraping zum Datenaustausch und die die Bereitstellung von Daten via REST-API für mobile Clients.
Weiterhin basiert die komplette Architektur auf CQRS/Event-Driven-Design und es wurde als Datenspeicher keine klassische Datenbank, sondern Eventstore genutzt.
Da es sich bei diesem Projekt um ein Projekt innerhalb der Finanzbranche und um sensitive Nutzerdaten handelt, wurde entsprechend den Themen Security, Audit, Testing etc. ein überdurchschnittlich hoher Stellenwert gegeben.
Sowohl die Entwicklung, das Testing als auch der Betrieb der Service wurde auf Basis von Docker Containern und deren Verwaltung mit Kubernetes umgesetzt.
Bei diesem Projekt wurde der komplette Prozess von der Grundidee bis hin zum öffentlich verfügbaren Produkt mit begleitet und mit gestaltet.
Erstellung einer Software zum Testen von Maut-Terminals, welche für Toll Collect durch die Firma Krauth technology gebaut werden.
Hierbei geht es im Speziellen um die Kommunikation einzelner Komponenten innerhalb des Terminals (Drucker, Bildschirm, Karten-Bezahlsystem etc.) via Dbus und um die Kommunikation zum Backend (Toll Collect) via SNMP eine entscheidende Rolle um die entsprechenden Nachweispflichten gegenüber Toll Collect und dem Gesetzgeber erfüllen zu können.
Dabei spielen neben der eigentlichen Umsetzung des Test-Tools auch die Erarbeitung von Testabläufen und Test direkt an den Terminals eine entscheidende Rolle. Dies Alles erfolgt in enger Zusammenarbeit mit dem Projektmanagement und den diversen Entwicklern und Entwicklerfirmen.
Im weiteren Projektverlauf wurde der Aufgabenbereich auf das komplette Terminal- System erweitert und deckt sowohl Tests einzelner Komponenten als auch des Gesamtsystems ab. Weiterhin erstreckt sich der Aufgabenbereich von Softwaretests, über Fehlersuche & Fehleranalyse bis hin zur Hilfe bei der Integration einzelner Terminals in das Gesamtsystem Toll Collect.
Umsetzung der Testtools:
Die Umsetzung erfolgte auf Basis von node.js unter Zuhilfenahme des Elektron-Frameworks in Javascript, HTML, CSS und Markdown
Bei diesem Projekt ging es um Dokumentation, Rückverfolgbarkeit (Stichwort ISOZertifizierung etc) und Echtzeit-Standort-Informationen im Bereich Logistik &Transportwesen.
Bei dem Projekte musste zum Einen eine Benutzeroberfläche gestaltet werden, welche der Disposition zum einen Möglichkeiten zur Verwaltung von Aufträgen bereit stellt und Auswertungen sowie Statusinformationen übersichtlich darstellt.
Dies wurde auf Basis von HMTL, CSS (LESS) und JQuery umgesetzt, da die Oberfläche komplett im Browser laufen sollte. Weiterhin sind diverse API's via REST & GraphQL durch Ajax-Aufrufe in der Oberfläche integriert worden.
Zum Anderen wurde eine - vor Allem auf Smartphones genutzte - Oberfläche für Kurierfahrer benötigt, welche leicht verständlich & fehlerfrei zu nutzen sein muss. Entsprechend musste die Oberfläche auch auf Mehrsprachigkeit ausgelegt sein und sich diversen Bildschirmgrößen optimal anpassen.
Dies wurde mit React.js und CSS (LESS) umgesetzt.
Umsetzung Backend:
Umsetzung Frontend im Browser:
Hier wurden insbesondere Leistungsanforderungen in Bezug auf Verfügbarkeit, Skalierbarkeit und Performance umgesetzt um auch in Zukunft wettbewerbsfähig zu bleiben.
Entsprechende Userinterfaces für Administration, Einstellungen sowie die graphische Darstellung in diversen Dashboards und die Aufbereitung der Daten zur leichten Verständlichkeit und Übersicht wurden in JavaScript, HTML und CSS (LESS) umgesetzt.
Umsetzung Backend:
Umsetzung Frontend im Browser:
Ein Portal mit internationaler Ausrichtung realisiert mit PHP & MySQL bei dem es um mehrere Hauptfunktionen ging:
Entsprechende Userinterfaces für die Verwaltung, Auswertung und Dashboards zur Übersicht wurden für die Verwendung im Browser konzipiert und umgesetzt.
Umsetzung Backend:
Umsetzung Frontend im Browser:
Während meiner Ausbildung habe ich an der Buchungs-Webseite der Autovermietung AVIS mitgearbeitet und hier insbesondere den Stations-Finder und die Anfahrts-Routenplanung umgesetzt.
Die Umsetzung erfolgte auf Basis von Lotus Domino in Kombination mit Java und einem Datenaustausch via XML.
Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
Während meiner Ausbildung habe ich eine Supportlösung speziell für die Deutsche Flugsicherung in Langen entwickelt, damit dort die internen Prozessabläufe entsprechend klar gegliedert, nachvollziehbar und dokumentiert werden konnten. Die Umsetzung erfolgte auf Basis von Lotus Domino. Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
2004 -heute: diverse größere & kleinere Projekte
Aufgabe:
Diverse kleinere Projekte, meist mit dem Hauptaugenmerk auf PHP im Frontend und JAVA im Backend.
Dies geschah oft in enger Zusammenarbeit mit z.B. Webdesignern, Vertrieb/Marketing, Geschäftsführung, Entwicklern und Endanwendern.
1997 - 2000
Tools
JS-Frameworks
HTML
Mai 2017 - März 2018
Die Testtools zum Test der Software für Mautstellen-Terminals von Toll Collect wurden auf Basis von Electron.js erstellt.
Dabei wurde die komplette Benutzerobfläche komplett mit Hilfe von HTML, CSS und JavaScript erstellt.
Die Oberfläche musste den Bedürfnissen insofern entsprechen, als dass sie auch technisch weniger versierten Personen sofort eingängig und ohne Lernaufwand alle nötigen Funktionen und Übersichten bereitstellt.
Die entsprechenden Stylesheets (CSS) wurden unter Nutzung von LESS generiert. Dadurch konnte die Oberfläche auf entsprechende Wünschen und Bedürfnissen der Tester während des Entwicklungsprozesses angepasst werden, ohne dass Änderungen an der eigentlichen Code- Basis nötig waren.
Die Umsetzung erfolgte nach dem Atomic-Design-Prinzips und bietet so, eine stabile Basis für kleine und auch große Änderungen und ist auch in Zukunft schnell und einfach erweiter-/änderbar. Für entsprechenden Funktionen der Buttons, Ansichten etc. wurde JavaScript ohne weitere Frameworks wie JQuery, React o.ä. genutzt.
Die Hintergrundfunktionen, welche in node.js implementiert wurden, sind nach aktuellem Standard umgesetzt.
November 2016 - April 2017
Bei dem Projekte musste zum Einen eine Benutzeroberfläche gestaltet werden, welche der Disposition zum einen Möglichkeiten zur Verwaltung von Aufträgen bereit stellt und Auswertungen sowie Statusinformationen übersichtlich darstellt.
Dies wurde auf Basis von HMTL, CSS (LESS) und JQuery umgesetzt, da die Oberfläche komplett im Browser laufen sollte. Weiterhin sind diverse API's via REST & GraphQL durch Ajax-Aufrufe in der Oberfläche integriert worden.
Zum Anderen wurde eine - vor Allem auf Smartphones genutzte - Oberfläche für Kurierfahrer benötigt, welche leicht verständlich & fehlerfrei zu nutzen sein muss. Entsprechend musste die Oberfläche auch auf Mehrsprachigkeit ausgelegt sein und sich diversen Bildschirmgrößen optimal anpassen.
Dies wurde mit React.js und CSS (LESS) umgesetzt.
Februar 2015 - September 2016
Komplette Migration einer bestehenden PHP-Seite auf eine node.js-Basis, einhergehend mit einem kompletten Re-Design, Anpassung auf Smartphones, Tablets und Desktop und der Trennung von einzelnen Komponenten sowie die Umsetzung nach dem Modell-View-Controller- Prinzip.
Das Frontend wurde dabei komplett mit HTML umgesetzt und mit CSS gestaltet.
Dabei wurde das CSS mit Hilfe von LESS generiert, denn nur so war es möglich die diversen Geräte und Formfaktoren in Einklang mit Übersicht und Wartbarkeit zu bringen.
Die eigentlichen Funktionen wurden in JavaScript umgesetzt ohne Frameworks.
Die gesamte Seite wurde bereits dahingehend gestaltet, dass sie entsprechend auch als Webapp funktioniert.
Besonderes Augenmerk lag hier auch auf den Faktoren Touchbedienung, Übersichtlichkeit und geringe Gesamtgröße bei maximaler Geschwindigkeit.
Implementierung von Microservices in Typescript in einer Cloud basierenden Infrastruk- tur zur Generierung von verschiedenen Dokumenten und Ausgabeformaten.
Hierbei wurde RabbitMQ zur Kommunikation zwischen einzelnen Microservices genutzt und MSSql als Datenspeicher.
Die Herausforderung hierbei lag insbesondere in der Notwendigkeit Millionen von Dokumentaufträgen zu Handhaben bei begrenzten Ressourcen.
Aufträge zur Dokumenterzeugung wurden gebündelt und an einen externen Service via Rest-API übertragen.
Der externe Service wiederum konnte nur eine begrenzte Anzahl von Aufträgen gleichzeitig verarbeiten und deren Abarbeitung war sehr zeitintensiv, sodass hier entsprechende Warteschleifen-Mechanismen nötig wurden, welche auch über mehrere Service-Instanzen (parallele Verarbeitung) zuverlässig funktionieren.
Weiterhin mussten generierte Dokumente entsprechend weiterverarbeitet werden und an diverse weitere externe Dienste geliefert werden.
Das Projekt musste leider Aufgrund des EuGH Urteils zur deutschen PKW Maut vorzei- tig durch den Auftraggeber beendet werden.
Umsetzung der zentralen Funktionen des Gesamtsystems von der Konzeption über die Implementierung bis hin zum automatisierten Testen.
Für die Backend-Entwicklung wurden Node.js basierende Microservice innerhalb einer auf Microsoft Azure basierenden Cloud Infrastruktur umgesetzt.
Hiebei spielten insbesondere folgende Dinge eine herausstechende Rolle:
Die Anbindung an externe Loyalty Anbieter via API und Web-Scraping zum Datenaustausch und die die Bereitstellung von Daten via REST-API für mobile Clients.
Weiterhin basiert die komplette Architektur auf CQRS/Event-Driven-Design und es wurde als Datenspeicher keine klassische Datenbank, sondern Eventstore genutzt.
Da es sich bei diesem Projekt um ein Projekt innerhalb der Finanzbranche und um sensitive Nutzerdaten handelt, wurde entsprechend den Themen Security, Audit, Testing etc. ein überdurchschnittlich hoher Stellenwert gegeben.
Sowohl die Entwicklung, das Testing als auch der Betrieb der Service wurde auf Basis von Docker Containern und deren Verwaltung mit Kubernetes umgesetzt.
Bei diesem Projekt wurde der komplette Prozess von der Grundidee bis hin zum öffentlich verfügbaren Produkt mit begleitet und mit gestaltet.
Erstellung einer Software zum Testen von Maut-Terminals, welche für Toll Collect durch die Firma Krauth technology gebaut werden.
Hierbei geht es im Speziellen um die Kommunikation einzelner Komponenten innerhalb des Terminals (Drucker, Bildschirm, Karten-Bezahlsystem etc.) via Dbus und um die Kommunikation zum Backend (Toll Collect) via SNMP eine entscheidende Rolle um die entsprechenden Nachweispflichten gegenüber Toll Collect und dem Gesetzgeber erfüllen zu können.
Dabei spielen neben der eigentlichen Umsetzung des Test-Tools auch die Erarbeitung von Testabläufen und Test direkt an den Terminals eine entscheidende Rolle. Dies Alles erfolgt in enger Zusammenarbeit mit dem Projektmanagement und den diversen Entwicklern und Entwicklerfirmen.
Im weiteren Projektverlauf wurde der Aufgabenbereich auf das komplette Terminal- System erweitert und deckt sowohl Tests einzelner Komponenten als auch des Gesamtsystems ab. Weiterhin erstreckt sich der Aufgabenbereich von Softwaretests, über Fehlersuche & Fehleranalyse bis hin zur Hilfe bei der Integration einzelner Terminals in das Gesamtsystem Toll Collect.
Umsetzung der Testtools:
Die Umsetzung erfolgte auf Basis von node.js unter Zuhilfenahme des Elektron-Frameworks in Javascript, HTML, CSS und Markdown
Bei diesem Projekt ging es um Dokumentation, Rückverfolgbarkeit (Stichwort ISOZertifizierung etc) und Echtzeit-Standort-Informationen im Bereich Logistik &Transportwesen.
Bei dem Projekte musste zum Einen eine Benutzeroberfläche gestaltet werden, welche der Disposition zum einen Möglichkeiten zur Verwaltung von Aufträgen bereit stellt und Auswertungen sowie Statusinformationen übersichtlich darstellt.
Dies wurde auf Basis von HMTL, CSS (LESS) und JQuery umgesetzt, da die Oberfläche komplett im Browser laufen sollte. Weiterhin sind diverse API's via REST & GraphQL durch Ajax-Aufrufe in der Oberfläche integriert worden.
Zum Anderen wurde eine - vor Allem auf Smartphones genutzte - Oberfläche für Kurierfahrer benötigt, welche leicht verständlich & fehlerfrei zu nutzen sein muss. Entsprechend musste die Oberfläche auch auf Mehrsprachigkeit ausgelegt sein und sich diversen Bildschirmgrößen optimal anpassen.
Dies wurde mit React.js und CSS (LESS) umgesetzt.
Umsetzung Backend:
Umsetzung Frontend im Browser:
Hier wurden insbesondere Leistungsanforderungen in Bezug auf Verfügbarkeit, Skalierbarkeit und Performance umgesetzt um auch in Zukunft wettbewerbsfähig zu bleiben.
Entsprechende Userinterfaces für Administration, Einstellungen sowie die graphische Darstellung in diversen Dashboards und die Aufbereitung der Daten zur leichten Verständlichkeit und Übersicht wurden in JavaScript, HTML und CSS (LESS) umgesetzt.
Umsetzung Backend:
Umsetzung Frontend im Browser:
Ein Portal mit internationaler Ausrichtung realisiert mit PHP & MySQL bei dem es um mehrere Hauptfunktionen ging:
Entsprechende Userinterfaces für die Verwaltung, Auswertung und Dashboards zur Übersicht wurden für die Verwendung im Browser konzipiert und umgesetzt.
Umsetzung Backend:
Umsetzung Frontend im Browser:
Während meiner Ausbildung habe ich an der Buchungs-Webseite der Autovermietung AVIS mitgearbeitet und hier insbesondere den Stations-Finder und die Anfahrts-Routenplanung umgesetzt.
Die Umsetzung erfolgte auf Basis von Lotus Domino in Kombination mit Java und einem Datenaustausch via XML.
Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
Während meiner Ausbildung habe ich eine Supportlösung speziell für die Deutsche Flugsicherung in Langen entwickelt, damit dort die internen Prozessabläufe entsprechend klar gegliedert, nachvollziehbar und dokumentiert werden konnten. Die Umsetzung erfolgte auf Basis von Lotus Domino. Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
2004 -heute: diverse größere & kleinere Projekte
Aufgabe:
Diverse kleinere Projekte, meist mit dem Hauptaugenmerk auf PHP im Frontend und JAVA im Backend.
Dies geschah oft in enger Zusammenarbeit mit z.B. Webdesignern, Vertrieb/Marketing, Geschäftsführung, Entwicklern und Endanwendern.
1997 - 2000
Tools
JS-Frameworks
HTML
Mai 2017 - März 2018
Die Testtools zum Test der Software für Mautstellen-Terminals von Toll Collect wurden auf Basis von Electron.js erstellt.
Dabei wurde die komplette Benutzerobfläche komplett mit Hilfe von HTML, CSS und JavaScript erstellt.
Die Oberfläche musste den Bedürfnissen insofern entsprechen, als dass sie auch technisch weniger versierten Personen sofort eingängig und ohne Lernaufwand alle nötigen Funktionen und Übersichten bereitstellt.
Die entsprechenden Stylesheets (CSS) wurden unter Nutzung von LESS generiert. Dadurch konnte die Oberfläche auf entsprechende Wünschen und Bedürfnissen der Tester während des Entwicklungsprozesses angepasst werden, ohne dass Änderungen an der eigentlichen Code- Basis nötig waren.
Die Umsetzung erfolgte nach dem Atomic-Design-Prinzips und bietet so, eine stabile Basis für kleine und auch große Änderungen und ist auch in Zukunft schnell und einfach erweiter-/änderbar. Für entsprechenden Funktionen der Buttons, Ansichten etc. wurde JavaScript ohne weitere Frameworks wie JQuery, React o.ä. genutzt.
Die Hintergrundfunktionen, welche in node.js implementiert wurden, sind nach aktuellem Standard umgesetzt.
November 2016 - April 2017
Bei dem Projekte musste zum Einen eine Benutzeroberfläche gestaltet werden, welche der Disposition zum einen Möglichkeiten zur Verwaltung von Aufträgen bereit stellt und Auswertungen sowie Statusinformationen übersichtlich darstellt.
Dies wurde auf Basis von HMTL, CSS (LESS) und JQuery umgesetzt, da die Oberfläche komplett im Browser laufen sollte. Weiterhin sind diverse API's via REST & GraphQL durch Ajax-Aufrufe in der Oberfläche integriert worden.
Zum Anderen wurde eine - vor Allem auf Smartphones genutzte - Oberfläche für Kurierfahrer benötigt, welche leicht verständlich & fehlerfrei zu nutzen sein muss. Entsprechend musste die Oberfläche auch auf Mehrsprachigkeit ausgelegt sein und sich diversen Bildschirmgrößen optimal anpassen.
Dies wurde mit React.js und CSS (LESS) umgesetzt.
Februar 2015 - September 2016
Komplette Migration einer bestehenden PHP-Seite auf eine node.js-Basis, einhergehend mit einem kompletten Re-Design, Anpassung auf Smartphones, Tablets und Desktop und der Trennung von einzelnen Komponenten sowie die Umsetzung nach dem Modell-View-Controller- Prinzip.
Das Frontend wurde dabei komplett mit HTML umgesetzt und mit CSS gestaltet.
Dabei wurde das CSS mit Hilfe von LESS generiert, denn nur so war es möglich die diversen Geräte und Formfaktoren in Einklang mit Übersicht und Wartbarkeit zu bringen.
Die eigentlichen Funktionen wurden in JavaScript umgesetzt ohne Frameworks.
Die gesamte Seite wurde bereits dahingehend gestaltet, dass sie entsprechend auch als Webapp funktioniert.
Besonderes Augenmerk lag hier auch auf den Faktoren Touchbedienung, Übersichtlichkeit und geringe Gesamtgröße bei maximaler Geschwindigkeit.
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.