![Page 1: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/12.jpg)
ENVIRONNEMENT DE L’ENSEIGNEMENT NSY107
Yann POLLET : Professeur Titulaire de la Chaire Intégration des Systèmes
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
12
Y.L
alo
um
- EB
dC
- 20
17
![Page 13: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/18.jpg)
Y.L
alo
um
- EB
dC
- 20
17
AU COMMENCEMENT….
18
![Page 19: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/19.jpg)
Y.L
alo
um
- EB
dC
- 20
17
LES DINOSAURES…
19
![Page 20: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/20.jpg)
Y.L
alo
um
- EB
dC
- 20
17
LA MUTATION….
20
![Page 21: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/22.jpg)
Y.L
alo
um
- EB
dC
- 20
17
ON COMMENCE À SE PARLER….
22
![Page 23: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/24.jpg)
Y.L
alo
um
- EB
dC
- 20
17
LES AUTOROUTES DE L’INFORMATION….
24
![Page 25: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/32.jpg)
ARCHITECTURES DISTRIBUÉES
BASES et CONCEPTS 32
![Page 33: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/63.jpg)
Y.L
alo
um
- EB
dC
- 20
17
ARCHITECTURE PAR COMPOSANTS
63
![Page 64: Dominante Ingénierie et Intégration Informatique (III](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/65.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/69.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/70.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/71.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062507/62b0d9534e35f814d6409d8f/html5/thumbnails/72.jpg)
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