Formations cursus Devoxx 2020

OXiane, partenaire de l’événement Devoxx France depuis sa première édition a dû annoncer avec un grand regret l’annulation de l’édition 2020.
Afin de limiter la déception de ses clients, OXiane a souhaité maintenir son offre relative à la journée de formation.
Nous avons le plaisir de vous confirmer notre capacité à assurer l’animation de ces modules avec les modalités ci-dessous.

Ces formations sont proposées en intra-entreprise ainsi qu’en interentreprises :

  • En classe virtuelle via l’outil Adobe Connect ; avec un nombre de participants par session limité à 6 ou 8 en fonction du thème (nous contacter pour plus de précisions sur formation@www.oxiane.com ou auprès de votre interlocuteur habituel).
  • En présentiel à partir de la mi-juin chez OXiane ; avec un nombre de participants par session limité à 5 personnes afin d’assurer les règles de distanciation. OXiane pourra proposer ces formations dans ses locaux à Boulogne-Billancourt. Une réorganisation de notre centre de formation est en cours afin d’assurer un accueil du public en respectant les mesures d’hygiène nécessaires.
  • En présentiel en formule intra-entreprise sur site client (Paris ou Province) si les mesures d’hygiène et distanciation en vigueur sont mises en oeuvre.

Le système de modules et migration vers Java 11 animé par Jean-Michel DOUDOUX

Le système de modules introduit en Java 9 apporte la refonte la plus controversée de Java.

Les modules amènent une complexité supplémentaire importante en introduisant une rupture et des contraintes (visibilité, accessibilité, organisation du code, …).

Mais il faut profiter des avantages des modules d’autant que la plateforme propose aussi des fonctionnalités pour assurer un mode de compatibilité, ceci afin de faciliter les migrations.

Durée : 1 journée

Objectifs :

  • Découvrir les concepts et mettre en œuvre le système de modules de Java
  • Migration d’applications vers Java 11

Programme :

Introduction

Les modules : présentation

  • Le besoin
  • La modularité
  • Le système de modules de Java

Les modules : définition

  • Le descripteur de modules
  • La visibilité entre modules
  • Les dépendances
  • L’accès par introspection

Les modules : mise en œuvre

  • Le ModulePath
  • Le packaging des modules
  • Les différents types de modules
  • La modularisation du JDK

Les modules : fonctionnalités avancées

  • Les services
  • Les runtimes personnalisés

Migration vers Java 11

  • Les difficultés de migration à Java 9+
  • La préparation à Java 9+
  • La migration sans créer de modules
  • La migration avec création de modules
  • La migration de bibliothèques

Méthodes pédagogiques : 50 % théorie – 50 % pratique

A propos de Jean-Michel DOUDOUX

Jean-Michel partage sa passion pour les plateformes Java depuis ses débuts notamment au travers de la diffusion sous licence GNU FDL d’un didacticiel : https://www.jmdoudoux.fr/java/dej/indexavecframes.htm

Son investissement pour la promotion de Java dans la communauté francophone lui a permis d’être élu Oracle Java Champion en juin 2014.

Jean-Michel a commencé à utiliser Java à partir de la version 1. Depuis, il aime partager ses connaissances sur les plateformes Java SE / EE / ME et son immense écosystème. En 1999, il a commencé à écrire deux livres gratuits publiés sous licence GNU FDL, l’un sur Java et l’autre sur Eclipse. Rédigé en français, son livre en ligne « Développons en Java » est bien connu de la communauté française du monde entier. Depuis sa création, il compte plus de 3000 pages. Ce tutoriel est consulté chaque année par plus d’un million de Développeurs français. Jean-Michel est également l’auteur d’un deuxième tutoriel de 630 pages intitulé « Développons en Java avec Eclipse », également disponible gratuitement sur le Web.

Jean-Michel est également co-fondateur du Lorraine JUG – https://www.lorrainejug.org/ – et membre du YaJUG, le groupe d’utilisateurs Java luxembourgeois.

