Architecture des systèmes d'information

La décennie 70

Figure figures/bb/70-serveurs

Le service informatique gère des serveurs de traitements qui alimentent des terminaux.

Les traitements et les données sont centralisés sur des serveurs d'infrastructure.

Les données sont éventuellement centralisées sur des serveurs spécifiques (serveurs de fichiers).

Figure figures/bb/serveur-fichiers

Cette architecture permet

Le modèle relationnel (les années 80)

1970 : CODD « Relational model of data »

1982 : Création d'Oracle

Figure figures/bb/80-SGBDR

Enrichissement du relationnel (les années 80/90)

Système d'informations (les années 80/90)

Le micro-ordinateur (fin des années 80)

Le client/serveur (les années 90)

Figure figures/bb/arch-clt-serveur

Avantages :

  • Serveur de taille moyenne (baisse du cout),
  • Intégration des PC (hétérogènes) dans le SI.

Inconvénients :

  • Le poste de travail est qualifié de client lourd,
  • Le coût d'exploitation est très important (poste difficile à maintenir),
  • Pas de porte ouverte vers les traitements et les données.

Architecture à deux niveaux (2-tier) (années 2000)

Objectif: Simplifier et normaliser le client/serveur.

Figure figures/bb/arch-2tier

Architecture des applications

Figure figures/bb/arch-appli

Constats :

La couche métier regroupe les actions métier qui sont indépendantes des logiques applicatives :

Figure figures/bb/app-middleware

Cette approche permet de

Architecture à trois niveaux (3-tier)

Introduction du middleware qui permet de factoriser les traitements métier.

Figure figures/bb/arch-3tier
Avantages :
  • Simplification des applications
  • Indépendance du stockage
  • Montée en charge
  • Sécurité accrue
  • Ouverture vers les traitements
  • N-tiers
Inconvénients :
  • Choix d'une technologie
  • Choix d'une couche de transport
  • Conception du middleware
  • Empilement des couches

Le client reprend de l'importance

Dans les applications récentes, nous allons délocaliser vers le client une partie des traitements (code javascript) :

Figure figures/bb/app-js

Avantages :

Architecture orientée services (SOA)

Figure figures/bb/arch-soa

Définition d'un service logiciel (brique de base):

Figure figures/bb/service

On utilise des principes d'orchestration (définition de processus métiers basés sur des services métiers) (BPEL: Business Process Execution Language).

Architecture orientée mico-services

Avant : Un service = un métier (achat, vente, réservation). Un service est donc un objet complexe difficile à faire évoluer.

Maintenant : Mise à place de micro-service :

Architecture JEE

Java Enterprise Edition: J2EE 1.1 puis 1.4 puis JEE 5 puis JEE 6, JEE 7 (2013), Jakarta EE 8 (2017) et JEE 9 (2020).

Figure figures/bb/arch-jee

JEE: ensemble de spécifications destinées à définir un environnement multi-niveaux (n-tiers) pour des applications réparties d'entreprises.

Cours : Architecture, Spring, JDBC, JPA, Servlet/JSP, Spring MVC

JEE « outillé »

Dans les applications modernes, la plateforme JEE a besoin d'être outillée.

Figure figures/bb/jee-outils

Sprint Boot est un facilitateur qui permet de mettre en cohérence des composants d'origine variée.