Moin Zusammen,

ich möchte euch in diesem Azubi Blog Beitrag etwas zu meinem Abschlussprojekt erzählen, welches ich im Mai in Team Las Vegas angegangen bin.

Für die OPHEO Software gibt es zwei Entwickler Teams mit unterschiedlichem Fokus. Team London, in dem Team, wo ich die letzten 1 ½ Jahre war, in welchem sich alles um Disposition, Optimierung und Mobile Entwicklung dreht und das Team Las Vegas, bei denen sich alles um Stammdaten, Faktura, Schnittstellen und Benachrichtigungen dreht.

Das Ziel meines Abschlussprojektes war es eine Web-API zu erstellen welche als Basis von Team Las Vegas genutzt werden kann um eine umfangreiche Web-API als neue Schnittstelle in OPHEO TLS zu integrieren. Warum eine Schnittstelle fragt ihr euch? OPHEO TLS hat bereits umfangreiche Funktionalität, um sämtliche Daten zu importieren und exportieren. Zwei Beispiele wären: Touren zu exportieren oder Aufträge und andere Stammdaten zu importieren.

Die neue Web-API kann von Kunden, parallel zu den vorhandenen Schnittstellen genutzt werden, um Daten aus OPHEO abzufragen oder in Zukunft von uns Entwicklern, wenn wir neue Services entwickeln.

Zu meinem Projekt gehörte, neben den Tour Export Endpunkten, eine Anbindung an unsere vorhandene Datenbank, Unit Test für die Business Logik und eine Swagger UI Oberfläche.

Die Verbindung zur Datenbank wird mit Entity Framework Core hergestellt und jedes Modell wird einmalig basierend auf der dazugehörigen Struktur auf der Datenbank erstellt. Meine beiden Endpunkte haben im Hintergrund Business Logik laufen um basierend auf den Query Parametern die richtigen Objekte für die Response zusammen zu suchen. Für diese Business Logik wurde in einem separaten Projekt Unit Test angelegt. Jede Methode hat ihre eigene Unit Test Klasse bekommen.

Das Swagger UI soll als Dokumentation der API und der Endpunkte dienen für intern als auch Kunden. Jedes Objekt, jedes Feld und jeder Endpunkt, soll eine Beschreibung haben. Die Beschreibungen sollen auf mehrere Sprachen verfügbar sein und an jedem Endpunkt sollen vordefinierte Standard Response Codes dokumentiert sein. All das wird über Schema Filter definiert und somit möglich gemacht.

Die Basis für eines der großen neuen Features dieses Jahr zu bauen, hatte mir sehr viel Spaß gemacht und ich konnte daneben auch noch einiges an Erfahrung mitnehmen, was das Koordinieren von Features anbelangt.

Julian

Solvares Logistics Borlabs Logo