Backend-Development mit Java, Spring Boot, Spring Data mit SQL und noSQL Datenbanken, OAuth 2.0, DevOps mit Fokus auf Dev
Aktualisiert am 09.07.2024
Profil
Mitarbeiter eines Dienstleisters
Remote-Arbeit
Verfügbar ab: 15.07.2024
Verfügbar zu: 100%
davon vor Ort: 30%
Skill-Profil eines fest angestellten Mitarbeiters des Dienstleisters
Deutsch
Verhandlungssicher
Englisch
Fortgeschritten
Russisch
Muttersprache

Einsatzorte

Einsatzorte

Reutlingen (+200km)
Deutschland
möglich

Projekte

Projekte

2 Monate
2024-04 - 2024-05

Entwicklung PoC - E-Commerce

Senior Kotlin Entwickler Kotlin Keycloak REST ...
Senior Kotlin Entwickler
Es geht im PoC um ein Portal für Cashback und Gutscheine. Ich habe hauptsächlich als Backend-Entwickler im Projekt fungiert und war zuständig für die Backend-Architektur, das API-Design, SSO mit Keycloak und den Import von Gutscheinen von verschiedenen E-Shops. Ein wichtiger Teil davon war das Tracking von Gutscheinen für Benutzer und die jeweiligen E-Shops. Dabei habe ich Kotlin mit Spring Boot verwendet.
Kotlin Keycloak REST Hibernate Spring Boot Spring Security
FERENDIN Engineering GmbH
remote
7 Monate
2023-09 - 2024-03

Entwicklung des Single-Sign-Ons (SSO)

Java Entwickler Keycloak Java Quarkus ...
Java Entwickler
Im Rahmen dieses Projekts war ich ursprünglich an der Implementierung eines Proof of Concept beteiligt, um die Machbarkeit der Umsetzung von Single Sign-On (SSO) in Zusammenhang mit dem monolithischen SAP Commerce (Hybris) zu ermöglichen.
Nach der gründlichen Evaluation des Konzepts und der erfolgreichen Präsentation der positiven Ergebnisse, zusammen mit dem Team haben wir die weiteren Projektphasen detailliert ausgearbeitet und geplant. Hierbei lag mein besonderes Augenmerk auf den solchen Aspekten, als Migration von Customer-Daten und seine Credentials aus dem SAP Commerce ins Keycloak-System, die nahtlose Umstellung unter Beibehaltung der Benutzer-Sessions, Implementierung eines Event-Driven-Modells zur Integration von Keycloak mit Drittanbietern, Nutzung eines zentralen Services zur E-Mail-Kommunikation anstelle der Standardmechanismen von Keycloak sowie die native Implementierung von OAuth 2.0 und OpenID auf Ebene der Spring Security für SAP Commerce. Zusätzlich hatte ich die Verantwortung für die Erstellung und Pflege der Projektdokumentation sowie für umfassende Testläufe zur Sicherstellung der Qualität und Zuverlässigkeit des entwickelten Systems.

Keycloak Java Quarkus Spring Framework Spring Security SAP Commerce REST API OAuth 2.0 OpenID Docker Nginx SSL/TLS SonarQube Git/GitHub Actions Nexus Docker Registry Git Github Actions Nexus MACH-Architektur
OUTLETCITY AG
8 Monate
2023-01 - 2023-08

Implementierung von Social Sign-In Methoden (Google, AppleID)

Java Entwickler Java Spring Framework Spring Security ...
Java Entwickler
Zur Umsetzung dieses Projekts habe ich zunächst eine umfassende Analyse der Kunden- und ihren Kontodatenstruktur durchgeführt, einschließlich der Datenbanktabellenstruktur mit deren Beziehungen, sowie der zugehörigen Java-Class-Modelle. Auf Basis dieser Analyse habe ich die Dokumentation zum Projekt vorbereitet, das schrittweise die Implementierung alternativer Anmeldeoptionen vorsah. In enger Zusammenarbeit mit dem Team, insbesondere den UX-Designern, haben wir Ansätze für die Umsetzung von A/B-Tests erarbeitet, um die Attraktivität der neuen vorgeschlagenen Anmeldeverfahren zu bewerten.
Im Verlauf des Projekts mussten noch zahlreiche verschiedene abgeleitete Aufgaben gelöst werden, wie zum Beispiel die Implementierung einer Funktion für die Hidden E-Mail Adresse für AppleID Social Sign-In Methode oder die Möglichkeit zur Änderung einer E-Mail Adresse für Benutzerkonto. Des Weiteren waren Aufgaben wie die Wiederherstellung des Zugriffs auf ein Konto über Social Sign-In oder die Funktionen wie "Passwort vergessen? und ?Passwort vergeben? zu bewältigen.
Im Projekt wurde auch ein umfangreiches Refactoring bestehendes Codes für die zuvor implementierte Facebook Sign-In durchgeführt. Alle Social Sign-In Methoden wurden standardisiert, und die Lösungen wurden durch eine einheitliche Implementierung mit dem Spring OAuth-Client ersetzt. Dieser Schritt trug dazu bei, die Wartbarkeit und Skalierbarkeit des Systems zu verbessern und die Implementierung neuer Anmeldeoptionen zu erleichtern
Java Spring Framework Spring Security SAP Commerce REST API OAuth 2.0 OpenID SonarQube Git Jenkins
OUTLETCITY AG
9 Monate
2022-04 - 2022-12

Entwicklung von Anwendungen (Microservices) zur Integration von Produkt- und Kundendaten

