dominante ingénierie et intégration informatique (iii

72
UE NSY107 INTÉGRATION DES SYSTÈMES CLIENT -SERVEUR INTRODUCTION GÉNÉRALE Formation au CNAM, Paris Septembre 2017 Yves Laloum - Erik Boucher de Crèvecœur

Upload: others

Post on 21-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dominante Ingénierie et Intégration Informatique (III

UE NSY107 INTÉGRATION DES SYSTÈMES CLIENT-SERVEUR

INTRODUCTION GÉNÉRALE

Formation au CNAM, Paris – Septembre 2017

Yves Laloum - Erik Boucher de Crèvecœur

Page 2: Dominante Ingénierie et Intégration Informatique (III

DIPLÔME D’INGÉNIEUR EN INFORMATIQUE

OPTION AISL

ARCHITECTURE INGÉNIERIE DES

SYSTÈMES ET DES LOGICIELS

Y. Pollet, professeur Cnam

Y. Laloum, professeur associé

Erik Boucher de Crèvecœur

Page 3: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES SYSTÈMES À LOGICIEL DOMINANT

Logiciels embarqués (progression exponentielle)

Systèmes d’Information d’entreprise (CRM, ERP, SCADA, SCM, etc.)

Logiciels « personnels »

Le logiciel fait vivre plus d’1 million de personnes

en France et représente un poids économique

global de près de 200 G€ /an

Grands systèmes (aéronautique, espace, santé,

énergie, industrie, environnement, …)

3

Page 4: Dominante Ingénierie et Intégration Informatique (III

OPTION AISL Y.L

alo

um

- EB

dC

- 20

17

Préparation aux métiers de l’ingénierie et de l’intégration Importance croissante des métiers de l’ingénierie,

développement de nouveaux métiers

Importance du management MOA et MOE

Prédominance croissante des activités liées à l’expression de besoins, à la spécification du système, à l’architecture, à l’intégration, aux tests

Développement par intégration de composants

Importance de l’exploitation et de la maintenance

Métiers visés: Architecte logiciel, architecte système

Chefs de projet MOE et MOA

Ingénieur d’intégration et tests;

Responsable maintenance et exploitation

…. 4

Page 5: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

Développement des systèmes complexes à prédominance logicielles, dans le respect de Fonctionnalités attendues, de Coût, Délai et Qualité par Intégration de composants multiples et hétérogènes, acquis ou développés spécifiquement

Ingénierie Intégration

Système & Logiciel

Développer ou acquérir les composants

Finalité

Besoins

Contexte projet

Le Système

intégré

Acquisition

de progiciels

Acquisition du matériel

Infrastructures techniques

….

Modèles Modèles Modèles Décisions

LE PROJET

Logiciel:

développement

des composants 5

Page 6: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

Ingénierie / Intégration

Analyse

préalable

Conception Intégration

Transfert

vers

exploitant

Exploitation

MCO Retrait

Organisation utilisatrice

Organisation réalisatrice

Développement du système

Projet

Adaptations, réingénierie

Cout, délai,

environnement

projet Organisation en support à

l’exploitation

Besoins Aspects fonctionnels et

non fonctionnels

Existant, contexte

Réalisation, acquisition des constituants

LE CYCLE DE VIE D’UN SYSTÈME

6

Page 7: Dominante Ingénierie et Intégration Informatique (III

DIPLÔMES INFORMATIQUE AISL

Deux diplômes principaux:

Concepteur Architecte (RNCP II), option Ingénierie

de projets (bac+4)

Ingénieur en Informatique, option AISL (bac+5)

Licence à l’issu du cycle préparatoire I1 (bac+3)

Recherche et continuation en thèse de doctorat

Y.L

alo

um

- EB

dC

- 20

17

7

Page 8: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LE CURSUS INGÉNIEUR AISL

Tronc commun : 7 UE couvrant les 5 domaines I1

I2

I3

Mémoire d’ingénieur (préparation, rédaction et soutenance)

4 parcours

Intégration et architecture de

systèmes

Systèmes embarqués et

mobiles

Ingénierie de projets

informatiques

Architecture logicielles

2 UE de Management et organisation (12 ECTS)

Management de projet (4 ECTS)

L’ingénieur au XXIe siècle (4 ECTS)

Information et communication

(4 ECTS)

Test d’anglais (6 ECTS)

60 ECTS

45 ECTS

Expérience professionnelle (15 ECTS)

2 UE de spécialisation (12 ECTS)

1 UE complémentaire (6 ECTS)

1 couple d’UE clôturant le parcours (12 ECTS)

8

Page 9: Dominante Ingénierie et Intégration Informatique (III

LES VALEURS DE SPÉCIALISATION DE I2

Intégration des systèmes client-serveur (NSY107)

Conception de logiciels intranet: patrons et canevas (NSY102)

Ingénierie de la qualité et du contrat de service: sécurité, performances (GLG102)

Test de validation du logiciel (GLG101)

Sûreté de la programmation orientée objets (NFP101)

Applications concurrentes et outils (NFP103)

(6 ECTS chacune)

Y.L

alo

um

- EB

dC

- 20

17

9

Page 10: Dominante Ingénierie et Intégration Informatique (III

LES VALEURS DE FIN DE PARCOURS (I3)

Architectures et technologies pour l’intégration 1 et 2 (NSY205 et NSY206)

Ingénierie de projets informatiques 1 et 2 (GLG206 et GLG207)

Architectures Logicielles Java 1 et 2 (GLG203 et GLG204)

Architectures, patterns et intégration: systèmes embarqués et mobiles en Java 1 et 2 (NSY208 et NSY209)

Construction rigoureuse des logiciels 1 et 2 (NFP209 et NFP210)

(12 ETCS au total)

10

Y.L

alo

um

- EB

dC

- 20

17

Page 11: Dominante Ingénierie et Intégration Informatique (III

PRINCIPAUX ENSEIGNANTS

Yann Pollet, professeur titulaire de la chaire

d’Intégration des Systèmes. [email protected]

Yves Laloum, professeur associé.

Erik Boucher de Crèvecœur.

Jean-Michel Douin, maître de conférence.

11

Y.L

alo

um

- EB

dC

- 20

17

Page 12: Dominante Ingénierie et Intégration Informatique (III

ENVIRONNEMENT DE L’ENSEIGNEMENT NSY107

Yann POLLET : Professeur Titulaire de la Chaire Intégration des Systèmes

[email protected]

Yves LALOUM : Professeur Associé au CNAM

Erik BOUCHER DE CRÈVECŒUR

Secrétariat de la chaire Intégration des Systèmes

Safia SIDER

à mettre en copie pour toute correspondance

[email protected]

12

Y.L

alo

um

- EB

dC

- 20

17

Page 13: Dominante Ingénierie et Intégration Informatique (III

OBJECTIFS DE L’UE

Objectif 1: Donner une vision globale de la distribution de

services et de données et des architectures modernes à travers l’ensemble des technologies existantes et coopérantes en entreprise

Objectif 2 : Introduire les outils d’ingénierie permettant de

concevoir des systèmes distribués

Objectif 3 : Préparer aux valeurs de fin de parcours :

Notamment « Architectures et technologies pour l’intégration 1 et 2 (NSY205 et NSY206) »

ou NSY208 et NSY209 : Intégration des Systèmes temps réel embarqués et Java

ou GLG206 et GLG 207 : Ingénierie des projets informatiques 13

Y.L

alo

um

- EB

dC

- 20

17

Page 14: Dominante Ingénierie et Intégration Informatique (III

FORME DE L’ENSEIGNEMENT

1 semestre de cours

Les mardi soirs de 17H45 à 21H45 jusqu’au 23/01/2018

Séances de cours avec un thème par séance

- 1ère partie : Composants des architectures distribuées Architecture serveurs. Disponibilité et performances Virtualisation. Cloud computing Sécurité. Principes cryptographiques

- 2ème partie : Technologies de distribution Bases de données réparties et transactionnel

Architectures d’objets distribués

Middleware orientés messages. Technologies Internet

Web Services. Architectures REST

Comparaison JEE et .NET

- Introduction à l’urbanisation des SI 14

Y.L

alo

um

- EB

dC

- 20

17

Page 15: Dominante Ingénierie et Intégration Informatique (III

VALIDATION DE L’ENSEIGNEMENT

2 sessions d’examen : Au mois de Février 2018

Au mois de Avril 2018 en rattrapage

Note requise à l’examen : 10

Préparation à l’examen : Suivi des cours et supports de cours publiés sur le site du

CNAM au fur et à mesure.

Bibliographie recommandée au niveau de chaque cours

Autres…

Un devoir de préparation à l’examen sera donné en milieu de semestre, à rendre après les vacances de Noël. Devoir dans l’esprit de l’examen.

15

Y.L

alo

um

- EB

dC

- 20

17

Page 16: Dominante Ingénierie et Intégration Informatique (III

RÉFÉRENCES GÉNÉRALES UTILES

René J. CHEVANCE

Serveurs et Multi processeurs Architectures paralléles

Eyrolles

Server Architectures ELSEVIER DIGITAL PRESS 2004

Jean Pierre MEINADIER

Ingénierie et intégration des Systèmes

Hermès sciences

Le métier d’intégration de Systèmes

Hermès sciences

Autres références au fur et à mesure de chaque

terme abordé.

16

Y.L

alo

um

- EB

dC

- 20

17

Page 17: Dominante Ingénierie et Intégration Informatique (III

PETIT HISTORIQUE…

DES PREMIERS ORDINATEURS AUX SYSTÈMES URBANISÉS 17

Y.Laloum - EBdC - 2017

Page 18: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

AU COMMENCEMENT….

18

Page 19: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES DINOSAURES…

19

Page 20: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LA MUTATION….

20

Page 21: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES DÉBUTS DIFFICILES DE LA DISTRIBUTION

21

Page 22: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

ON COMMENCE À SE PARLER….

22

Page 23: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

L’INFRASTRUCTURE SE MET EN PLACE…

23

Page 24: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES AUTOROUTES DE L’INFORMATION….

24

Page 25: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

ON COMMENCE À RATIONALISER….

25

données

Serveur

Serveur Appli

Client

Client

Client

Client

Client

Client

Client

Client

Client

Client

Client Client

Client

Client Client

Client

Client

Client

Client

Internet

Extranet

Intranet

Page 26: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

L’INTÉGRATION VUE PAR : J2EE

26

Page 27: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

L’INTÉGRATION VUE PAR : .NET

27

Y.L

alo

um

- EB

dC

- 20

17

Page 28: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

L’ACCÈS UNIVERSEL : WEB SERVICES

28

Page 29: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES DIFFÉRENTES ARCHITECTURES

29

Opération échange

Architecture Métier

Architecture applicative

Quoi ?

Quels Métiers ?

Comment ?

Avec quoi ?

WEBWEB

Architecture technique

Données

Architecture fonctionnelle

Pilotage Décisionnel

Gestionnaire

de flux

Page 30: Dominante Ingénierie et Intégration Informatique (III

ARCHITECTURE ORIENTÉE SERVICE : SOA

Un service est une fonction qui reçoit des messages et qui les restitue après traitement.

Une Architecture Orientée Service diffuse des services

Un service respecte un contrat Un service est réutilisable

Un service est sans état

30

Y.L

alo

um

- EB

dC

- 20

17

Service

Contrat

Implémentation

Service 2

Service 1

Application 2

Application 1

Message traité

Message à traiter

Page 31: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

EAI à prises Web services

Bus de services distribués

Backbone pour messagerie fiable

Routage intelligent basé contenu

Coordination des processus

Cadre sécurisé

Transformation XML

L’AVENIR : URBANISATION DU SYSTÈME D’INFORMATION

31

Page 32: Dominante Ingénierie et Intégration Informatique (III

ARCHITECTURES DISTRIBUÉES

BASES et CONCEPTS 32

Page 33: Dominante Ingénierie et Intégration Informatique (III

CARACTÉRISATION DES PREMIERS SYSTÈMES

CENTRALISÉS

Tous les traitements s’effectuent sur un seul système

Operating system généralement propriétaire

Terminaux en mode caractère (dumb terminal)

Exemples : IBM MVS, GCOS BULL, VMS DEC, Unix

avec émulation de terminal

33

Y.L

alo

um

- EB

dC

- 20

17

Page 34: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

Avantages :

Sécurité plus facile à

gérer

Coûts d’administration

faible par utilisateur

Centralisation des choix:

Installation

Mise à jour

Utilisation des

applications

Inconvénients :

Interface utilisateur

difficile à utiliser

Faible autonomie de

l’utilisateur

Systèmes propriétaires

Difficile de migrer vers

un autre Système

AVANTAGES/INCONVÉNIENTS DES

SYSTÈMES CENTRALISÉS

34

Page 35: Dominante Ingénierie et Intégration Informatique (III

CARACTÉRISATION DES SYSTÈMES

DÉCENTRALISÉS

Les applications sont découpées en composants

s’exécutant sur des machines différentes

En général, une partie cliente et une partie serveur.

Modèle Requête/réponse.

Downsizing : Décentralisation des traitements

Data Distribution : Répartition des données

Revamping : habillage d’ancienne application et

relookage graphique

Apparition du « MiddleWare »

Exemples : RPC Microsoft, CTOS, Requêtes SQL 35

Y.L

alo

um

- EB

dC

- 20

17

Page 36: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

Avantages :

Répartition des

traitements

Interface utilisateur plus

conviviale (graphique)

Très grande autonomie

de l’utilisateur

Meilleur performance

globale.

Données plus

accessibles en cas de

problèmes réseaux

Inconvénients :

Coût d’administration

plus élevé par utilisateur

Faible maîtrise des effets

d’échelle

Déploiement des

applications plus

compliquée

« fat client » et gestion

des configurations

clients plus

problématique

AVANTAGES/INCONVÉNIENTS DES

SYSTÈMES DÉCENTRALISÉS

36

Page 37: Dominante Ingénierie et Intégration Informatique (III

QU’EST CE QU’UNE ARCHITECTURE DISTRIBUÉE?

Une plate-forme pour construire des applications

Définit les composants d ’un système et leur

interaction

Permet de construire un système complexe à partir

d’éléments simples

Permet de construire un système multi-parties qui

se comporte comme un tout

37

Y.L

alo

um

- EB

dC

- 20

17

Page 38: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES 5 COMPOSANTS LOGIQUES D’UNE

APPLICATION

38

La stratégie d’affectation d ’un composant de

l’application à un système détermine son

niveau de distribution

Page 39: Dominante Ingénierie et Intégration Informatique (III

PROBLÈMES LIÉS À LA DISTRIBUTION

La complexité Multiplicité des composants

L’hétérogénéité Multiplicité des langages

Multiplicité des plates-formes

La distribution Multiplicité des protocoles

Multiplicité des localisations possibles

La gestion du parallélisme et de la concurrence

L’intégration Multiplicité des technologies

Multiplicités des interfaces

39

Y.L

alo

um

- EB

dC

- 20

17

Page 40: Dominante Ingénierie et Intégration Informatique (III

LE CLIENT/SERVEUR

Une architecture est dite client/serveur lorsque

l’ensemble des composants d ’une application est

réparti sur plusieurs entités systèmes.

Les Architectures Clients/serveurs introduisent des

mécanismes permettant d’effectuer des requêtes et

des réponses à travers le réseau.

Selon la décomposition faite au niveau des

composants, la répartition de charge peut être plus

ou moins équilibrée (voir schéma suivant)

40

Y.L

alo

um

- EB

dC

- 20

17

Page 41: Dominante Ingénierie et Intégration Informatique (III

Client

Serveur

41

Y.L

alo

um

- EB

dC

- 20

17

Client léger - - - - - - - - - - - - - - - -> client lourd

Page 42: Dominante Ingénierie et Intégration Informatique (III

LES FAMILLES DE CLIENT/SERVEUR

Le Client/Serveur de Présentation distribuée et

déportée :

Gestion de la présentation sur le Client parfois de

manière simple (Telnet) parfois de manière évoluée

exemple (X-WINDOWS)

Le Client/Serveur de traitement

Gestion de la présentation et du traitement sur le Client

(notion de « fat client ») l ’accès aux données

s ’effectuant sur le serveur

42

Y.L

alo

um

- EB

dC

- 20

17

Page 43: Dominante Ingénierie et Intégration Informatique (III

Le Middleware assure les échanges de données

entre un client et un serveur en masquant les

différents problèmes potentiels liés à :

la répartition des données et traitements

(accès distant, baisse de performance)

l'hétérogénéité des matériels et des logiciels en

opération.

43

Y.L

alo

um

- EB

dC

- 20

17

LES SERVICES RÉSEAUX ("MIDDLEWARE")

Page 44: Dominante Ingénierie et Intégration Informatique (III

Exemple de travail le plus fréquent en client/serveur :

envoyer des requêtes d'accès à des données (type

SQL) d'un client vers un serveur et recevoir les

résultats :

Ouvrir une connexion entre entités

Envoi de requêtes SQL vers le serveur

Conversion des formats de requêtes

Exécution des requêtes

Envoi des résultats

Conversion des résultats

(Gestion des erreurs)

Fermeture de connexion.

44

Y.L

alo

um

- EB

dC

- 20

17

LES SERVICES RÉSEAUX ("MIDDLEWARE")

Page 45: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

CLIENT/SERVEUR : SCHÉMA DE PRINCIPE

45

Poste client

Réseau

Architecture de communication

"Middleware"

Poste client

Poste serveur

Requête

Réponse

Requête

Réponse

Requête

Réponse

Page 46: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

API ("APPLICATION PROGRAMMING INTERFACE")

46

Programme client

Interprèteur de requêtes

IPA API

Communications

SGBD

Serveur de requêtes

IPA API

Communications

Page 47: Dominante Ingénierie et Intégration Informatique (III

APPEL DE PROCÉDURE DISTANTE :

REMOTE PROCÉDURE CALL « RPC »

C'est une réalisation du mode client-serveur.

L'opération à réaliser est présentée sous la forme

d'une procédure que le client peut faire exécuter à

distance par un autre site : le serveur

Exemple de service RPC: TYPE COM_APPEL_PROCEDURE_DISTANTE;

/* Transforme un appel local en appel distant */

METHOD genere_appel (id_emet, id_recept

nom_procedure, paramètres);

/* Recoit un appel distant et l'exécute localement */

METHOD traite_appel (id_emet, id_recept

nom_procedure, paramètres);

METHOD ...;

END COM_MESSAGE_ASYNCHRONE.

47

Y.L

alo

um

- EB

dC

- 20

17

Page 48: Dominante Ingénierie et Intégration Informatique (III

RPC PAR ÉCHANGE DE MESSAGES

CLIENT SERVEUR

Debut

Fin

n_proc(p_in, p_out);

procedure n_proc (p_in,p_out)

Appel(p_in)

Retour(p_out)

48

Y.L

alo

um

- EB

dC

- 20

17

Le premier message correspondant à la requête est

celui de l'appel de procédure, porteur des

paramètres d'appel.

Le second message correspondant à la réponse est

celui du retour de procédure porteur des paramètres

résultats.

Page 49: Dominante Ingénierie et Intégration Informatique (III

CLIENT/SERVEUR : LES SOUCHES OU "STUBS"

Souche Client : procédure d’interface du site client qui :

reçoit l’appel en mode local

le transforme en appel distant en envoyant un

message.

reçoit les résultats après l'exécution

retourne les paramètres résultats

Souche Serveur : procédure sur le site serveur qui :

reçoit l’appel sous forme de message,

fait réaliser l’exécution sur le site serveur par la

procédure serveur

retransmet les résultats par message. 49

Y.L

alo

um

- EB

dC

- 20

17

Page 50: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES DIX ÉTAPES DE TRAITEMENT

50

transport client

souche client

client

transport serveur

souche serveur

serveur

1

2

10

9

3

8

6 5

7 4

Page 51: Dominante Ingénierie et Intégration Informatique (III

DÉTAIL DES ÉTAPES

Étape 1 :

Le client réalise un appel procédural vers la procédure

souche client.

La souche client collecte les paramètres, les assemble

dans un message (“parameter marshalling”).

Étape 2

La souche client détermine l’adresse du serveur.

La souche client demande à une entité de transport locale

la transmission du message d'appel.

Étape 3

Le message est transmis sur un réseau au site serveur.

51

Y.L

alo

um

- EB

dC

- 20

17

Page 52: Dominante Ingénierie et Intégration Informatique (III

DÉTAIL DES ÉTAPES

Étape 4 :

Le message est délivré à la souche du serveur.

Étape 5 :

La souche serveur désassemble les paramètres, et

réalise l’appel effectif de la procédure serveur.

Étape 6 :

La procédure serveur ayant terminé son exécution

transmet à la souche serveur dans son retour de

procédure les paramètres résultats.

La souche serveur collecte les paramètres retour, les

assemble dans un message (“parameter marshalling”).

52

Y.L

alo

um

- EB

dC

- 20

17

Page 53: Dominante Ingénierie et Intégration Informatique (III

DÉTAIL DES ÉTAPES

Étape 7 :

La procédure souche serveur demande à l’entité de

transport locale la transmission du message.

Étape 8 :

Le message est transmis sur un réseau au site client.

Étape 9 :

Le message est délivré à la souche du client.

La souche client désassemble les paramètres retour.

Étape 10 :

La procédure souche client transmet les résultats au

client en effectuant le retour final de procédure.

53

Y.L

alo

um

- EB

dC

- 20

17

Page 54: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

APPEL DE PROCÉDURE DISTANTE ET

GESTION SÉQUENTIELLE CÔTÉ SERVEUR

54

souche serveur

Serveur unique

Liste

des

appels en

attente

Coté serveur

Exemple :

RPC SUN : requêtes non ordonnées, traitement séquentiel.

Page 55: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

APPEL DE PROCÉDURE DISTANTE ET

GESTION DU PARALLÉLISME COTÉ SERVEUR

55

transport serveur

souche serveur

Serveur client 2 Serveur client 1 Serveur client 3

Dans ce mode le serveur créé une activité (un processus

léger ou “thread”) par appel. Les appels sont exécutés

concurremment.

Page 56: Dominante Ingénierie et Intégration Informatique (III

LE TRAITEMENT CÔTÉ CLIENT : APPEL

SYNCHRONE

L'exécution du client est suspendue tant que la

réponse du serveur n'est pas revenue ou qu'une

condition d'exception n'a pas entraîné un traitement

spécifique.

Remarque : le client pourrait faire quelque chose

pendant l'exécution du serveur, mais il reste inactif.

56

Y.L

alo

um

- EB

dC

- 20

17

CLIENT SERVEUR

Appel

Retour

Debut

Fin

lire(...) procedure lire

client bloqué serveur actif

Page 57: Dominante Ingénierie et Intégration Informatique (III

LE TRAITEMENT CÔTÉ CLIENT : APPEL

ASYNCHRONE

CLIENT SERVEUR

Appel

Retour

Debut

Fin

lire(...) procedure lire

serveur actif

récupération des résultats

client actif

57

Y.L

alo

um

- EB

dC

- 20

17

Le client poursuit son exécution après l'émission du

message porteur de l'appel.

La procédure distante s'exécute en parallèle avec la

poursuite du client et retourne ses paramètres résultats

en fin.

Le client récupère les résultats en retour quand il en a

besoin.

Page 58: Dominante Ingénierie et Intégration Informatique (III

CLIENT/SERVEUR: APPLICATIONS TYPES.

Transactionnel

OLTP « On Line Transaction Processing »

Les applications comportent :

des opérations d'accès en lecture écriture à

des bases de données,

des traitements

des affichages en mode graphique sur des

postes de travail.

58

Y.L

alo

um

- EB

dC

- 20

17

Page 59: Dominante Ingénierie et Intégration Informatique (III

CLIENT/SERVEUR: APPLICATIONS TYPES.

Aide à la décision :

EIS/DS « Executive Information

System/Decision Support »

Les applications comportent:

des accès complexes bases de données,

des traitements de synthèse/valorisation

des affichages (tableaux, histogrammes, etc)

59

Y.L

alo

um

- EB

dC

- 20

17

Page 60: Dominante Ingénierie et Intégration Informatique (III

INCONVÉNIENTS DU CLIENT/SERVEUR

Coût d’administration élevé :

Les applications doivent être redéployées à chaque

modification

Augmentation des coûts de support au niveau client à

cause de la logique du « fat client »

Systèmes d’exploitation clients multiples et

incompatibles

Engorgement du réseau dû aux accès bases de

données

Les applications client-serveur montrent des faiblesses

quand l’échelle monte : engorgement du serveur

60

Y.L

alo

um

- EB

dC

- 20

17

Page 61: Dominante Ingénierie et Intégration Informatique (III

LES ARCHITECTURES MULTI-TIERS

Tier= niveau

Le client serveur à 3 niveaux (3-tiers)

On parle de Multi-tiers (ou « n-tiers ») lorsque les

entités applicatives sont réparties sur plusieurs

serveurs avec un middleware permettant la

coopération des composants.

Exemple :

61

Y.L

alo

um

- EB

dC

- 20

17

Page 62: Dominante Ingénierie et Intégration Informatique (III

ARCHITECTURE MULTI-TIERS

Permet une distribution généralisée des

composants.

Permet une prise en compte des effets d’échelle

par multiplication des plateformes de traitements

Permet de minimiser les ressources au niveau

client d’où :

Un coût d’administration moins élevé

L’utilisation de clients légers (Navigateur +

applets Java)

62

Y.L

alo

um

- EB

dC

- 20

17

Page 63: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

ARCHITECTURE PAR COMPOSANTS

63

Page 64: Dominante Ingénierie et Intégration Informatique (III

PROBLÈMES POSÉS PAR LE MULTI-TIERS

Problème de la localisation :

Lorsqu’on répartit les traitements sur plusieurs

serveurs, se pose le problème de l’adressage et

de la localisation des composants

Problème de l’hétérogénéité des plates-formes et

des services

Nécessité de définir des normes et des

standards de coopération (CORBA, COM…)

64

Y.L

alo

um

- EB

dC

- 20

17

Page 65: Dominante Ingénierie et Intégration Informatique (III

LES SYSTÈMES D’OBJETS DISTRIBUÉS

Une structuration des applications qui place la notion

d'objet au centre de la conception : performante et de

plus en plus utilisée.

Objet : associe les traitements et les données en

rendant les codes moins coûteux à développer, à

maintenir, à réutiliser.

Abstraction : Comportements communs => Typage.

Encapsulation : Association des actions aux

données.

Héritage : Réutilisation du code.

Polymorphisme : Réutilisation des références. 65

Y.L

alo

um

- EB

dC

- 20

17

Page 66: Dominante Ingénierie et Intégration Informatique (III

INTÉGRATION DE LA NOTION D'OBJET AU SYSTÈME

RÉPARTI : LA DISTRIBUTION

Les communications réseau offrent la possibilité

d'implanter les objets de façon homogène sur les sites

d'un système réparti.

L'interface du système d'objets répartis est un ensemble

de primitives ou un langage objet concurrent et réparti

offrant la possibilité d'implanter et d'exécuter à la

demande des objets (données, traitement) sur des sites

quelconques.

Création à distance d'instances

Exécution à distance des méthodes.

Concurrence / synchronisation.

Autres fonctions : transactionnel, sécurité, optimisation du

placement ... 66

Y.L

alo

um

- EB

dC

- 20

17

Page 67: Dominante Ingénierie et Intégration Informatique (III

QU'EST-CE QU'UN OBJET?

C'est l'encapsulation au sein d'une même entité des

données et des traitements.

L'objet est manipulable, dans son contexte, au

travers de son interface.

67

Y.L

alo

um

- EB

dC

- 20

17

Données

Methode M1Methode M2

Objet O

Interface

Page 68: Dominante Ingénierie et Intégration Informatique (III

QU’EST-CE QU’UN OBJET RÉPARTI ?

Les services offerts par l'objet sont accessibles

indépendamment de sa localisation.

68

Y.L

alo

um

- EB

dC

- 20

17

Données

Méthode M1Méthode M2

Données

Méthode M3

M3

Site S1 Site S2Objet O1 Objet O2

Page 69: Dominante Ingénierie et Intégration Informatique (III

POUR FAIRE QUOI?

L'objectif :

Décomposer une application complexe en un

ensemble de processus coopérant les uns avec

les autres, ces processus pouvant être situés sur

des machines différentes.

Avoir une structure ouverte, où des machines

peuvent se connecter pendant l'exécution d'une

application.

Solution :

Face à la complexité du développement de

tels systèmes et afin de les structurer, deux

approches ont été généralement retenues.

69

Y.L

alo

um

- EB

dC

- 20

17

Page 70: Dominante Ingénierie et Intégration Informatique (III

COMMENT LE FAIRE ?

Approche appliquée :

Appliquer les concept de la programmation par

objets (encapsulation, héritage..)

Décomposer le système réparti en bibliothèque

de classes Ex :Services CORBA, COM+

Approche intégration :

Intégrer les notions de répartition à l’objet

Objets à distances : Invocation d’objets à distance (bus

Corba, bus Com+)

Objets mobiles : Copies de l’objet serveur chez le client

(ActiveX, Java)

Objets synchronisés

70

Y.L

alo

um

- EB

dC

- 20

17

Page 71: Dominante Ingénierie et Intégration Informatique (III

Y.L

alo

um

- EB

dC

- 20

17

LES SYSTÈMES D’OBJETS DISTRIBUÉS : SCHÉMA

DE PRINCIPE

71

ORB

Interface

OBJET

ORB : Object Request Broker

Page 72: Dominante Ingénierie et Intégration Informatique (III

UN ENJEU POUR LA NORMALISATION

Standardiser l'offre systèmes d'objets répartis pour intégrer des systèmes d'origine différentes dans une application :

Normalisation minimum habituelle par les protocoles (standardiser les interactions) :

interopérabilité entre des implantations

unifier les techniques d'appel distant

accéder à des annuaires communs d'objets

Puis standardiser les langages et techniques de développement...

portabilité des applications

OMG "Object Management Group"

CORBA "Common Object Request Broker Architecture »

Microsoft OLE/DCOM « Object Link Embedding / Distributed Component Object Model »

72

Y.L

alo

um

- EB

dC

- 20

17