Aujourd’hui, Jean-Michel est CTO d’OXiane Group.


Master Class Design d’API Java 8 animé par José PAUMARD

La formation s’adresse à des développeurs Java expérimentés ayant une bonne connaissance du langage, de ses API fondamentales. Une première connaissance dans l’écriture de lambda expressions et des patterns de l’API Stream est un plus.

Durée : 1 journée

Objectifs :

  • Être capable d’écrire des lambda expressions dans toutes les situations.
  • Comprendre l’organisation des interfaces fonctionnelles fournies par le JDK.
  • Comprendre comment chaîner ou composer des interfaces fonctionnelles.
  • Être capable de concevoir de nouvelles API sur les mêmes principes.
  • Utiliser les évolutions de l’API Collection prenant en charge les lambda expressions.
  • Appliquer ces méthodes de conception aux Design Pattern du Gang of Four
  • Être capable de refactorer du code existant suivant ces principes en suivant les Design Pattern classiques du Gang of Four
  • Utiliser l’application partielle de la programmation fonctionnelle pour le design d’API
  • Utiliser la composition d’applications partielles pour le refactoring de code legacy

Programme :

Écriture de lambda expressions à partir d’interface fonctionnelles

  • Les principales interfaces fonctionnelles du JDK
  • Composition d’interfaces fonctionnelles simples

Application au design de nouvelles API

  • Composition de lambda de natures différentes
  • Construction d’API par composition et application partielle

Traitement de données en mémoire avec l’API Stream

  • Enjeux du pattern map / filter / reduce, implémentation de l’API Stream
  • Opérations intermédiaires et terminales sur les streams

Réductions avancées de données avec l’API Collector

  • Rôle des collectors dans l’API Stream
  • Modélisation de traitement de données avec l’API Collector

Méthodes pédagogiques : 40 % théorie – 60 % pratique

A propos de José PAUMARD

José est consultant en informatique depuis environ 25 ans. Maître de conférences en mathématiques et informatique à l’université Paris 13, docteur en mathématiques appliquées, il enseigne les technologies Java au niveau Master et dernière année d’école d’ingénieur depuis environ 20 ans.

Il est fortement investi en qualité des applications logicielles et software craftsmanship depuis 2015 au travers de missions de coaching et de formation auprès de plusieurs sociétés (SGCIB, Renault, Crédit Agricole, Groupama, Accenture). La formation Software Craftsmanship qu’il a créée, commercialisée par la société Oxiane, est suivie par une centaine de développeurs chaque année.

Java Champion et Java Rockstar, il intervient régulièrement dans les conférences Java en France et à l’international : Devoxx (en France, en Belgique, en Angleterre), JavaOne, Oracle Code One, Goto, DevNexus, JFokus, etc…
Ses présentations sont visibles sur sa chaîne YouTube (https://www.youtube.com/user/JPaumard).

Fortement impliqué dans les communautés, José est trésorier de l’association qui organise les soirées Paris Java User Group depuis 10 ans, et a été organisateur de Devoxx France durant les trois premières années de la conférence, à partir de 2012.

Il participe en tant qu’expert aux groupes de standardisation de Java EE (JSR 365 sur CDI 2.0) et a notamment grandement influencé le design des API asynchrones de CDI, construites sur l’utilisation de l’API CompletionStage / CompletableFuture.

Enfin, José contribue enfin à quelques projets Open source, disponibles sur son compte GitHub (https://github.com/JosePaumard).


Introduction au déploiement d’une application sur un cluster Kubernetes animé par Alain REGNIER

Kubernetes ou “K8s” est une plate-forme open source permettant d’automatiser le déploiement, la montée en charge et la mise en œuvre de conteneurs d’applications.

Initialement conçu par Google, puis repris par la Cloud Native Computing Foundation.

Il fonctionne avec de nombreux containers, et est souvent utilisé avec Docker.

Durée : 1 journée

Objectifs :

  • Comprendre le fonctionnement de Kubernetes
  • Comprendre les différentes étapes de déploiement d’une application sur un cluster Kubernetes

Programme :

Introduction à Kubernetes

Docker et les containers

Orchestration de containers : Kubernetes

Architecture de Kubernetes

Concepts de base de Kubernetes

Kubernetes au quotidien

Kubernetes et son écosystème

 

A propos d’Alain REGNIER

Alain est reconnu dans les communautés IT en France et à l’international sur des expertises Kubernetes, GoogleCloud, et plus généralement la stratégie Cloud/DevOps. Il a été nommé « Google Developer Expert on GoogleCloud » par Google.
Il a passé 10 ans dans la Silicon Valley, où il a travaillé à la fois pour des startups et pour de grandes sociétés. Alain a participé à la rédaction de plusieurs standards des Web Services et des Objets Connectés. Il est aussi le co-fondateur du GDG Paris (Google Developers Groups), du GDG Cloud Paris et de StartupVillage (http://www.startupvillage.fr).
Avec près de 100 000 abonnés sur Twitter, Alain anime une source et un relai d’informations pertinentes pour une veille technologique autour du Digital.


Développement d’une architecture microservices avec JHipster, Spring Boot, Spring Cloud et Netflix OSS animé par Julien SADAOUI

Cette formation s’axe sur le développement d’une architecture microservices assez complexe avec la plateforme Spring Boot, Spring Cloud et Netflix OSS. Nous présenterons, dans un premier temps, une introduction théorique à JHipster, Spring Cloud et Spring Boot. Dans un second temps, vous participerez à la construction de plusieurs microservices avec ces outils. De la base de données (relationnelle et orientée documents) à l’interface utilisateur (Angular ou React), en passant par la couche de persistance (Spring Data), vous mettrez en place tous les patterns de résilience liés aux microservices.

Formation pratique d’une journée avec beaucoup de code.

Durée : 1 journée

Public :

  • Développeurs, Architectes, Chefs de projet

Objectifs :

  • Apprendre à prendre en main les architectures microservices avec Spring Cloud
  • Utiliser pleinement toutes les fonctionnalités et profiter de l’expérience de JHipster dans la mise en œuvre d’une architecture microservice.

Prérequis :

Maîtrise du langage Java SE (11+) ou autre langage de programmation orienté objet et des concepts de base de Spring, JPA et Angular.

Programme :

Introduction à JHipster

  • Qu’est-ce que JHipster ?
  • Technologies utilisées : Spring Boot, Angular et React
  • Outillage généré
  • Bonnes pratiques d’utilisation de JHipster
  • Installation
  • Présentation du sous générateur d’entités (JDL)

Positionnement de Spring Cloud

  • Introduction
  • Positionnement
  • 12 Factors Apps
  • Spring spirit
  • Gains attendus

Rappel des concepts d’architecture

  • Architecture distribuée
  • Architecture microservices
  • Notion de Service Discovery
  • Notion de Service de Configuration
  • Communication : synchrone et asynchrone
  • Communication : politiques de routage
  • Tolérance à l’erreur
  • Supervision et traçabilité

Principaux projets

  • Spring Cloud Config
  • Spring Cloud Netflix/Consul/Zookeeper
  • Spring Cloud Sleuth

Génération des microservices

  • Architecture
  • Générer le microservice CRM
  • Démarrer le registre JHipster
  • Démarrer le microservice CRM
  • Créer les entités pour le microservice CRM
  • Générer le microservice Accountancy
  • Démarrer le microservice Accountancy
  • Créer les entités pour le microservice Accountancy
  • Générer la Gateway
  • Démarrer la Gateway
  • Démarrer l’architecture avec Docker Compose
  • JHipster Console/Zipkin

Développement des microservices

  • API first avec Swagger / OpenAPI
  • Spring Cloud Feign
  • Répartition de charge avec Ribbon
  • Tolérance à l’erreur avec Hystrix
  • Centralisation de la configuration avec Spring Cloud Config
  • Sécurisation des microservices (JWT ou OAuth)
  • Cache distribué avec Hazelcast
  • Tests de montée en charge

La programmation réactive avec la librairie RxJS animé par Julien POYARD

La programmation asynchrone fait intrinsèquement partie de JavaScript, malgré cela elle a beaucoup évolué ces dernières années au gré de la complexification des applications. Depuis les callbacks jusqu’au paradigme de la programmation réactive, beaucoup de chemin a été fait pour faciliter vos développements.

Durée : 1 journée

Objectifs :

  • Comprendre la programmation réactive
  • Maîtriser la librairie RxJS

Public :

  • Analystes, Architectes, Chefs de projets, Développeurs

Prérequis :

  • Maîtrise de JavaScript

Programme :

Introduction

  • La programmation réactive
  • ReactiveX et RxJS

La programmation Réactive

  • Pull vs Push
  • Design pattern Observer
  • Marble diagram
  • Les bases de RxJS
  • Le type Observable
  • Création d’un observable
  • Le type Observer : subscribe
  • Gestion des erreurs

Les opérateurs

  • Rappel sur les fonctions pures
  • Comment utiliser les opérateurs
  • Les opérateurs de filtrage
  • Les opérateurs de transformations
  • Les opérateurs pour combiner
  • Les opérateurs utiles

Concepts avancés

  • Unicast / multicast observables
  • Hot / Cold observables
  • Subject, BehaviorSubject, ReplaySubject et AsyncSubject

Pour aller plus loin

  • Gestion de souscriptions / désinscriptions
  • Gestion des erreurs

Tester RxJS


Développement d’une architecture microservices avec Quarkus

Durée : 1 journée

Programme en cours de conception

Merci de nous contacter pour le recevoir (formation@www.oxiane.com ou auprès de votre interlocuteur habituel).

Celui-ci sera inspiré du programme de 3 jours : https://www.www.oxiane.com/formation/batir-une-architecture-microservice-avec-quarkus/

 

A propos d’Antonio GONCALVES

Antonio a commencé à travailler dans l’informatique en 1992. Initialement concentré sur le développement C et C++, il est passé à Java à la fin des années 1990. En tant qu’ancien consultant BEA, il dispose d’une grande expertise des serveurs d’applications tels que Weblogic, JBoss et GlassFish. Très actif dans le monde de l’Open Source, Antonio est membre de l’OOSGTP (Open Source Get Together Paris – http://www.ossgtp.org/xwiki/bin/view/Main/WebHome ) et également co-créateur et co-dirigeant du Paris JUG (Java User Group – https://www.parisjug.org/xwiki/bin/view/Main/WebHome ) ainsi que du Devoxx France. Il est également membre de l’équipe Les CastCodeurs – https://lescastcodeurs.com/ – qui balaie régulièrement des nouvelles de l’écosystème Java.

Antonio a écrit un premier livre en français sur Java EE 5 en 2007. Depuis, il a rejoint le Java Community Process – https://www.jcp.org/en/home/index – ; il est un membre expert de plusieurs JSR (Java EE 7, EJB 3.2, Java EE 6, JPA 2.0 et EJB 3.1). Il a ensuite publié un second livre : Début de Java EE 6 avec GlassFish 3. Puis un troisième livre sur Java EE 7.
Ces dernières années, Antonio intervient sur des conférences internationales principalement sur Java EE, notamment JavaOne, The Server Side Symposium, Devoxx, Jazoon, GeeCon… Il écrit également de nombreux articles pour des sites Web informatiques (DevX) ou des magazines informatiques (Programmez, Linux Magazine).


Tarif

Interentreprises : 560 € HT/participant

Intra-entreprise : Nous consulter

 

formation@www.oxiane.com – 01 55 60 76 72