Java Entwickler Java Spring Boot Apache Camel ...
Java Entwickler
Im Rahmen dieses Projekts war das Ziel, die Belastung der Datenbank durch regelmäßige Exporte von Produkt- und Kundendaten in Drittsysteme zu reduzieren. Zur Lösung dieser Herausforderung habe ich das Projekt vorbereitet, das Verwenden eines Zwischenspeichers auf Basis von Apache Solr vorsah. Apache Solr wurde in diesem Kontext nicht als Search-Engine verwendet, sondern als ein schnelles Speicher-System, das einen schnellen Zugriff auf große Datenmengen ermöglicht und diese effizient verarbeitet. Dadurch wird die Belastung der Hauptdatenbank um ein Vielfaches reduziert, entsprechend der Anzahl der Drittsysteme, während gleichzeitig die Verarbeitungsgeschwindigkeit der Daten und die Generierung von Ausgabedaten erheblich gesteigert werden.
Zusätzlich wurde auch die Templateisierung eingesetzt, um schnell und effizient neue Ausgabeformate für neue Zielgruppen zu erstellen und anzuwenden. Diese Templateisierung ermöglicht es, innerhalb kurzer Zeit neue Datenformate zu erstellen und sie auf neue Verbraucher anzuwenden.
Java Spring Boot Apache Camel SonarQube Docker Nexus Docker Registry. Git Github Actions Nexus MACH-Architektur AWS Amazon Dynamo Amazon EC2 Amazon S3 ELK Elastic Search
OUTLETCITY AG
9 Monate
2021-07 - 2022-03

Weiterentwicklung des Online Shops und Marketplaces

Java Entwickler Java Spring Framework SAP Commerce ...
Java Entwickler

Als Teil meiner Aufgabenstellung, neben den großen Projekten im gesamten System, habe ich kontinuierlich an der Weiterentwicklung des Online-Shops gearbeitet. Hierbei wurden sowohl die Implementierung neuer Gescha?ftsanforderungen, wie beispielsweise die Entwicklung und Integration neuer Komponenten oder die Vorbereitung fu?r A/B-Tests, als auch Fehlerbehebungen durchgefu?hrt.
Die Informationen zu jedem neuen Feature wurden in Jira-Tickets dokumentiert und bei Bedarf auch in Confluence festgehalten, insbesondere wenn es viele Details und visuelle Darstellungen gab. Die Entwicklung erfolgte gema?ß GitFlow, sodass der Name jedes Branches der Ticketnummer in Jira entsprach und jeder einzelne Commit die Ticketnummer enthielt. Dadurch war es problemlos mo?glich, eine Verbindung zwischen Codea?nderungen und den entsprechenden Anforderungen innerhalb des Tickets herzustellen. 

Java Spring Framework SAP Commerce REST MVC JSP Vue.js SonarQube Jenkins Git Github AWS Amazon S3 Amazon Dynamo Amazon EC2 ELK Elastic Search
OUTLETCITY AG
5 Monate
2021-03 - 2021-07

Entwicklung eines Integration-Frameworks - Banking Omnikanal

Java Entwickler Java Maven Git ...
Java Entwickler

Im Rahmen meiner Ta?tigkeit bei Innotech GmbH habe ich mich intensiv mit der Integration von Bankensystemen bescha?ftigt. Die Hauptaufgabe des Projekts bestand darin, eine universelle Bibliothek zu erstellen, die es ermo?glicht, dass sich Clientanwendungen sich mit der zentralen unternehmensweiten Integrationsplattform verbinden ko?nnen. Auf diese Weise musste jedes Team keine eigene Implementierung zur Anbindung an die Integrationsplattform entwickeln, sondern lediglich einen Satz von Verbindungseinstellungen anwenden.
Ich habe das JMS-Protokoll gru?ndlich erforscht, insbesondere in Bezug auf die Verbindung mit IBM MQ. Basierend auf diesen Erkenntnissen habe ich eine Prototypen-Bibliothek implementiert, die auf mehrere Queue-Managern verweisen und die verfu?gbaren verwenden konnte, um eine fehlertolerante Integration sicherzustellen. Des Weiteren lag ein Schwerpunkt meiner Arbeit auf der Konfiguration einer sicheren Verbindung unter Verwendung der SSL/TLS-Protokolle, um die Sicherheit der Daten zu gewa?hrleisten.
Zusa?tzlich habe ich das Softwaremodul parametrisiert und ein Verbindungsmodell erstellt, um die Verbindungseinstellungen auf eine separate Ressource zu u?bertragen, was eine effiziente Verwaltung ermo?glichte. Um die Funktionalita?t des JMS-Integration-Frameworks zu u?berpru?fen, habe ich eine andere Stub-Module entwickelt und verschiedene Test-Szenarien simuliert. Schließlich habe ich die Integrationskette erstellt, umfangreiche Stresstests durchgefu?hrt und in die Pipeline eingebaut, um die Leistungsfa?higkeit des Systems unter realen Bedingungen zu u?berpru?fen und sicherzustellen, dass es den Anforderungen standha?lt. 

Java Maven Git TeamCity IBM WebSphere MQ Spring Spring Boot Spring Autoconfiguratiion Spring Integration
Innotech GmbH
3 Monate
2021-01 - 2021-03

Entwicklung eines Portals für den Zugriff auf Automatisierungstools für Integrationslösungen

Java Entwickler Java Security Data JPA) ...
Java Entwickler

Eines der wichtigsten Projekte bei Innotech GmbH war die Entwicklung eines Portals fu?r den Zugriff auf Automatisierungstools fu?r Integrationslo?sungen. Die Grundlage des Portal-Engines bildete ein Integrationsmodul- Generator, der von einem anderen Team entwickelt wurde. Meine Aufgabe bestand jedoch darin, eine grafische Benutzeroberfla?che fu?r das System direkt in Form eines Portals mit der Organisation von Berechtigungen und Zugriffen zu erstellen.

Ein weiterer wichtiger Aspekt meiner Arbeit bestand darin, verschiedene Optionen fu?r die Benutzerauthentifizierung im System zu entwickeln, darunter LDAP, Kerberos und basierend auf einer Datenbank (Spring DAO). Zudem war ich verantwortlich fu?r die nahtlose Integration des Portals mit den Atlassian Jira- und Confluence-Systemen, einschließlich der automatischen Erstellung von Aufgaben in Jira und dem Hochladen von Dokumentation zu Confluence.
Um die Qualita?t des Codes sicherzustellen, habe ich die Analyse der Quellcodeabdeckung durch Tests eingerichtet und statische Quellcode-Analysetools wie Quality Gates in SonarQube verwendet. Daru?ber hinaus habe ich Skripte entwickelt, um die Portalbereitstellung auf Servern zu automatisieren, wobei ich Python und Ansible eingesetzt habe. 

