Migration & Modernisation Applicative d’une plateforme existante avec des technologies Java legacy vers des solutions modernes basées sur Java 25 et Spring Boot 4. Projet impliquant la transformation de composants legacy, la migration des systèmes de messagerie, ainsi que la mise en place et l’évolution des pratiques DevOps et d’observabilité.
Migrer les services existants (Java 6–11, SwitchYard, Red Hat Fuse / EAP 6) vers Java 25 et Spring Boot 4, en préservant strictement le comportement fonctionnel AS-IS et en appliquant l’architecture cible définie.
Adapter et réécrire les composants legacy (routes Camel/Fuse, services SwitchYard) en composants Spring Boot autonomes, conteneurisés et déployables sur OpenShift.
Maintenir et faire évoluer les APIs REST et SOAP exposées par les services migrés, en garantissant la compatibilité ascendante avec les consommateurs existants (SAP Business One, BSS Billiant, Sugar CRM).
Contribuer activement à la migration progressive des flux de messagerie d’ActiveMQ vers Kafka, en assurant la compatibilité et la fiabilité des échanges pendant la phase de coexistence.
Implémenter les patterns d’intégration (EIP) conformément aux guidelines d’architecture : idempotence, gestion des erreurs, dead-letter queues, ordering et at-least-once delivery.
Documenter les flux de données et les contrats de messagerie (schémas Avro/JSON, topics, consumers groups) afin de faciliter les intégrations futures.
Utiliser et faire évoluer les pipelines CI/CD GitLab (.gitlab-ci.yml) existants : build Maven, analyse SonarQube, publication d’images Docker sur le registry interne, déploiement sur OpenShift.
Appliquer les pratiques GitOps via ArgoCD : gestion des manifestes Helm/Kustomize dans Git, synchronisation automatique des environnements (dev, staging, prod) et rollback contrôlé.
Contribuer à l’Infrastructure as Code pour la gestion et la reproductibilité des environnements OpenShift.
Garantir la stabilité et la performance des services migrés : tests unitaires et d’intégration (JUnit 5, Testcontainers), validation fonctionnelle et tests de non-régression avant mise en production.
Mettre en œuvre et respecter les pratiques de monitoring et de logging : instrumentation Prometheus/Micrometer, tableaux de bord Grafana, centralisation des logs ELK avec corrélation par trace ID.
Participer aux activités de support N3 sur les services en cours de migration et assurer la transmission de connaissance vers les équipes d’exploitation (runbooks, documentation technique GitLab).
Java (versions 11 à 25), Spring Boot (2.x à 4.x) : Spring MVC, Spring Integration, Spring Security, gestion des dépendances Maven/Gradle.
APIs REST (JAX-RS, Spring MVC) et SOAP (JAX-WS, CXF).
Technologies legacy Red Hat : SwitchYard, Red Hat Fuse / Apache Camel (EAP 6/7).
Systèmes de messagerie : ActiveMQ (JMS) et Kafka (producteurs/consommateurs, Kafka Streams, gestion des offsets).
Patterns d’intégration (EIP) : idempotence, gestion des erreurs, dead-letter queues, ordering, at-least-once delivery.
Outils DevOps : GitLab CI/CD (pipelines, runners, registry), Docker (Dockerfile, multi-stage builds), OpenShift / Kubernetes (Deployments, Services, ConfigMaps, Secrets, HPA), ArgoCD (GitOps, Helm, Kustomize).
Observabilité : Prometheus & Micrometer (instrumentation Spring Boot), Grafana (dashboards), stack ELK (logs structurés JSON, corrélation par trace ID avec OpenTelemetry).
Qualité logicielle : Clean Code, tests automatisés (JUnit 5, Testcontainers, WireMock), analyse statique (SonarQube), gestion des vulnérabilités (OWASP, scan d’images Docker).
Niveau d’études : Bac+3 à Bac+5 en informatique, génie logiciel ou équivalent.
Certifications appréciées : Kubernetes (CKA/CKAD) ou Red Hat (EX280 OpenShift).
Expérience requise : 5 ans.
Un plan personnalisé pour postuler intelligemment à cette offre.
Cliquez sur "Postuler" pour accéder à l'offre.