Aller au contenu principal

Architecture logicielle avec Java

Développement 174 arrow small right Java - Jakarta

backend POO Java Design Patterns

  • Durée

    3 jour(s)
  • Niveau

    Avancé
  • Référence

    DE-048

Présentation

L’architecture logicielle est une composante importante des projets informatiques. Elle consiste à réduire les interdépendances (ou couplage) d’un projet pour créer des applications résilientes, aisées à maintenir et à installer dans des environnements distribués. L’architecture logicielle permet ainsi de « découper » ou « prédécouper » le code d’une application, que ce soit pour rendre des portions réutilisables ou pour diviser plus efficacement la réalisation parmi différentes équipes.
Au cours de cette formation, vous découvrirez les avantages de l’architecture logicielle, vous analyserez les « Design Patterns » comme les « Anti-Patterns » et serez également initié(e) aux notions de « services » et de « micro-services ». Vous apprendrez à appliquer les méthodes de découplage ainsi que les différentes méthodes de communication informatique au sein d’une application.

Objectifs de la formation

  • Comprendre les structures de code résilientes et découplées
  • Savoir détecter les structures de code problématiques (anti-patterns)
  • Savoir développer en utilisant certains Design Patterns
  • Savoir créer un service et un micro-service
  • Créer des micro-services communicants et savoir gérer les erreurs de communication

Public

  • Toute personne travaillant ou souhaitant travailler dans le développement de sites web et/ou d’applications résilientes.

Prérequis

  • Une connaissance de Java ou d’un langage orienté objet est nécessaire.
  • Une connaissance d’un protocole requête/réponse (comme HTTP) est un plus.

Programme

1- Introduction

Historique et avantages
Anti-patrons de conception (Anti-Patterns) et code spaghetti
Microservices ou architecture monolitique ?
Rappels de HTTP : protocole de communication

2- Les Design Patterns

Qu’est ce qu’un patron de conception (Design Pattern) ?
Couplage et découplage du code
Utiliser les Design Patterns

3- Communication inter-services

Qu’est ce qu’un service ?
Communication entre différents services
Modalités et protocoles de communication
Gestion d’erreurs
Message-Oriented Middleware (MoM)
Modèles PubSub / Event Sourcing
Créer une API Gateway

4- Créer des micro-services

Considération et modélisation de l’architecture
Facteurs de charge, ralentissements
Microservices compatibles avec une montée en charge horizontale (horizontal scaling)
Considérations sur la base de données en environnement distribué
Les outils liés à l’architecture logicielle
Standards de communication et documentation

Date de dernière modification : 28/02/2023

Organisation

162 arrow small up 163 arrow small down

Modalités d'évaluation :

Questionnaires à choix multiples (QCM) en fin de formation. L'intervenant formulera également une appréciation sur vos acquis pour l'entièreté de la formation.

Moyens pédagogiques :

Formation alternant la théorie et la pratique, avec un intervenant présentant la formation en direct. Possibilité de réaliser cette formation en face-à-face dans nos locaux, dans vos locaux d'entreprise ou à distance via visioconférence.
Une fois terminée, vous disposerez d'une attestation de suivi de la formation, ainsi que des contenus de cours relatifs au contenu présenté.

Informations pratiques :

En cas de dispense dans nos locaux, le matériel informatique est fourni et l'ensemble des commodités sont accessibles. Nos locaux sont également accessibles aux personnes à mobilité réduite : découvrir notre centre.
Retrouvez toutes les informations pratiques pour préparer votre formation sur notre page dédiée : informations pratiques.

Cette formation pourrait vous intéresser

  • PHP : créer un environnement robuste et résilient

    Si PHP 4, il y a plus de quinze ans, utilisait un paradigme uniquement procédural (structuré en fonctions), le langage a fait son chemin et propose aujourd’hui les paradigmes orienté objet et fonctionnel. L’environnement …

    En savoir plus