Java Security Data JPA) Maven Git JUnit Mockito WildFly TeamCity Ansible Node.js. Spring MVC Spring Data Spring Security JPA Java EE
Innotech GmbH
6 Monate
2020-07 - 2020-12

Design und Entwicklung eines Verwaltungsportals der Integrationsplattform - Banking Omnikanal

Java Entwickler Spring Boot Spring Cloud Gradle ...
Java Entwickler

Meine Aufgabe bestand darin, die Konzeption und das Design des Portals fu?r die Verwaltung der Integrationsplattform zu entwickeln. Dies umfasste eine Vielzahl von Verantwortlichkeiten, darunter das Entwerfen der Systemstruktur innerhalb einer Microservice-Architektur. Hierbei war es wichtig, die Funktionen effizient in separate Microservices aufzuteilen, um eine flexible und skalierbare Plattform zu schaffen. Zudem habe ich eine Serviceregistrierung entwickelt, um die einzelnen Microservices effektiv zu verwalten und ihre Verfu?gbarkeit sicherzustellen.

Ein weiterer wichtiger Aspekt meiner Arbeit bestand im Design der Datenbankstruktur fu?r das Portal. Hierbei mussten die Datenbanktabellen und ihre Beziehungen sorgfa?ltig geplant werden, um eine effiziente Datenhaltung und -verarbeitung zu gewa?hrleisten.
Ein wichtiger Schwerpunkt lag auch auf der Integration des Portals mit der Administrationskonsole von IBM MQ und ACE u?ber REST. Diese Integration ermo?glichte einen reibungslosen Datenaustausch und die effiziente Verwaltung der Integrationsplattform direkt u?ber das Portal.

Zusa?tzlich habe ich mich intensiv mit der Verwaltung der Konfigurationsparameter der Integrationsplattform befasst. Dies umfasste die Implementierung eines benutzerfreundlichen Systems zur Konfiguration und Verwaltung der Einstellungen, um eine optimale Leistung und Flexibilita?t der Plattform bereitzustellen. 

Spring Boot Spring Cloud Gradle Docker Git JUnit Mockito IBM WebSphere MQ IBM App Connect Enterprise
Innotech GmbH
2 Jahre 2 Monate
2018-06 - 2020-07

Integration im Bankenbereich - Banking Omnikanal

Java Entwickler Java Groovy Kotlin ...
Java Entwickler

Im Rahmen meiner Aufgaben habe ich umfassende Integrationsszenarien implementiert und die Gescha?ftsanforderungen innerhalb des Integrations-Frameworks umgesetzt. Dies beinhaltete die Bildung von DTO- und API-Artefakten auf vordefinierten XML/JSON-Schemas sowie die Entwicklung von Integrationsadaptern, die auf diesen Artefakten basierten. Dazu musste ich die atomare Lieferung mit modifizierten Komponenten organisieren, wa?hrend ich die Daten fu?r weitere Tests vorbereitete und aktiv an Testprozessen teilnahm, um eine reibungslose Auslieferung an die Produktionsumgebung zu gewa?hrleisten.
Zusa?tzlich habe ich das Integration-Framework durch die Einfu?hrung von JSON-Messaging weiterentwickelt. Dabei habe ich Werkzeuge erkundet, um effektiv mit dem JSON-Format zu interagieren, einschließlich Umgang mit JSON-Schema und der Konvertierung von JSON in Java-Klassen. Ich habe außerdem die Serialisierung und Deserialisierung von JAVA-Klassen sowie die Validierung von JSON-Messages nach dem JSON-Schema durchgefu?hrt.
Ein weiterer wichtiger Bereich meiner Ta?tigkeit war die Entwicklung von DevOps-Prozessen und -Komponenten. Hierbei habe ich Best-Practices wie Continuous Integration, Continuous Testing, Continuous Delivery und Continuous Deployment implementiert. Dies umfasste die Entwicklung von Skripten zur Implementierung der CI, die Konfiguration von Projekten bei Pull-Anfragen, die Erstellung vorbereiteter Distributionen des Projekts sowie die Einrichtung der statistischen Analyse des Quellcodes mit SonarQube. Ich habe außerdem Pipelines zur Installation von Distributionen auf Servern erstellt, Jenkins-Pipelines verwaltet und Ansible-Playbooks und Rollen entwickelt. Die Sicherstellung der Speicherung von Artefakten im Repository und die Entwicklung automatisierter Testtools auf Stubs geho?rten ebenfalls zu meinen Verantwortlichkeiten, ebenso wie die Entwicklung von Groovy-, Python- und Bash-Skripten zur Installation einzelner Systemkomponenten und das dynamische Infrastrukturmanagement unter Verwendung der Private Cloud Infrastruktur, einschließlich VM-Instanzen, Cloud- Technologien und Kubernetes-Klastern.
Außerdem habe ich UI-Tools entwickelt, um die Erstellung von Standardlo?sungen zu vereinfachen, einschließlich eines Prototyps von Integrations-Microservices. Dabei lag mein Fokus auf der Entwicklung von Webanwendungen mit einem Frontend-Teil, der Entwicklung von Gateways fu?r verschiedene Integrationssysteme wie IBM MQ, Apache Kafka und REST API, sowie der Entwicklung von Microservices zur Verarbeitung von Datenformaten. Ich habe auch Unit-Tests und Integrationstests entwickelt und manuelle Pru?fungen der REST API und der Integrationsszenarien durchgefu?hrt. 

Java Groovy Kotlin Spring Framework (Boot Core Beans Annotations) Maven Gradle Git jUnit Mockito Wildfly IBM WebSphere MQ Jenkins Ansible Python Red Hat Enterprise Linux Bash Docker XML/XSD Altova XMLSpy Atlassian Software: BitBucket Jira Confluence Java EE
Sberbank-Technologien AG
2 Jahre 2 Monate
2016-03 - 2018-04

Industrielle Produktion

