Projekt „OSP“ 05.2019 – 04.2021: Für die Verbesserung der Erreichbarkeit der Techem-Kunden soll die Route des Technikers genauer berechnet werden. Die Route umfasst ebenfalls die Staus auf dem Weg zum Kunden. Für dieses Projekt soll ein Microservice als SOAP-Schnittstelle mit einer Datenbank programmiert werden. Die Datenbankauswahl fiel auf PostregSQL. Für die Schnittstelle verwendeten wir ASP.Net mit der Programmiersprache C#. Als Framework Version haben wir das .Net Framework 6.7 verwendet. Grund für diese Version ist, dass Techem ein eigenes Framework für die Verbindung mit der DB implementiert hat, das auf dieser Version basiert. Nachdem der Microservice Online ging, war die Performance der Datenbank PostgresSQL mittelmäßig, woraufhin wir uns entschieden mit Oracle DB zu arbeiten. Für die Versionskontrolle wurde TFS von Microsoft verwendet. Diese hilft uns bei der Versionierung, weil wir als Entwicklungsumgebung sowohl Visual Studio 2017 und 2019 benutzt haben und somit kein zusätzliches Programm notwendig ist. Hierbei war meine Aufgabe eine Datenbankstruktur zu erstellen, die sowohl die Kundeninformation als auch Aufträge persistierte. Hinzu sollen neue und geänderte Aufträge an einen Drittanbieter gesandt werden, der diese Information empfängt und anschließend die Route für den heutigen Tag berechnet. Die Umsetzung basiert auf einer ereignisgesteuerten Architektur. Die berechnete Route habe ich über Soap Service entgegengenommen und anschließend persistiert. Nach dem Persistieren werden diese Daten an unsere Mastersysteme weitergeleitet. Die Data-Interchange Format war in dem Fall XML. Die Daten sollen zudem gemonitort werden. Hierfür soll von mir ein SQL-Befehl geschrieben werden und dieser bei spezifischen Applikationen für das Monitoring verwendet werden. Das Vorgehensmodell der Anwendung war Scrum. Außerdem bestand meine Aufgabe darin, dass die Produkte als Pipelines in Azure DevOps implementiert werden, um die Lieferung unserer Produkte zu gewährleisten. Um die Unittest zu gewährleisten habe ich als erste Entwickler bei Techem Bielefeld MSTest verwendet. Mit dem Team einigten wir uns später auf NUnits. Techem stellte uns für 3 Tage eine Online-Kurs für UnitTest. Angewendete Tools/ Technologien: C#, .Net Framework, ASP.NET 6, PostgresSQL und Oracle, SOAP, Visual Studio 2017, Visual Studio 2019, TFS, Microservice, Scrum, Azure DevOps, XML, MSTest, NUnit Projekt „AccountDB“ 04.2020 – 01.2023: Bei dem Projekt „AccountDB“ handelt es sich um eine interne REST-API, die die Kernfunktionalitäten des Kundenportals übernehmen soll. Einer dieser Kernfunktionalitäten war der Mieterwechsel. Die Architektur beinhaltete mehrere REST-API, deshalb wurde REST-API Modular von mir implementiert. Alle Entwickler benötigten nur ein Plugin mit einer Interface-Klasse zu implementieren, so dass der Modulare Service diesen Plugin einfach laden konnten. Hierfür wurde ebenfalls eine Datenstruktur mit Oracle Datenbank erstellt. Die Zusammenarbeit erfolgte mit den Frontendentwickler. Die REST-API hat eine Beschreibung erhalten, sodass der Frontendentwickler damit arbeiten konnte. Dies wurde gewährleistet mit dem Framework Swagger. Swagger ist eine Sammlung von HTML, JavaScript und CSS, die ein dynamisches und gut lesbares Dokument erstellt. Das Daten-Interchange-Format für diesen RESTFul Service ist JSON. Außerdem muss der RESTFul Service sowohl mit dem Pagination als auch mit dem Filter zurechtkommen. Ebenfalls darf die Perfomance bei den riesigen Datenmengen nicht in Vergessenheit geraten. Wie in dem Projekt OSP soll mit C# und ASP.Net entwickelt werden. Als Entwicklungsumgebung wurde Visual Studio 2017 & 2019 verwendet. In der letzten Zeit sogar Visual Studio 2022. Die Versionskontrolle ist bei diesem Projekt ebenfalls TFS. Damit der Installateure des RESTFul Services einen Überblick über die Plugins, Datenbanknamen, Logger usw. hat, habe ich eine Overview Seite erstellt, die nach dem Start erscheint. Dies wurde mit HTML und CSS implementiert. Hinzu erstellte ich eine Seite, auf der alle Change Logs aufgerufen werden. Im Hintergrund implementierte ich einen Connector, der eine Verbindung mit HQLM herstellt. Der Connector liest alle Tickets aus HQLM und stellt diese als Timeline auf der Webseite dar. Für die sicherere Kommunikation mit den RESTFul Services zwischen den Systemen, implementierte ich den API-Key. Alle Anfrage an den RESTFul Service dürfen ausschließlich mit dem API-Key beantwortet werden. Ebenfalls gehört zu meinen Aufgaben den RESTFul Service mit der Networkplattform Consul zu verbinden. Consul ermöglicht unteranderem den RESTFul Service zu überwachen und Load Balancing zu gewährleisten. Für kleine Nebenprojekte versuchte ich weiter mit .Net Core und ASP.Net Core weiterzuentwickeln. Die kleinere Nebenprojekte sollen dazu dienen, Projekte mit .Net Framework abzulösen. Das Vorgehensmodell dieses Projektes „AccountDB“ war Scrum. Parallel wurde als Taskforce das Projekt mit Kanban vorgegangen. Die Unittest gestalteten sich schwieriger umzusetzen in diesem Projekt, da das techem Framework für die DB-Verbindung kein Interface enthielten. Aufgrund des fehlenden Interface musste ich den Modulare RESTFul Service mit eine Wrapper Klasse, die ein Interface beinhaltet, erweitern. Somit konnten wir dann die NUnits bauen. Um eine elegante Lösung für dieses Problem zu finden, wollte ich meine Kenntnisse in EF nutzen und die eigenen Frameworks von techem mit EF auszutauschen. So eine Umstellung erwies sich später als schwierig, da zum einen die Erfahrung bei den Mitentwicklern fehlte und zum anderen viele Microservices umgestellt werden. Die Lösung soll daher verschoben werden. Die einzelnen Services dieses Projekts wurden mit AzureDevOps gebildet und geliefert. Zu dem wollte ich über WebHook eine Webseite mit Blazor erstellen, die alle Lieferung unseres Programms und den Status per Knopf gewährleisten soll. Eine Art neue Schnittstelle für Azure DevOps. Nebenbei habe ich mich in Azure Cloud eingearbeitet, um in der Zukunft unsere Projekte auf Cloud umzustellen. Angewendete Tools/ Technologien: C#, .Net Core, ASP.NET Core, Oracle, Visual Studio 2017,2019 & 20022, TFS, ASP.NET, Swagger, RESTFul Service, Scrum, Azure Cloud, EF, JSON, Azure DevOps, HTML, CSS3, Blazor, Consul, Webhook