{"name":"technologies","slug":"technologies","paginate_by":null,"paginate_path":null,"render":true,"feed":false} {"name":"MySQL","slug":"mysql","path":"/de/technologies/mysql/","permalink":"https://martin-thurau.de/de/technologies/mysql/","pages":[{"relative_path":"story/drklein.de.md","colocated_path":null,"content":"<p>Die Dr. Klein Privatkunden ist ein Finanzdienstleiter zur Vermittlung von Baufinanzierungen, Versicherungen und Ratenkrediten\nfür Endverbraucher. Sie verwendet <a href=\"https://www.holacracy.org/\">Holakratie</a> als Organisationswerkzeug. \nIch war hier im Team &quot;Plattform&quot; tätig um eine Software Plattform zu entwickeln um die diversen Akteure der \nImmobilienbranche (Markler, Architekten, etc.) mit Endverbrauchern zusammenzubringen.<span id=\"continue-reading\"></span>. Bei meinem Eintritt\nwar das Projekt noch ziemlich am Anfang, sodass ich die Gelegenheit hatte an fast allen Teilen mitzuarbeiten:</p>\n<h2 id=\"neuentwicklung-des-kundenportals\">Neuentwicklung des Kundenportals</h2>\n<p>Das Kundenportal ist eine mit Angular entwickelten Micro-Frontend Anwendung die über eine RESTful API mit diversen, mit \nSpring Boot implementierten Microservicen kommuniziert. Die Services kommunizieren untereinander und mit dem Rest der \nPlattform über ein Kafka basiertes Event System.</p>\n<p>Neben einem Bereich für die persönlichen Daten des Kunden und die Anzeige des aktuellen Beraters enthält das \nKundenportal auch einen komplexen, mehrstufigen Wizard zur Selbstauskunft einer Baufinanzierung und einem Upload-Bereich\nfür die Dokumente des Kunden. Baufinanzierungen benötigen eine Menge zusätzlicher Unterlagen; ein Prozess der bisher\nmanuell vom Kundenberater gemanaged wurde. Das Kundenportal automatisiert nicht nur den direkten Upload in unsere \nVertriebsplattform, sondern enthält auch eine automatische klassifizierung der hochgeladenen Dokumente. Diese Komponente\nvereinfacht und beschleunigt den Prozess sowohl für den Berater als auch für den Kunden.</p>\n<h2 id=\"wartung-von-login-und-registrierung\">Wartung von Login und Registrierung</h2>\n<p>Nach einiger Zeit übernahm ich die Wartung und Weiterentwicklung unseres zentralen Login- und Registrierungsdienstes \nund das API-Gateways. Alle Nutzer der Plattform verwenden den gleichen OAuth 2 basierten Login und alle internen und\nexternen API calls werden vom API-Gateway authentifiziert. Alle unsere APIs sind öffentlich erreichbar, so das dies ein\nkritischer Punkt unserer Plattform ist.</p>\n<h2 id=\"mitarbeiter-bei-der-architektur-und-devops\">Mitarbeiter bei der Architektur und DevOps</h2>\n<p>Ich war Teil der Architektur und DevOps Kreise. Ziel des Architektur-Kreises ist die kontinuierliche Verbesserung und \noptimierung unserer Softwarearchitektur in Zusammenarbeit mit den Entwicklern. Der Kreis ist außerdem die funktionale\nEinheit in der zentrale Architekturfragen entschieden wurden.</p>\n<h2 id=\"migration-unseres-event-systems-von-rabbitmq-zu-kafka\">Migration unseres Event-Systems von RabbitMQ zu Kafka</h2>\n<p>Unsere Microservice-Architektur benutzte einen Event basierten Transfer von Zustand und Daten zwischen den Diensten und\nbesonders zwischen Kontext-Grenzen. Initial wurden diese Events über RabbitMQ in einer publish/subscribe Konfiguration\nübertragen. Um die von uns gewünschte logisches Konsistenz zwischen der Events zu wahren, war spezielle Logik in jedem\nEmpfänger nötig. Zwar war diese Logik in eine zentrale Bibliothek ausgelagert aber wir haben relativ schnell \nfestgestellt, dass diese Lösung selbst bei nur minimalem Traffic nicht performant genug ist. Daher haben wir uns \nentschieden diesen Teil durch eine Lösung auf Basis von Apache Kafka auszutauschen. Meine Arbeit hierbei waren das \ninitiale Prototyping, das Entwickeln der Client-Bibliothek für unsere Java Services und der Entwickler-Support beim \nrollout.</p>\n<h2 id=\"wartung-interne-bibliotheken\">Wartung interne Bibliotheken</h2>\n<p>Zusätzlich zur Bibliothek zur Kafka-Integration verwendeten wir auch zwei Bibliotheken für wiederkehrende Aufgaben\nwie Rest-Calls, Authentifizierung, Tracing und Logging die ich während meiner Zeit bei Dr. Klein gewartet und bei \nBedarf weiterentwickelt habe.</p>\n<h2 id=\"erforschung-neuer-technologien\">Erforschung neuer Technologien</h2>\n<p>Neben meiner anderen Arbeit war ich auch häufig damit beschäftigt neue Technologien und Ansatz zu untersuchen und sie \nanderen Teammitgliedern vorzustellen. Ich habe unter anderem Kotlin als zweite JVM-basierte Sprache eingeführt und ein\nMonitoring-Tool in Rust entwickelt. Um mir und anderen Entwicklern das Leben einfacher zu machen, habe ich außerdem\neinen Yeoman basierten Code-generator für den internen Gebrauch entwickelt.</p>\n<h2 id=\"unterstutzung-der-anderen-entwickler\">Unterstützung der anderen Entwickler</h2>\n<p>Als Fullstack Entwickler und relativ langes Mitglied im Team &quot;Plattform&quot; kannte ich fast alle Teile zu einem gewissen \nTeil. Aus diesem Grund war ich häufig Ansprechpartner zu übergeordneten Fragen von anderen Entwicklern und wurde beim\ndebugging häufig dazugezogen.</p>\n<p>Ich hatte außerdem mehrere Holakratie-spezifische Rollen wie Facilitator (leitet Meetings) und Secretary (ist eine Art\nSchriftführer und Organisator).</p>\n","permalink":"https://martin-thurau.de/de/story/drklein/","slug":"drklein","ancestors":["_index.de.md","story/_index.de.md"],"title":"Dr. Klein Privatkunden AG","description":null,"updated":null,"date":null,"year":null,"month":null,"day":null,"taxonomies":{"technologies":["Spring Boot","Kafka","MySQL"],"languages":["Kotlin","Java","Rust","Javascript","Typescript"]},"authors":[],"extra":{"work_from":"2019-04-01","work_until":"2021-09-30","link":"https://www.drklein.de","logo":"story/drklein_logo.png"},"path":"/de/story/drklein/","components":["de","story","drklein"],"summary":"<p>Die Dr. Klein Privatkunden ist ein Finanzdienstleiter zur Vermittlung von Baufinanzierungen, Versicherungen und Ratenkrediten\nfür Endverbraucher. Sie verwendet <a href=\"https://www.holacracy.org/\">Holakratie</a> als Organisationswerkzeug. \nIch war hier im Team &quot;Plattform&quot; tätig um eine Software Plattform zu entwickeln um die diversen Akteure der \nImmobilienbranche (Markler, Architekten, etc.) mit Endverbrauchern zusammenzubringen.","toc":[{"level":2,"id":"neuentwicklung-des-kundenportals","permalink":"https://martin-thurau.de/de/story/drklein/#neuentwicklung-des-kundenportals","title":"Neuentwicklung des Kundenportals","children":[]},{"level":2,"id":"wartung-von-login-und-registrierung","permalink":"https://martin-thurau.de/de/story/drklein/#wartung-von-login-und-registrierung","title":"Wartung von Login und Registrierung","children":[]},{"level":2,"id":"mitarbeiter-bei-der-architektur-und-devops","permalink":"https://martin-thurau.de/de/story/drklein/#mitarbeiter-bei-der-architektur-und-devops","title":"Mitarbeiter bei der Architektur und DevOps","children":[]},{"level":2,"id":"migration-unseres-event-systems-von-rabbitmq-zu-kafka","permalink":"https://martin-thurau.de/de/story/drklein/#migration-unseres-event-systems-von-rabbitmq-zu-kafka","title":"Migration unseres Event-Systems von RabbitMQ zu Kafka","children":[]},{"level":2,"id":"wartung-interne-bibliotheken","permalink":"https://martin-thurau.de/de/story/drklein/#wartung-interne-bibliotheken","title":"Wartung interne Bibliotheken","children":[]},{"level":2,"id":"erforschung-neuer-technologien","permalink":"https://martin-thurau.de/de/story/drklein/#erforschung-neuer-technologien","title":"Erforschung neuer Technologien","children":[]},{"level":2,"id":"unterstutzung-der-anderen-entwickler","permalink":"https://martin-thurau.de/de/story/drklein/#unterstutzung-der-anderen-entwickler","title":"Unterstützung der anderen Entwickler","children":[]}],"word_count":591,"reading_time":3,"assets":[],"draft":false,"lang":"de","lower":null,"higher":null,"translations":[{"lang":"de","permalink":"https://martin-thurau.de/de/story/drklein/","title":"Dr. Klein Privatkunden AG","path":"/opt/buildhome/repo/content/story/drklein.de.md"},{"lang":"en","permalink":"https://martin-thurau.de/story/drklein/","title":"Dr. Klein Privatkunden AG","path":"/opt/buildhome/repo/content/story/drklein.md"}],"backlinks":[]}],"page_count":1}