Automatisierungsingenieur IEC 61131-3 (LD FBD SFC) ...
Automatisierungsingenieur

Als Automatisierungsingenieur in einem Industrieunternehmen umfassten meine Aufgaben verschiedene

Tätigkeiten, die sowohl mit der Automatisierung der wichtigsten Produktionsprozesse als auch mit der Integration

verschiedener Systeme verbunden waren.

Ich war auch für die Umsetzung komplexer Projekte verantwortlich, die sowohl Software- als auch

Hardwarekomponenten umfassten. Die Phasen dieser Projekte enthielten die Vorbereitung des Projekts selbst, das

Hochfahren der erforderlichen Ausrüstung, deren Installation, Konfiguration, Integration und Entwicklung

erforderlicher zusätzlicher Software.

Eines der Projekte, das ich hervorheben möchte, war die Modernisierung und Inbetriebnahme von

Zugangskontrollsystemen. Dieses Projekt bestand aus Teilen, die die Kontrolle und Protokollierung des ein- und

ausfahrenden Fahrzeugverkehrs auf dem Betriebsgelände sowie die Kontrolle der betretenen Mitarbeitern

umsetzen mussten. Im Rahmen des Projekts wurde die Auswahl der erforderlichen Komponenten getroffen, wie

Schlagbäume, Schranken, Überwachungskameras und andere Zugangskontrollsysteme, sowie Software (zum

Beispiel für die Erkennung und Protokollierung von Kfz-Kennzeichen). Es wurden Schemata und Zeichnungen

erstellt, die Geräte angeschlossen und verkabelt. Anschließend wurde das Equipment konfiguriert und in andere

industrielle Systeme integriert, wie die Integration der Zutrittskontrollsoftware in das Personalmanagementsystem

und das Unternehmensmanagementsystem (BPM-Software).

Als logische Fortsetzung dieses Projekts habe ich auch andere ähnliche Projekte umgesetzt. Zum Beispiel die

Automatisierung der Steuerung einer Fahrzeug-Wiegestation zur Erfassung des eingehenden Rohstoffvolumens. Bei

diesem Projekt wurden bestehende Kennzeichenerkennungs- und -protokollierungssysteme genutzt. Allerdings

waren das auf Dehnungsmessstreifen basierende Gewichtsmesssystem und die Integration mit der Lagersoftware

die neue Komponente.

Neben den oben genannten Projekten, die nur einen kleinen Teil meines Verantwortung sbereichs abdecken,

gehörten auch zu meinen Aufgaben die regelmäßige Überwachung und Wartung aller vorhandenen automatisierten

Systeme, seien es Roboteranlagen oder CNC-Maschinen.

IEC 61131-3 (LD FBD SFC) ?/?++ Siemens LOGO Soft OWEN Logic CoDeSys Owen OPC Server Lectus Modbus OPC/DDE Master SCADA PostgreSQL Delphi XE10 Object Pascal Tenso-M Software
Belshpala AG
4 Jahre 6 Monate
2011-08 - 2016-01

Industrielle Produktion

Projektingenieur IEC 61131-3 (LD FBD SFC) ...
Projektingenieur

Auf der Position des Projektingenieurs hatte ich die Gelegenheit, als Teil eines Teams an zahlreichen vielfältigen

Automatisierungsprojekten in verschiedenen Branchen teilzunehmen.

Unter den großen Projekten könnte ich folgende hervorheben:

- Aufbau und Inbetriebnahme einer automatisierten Wasserversorgung

- Modernisierung einer Futtermittelproduktion

- Modernisierung einer Öl- und Fettproduktion

- Modernisierung der Produktionslinie der Molkerei

- Entwurf einer Betonmischanlage

- Entwicklung einer SPS (speicherprogrammierbare Steuerung) auf Basis des ATmega 2560/2561 Chips

Der Großteil der Projekte bestand aus der Modernisierung bestehender Ausrüstung. In solchen Projekten wurde ein

Teil der nicht mehr wartungsfähigen Ausrüstung durch neue ersetzt, wobei alle technologischen Parameter

entsprechend berücksichtigt und neu berechnet wurden. In einigen Projekten war das Ziel die Steigerung der

Leistung der Produktionsanlagen, und diese Ziele wurden ebenfalls durch Modernisierung erreicht.

IEC 61131-3 (LD FBD SFC) ?/?++ Siemens LOGO OWEN PLC CoDeSys Atmel® AVR ATmega 2560/2561
IT Engineering GmbH

Aus- und Weiterbildung

Aus- und Weiterbildung

4 Jahre 10 Monate
2006-09 - 2011-06

Wirtschaftsinformatik

Diplom Enterprise Economics, Belgorod State Technological University
Diplom Enterprise Economics
Belgorod State Technological University

Position

Position

Backend-Development mit Java oder Kotlin

  • AWS
  • Keycloak,
  • Apache Camel,
  • Apache Kafka,
  • IBM MQ,
  • ActiveMQ/Artemis,
  • Docker,
  • Apache Maven,
  • Gradle,
  • Nginx
  • Spring,
  • Spring Boot,
  • Spring Data,
  • Spring Security,
  • EJB,
  • JEE,
  • JAX-RX,
  • JAXB,
  • JPA,
  • JMS,
  • Java,
  • reactive Java,
  • Kotlin

  • JUnit,
  • Jupiter,
  • AssertJ,
  • Mockito,
  • BDD Mockito,
  • Unit-Testing,
  • Integration-Testing,
  • E2E-Testing
  • MySQL,

  • PostgreSQL,

  • MongoDB,

  • Apache Solr,

  • Elasticsearch

  • HTTP/HTTPS,

  • Servlets,

  • Nginx,

  • REST,

  • JSON

  • XML,

  • GraphQL,

  • Vue.js

  • SCRUM

  • KANBAN

  • GitHub Actions,

  • Jenkins,

  • Ansible,

  • CI/CD pipelines

Kompetenzen

Kompetenzen

Programmiersprachen

Java
Experte
Kotlin
Fortgeschritten
Spring
Experte

Branchen

Branchen

