Fortsetzung der Implementierung eines OpenID Connect und OAuth2 Authentifizierungs- und Autorisierungs-Servers
Implementierung einer Zeiterfassungssoftware
Inhalt des Projekts ist die Neuimplementierung einer Zeiterfassungssoftware, die neben der reinen Erfassung von Zeiten weitere buchbare Module enthält, die von Endkunden zusätzlich erworben werden können.
Die Architektur der Software sollte dabei derart gestaltet werden, dass diese zwar zunächst als Monolith erstellt wird aber jederzeit in eine Microservices-Architektur überführt werden kann sollte dies technisch notwendig werden.
Angefangen bei der Definition und Schärfung der fachlichen Anforderungen, über die Entwicklung im Frontend und dem Entwurf und der Umsetzung von REST Schnittstellen im Backend und dem Test der technischen und fachlichen Korrektheit der gewünschten war Lars an allen Phasen und Bereichen der Entwicklung beteiligt.
Aufgaben:
Technologien:
Spezialist für Fullstack-Software-Entwicklung mit Fokus auf User Experience. Experte für mehrschichtige und verteilte Software-Architekturen und Software-Systeme. Mehr als 10 Jahre Erfahrung in verschiedenen Bereichen und Branchen wie Automobil, produzierendes Gewerbe, Fintech, Transportsektor und öffentliche Auftraggeber.
Skills:
Zertifizierungen:
Implementierung eines OpenID Connect und OAuth2 Authentifizierungs- und Autorisierungs-Servers
Der Auftraggeber hat als zentrale Authentifizierungs- und Autorisierungssystem OAuth2 mit OpenID Connect als Standard für alle externen und internen Anwendungen definiert. Dazu musste einerseits OAuth2 fertig und der OpenID Connect Aufsatz zu OAuth2 neu implementiert werden. Da die Authentifizierungsschnittstelle von externen Anwendungen und internen Anwendungen, die von anderen Entwicklungs-Teams in der Organisation erstellt werden, verwendet werden soll, war es eine der zentralen Aufgaben die OAuth2 und OIDC-Schnittstellen nach der offiziellen Spezifikation der beiden Standards zu implementieren.
Ein weiterer Fokus des Projekts war die Ablösung des bestehenden Authentifizierungssystems mit der neu entwickelten OIDC-Schnittstelle. Im Rahmen dieser Ablösung wurden Teile der Multimodul-Anwendung zu Spring Boot Anwendungen migriert. Zum Aufgabenbereich gehörte außerdem die technische Beratung anderer Produkt-Teams bei Fragen zu Authentifizierung, Autorisierung im speziellen und Sicherheit für Webanwendungen im Allgemeinen.
Aufgaben:
Technologien:
Neuimplementierung eines Kran-Konfigurators
Der Auftraggeber wollte, basierend auf den Wünschen seiner Kunden, einen Konfigurator, mit dessen Hilfe anhand unterschiedlicher Parameter geeignete Kräne für die Bewerkstelligung unterschiedlicher Hebeaufgaben angezeigt werden. Dazu sollen Anwender drei physikalisch relevante Parameter eingeben und eine Liste von geeigneten Kränen angezeigt bekommen. Außerdem sollte es die Möglichkeit geben auf der Ergebnisseite der Kräne einzelne Parameter nachzuschärfen. Das Tool soll als Entscheidungshilfe bei der Anschaffung eines Krans dienen.
Aufgaben:
Technologien:
Neuimplementierung einer Netzwerkadministrations- und Dokumentationssoftware mit Angular
Ein bestehendes Tool für die unternehmensweite Administration und Dokumentation des Firmennetzwerkes sollte auf Grund gewünschter Verbesserungen hinsichtlich Usability und Wartbarkeit neu implementiert werden. Meine Aufgabe bestand in der Neuentwicklung der Andwendungsoberflächen mit dem Frontend-Framework Angular. Dafür wurden, gemeinsam mit dem Kunden, Mockups für die einzelnen Teile der Anwendung erstellt und diese dann im Rahmen von wöchentlichen Sprints umgesetzt. Des weiteren bestand meine Aufgabe in der Beratung des Kunden hinsichtlich Aspekte der User Experience und Usability.
Aufgaben:
Technologien:
Implementierung eines Geo-Portal-Systems zur Darstellung unterschiedlichen fachlichen Kartenmaterials und dessen Verwaltung
Dieses Projekt hat zum Ziel, ein Geo-Portal für die Bürger der Stadt München und des Umlands zur Verfügung zu stellen. Die Bürger sollen mit verschiedenen Karten unterschiedliche fachliche Sichten auf Geodaten des Großraumes München erhalten. Bürger sollen außerdem über ein Benutzerkonto eine Möglichkeit bekommen, einerseits Ergebnisse aus Geocaching Aktionen beizutragen aber andererseits auch beispielsweise Rückmeldung über Schlaglöcher oder nicht funktionierende Straßenlaternen zu geben. Außerdem sollen verschiedene Daten als Dienstleistung über kostenpflichtige Zugänge zur Verfügung gestellt werden.
Um diese unterschiedlichen Karten-Portale zu erstellen und zu konfigurieren, war die Konzeption und Implementierung einer entsprechenden Administrations-Anwendung ebenfalls Teil dieses Projekts. Das System verfügt über mehrere, unabhängige fachliche Umgebungen, durch die eine Karte zur Qualitätssicherung aus unterschiedlichen fachlichen und technischen Gesichtspunkten gebracht werden muss.
Aufgaben:
Technologien:
Medienverwaltungssoftware für > 300.000 Mediendateien
Für ein großes deutsches Lizenzhandels- und Medienbeteiligungsunternehmen wurde eine Ablösung der Dateiverwaltung implementiert. Dieses Unternehmen, mit seinen rund 330.000 Mediendaten Besitzer einer der größten Filmbibliotheken Europas, hat seine Mediendaten in der Vergangenheit mittels Fileserver und einer Netzwerkfreigabe in dem Windows-Explorer verwaltet. Die Dateien sind dabei in einer bestimmten Verzeichnishierarchie angeordnet. Jede Ebene dieser Hierarchie entspricht ein Attribut dieser Datei.
Aufgrund der sehr großen Menge an Daten ist eine effiziente Suche nach bestimmten Dateien so gut wie unmöglich gewesen. Außerdem war es sehr leicht möglich versehentlich Dateien bzw. ganze Teilbäume zu verschieben, zu löschen oder sonst zu verändern. Des weiteren sollte, dass ein grundlegendes Rechte und Rollen Konzept entwickelt und implementiert werden, um verschiedenen Nutzergruppen verschiedene Sichten und Interaktionsmöglichkeiten mit den Dateien zu ermöglichen. Außerdem sollten die unterschiedlichen Interaktionen mit den Dateien, also wurde eine Datei gelöscht, hochgeladen, umbenannt etc., von dem System protokolliert werden, um eine Nachvollziehbarkeit zu ermöglichen. Weiterhin sollten neu angelegte Dateien in regelmäßigen Abständen einem bereits vorhandenen Medienserver zur Verfügung gestellt werden, der seinerseits die Verantwortung hat, die unterschiedlichen Mediendateien Kunden des Unternehmens zugänglich zu machen.
Aufgaben:
Technologien:
Relaunch eines Administrations Tools für eine Lieferdatentransformationssoftware und -server für Speditionen
Aufgaben:
Technologien:
Test-Management & Testautomatisierung für Internet-Portale
In diesem Projekt hat Benedikt einen internationalen Mietwagen Anbieter im Test-Management unterstützt. Neben der Implementierung und der Pflege von Test war es zentrale Aufgabe die zweiwöchentlichen Releases der kompletten Software-Landschaft zu begleiten. Dazu wurde vor einem anstehenden Release sämtliche Anwendungsfälle in allen Portale des Kunden mit Hilfe von automatisierten Tests durchgeführt. Das anschließende Ergebnis musste dann analysiert und mögliche Fehlschläge der Tests nachverfolgt werden. Fehlschläge von Tests, die auf Fehler in der Software zurückzuführen waren mussten im Anschluss an die entsprechende Fachabteilung kommuniziert und deren Behebung koordiniert werden. Des weiteren war Benedikt Teil des Release-Management Teams, dass sowohl das endgültige OK für das Ausrollen eines Releases als auch das Release technisch begleitet hat.
Aufgaben:
Technologien:
Cloud-Plattform für die Konfiguration, Überwachung und Steuerung von Fahrzeug-Flotten
Konzeption und Realisierung einer Cloud-Plattform zur Erfassung und Auswertung von Messdaten von Fahrzeugen (Zügen), sowie die darauf basierende Überwachung und Steuerung von Fahrzeugen und Fahrzeug-Flotten. Mittels Sensoren werden Messdaten auf Fahrzeugen erfasst und über einen CAN-Bus an eine Onboard-Unit übermittelt. Messdaten sind beispielsweise Positionsdaten, Tempertaturwerte, Verschleißdaten von verbauten Komponenten, uvm.
Die Daten werden von der Onboard-Unit dann über unsichere Verbindungen (Mobilfunk) an eine zentrale Cloud-Applikationen im Rechenzentrum übertragen. Dort werden die Daten analysiert, aufbereitet und fachliche Services- z.B. Monitoring - in Form von browserbasierten Web-Anwendungen für Flotten-Verwalter (Mandanten) angeboten. Beispielsweise können anhand von Mustern in Verschleißdaten frühzeitig Wartungsintervalle für Fahrzeugkomponenten errechnet und geplant werden. Auf diese Art und Weise können Fahrzeugausfälle vermieden und Wartungs- / Instandsetzungskosten minimiert werden.
Aufgaben:
Technologien:
Konzeption und Entwicklung eines Portals / Corporate Website mit Liferay Portal
In diesem Projekt wurde für die Neuausrichtung eines Fintechs mit Liferay eine Webanwendung erstellt, die neben üblichen Webinhalten auch das Intranet der Firma war. Nach Anmeldung konnten Mitarbeiter unterschiedlicher Abteilungen des Unternehmens unterschiedliche Prozessschritte zur Anbindung von E-Commerce-Betreibern ausführen. Außerdem hatten angebundene Händler die Möglichkeit nach Anmeldung speziell auf sie zugeschnittene Inhalte und Anwendungen zu verwenden. Außerdem wurden Funktionen realisert mit deren Hilfe administrative Tätigkeiten an der Webseite erledigt werden konnten.
Aufgaben:
Technologien:
Payment-Service-Provider Plattform: Saiku Business Intelligence Software
Dieses Projekt sollte eine Möglichkeit schaffen der Geschäftsführung eines Bezahldienstleisters strategische Entscheidung basierend auf der Art und Anzahl verschiedener Bezahltransaktionen treffen zu können. Es sollte eine Möglichkeit geschaffen werden schnell und effizient große Datenmengen (zum Start des Projekts waren es ca. 32 Millionen Datensätze) analysierbar zu machen. Dazu wurden die vorhandenen Transaktionen nach gängigen Gruppierungen wie z.B. bestimmte Währungen, Zahlarten und Zeiträume zusammengefasst und in regelmäßigen Abständen von einer relationalen Datenhaltung in eine NoSQL Umgebung extrahiert. Diese aggregierten Daten wurden dann mit Hilfe einer Star-Schema Implementierung über Saiku BI auswertbar gemacht. Außerdem musste Saiku BI in die bestehende Anwendungslandschaft integriert werden.
Aufgaben:
Technologien:
Payment-Service-Provider Plattform: Payment Connector
Um Bezahlvorgänge von E-Commerce Kunden verarbeiten zu können wurden in diesem Projekt verschiedene nachgelagerte Bezahldienstleister angebunden. Des weiteren wurden diverse Schnittstellen implementiert, um vollständige Zahlvorgänge von Endkunden abwickeln zu können. Ein weiterer Teil dieses Projektes war die Implementierung verschiedener kaufmännischer Prozesse wie die Erfassung von elektronischen Buchungssätzen aus CSV-Dateien und deren Abgleich mit den bestehenden Bezahltransaktionen. Außerdem wurden sogenannte "Payment Pages" und deren Anbindung an das Payment-Backend entwickelt über die Endkunden einen Bezahlvorgang auslösen können.
Aufgaben:
Technologien:
Payment-Service-Provider Plattform: Händler-Backend
Um es E-Commerce Händlern zu ermöglichen getätigte Zahltransaktionen zu administrieren wurde im Rahmen dieses Projekts ein Hänndler-Backend implementiert. Die Anwendung ermöglichte es den Händlern den Status von Transaktionen hinsichtlich Status und Eingang zu prüfen. Außerdem konnten die Händler Auszahlungen veranlassen und allgemeine administrative Tätigkeiten rund um ihr Kundenkonto ausführen.
Aufgaben:
Technologien:
Software für ERP / CRM / Maschinendatenerfassung von produzierenden Betrieben des Mittelstandes
Die im Rahmen dieses Projektes weiter entwickelte s4p Suite ist ein Produktionsplaungnssoftware für kleine und Mittelständische Betriebe. Neben der Produktionsplanung konnte mit der Software auch unterschiedliche Kennzahlen wie z.B. aktuelle produzierte Stückzahlen, Auslastung oder auch Betriebsdauer aus den produzierenden Maschinen ausgelesen werden.
Ein weiteres Feature des Software-Produktes ist eine CRM sowie eine ERP-Funktion. Dieses Projekt umfasst die Implementierung diverser Konnektoren zu Drittsystemen wie Microsoft Exchange Server oder Kundendatenbanken. Des weiteren wurde an der Oberfläche der Software gearbeitet, um die Usability zu verbessern. Für eine Hausmesse wurden Teile der s4p Suite auf Android portiert.
Aufgaben:
Technologien: