Portal zur Anzeige/Bearbeitung von Meetinganfragen
Erstellen eines Portals in dem die Daten aus dem Data-Lake (separates Projekt) angezeigt und bearbeitet werden können. Ziel ist es eine Übersicht über Anfragen aus verschiedenen Quellsystemen zu erhalten, mit weniger Aufwand und schneller auf Anfragen reagieren zu können, und große Teile der Angebotsabgabe über Regeln, die durch den Kunden aufgestellt werden, automatisieren zu können.
Portalanwendung als SPA (Single Page Application) in Vue.js. Anmeldung mit verschiedenen Rollen und den daraus resultierende Sichtweisen. Pflege einer eigenen Bibliothek von Artikeln in verschiedenen Gruppen, die entweder manuell (Drag&Drop) oder durch automatisierende Regeln den angefragten Elementen zugeordnet werden können.
Erstellen eines Regelwerkes zur Anpassung der Preisfindung an die individuellen Anforderungen im Hotelgewerbe. Einbindung von Kalenderansichten für Verfügbarkeiten von Meetingräumen oder Hotelräumen für Meetings und Übernachtungen. Anbindung externer Systeme via REST für Buchungsdaten (Opera) und Zimmerpreise (Expedia).
AzureVue.jsAxiosJWTBackend in C#ASP.NET Core 3.1MongoDBGUI Komponenten von Syncfusion
3 Jahre 10 Monate
2019-11 - heute
Data-Lake für divergente Quelldaten und Anwendungen
Erstellen eines Frameworks zur Anbindung verschiedener Datenquellen mit unterschiedlichen Schnittstellen an einen gemeinsamen Data-Lake. Aus diesem Data-Lake werden mit verschiedenen Transformationen Datenbanken für eine Anzahl von verschiedenen Portal-Applikationen gespeist, die unterschiedliche Sichten auf die aggregierten Daten erlauben.
Erstellen der Architektur des Gesamtsystems bestehend aus unabhängigen Microservices, die mittels REST Schnittstelle miteinander kommunizieren. Erstellen von Microservices zum Aggregieren der Daten via Headless Browser (Scraping), externer REST Schnittstellen oder per FTP Push/Pull.
Erstellen einer Rule-Base zur Verarbeitung der Daten aus unterschiedlichen Quellen. Erstellen mehrerer Transformations Microservices, die Daten für unterschiedliche Anwendungen aufbereiten.
Kommunikation der Anwendungsteile über Azure ServiceBus. Möglichkeit Microservices als Container in Azure laufen und skalieren zu lassen.
Anbindung externer Systeme an ein historisch gewachsenes und nicht veränderbares Buchungssystem.
Erstellen der Architektur des Gesamtsystems bestehend aus unabhängigen Microservices, die mittels REST Schnittstelle miteinander kommunizieren. Ausarbeiten einer Lösung Änderungen in der Datenbank des Buchungssystems automatisiert lesen zu können und Änderungen auf Feldebene zu analysieren. Erstellen von Regeln um aus Feld-Änderungen die internen logischen Schritte des Buchungssystems zu erkennen. Anreichern der erkannten Daten mit weiteren Informationen, die in externen Systemen benötigt werden. Erstellen eines REST-Endpoints um die Geschäftsvorfälle von Elastic.IO pollen zu lassen. Einfach veränderbare Scripts in Elastic.IO bestimmen welche Informationen an welches externe System weitergeleitet werden.
Etablieren eines ?Rückkanals? um von externen Systemen Informationen an das Buchungssystem zu senden. (Cancel-Workflow)
Rewrite Administrationsportal in Vue.js / ASP.NET Core
Rewrite des aktuellen Administrationsportals mit modernem Tooling als SPA mit VUE.js im Frontend und ASP.NET Core 2.x im Backend.
Ausarbeiten der Architektur, Auswahl der Tools zur Realisierung, Lead Developer und Coach für ein Team von 6 Mitarbeitern. Code-Reviews und Schulung der Mitarbeiter anhand der gefundenen Probleme.
VUE.js 2.xAxiosVuexBoostrap 4JWT zur AuthentifizierungWebservices in ASP.NET Core 2.x.NET Framework 4.7.1C#JSONAJAXMongoDBJavascript
4 Jahre 7 Monate
2015-05 - 2019-11
Web-Portal für Konferenz-Buchungen für ein großes Reiseunternehmen
Wartung/Pflege/Weiterentwicklung eines Buchungssystems in Form eines Portals. Performance Optimierung, Refactoring, Redesign.
Wartung/Pflege und Weiterentwicklung eines existierenden Portals zur Buchungs von Konferenz-Räumen in Hotels. Verbesserung der Performance unter Einsatz von modernen Datenbanksystemen und Caching Providern. Analyse von Schwachstellen in der vorhandenen Programmierung. Verbesserung und Konsolidierung der Code-Basis. Code Reviews.
Konsolidierung von Daten aus verschiedenen Quellen, die in Struktur un Informationsgehalt stark voneinander abweichen
Analyse der fachlichen Vorgaben des Kunden und Erstellen einer Konsoli-dierungs/Migrationsmatrix. Daten aus verschiedenen Quellen wurden in ein einheitliches Format überführt, bei Bedarf mit Informationen aus anderen Quellen angereichert und in einer Datenbank zur Verfügung gestellt.
Die Analyse wurde mit Hilfe von Pattern-Vergleichen und/oder Cross-Referencing mit anderen Datenquellen erzeugt.
Erstellen einer Management-Übersicht über Qualität und Quantität der Daten sowie eines Plausibilitätschecks. Anhand der Auswertungen wurde entschieden welche weiteren Schritte für jede einzelne Datenquelle unternommen werden soll.
Für ein Erlebnisbad wurden aus separat arbeitenden Kassensystemen die Anzahl der Kunden und die Verteilung innerhalb des Geländes ausgelesen und dynamisch der Website des Kunden zur Verfügung gestellt.
Im Backend Bereich wurde ein Service aufgebaut der Sockets für die Kommunikation mit den Kassensystemen zur Verfügung stellt. Die über diese Sockets erhaltenen XML-Daten werden dem Web-Backend als Daten zur Verfügung gestellt und in regelmäßigen Zeitabständen auf der Webseite aktualisiert.
Analyse, Erstellung und Betrieb eines Portals einer Capability Matrix zur Unterstützung von Server-Deploys in weltweit verteilten Rechenzentren
Als Architekt wurden die bisher manuell bereitgestellten Dienste der Auswahl vorhandener Subnetze in weltweit verteilten Rechenzentren zum Deployment von Servern analysiert. Die dabei benutzten Daten wurden konsolidiert und anhand der Auswertung erstellter Use-Cases der Benutzer ein Konzept für die Erstellung eines Portals erzeugt.
Anschließend wurde das Konzept als Lead Developer mit Hilfe von C#, ASP.NET, MVC und SQL umgesetzt. Im Laufe des Projektes wurden weitere Informationsquellen hinzugefügt und die Datenbank auf MongoDB geändert. Zur Unterstützung der GUI wurde auf dem Client knockout.js und jQuery eingesetzt.
Der Benutzer kann mit Hilfe der CapMatrix ca. 30 Filter setzen, und sich schrittweise an eine Liste von bereits vorhandenen Subnetzen mit den gesuchten Eigentschaften herantasten. Wird ein vorhandenes Netz ausgewählt, und hat dieses noch Kapazitäten frei (Ports auf Switch, Ip Adresse(n), Power, Cooling, etc.), kann ein beschleunigtes Verfahren zum Server-Deploy durchgeführt werden. Dazu wird eine Ausgabe der Daten als PDF an ein Ticket-System weitergeleitet und bearbeitet. Sind keine Netzwerke mit den gewünschten Eigenschaften gefunden worden, oder keine Kapazitäten mehr frei, werden die Informationen per PDF an eine andere Abteilung weitergeleitet, die dann ein passendes Netzwerk aufbaut und zuweist.
Mit der existierenden Lösung konnte in 70-80% der Anfragen eine erhebliche Einsparung von Kosten und Zeit realisiert werden.
Aufbau eines Portals zur Aufnahme und Abwicklung von Schadenfällen
PropertyExpert für ControlExpert
PropertyExpert für ControlExpert
Mit einem kleinen Team (anfangs 2 Entwickler, später 5 mit Team-Lead Funktion) wurde ein Portal erstellt, das zur Aufnahme, Steuerung und Kon- trolle von Schadenfällen in verschiedenen Bereichen (mobiles Schadengut, immobiles Schadengut) dient. Hierbei wurde ein rollenbasiertes Zugangssystem genutzt um interne und externe Arbeitskräfte mit entsprechenden Sichten an den einzelnen Versicherungsfällen arbeiten zu lassen. Die Steuerung und Kontrolle des Systems wurde durch WF 4.0 (Windows Workflow Foundation) erreicht. Eine WCF Schicht ermöglicht die Anbindung eines Web-Frontends (MVC 3, ASP.NET, C# 4.0, Javascript, jQuery, AJAX, JSON, knockout.js) oder die Anbindung externer Systeme mit Hilfe von WCF Nachrichten. Externe Dienstleister (Reparatur-Betriebe, externe Bewertung von Schadenfällen), Versicherungen und Endkunden wurden an das System mit unterschiedlichen Sichten und Funktionen angebunden.
Die Aufgaben umfassten die Erstellung eines tragfähigen Datenmodells in MS SQL Server 2008 R2 und die Nutzung von Entity Framework 4.1 für das Entitäten Modell. Sortierungen und Filter wurden mittels LINQ Queries auf dem Entity Framework Modell durchgeführt. Bei zeitkritischen Abläufen wurden Stored Procedures erstellt und in das Entity Framework mit eingebunden. Weiterhin wurde die Business-Schicht mit dem Business-Rules und den Validierungen für eingehende Daten erstellt und mit Hilfe einer WCF Schicht an die MVC3 Applikation als Webservices angebunden.
Die Oberfläche wurde mit MVC3 unter Nutzung von Razor, ASP.NET 4, C# 4.0, jQuery erstellt. Ab Version 2 des Portals wurden viele Oberflächenelemente dynamisch gestaltet. Wenig genutzte Elemente wurden mittels jQuery und Javascript ausgeblendet und erst bei Bedarf an der Oberfläche angezeigt. Dynamische Inhalte wurden mittels AJAX nachgeladen oder aktualisiert. Weiterhin wurden für Datum/Zeit- und Währungsfelder, sowie für die Grid-Darstellung der Listen Telerik MVC Controls verwendet. Ähnliche Blöcke in verschiedenen Rollen wurden gleichförmig angepasst, um eine Modularisierung mit PartialViews zu erreichen.
Als letzter Schritt wird aktuell (11/2011-12/2011) die Modularisierung der Oberfläche in einzelne Blöcke genutzt um diese unabhängig von der Gesamtseite speichern und validieren zu können. Dabei wird knockout.js eingesetzt um eine Kopplung zwischen den Oberflächenelementen und dem Datenmodell zu schaffen, die eine bidirektionale Aktualisierung ermöglicht. Knockout ermöglicht es große Javascript Blöcke der dynamischen Oberflächengestaltung durch sehr einfache Datenbindungs-Attribute zu ersetzen, die bei Änderungen am Datenmodell automatisch Aktionen wie ein-/ausblenden durchführen, etc.
.NET Framework 4C#ASP.NETRazorMVC 3LINQWCFXML/JSONWebservicesTelerik MVC ControlsAJAXjQueryJavascriptSQL Server 2008 R2Log4Net
3 Monate
2010-10 - 2010-12
Vls System der DHL
Beheben von Fehlern und Steigerung der Performance des Vls Systems für DHL und Kunden der DHL im Auftrag von GFT
Die in großen Teilen bereits existierende Lösung Vls der DHL wird bzgl. der Performance optimiert und fehlerbereinigt. Dazu wird der vorhandene Code analysiert, Schwachstellen identifiziert und unter den Gesichtspunkten Performance, Fehleranfälligkeit und Sicherheit modifiziert. Zum Einsatz kommen neben herkömmlicher ASP.NET Programmierung auch viele aktuelle Technologien wie LINQ, WCF, AJAX, JSON, jQuery, Spring.NET, NHibernate, Aspect oriented programming, etc..
.NET Framework 3.5C# .NETLINQWCFXML DatenstrukturenRESTWebservicesTelerik RAD Controls für ASP.NETAJAXJSONjQueryJavascriptSpring.NETNHibernateSQL Server 2008AOPLog4NetList&Label 15
GFT
8 Monate
2010-02 - 2010-09
Migration SAN to FSU
Herstellung von Tools für den Umzug der User-Homeverzeichnisse und Gruppenlaufwerke der Deutschen Bank von einer SAN Lösung zu einer neuen Storage Lösung von IBM
Der Umzug von User-Homerzeichnissen und Gruppenlaufwerken der Deutschen Bank auf ein neues Storage System von IBM wurde mit Tools unterstützt. Genutzt wurde die Kapsel der FSU Schnittstelle des vorigen Projekts. Die Steuerung der Migration erfolgte durch eine Datenbank auf SQL Basis. Das Erstellen und Verändern von DFS-Links wurde mit einem Monitoring überwacht. Die Ergebnisse von Kopierprozessen wurden über das Auswerten von Log-Dateien überwacht und an die Datenbank zurückgemeldet.
Das Quota Management wurde über das Einlesen von Anforderungsdokumenten in Excel in die Weiterleitung der Informationen an die Webschnittstelle erstellt.
.NET Framework 4.03.5C# .NETLINQWCFXML DatenstrukturenXSL TransformationenXPath QueriesRESTWebservicesSQL 2008AD Abfragen / ModifikationenAuswertung von Logfiles zur Analyse des Migrationsergebnisses
Siemens AG / Deutsche Bank
2 Monate
2010-02 - 2010-03
Kapseln der FSU Schnittstelle IBM
Erstellen einer Kapsel für die Webschnittstelle der FSU von IBM
Die Benutzer und Projektdaten der Deutschen Bank wurden von den aktuellen Filern (NetApps) auf ein neues Storage System der IBM transferiert. Für diese Aufgabe wurde eine Kapsel um die Webschnittstelle des Storage Systems der IBM erstellt und diese Kapsel den Internen Prozessen bei Siemens bzw. bei der Benutzeranlage oder ?modifikation zur Verfügung gestellt. Vorhandene Abläufe mussten dabei analysiert und modifiziert werden, da die alte Verarbeitung synchron, die neue Schnittstelle aber asynchron arbeitet.
Architektur und Realisierung automatischer Tests der Server der Deutschen Bank
Für die durch die Siemens AG betreuten Serversysteme der Deutschen Bank wurde ein System für automatisierte Tests erstellt, die eine gleichbleibende Qualität der bereitgestellten Serversysteme im Bezug auf installierte Software, Patches und Konfiguration ermöglichen.
Auf alle Server wurde eine Software Komponente als Windows Service verteilt, die eine Bearbeitung von Anfragen via WCF Kommunikation ermöglicht. Für diesen Agent wurden Messmethoden erstellt, die eine Überwachung von Environment, Patch-Versorgung, Services, Eventlog und Applikations-Versionen ermöglichen. Eine automatisierte Steuerung der Messmethoden über einen Scheduler und eine GUI für die manuelle Ausführung sind erstellt worden.
Die GUI für die Steuerung der Anwendung wurde mit ASP.NET (MVC) unter Nutzung von jQuery, JSON und AJAX als Web-Anwendung erstellt.
Die Ergebnisse der Messmethoden bleiben bis zu 6 Monate für Vergleiche gespeichert und werden über Housekeeping Jobs gelöscht um einen Überlauf der eingesetzten Datenbank (SQL 2008 SP1 ) zu vermeiden.
Auswahl und Beratung bei der Beschaffung der Server Infrastruktur, FC-SAN Architektur, Virtualisierung mit Microsoft Windows 2008 Core + Hypervisor, Verwaltung mit System Center Tools (Virtual Machine Manager, Operations Manager, Data Protection Manager).
Aufsetzen der Infrastruktur für Hyper-V, Clustering der Hyper-V Dienste, Erstellen und Management der virtuellen Maschinen mittels Virtual Machine Manager (VMM) von Microsoft. Administration unc Change Management der VMs, sowie der Hyper-V Hosts.
Analyse der Kundenanforderungen und Erstellung einer System-Architektur.
Architektur der Kommunikations-Infrastruktur mit Hilfe von WCF in einem Mehr-Schicht-Modell (n-tier). Sicherstellen der Erweiterbarkeit (Scale-up and Scale-out) durch Erweitern oder Hinzufügen von Servern und dynamischer Konfiguration der Rollen.
Nutzung von Webservices zur parallelen Verarbeitung von Anfragen auf räumlich getrennten Servern und Vereinheitlichung der Kommunikation auf Basis von XML und Command-Pattern.
Räumlich verteiltes Caching, Ausfallsicherheit durch Vernetzung räumlich getrennter Rechenzentren.
Logging durch Log4Net von verteilten Servern in eine zentrale Datenbank über eine MSMQ Schnittstelle.
Umsetzung der Architektur-Lösung als Lead-Developer (Team-Lead).
Konzeptionierung und Erstellung mehrerer Anwendungen zur Pflege der Stamm- und Bestandsdaten via ASP.NET mit MVC, jQuery, AJAX (Microsoft). Datenschnittstelle via LINQ to SQL und Entity Framework (Microsoft)
Vorhandene Datenquellen aus sowohl technisch als auch inhaltlich inhomogenen Systemen sollen zusammengeführt und consolidiert werden um die Daten für CRM Aktivitäten (Info Letter vor Reiseantritt, Welcome Back Letter, Specials, etc.) zur Verfügung stellen zu können.
Datenabgleich über mehrere verteilte Datenquellen, Bestimmung der Delta-Mengen, Aussagen über die Datenqualität ableiten.
.NET Framework 2.0C# .NETASP.NETSQL Server 2005
Expedia Deutschland
weitere Projekte gerne auf Anfrage
Aus- und Weiterbildung
Allgemeine Hochschulreife
Studium der Informatik, Universität Kaiserslautern, 6 Semester ohne Abschluß.
Studium der Betriebswirtschaftslehre, Universität , 6 Semester ohne Abschluß (mit bestehendem Prüfungsanspruch)
Position
Architektur und Erstellung von Portalen und verteilten Anwendungssystemen (3-, n-Tier) unter Nutzung aktueller Techniken (VUE.JS, C#, ASP.NET, ASP.NET Core, MVC, Web API, .NET, Javascript, knockout.js, Webservices, REST, SOA, LINQ, WCF, jQuery, AJAX,
Team Lead oder Lead-Developer, Coaching / Training on the job