Ich habe fundierte Kenntnisse im Banking Bereich, dank 3 Jahren Berufs- und Projekterfahrung in diesem Umfeld.

Ich habe fundierte Kenntnisse im E-Commerce Bereich, dank 3 Jahren Berufs- und Projekterfahrung in diesem Umfeld.

Ich bin offen für Projekten in allen Branchen.

Einsatzorte

Einsatzorte

Reutlingen (+200km)
Deutschland
möglich

Projekte

Projekte

2 Monate
2024-04 - 2024-05

Entwicklung PoC - E-Commerce

Senior Kotlin Entwickler Kotlin Keycloak REST ...
Senior Kotlin Entwickler
Es geht im PoC um ein Portal für Cashback und Gutscheine. Ich habe hauptsächlich als Backend-Entwickler im Projekt fungiert und war zuständig für die Backend-Architektur, das API-Design, SSO mit Keycloak und den Import von Gutscheinen von verschiedenen E-Shops. Ein wichtiger Teil davon war das Tracking von Gutscheinen für Benutzer und die jeweiligen E-Shops. Dabei habe ich Kotlin mit Spring Boot verwendet.
Kotlin Keycloak REST Hibernate Spring Boot Spring Security
FERENDIN Engineering GmbH
remote
7 Monate
2023-09 - 2024-03

Entwicklung des Single-Sign-Ons (SSO)

Java Entwickler Keycloak Java Quarkus ...
Java Entwickler
Im Rahmen dieses Projekts war ich ursprünglich an der Implementierung eines Proof of Concept beteiligt, um die Machbarkeit der Umsetzung von Single Sign-On (SSO) in Zusammenhang mit dem monolithischen SAP Commerce (Hybris) zu ermöglichen.
Nach der gründlichen Evaluation des Konzepts und der erfolgreichen Präsentation der positiven Ergebnisse, zusammen mit dem Team haben wir die weiteren Projektphasen detailliert ausgearbeitet und geplant. Hierbei lag mein besonderes Augenmerk auf den solchen Aspekten, als Migration von Customer-Daten und seine Credentials aus dem SAP Commerce ins Keycloak-System, die nahtlose Umstellung unter Beibehaltung der Benutzer-Sessions, Implementierung eines Event-Driven-Modells zur Integration von Keycloak mit Drittanbietern, Nutzung eines zentralen Services zur E-Mail-Kommunikation anstelle der Standardmechanismen von Keycloak sowie die native Implementierung von OAuth 2.0 und OpenID auf Ebene der Spring Security für SAP Commerce. Zusätzlich hatte ich die Verantwortung für die Erstellung und Pflege der Projektdokumentation sowie für umfassende Testläufe zur Sicherstellung der Qualität und Zuverlässigkeit des entwickelten Systems.

Keycloak Java Quarkus Spring Framework Spring Security SAP Commerce REST API OAuth 2.0 OpenID Docker Nginx SSL/TLS SonarQube Git/GitHub Actions Nexus Docker Registry Git Github Actions Nexus MACH-Architektur
OUTLETCITY AG
8 Monate
2023-01 - 2023-08

Implementierung von Social Sign-In Methoden (Google, AppleID)

Java Entwickler Java Spring Framework Spring Security ...
Java Entwickler
Zur Umsetzung dieses Projekts habe ich zunächst eine umfassende Analyse der Kunden- und ihren Kontodatenstruktur durchgeführt, einschließlich der Datenbanktabellenstruktur mit deren Beziehungen, sowie der zugehörigen Java-Class-Modelle. Auf Basis dieser Analyse habe ich die Dokumentation zum Projekt vorbereitet, das schrittweise die Implementierung alternativer Anmeldeoptionen vorsah. In enger Zusammenarbeit mit dem Team, insbesondere den UX-Designern, haben wir Ansätze für die Umsetzung von A/B-Tests erarbeitet, um die Attraktivität der neuen vorgeschlagenen Anmeldeverfahren zu bewerten.
Im Verlauf des Projekts mussten noch zahlreiche verschiedene abgeleitete Aufgaben gelöst werden, wie zum Beispiel die Implementierung einer Funktion für die Hidden E-Mail Adresse für AppleID Social Sign-In Methode oder die Möglichkeit zur Änderung einer E-Mail Adresse für Benutzerkonto. Des Weiteren waren Aufgaben wie die Wiederherstellung des Zugriffs auf ein Konto über Social Sign-In oder die Funktionen wie "Passwort vergessen? und ?Passwort vergeben? zu bewältigen.
Im Projekt wurde auch ein umfangreiches Refactoring bestehendes Codes für die zuvor implementierte Facebook Sign-In durchgeführt. Alle Social Sign-In Methoden wurden standardisiert, und die Lösungen wurden durch eine einheitliche Implementierung mit dem Spring OAuth-Client ersetzt. Dieser Schritt trug dazu bei, die Wartbarkeit und Skalierbarkeit des Systems zu verbessern und die Implementierung neuer Anmeldeoptionen zu erleichtern
Java Spring Framework Spring Security SAP Commerce REST API OAuth 2.0 OpenID SonarQube Git Jenkins
OUTLETCITY AG
9 Monate
2022-04 - 2022-12

Entwicklung von Anwendungen (Microservices) zur Integration von Produkt- und Kundendaten

Java Entwickler Java Spring Boot Apache Camel ...
Java Entwickler
Im Rahmen dieses Projekts war das Ziel, die Belastung der Datenbank durch regelmäßige Exporte von Produkt- und Kundendaten in Drittsysteme zu reduzieren. Zur Lösung dieser Herausforderung habe ich das Projekt vorbereitet, das Verwenden eines Zwischenspeichers auf Basis von Apache Solr vorsah. Apache Solr wurde in diesem Kontext nicht als Search-Engine verwendet, sondern als ein schnelles Speicher-System, das einen schnellen Zugriff auf große Datenmengen ermöglicht und diese effizient verarbeitet. Dadurch wird die Belastung der Hauptdatenbank um ein Vielfaches reduziert, entsprechend der Anzahl der Drittsysteme, während gleichzeitig die Verarbeitungsgeschwindigkeit der Daten und die Generierung von Ausgabedaten erheblich gesteigert werden.
Zusätzlich wurde auch die Templateisierung eingesetzt, um schnell und effizient neue Ausgabeformate für neue Zielgruppen zu erstellen und anzuwenden. Diese Templateisierung ermöglicht es, innerhalb kurzer Zeit neue Datenformate zu erstellen und sie auf neue Verbraucher anzuwenden.
Java Spring Boot Apache Camel SonarQube Docker Nexus Docker Registry. Git Github Actions Nexus MACH-Architektur AWS Amazon Dynamo Amazon EC2 Amazon S3 ELK Elastic Search
OUTLETCITY AG
9 Monate
2021-07 - 2022-03

