beeline Hack Week 2017

[vc_row][vc_column][vc_column_text]

Bei einem Unternehmen zu arbeiten, das sich schwerpunktmäßig mit Mitarbeiter Benefits beschäftigt, bringt viele Vorteile mit sich. Jeden Monat einen Amazon Gutschein für Technik Spielereien, JobRelax für den Familienurlaub und natürlich freies Internet auch für Zuhause.
Doch besser geht immer!  Im Februar ging es nach Latrop im Sauerland um für eine Woche ungestört Software zu entwickeln. Ohne Vorgaben und ohne Ziele.
Eine gute Gelegenheit, um unser neues Produkt JobLunch zu testen. Einfach etwas leckeres essen, Beleg fotografieren und fertig. Bis zu 6,27 Euro werden erstattet. Hier der erste Kandidat:
Selber Nutzer der eigenen Software zu sein, ist sehr hilfreich. Der nächste Schwung an Verbesserungen konnte gleich eingeplant werden.
Feature Entwicklung in einer Hack Week ist zwar ganz nett, aber an Infrastruktur habe ich mehr Spaß. Der größere Teil von beeline ist eine Spring MVC Anwendung, die monolithisch in einem Elastic Beanstalk Container läuft. Die Wurzeln der Software gehen auf Mitte 2012 zurück.
Der größte Teil der Frontends ist inzwischen auf AngularJS umgestellt. Der Monolith ist bereits auf Spring Boot migriert. Dieses Jahr werden eine Reihe weiterer Dienste angeschlossen. Autorisierung und Authentifizierung per JWT sind erprobt, aber nicht mehr ganz State-of-the-Art.
Was noch fehlt ist der OAuth2 fähige SSO Dienst. Prinzipiell sollte das bei Spring ganz einfach sein, doch der Teufel lag im Detail. Am Ende der Hack Week waren dann aber der OAuth2 Server, der die bestehende Account Datenbank nutzen kann, aber Nutzer auch per Facebook und Github authentifizieren kann. (Xing war auch ein heißer Kandidat, aber die haben bislang nur OAuth1).
Ein Spring OAuth2 Client als autarker Service demonstriert den Authentication Code Flow. Die eigentliche Herausforderung war aber ein Resource Server, der per AngularJS / OAuth2 funktioniert und als Basis immer noch JWT Tokens verwendet.
Die neuen Komponenten laufen außerdem schon in Docker Containern, womit künftig die AWS Container Services statt Elastic Beanstalk verwendet werden können.
Das Thema war perfekt für die beeline Hack Week. OAuth2 über alle Systeme zu verwenden ist nicht gerade trivial. Der technologische Fortschritt bei Spring führt leider auch dazu, dass weite Teile der im Internet verfügbaren Beispiele inzwischen veraltet sind. Schnell ist man auf der falschen Spur.
Da hilft es, dass man ungestört vom Aufwachen bis zum Schlafengehen über Lösungen nachdenken kann. Natürlich nicht nur am Rechner, sondern auch bei Wanderungen durch das Sauerland und beim 4-Gänge Abendessen. Perfekt.
Jörn Krüger – Lead Developer beeline solutions

[/vc_column_text][/vc_column][/vc_row]

Recommended Posts