Weiterentwicklung des Online Shops und Marketplaces

Java Entwickler Java Spring Framework SAP Commerce ...
Java Entwickler

Als Teil meiner Aufgabenstellung, neben den großen Projekten im gesamten System, habe ich kontinuierlich an der Weiterentwicklung des Online-Shops gearbeitet. Hierbei wurden sowohl die Implementierung neuer Gescha?ftsanforderungen, wie beispielsweise die Entwicklung und Integration neuer Komponenten oder die Vorbereitung fu?r A/B-Tests, als auch Fehlerbehebungen durchgefu?hrt.
Die Informationen zu jedem neuen Feature wurden in Jira-Tickets dokumentiert und bei Bedarf auch in Confluence festgehalten, insbesondere wenn es viele Details und visuelle Darstellungen gab. Die Entwicklung erfolgte gema?ß GitFlow, sodass der Name jedes Branches der Ticketnummer in Jira entsprach und jeder einzelne Commit die Ticketnummer enthielt. Dadurch war es problemlos mo?glich, eine Verbindung zwischen Codea?nderungen und den entsprechenden Anforderungen innerhalb des Tickets herzustellen. 

Java Spring Framework SAP Commerce REST MVC JSP Vue.js SonarQube Jenkins Git Github AWS Amazon S3 Amazon Dynamo Amazon EC2 ELK Elastic Search
OUTLETCITY AG
5 Monate
2021-03 - 2021-07

Entwicklung eines Integration-Frameworks - Banking Omnikanal

Java Entwickler Java Maven Git ...
Java Entwickler

Im Rahmen meiner Ta?tigkeit bei Innotech GmbH habe ich mich intensiv mit der Integration von Bankensystemen bescha?ftigt. Die Hauptaufgabe des Projekts bestand darin, eine universelle Bibliothek zu erstellen, die es ermo?glicht, dass sich Clientanwendungen sich mit der zentralen unternehmensweiten Integrationsplattform verbinden ko?nnen. Auf diese Weise musste jedes Team keine eigene Implementierung zur Anbindung an die Integrationsplattform entwickeln, sondern lediglich einen Satz von Verbindungseinstellungen anwenden.
Ich habe das JMS-Protokoll gru?ndlich erforscht, insbesondere in Bezug auf die Verbindung mit IBM MQ. Basierend auf diesen Erkenntnissen habe ich eine Prototypen-Bibliothek implementiert, die auf mehrere Queue-Managern verweisen und die verfu?gbaren verwenden konnte, um eine fehlertolerante Integration sicherzustellen. Des Weiteren lag ein Schwerpunkt meiner Arbeit auf der Konfiguration einer sicheren Verbindung unter Verwendung der SSL/TLS-Protokolle, um die Sicherheit der Daten zu gewa?hrleisten.
Zusa?tzlich habe ich das Softwaremodul parametrisiert und ein Verbindungsmodell erstellt, um die Verbindungseinstellungen auf eine separate Ressource zu u?bertragen, was eine effiziente Verwaltung ermo?glichte. Um die Funktionalita?t des JMS-Integration-Frameworks zu u?berpru?fen, habe ich eine andere Stub-Module entwickelt und verschiedene Test-Szenarien simuliert. Schließlich habe ich die Integrationskette erstellt, umfangreiche Stresstests durchgefu?hrt und in die Pipeline eingebaut, um die Leistungsfa?higkeit des Systems unter realen Bedingungen zu u?berpru?fen und sicherzustellen, dass es den Anforderungen standha?lt. 

Java Maven Git TeamCity IBM WebSphere MQ Spring Spring Boot Spring Autoconfiguratiion Spring Integration
Innotech GmbH
3 Monate
2021-01 - 2021-03

Entwicklung eines Portals für den Zugriff auf Automatisierungstools für Integrationslösungen

Java Entwickler Java Security Data JPA) ...
Java Entwickler

Eines der wichtigsten Projekte bei Innotech GmbH war die Entwicklung eines Portals fu?r den Zugriff auf Automatisierungstools fu?r Integrationslo?sungen. Die Grundlage des Portal-Engines bildete ein Integrationsmodul- Generator, der von einem anderen Team entwickelt wurde. Meine Aufgabe bestand jedoch darin, eine grafische Benutzeroberfla?che fu?r das System direkt in Form eines Portals mit der Organisation von Berechtigungen und Zugriffen zu erstellen.

Ein weiterer wichtiger Aspekt meiner Arbeit bestand darin, verschiedene Optionen fu?r die Benutzerauthentifizierung im System zu entwickeln, darunter LDAP, Kerberos und basierend auf einer Datenbank (Spring DAO). Zudem war ich verantwortlich fu?r die nahtlose Integration des Portals mit den Atlassian Jira- und Confluence-Systemen, einschließlich der automatischen Erstellung von Aufgaben in Jira und dem Hochladen von Dokumentation zu Confluence.
Um die Qualita?t des Codes sicherzustellen, habe ich die Analyse der Quellcodeabdeckung durch Tests eingerichtet und statische Quellcode-Analysetools wie Quality Gates in SonarQube verwendet. Daru?ber hinaus habe ich Skripte entwickelt, um die Portalbereitstellung auf Servern zu automatisieren, wobei ich Python und Ansible eingesetzt habe. 

Java Security Data JPA) Maven Git JUnit Mockito WildFly TeamCity Ansible Node.js. Spring MVC Spring Data Spring Security JPA Java EE
Innotech GmbH
6 Monate
2020-07 - 2020-12

Design und Entwicklung eines Verwaltungsportals der Integrationsplattform - Banking Omnikanal

Java Entwickler Spring Boot Spring Cloud Gradle ...
Java Entwickler

Meine Aufgabe bestand darin, die Konzeption und das Design des Portals fu?r die Verwaltung der Integrationsplattform zu entwickeln. Dies umfasste eine Vielzahl von Verantwortlichkeiten, darunter das Entwerfen der Systemstruktur innerhalb einer Microservice-Architektur. Hierbei war es wichtig, die Funktionen effizient in separate Microservices aufzuteilen, um eine flexible und skalierbare Plattform zu schaffen. Zudem habe ich eine Serviceregistrierung entwickelt, um die einzelnen Microservices effektiv zu verwalten und ihre Verfu?gbarkeit sicherzustellen.

Ein weiterer wichtiger Aspekt meiner Arbeit bestand im Design der Datenbankstruktur fu?r das Portal. Hierbei mussten die Datenbanktabellen und ihre Beziehungen sorgfa?ltig geplant werden, um eine effiziente Datenhaltung und -verarbeitung zu gewa?hrleisten.
Ein wichtiger Schwerpunkt lag auch auf der Integration des Portals mit der Administrationskonsole von IBM MQ und ACE u?ber REST. Diese Integration ermo?glichte einen reibungslosen Datenaustausch und die effiziente Verwaltung der Integrationsplattform direkt u?ber das Portal.

Zusa?tzlich habe ich mich intensiv mit der Verwaltung der Konfigurationsparameter der Integrationsplattform befasst. Dies umfasste die Implementierung eines benutzerfreundlichen Systems zur Konfiguration und Verwaltung der Einstellungen, um eine optimale Leistung und Flexibilita?t der Plattform bereitzustellen. 

Spring Boot Spring Cloud Gradle Docker Git JUnit Mockito IBM WebSphere MQ IBM App Connect Enterprise
Innotech GmbH
2 Jahre 2 Monate
2018-06 - 2020-07

Integration im Bankenbereich - Banking Omnikanal

Java Entwickler Java Groovy Kotlin ...
Java Entwickler

Im Rahmen meiner Aufgaben habe ich umfassende Integrationsszenarien implementiert und die Gescha?ftsanforderungen innerhalb des Integrations-Frameworks umgesetzt. Dies beinhaltete die Bildung von DTO- und API-Artefakten auf vordefinierten XML/JSON-Schemas sowie die Entwicklung von Integrationsadaptern, die auf diesen Artefakten basierten. Dazu musste ich die atomare Lieferung mit modifizierten Komponenten organisieren, wa?hrend ich die Daten fu?r weitere Tests vorbereitete und aktiv an Testprozessen teilnahm, um eine reibungslose Auslieferung an die Produktionsumgebung zu gewa?hrleisten.
Zusa?tzlich habe ich das Integration-Framework durch die Einfu?hrung von JSON-Messaging weiterentwickelt. Dabei habe ich Werkzeuge erkundet, um effektiv mit dem JSON-Format zu interagieren, einschließlich Umgang mit JSON-Schema und der Konvertierung von JSON in Java-Klassen. Ich habe außerdem die Serialisierung und Deserialisierung von JAVA-Klassen sowie die Validierung von JSON-Messages nach dem JSON-Schema durchgefu?hrt.
Ein weiterer wichtiger Bereich meiner Ta?tigkeit war die Entwicklung von DevOps-Prozessen und -Komponenten. Hierbei habe ich Best-Practices wie Continuous Integration, Continuous Testing, Continuous Delivery und Continuous Deployment implementiert. Dies umfasste die Entwicklung von Skripten zur Implementierung der CI, die Konfiguration von Projekten bei Pull-Anfragen, die Erstellung vorbereiteter Distributionen des Projekts sowie die Einrichtung der statistischen Analyse des Quellcodes mit SonarQube. Ich habe außerdem Pipelines zur Installation von Distributionen auf Servern erstellt, Jenkins-Pipelines verwaltet und Ansible-Playbooks und Rollen entwickelt. Die Sicherstellung der Speicherung von Artefakten im Repository und die Entwicklung automatisierter Testtools auf Stubs geho?rten ebenfalls zu meinen Verantwortlichkeiten, ebenso wie die Entwicklung von Groovy-, Python- und Bash-Skripten zur Installation einzelner Systemkomponenten und das dynamische Infrastrukturmanagement unter Verwendung der Private Cloud Infrastruktur, einschließlich VM-Instanzen, Cloud- Technologien und Kubernetes-Klastern.
Außerdem habe ich UI-Tools entwickelt, um die Erstellung von Standardlo?sungen zu vereinfachen, einschließlich eines Prototyps von Integrations-Microservices. Dabei lag mein Fokus auf der Entwicklung von Webanwendungen mit einem Frontend-Teil, der Entwicklung von Gateways fu?r verschiedene Integrationssysteme wie IBM MQ, Apache Kafka und REST API, sowie der Entwicklung von Microservices zur Verarbeitung von Datenformaten. Ich habe auch Unit-Tests und Integrationstests entwickelt und manuelle Pru?fungen der REST API und der Integrationsszenarien durchgefu?hrt. 

Java Groovy Kotlin Spring Framework (Boot Core Beans Annotations) Maven Gradle Git jUnit Mockito Wildfly IBM WebSphere MQ Jenkins Ansible Python Red Hat Enterprise Linux Bash Docker XML/XSD Altova XMLSpy Atlassian Software: BitBucket Jira Confluence Java EE
Sberbank-Technologien AG
2 Jahre 2 Monate
2016-03 - 2018-04

Industrielle Produktion

Automatisierungsingenieur IEC 61131-3 (LD FBD SFC) ...
Automatisierungsingenieur

Als Automatisierungsingenieur in einem Industrieunternehmen umfassten meine Aufgaben verschiedene

Tätigkeiten, die sowohl mit der Automatisierung der wichtigsten Produktionsprozesse als auch mit der Integration

verschiedener Systeme verbunden waren.

Ich war auch für die Umsetzung komplexer Projekte verantwortlich, die sowohl Software- als auch

Hardwarekomponenten umfassten. Die Phasen dieser Projekte enthielten die Vorbereitung des Projekts selbst, das

Hochfahren der erforderlichen Ausrüstung, deren Installation, Konfiguration, Integration und Entwicklung

erforderlicher zusätzlicher Software.

Eines der Projekte, das ich hervorheben möchte, war die Modernisierung und Inbetriebnahme von

Zugangskontrollsystemen. Dieses Projekt bestand aus Teilen, die die Kontrolle und Protokollierung des ein- und

ausfahrenden Fahrzeugverkehrs auf dem Betriebsgelände sowie die Kontrolle der betretenen Mitarbeitern

umsetzen mussten. Im Rahmen des Projekts wurde die Auswahl der erforderlichen Komponenten getroffen, wie

Schlagbäume, Schranken, Überwachungskameras und andere Zugangskontrollsysteme, sowie Software (zum

Beispiel für die Erkennung und Protokollierung von Kfz-Kennzeichen). Es wurden Schemata und Zeichnungen

erstellt, die Geräte angeschlossen und verkabelt. Anschließend wurde das Equipment konfiguriert und in andere

industrielle Systeme integriert, wie die Integration der Zutrittskontrollsoftware in das Personalmanagementsystem

und das Unternehmensmanagementsystem (BPM-Software).

Als logische Fortsetzung dieses Projekts habe ich auch andere ähnliche Projekte umgesetzt. Zum Beispiel die

Automatisierung der Steuerung einer Fahrzeug-Wiegestation zur Erfassung des eingehenden Rohstoffvolumens. Bei

diesem Projekt wurden bestehende Kennzeichenerkennungs- und -protokollierungssysteme genutzt. Allerdings

waren das auf Dehnungsmessstreifen basierende Gewichtsmesssystem und die Integration mit der Lagersoftware

die neue Komponente.

Neben den oben genannten Projekten, die nur einen kleinen Teil meines Verantwortung sbereichs abdecken,

gehörten auch zu meinen Aufgaben die regelmäßige Überwachung und Wartung aller vorhandenen automatisierten

Systeme, seien es Roboteranlagen oder CNC-Maschinen.

IEC 61131-3 (LD FBD SFC) ?/?++ Siemens LOGO Soft OWEN Logic CoDeSys Owen OPC Server Lectus Modbus OPC/DDE Master SCADA PostgreSQL Delphi XE10 Object Pascal Tenso-M Software
Belshpala AG
4 Jahre 6 Monate
2011-08 - 2016-01

Industrielle Produktion

Projektingenieur IEC 61131-3 (LD FBD SFC) ...
Projektingenieur

Auf der Position des Projektingenieurs hatte ich die Gelegenheit, als Teil eines Teams an zahlreichen vielfältigen

Automatisierungsprojekten in verschiedenen Branchen teilzunehmen.

Unter den großen Projekten könnte ich folgende hervorheben:

- Aufbau und Inbetriebnahme einer automatisierten Wasserversorgung

- Modernisierung einer Futtermittelproduktion

- Modernisierung einer Öl- und Fettproduktion

- Modernisierung der Produktionslinie der Molkerei

- Entwurf einer Betonmischanlage

- Entwicklung einer SPS (speicherprogrammierbare Steuerung) auf Basis des ATmega 2560/2561 Chips

Der Großteil der Projekte bestand aus der Modernisierung bestehender Ausrüstung. In solchen Projekten wurde ein

Teil der nicht mehr wartungsfähigen Ausrüstung durch neue ersetzt, wobei alle technologischen Parameter

entsprechend berücksichtigt und neu berechnet wurden. In einigen Projekten war das Ziel die Steigerung der

Leistung der Produktionsanlagen, und diese Ziele wurden ebenfalls durch Modernisierung erreicht.

IEC 61131-3 (LD FBD SFC) ?/?++ Siemens LOGO OWEN PLC CoDeSys Atmel® AVR ATmega 2560/2561
IT Engineering GmbH

Aus- und Weiterbildung

Aus- und Weiterbildung

4 Jahre 10 Monate
2006-09 - 2011-06

Wirtschaftsinformatik

Diplom Enterprise Economics, Belgorod State Technological University
Diplom Enterprise Economics
Belgorod State Technological University

Position

Position

Backend-Development mit Java oder Kotlin

  • AWS
  • Keycloak,
  • Apache Camel,
  • Apache Kafka,
  • IBM MQ,
  • ActiveMQ/Artemis,
  • Docker,
  • Apache Maven,
  • Gradle,
  • Nginx
  • Spring,
  • Spring Boot,
  • Spring Data,
  • Spring Security,
  • EJB,
  • JEE,
  • JAX-RX,
  • JAXB,
  • JPA,
  • JMS,
  • Java,
  • reactive Java,
  • Kotlin

  • JUnit,
  • Jupiter,
  • AssertJ,
  • Mockito,
  • BDD Mockito,
  • Unit-Testing,
  • Integration-Testing,
  • E2E-Testing
  • MySQL,

  • PostgreSQL,

  • MongoDB,

  • Apache Solr,

  • Elasticsearch

  • HTTP/HTTPS,

  • Servlets,

  • Nginx,

  • REST,

  • JSON

  • XML,

  • GraphQL,

  • Vue.js

  • SCRUM

  • KANBAN

  • GitHub Actions,

  • Jenkins,

  • Ansible,

  • CI/CD pipelines

Kompetenzen

Kompetenzen

Programmiersprachen

Java
Experte
Kotlin
Fortgeschritten
Spring
Experte

Branchen

Branchen

Ich habe fundierte Kenntnisse im Banking Bereich, dank 3 Jahren Berufs- und Projekterfahrung in diesem Umfeld.

Ich habe fundierte Kenntnisse im E-Commerce Bereich, dank 3 Jahren Berufs- und Projekterfahrung in diesem Umfeld.

Ich bin offen für Projekten in allen Branchen.

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.