2. Système d’information
3
Un système d’information est constitué d’un
ensemble d’outils destinés à gérer, stocker et
traiter des flux d’information.
L’informatique devient le principal outil d’un
système d’information.
Les applications informatiques évoluent dans
plusieurs domaines d’activité : comptabilité,
administration, etc...
Objectif : obtenir une seule et même application
qui gère l’ensemble du système d’informations
dans l’ensemble des secteurs d’activité d’une
entreprise
3. 4
1988 : Système AS/400 : système monolithique
(Mainframe)
Outil simple et extrêmement complet d’un point de
vue fonctionnel
Interface utilisateur: texte blanc sur fond noir avec des
menus uniquement textuels
Evolution des systèmes d’information
4. 5
Les applications composées d’un exécutable
ont progressivement laissé la place à des
applications accessibles par un navigateur Web.
Simplicité d’accès et de la mise à jour de
l’application
Evolution des systèmes d’information
Chaque utilisateur peut accéder
à l’application à partir de
n’importe quel PC connecté au
réseau doté d’un navigateur
Web
Mise à jour d’un seul serveur
Un poste de travail configuré
avec l’application
préalablement installée
Mise à jour : compiler et
déployer l’application sur
l’ensemble des postes
Application avec exécutable Application web
6. Trois niveaux d’abstraction
7
Une application informatique peut être
découpée en trois niveaux d'abstraction
distincts :
Présentation
Logique applicative
Données
Présentation
Traitements
Données
Locaux
Globaux
7. Présentation
8
La couche de présentation, encore
appelée IHM (Interface Homme Machine),
permet l'interaction de l'application avec
l'utilisateur
Gère les saisies au clavier et à la souris et
la présentation des informations à l'écran.
Doit être conviviale et ergonomique.
8. Logique applicative
9
La logique applicative décrit les
traitements à réaliser par l'application pour
répondre aux besoins des utilisateurs
2 types de traitements :
traitements locaux: les contrôles effectués
au niveau du dialogue avec l'IHM (formulaires,
champs, boutons radio…)
traitements globaux: les règles de
l’application, appelées aussi logique métier
(Business Logic)
9. Données
10
L'accès aux données, regroupe l'ensemble
des mécanismes permettant la gestion des
informations stockées par l'application.
Fonctions classiques d’un SGBD :
Définition de données
Manipulation de données
Sécurité de données
Gestion de transactions
etc. ..
10. Différentes architectures
11
Le découpage et la répartition des 3 niveaux
d’abstraction permettent de distinguer les
architectures suivantes
Architecture 1-tier,
Architecture 2-tiers,
Architecture 3-tiers,
Architecture n-tiers.
12. Présentation
13
les trois niveaux (présentation, traitement,
données) sont fortement liés et s'exécutent
sur la même machine.
Deux types d'architectures mettant en œuvre
des applications 1-tiers :
Les applications sur site central (Mainframe)
Les applications 1-tier déployées sur des
machines indépendantes (Micro-Ordinateurs)
13. Applications sur site central – Mainframe
(Années 1970-80)
14
Les utilisateurs se connectent aux applications
exécutées par le serveur central (mainframe) à l'aide
de terminaux passifs
le serveur central prend en charge la gestion des
données et des traitements, y compris l'affichage qui
est transmis sur des terminaux passifs.
Présentatio
n
Traitements
Données
Mainframe
Terminal
Passif
Modem
Terminal
passif
Terminal
passif
16. Les applications 1-tier
déployées17
Progrès technologiques
1981 : IBM PC/XT, Intel 8088 4,57MHz, 64Ko de
RAM, disquettes de 160Ko
Développement des réseaux locaux (LAN)
Développement des interfaces graphiques
Evolution vers une organisation moins
centralisée
Déployer une application 1-tier sur plusieurs
ordinateurs indépendants
17. Les applications 1-tier
déployées18
☹Conflits lors de la consultation ou de la modification
simultanée
☹Difficulté d'assurer la confidentialité des données
Mise en œuvre :
Les utilisateurs se
partagent
des fichiers de données
stockés sur un serveur
commun
La gestion de données est exécutée indépendamment sur
chaque client
La gestion des conflits d'accès aux données doit être prise en
charge par chaque client de façon indépendante
18. Synthèse
19
Limites
Mainframe : interface
utilisateur en mode
caractères est obsolète
1 tiers déployé : gestion des
données n’est pas fiable
Avantages
Mainframe : fiabilité de
l’application grâce à la
gestion centralisée des
données
1 tiers déployé : l'interface
utilisateur moderne des
applications
Solution
Découper l’application en parties distinctes et
coopérants :
gestion centralisée des données
gestion locale de l'interface utilisateur
Naissance du concept du client/serveur
20. Définition & structure
21
C’est une architecture permettant à un ensemble
de machines interconnectées de partager des
ressources
Un système client/serveur est animé par trois
types d’acteurs :
Serveur(s) : machine qui dispose de ressources
informationnelles et physiques qui les gère et
accepte de les partager
Clients : machine demandant l’utilisation de
ressources d’un serveur
Middleware(s) ou intergiciels : ensemble de
mécanismes assurant la communication entre client
et serveur
21. Dialogue client-serveur
22
Client
Initialise le dialogue en envoyant de requêtes
Serveur
Renvoie les données correspondant aux requêtes du
client
Client
Serve
ur
Dialogue
(Middleware)
Initie et pilote
le dialogue
Répond au client
et participe au dialogue
22. Middleware
23
Ensemble des couches logicielles qui permettent le dialogue
entre le client et le serveur
Dialogue interprocessus : Inter Process Communication (IPC)
qui s'appuie coté client et serveur sur API et FAP
API : Application Programming Interfaces
fonctions permettent à l'application de faire appel aux services
proposés par le serveur
FAP : Format And Protocols pilote les échanges à travers le
réseau :
synchronisation des échanges selon un protocole de communication
Middleware
= IPC
= API + FAP
23. Types de middleware
24
Middleware de base de données
Middleware orienté messages (MoM)
Middleware orienté objets
Middleware orienté services
24. Classification du Gartner Group
25
Présentatio
n
Traitements
Données
Présentatio
n
Traitements
Données
Présentatio
n
Traitements
Données
Traitements
Données Données
Traitements
Données
Présentatio
n
Présentatio
n
Traitements
Données
Présentatio
n
Traitements
Données
Présentatio
n
Traitements
ServeurRéseauClient
Présentation
distribuée
Présentation
distante
Gestion distante
des données
Traitements
distribués
Données
distribuées
Données et trait.
distribués
Trafic réseau
25. 1. Présentation distribuée
26
Habillage graphique de l'affichage en
mode caractères d'applications
fonctionnant sur Mainframe
Revamping
L’intégralité des traitements est
conservée sur mainframe
➡ La classification « client/serveur » du
revamping est jugée abusive
Présentatio
n
Traitements
Données
Présentatio
n
26. 2. Présentation distante
27
Correspond au client/serveur de
présentation
Principe
Les traitements et la gestion des données
sont exécutés sur le serveur
le client prend en charge l'affichage
Inconvénients
Trafic réseau important
Pas de répartition de la charge entre client et
serveur
Présentatio
n
Traitements
Données
27. 2. Présentation distante
28
X Window System ou X11 permet la présentation
distance
interface utilisateur graphique qui gère l'interaction
homme-machine par l'écran, la souris et le clavier des
ordinateurs distants
28. 3. Gestion distante des
données29
Correspond au client-serveur de
données
Type de client/serveur le plus répandu
Principe
L'application fonctionne dans sa totalité sur le
client
La gestion et le contrôle des données sont
assurés par un SGBD centralisé.
Inconvénients
Trafic réseau important
Ne soulage pas le poste client, qui exécute
les traitements
Présentatio
n
Traitements
Données
29. 4. Traitement distribué
30
Correspond au client/serveur de
traitements
Principe
Distribuer les traitements entre le client et le
serveur
Utiliser le mécanisme d'appel de procédure
distante (RPC)
Avantages
Optimiser la répartition de charge de
traitements entre machines
Limiter le trafic réseau
Inconvénients
Les traitements doivent être connus du serveur
à l'avance
Traitements
Données
Présentatio
n
Traitements
30. 5. Bases de données
distribuées31
Variante du client/serveur de données
Principe: une partie de données est
prise en charge par le client.
Modèle intéressant, si l'application doit
gérer des données volumineuses
accélérer l’accès sur certaines données
garantir une grande confidentialité
Inconvénients
Le client réalise la majorité des traitements
Mise en œuvre complexe
Données
Présentatio
n
Traitements
Données
31. 6. Données et traitements
distribués32
Principe: répartir la charge des
données et des traitements entre le
client et le serveur
Modèle très puissant et tire partie de
la notion de composants réutilisables
et distribuables
Architecture la plus complexe à
mettre en œuvre
Traitements
Données
Présentatio
n
Traitements
Données
32. Remarques
33
Les différents types du modèle C/S proposés
par Gartner Group sont indépendants et
combinables.
Le modèle client-serveur de données, appelé
aussi C/S de première génération, suit une
architecture 2-tiers.
34. Présentation de l’arch. 2-tiers
(1/2)35
Architecture 2-tiers ou C/S de première génération
ou C/S de données
Le client s’occupe de la présentation et la logique
applicative
Le serveur s’occupe de la gestion des données
Exemple : Application de gestion de stock
fonctionnant sur Windows et exploitant un SGBD
(oracle) centralisé.
La gestion des données est prise en charge par un
SGBD centralisé, s'exécutant le plus souvent sur un
serveur dédié serveur de données
Le serveur de données est interrogé en utilisant un
35. Dialogue client-serveur de
données36
Présentatio
n
Traitement
s
Données
1. Requête utilisateur
2. Envoie de requête
3. Retour de la réponse
Client Réseau
Serveur
Moteur
SGBD
Echange de messages à travers le réseau reliant les deux
machines
Select nom, adresse
from client
where numclient = 254
Durand, 1 place de la république
➡ Mécanismes de communication complexes qui sont, en
général, pris en charge par un middleware de base de
données.
36. 37
Types de middleware de BD
Middleware propriétaire
Toutes les données sont gérées par un même
SGBD
L’application utilise une API propriétaire au SGBD
Avantages
Utilisation de toutes les fonctionnalités du SGBD
Meilleur temps de réponse
Inconvénients
Dépendance totale du SGBD : le changement du
SGBD entraîne la réécriture de la couche traitement
Exemples:
SQL*Net d’Oracle
Open Client de Sybase
37. 38
Types de middleware de BD
Middleware indépendant
Indépendant du SGBD
Avantages
Indépendance par rapport au SGBD
Possibilité de connexions avec différentes BD
Inconvénients
Besoin d’un pilote pour chaque SGBD
Utilisation partielle des fonctionnalités des SGBD
Perte de performance
Exemples:
ODBC de Microsoft
JDBC
IDAPI de Borland, IBM, Novell et Wordperfect
38. Atelier
39
Réaliser une application client/serveur de
données qui permet de gérer la liste des
clients d’une société
Dans le serveur de données, créer une table
client avec les champs suivants : nom, prénom,
cin(clé primaire), téléphone.
Créer une application cliente Java (en utilisant
Swing ou AWT) qui permet d’ajouter, supprimer,
chercher et modifier des clients.
Utiliser MySQL comme SGBD et Netbeans
comme Environnement de Développement
Intégré (EDI).
Un « Post-it » laissé par une secrétaire sur le bureau de son directeur pour lui transmettre un message est un système d’information.
L’informatique est un outil permettant de compléter et améliorer le système d’information déjà en place.
Cette démarche qui consiste à faciliter la diffusion de l’information au sein d’une organisation ne repose pas uniquement sur un système informatique.
- Avec l’évolution des technologies, les applications ont progressivement évolué, les attentes des utilisateurs et des clients également.
The IBM System i is IBM's previous generation of midrange computer systems for IBM i users, and was subsequently replaced by the IBM Power Systems in April 2008.
The platform was first introduced as AS/400 on June 21, 1988 and later renamed as the eServer iSeries in 2000. As part of IBM's Systems branding initiative in 2006, it was again renamed to System i.
In April 2008, IBM announced its integration with the System p platform. The unified product line is called IBM Power Systems and features support for the IBM i (previously known as i5/OS or OS/400), AIX and Linux operating systems. Power4 or older hardware ran OS/400 exclusively.
Les applications de type « client lourd » composées d’un exécutable à lancer ont progressivement laissé la place à des applications dites « client léger » accessibles à partir d’un réseau par l’intermédiaire d’un navigateur Web.
Evolution des architectures distribuées vers les architectures orientées services
Ajouter des figures pour IHM
Logique applicative (Business Logic)
Ensemble de traitements nécessaires pour répondre aux besoins des utilisateurs :
Traitements applicatifs
Traitements sur les données
Dans un contexte multiutilisateurs, on distingue deux types d'architectures mettant en œuvre des applications 1-tiers :
Les applications réparties (appelées aussi applications 1-tier déployées) sur des machines indépendantes (Micro-Ordinateurs) communiquent par partage de fichiers
Historiquement,
Les applications sur site central étaient les premières à proposer un accès multiutilisateurs.
Les utilisateurs se connectent aux applications exécutées par le serveur central (le mainframe) à l'aide de terminaux passifs se comportant comme esclaves.
- Coût des technologies en baisse
- Avec l'arrivée des premiers PC en réseau, il est devenu possible de déployer une application 1-tier sur plusieurs ordinateurs indépendants.
Ce type de programme est simple à concevoir et à mettre en œuvre.
Il existe de nombreux environnements de développement (dBase, Ms Access, Lotus Approach, Paradox... ) qui sont souvent intégrés aux principales suites bureautiques.
L'ergonomie des applications mises en œuvre, basée sur celle des outils bureautiques, est très riche.
La gestion des conflits d'accès aux données doit être prise en charge par chaque programme de façon indépendante, ce qui n'est pas toujours évident.
Environnements de développement : (dbase, MsAccess, Lotus Approach…)
Solution à réserver à des applications non critiques exploitées par de petits groupes de travail
1 tiers déployé : gestion des données n’est pas fiable au delà d'un certain nombre d'utilisateurs.
C’est une architecture de systèmes informatiques dans laquelle un ensemble de machines interconnectées partagent des ressources
constitué de trois composantes :
Présentation
Logique applicative
Gestion des données
Une conversation maître-esclave:
Client :maître, Serveur: escalve
L’opposé des applications sur site central (mainframe)).
API : Application Programming Interfaces (interface de programmation au niveau applicatif)
- fonctions encapsulées dans l'API permettent à l'application de faire appel aux services proposés par le serveur
- Point d’entrée unique pour les applications accès et manipulation unifiés
Ce dialogue se base sur un protocole applicatif commun, défini par l'API du middleware.
Gartner Group définit le middleware comme une interface de communication universelle entre processus.
Représente l’élément le plus important de toute application client-serveur.
Middleware de base de données
Moniteurs transactionnels
Middleware orienté messages (MoM)
Middleware orienté objets
Middleware orienté services
Le poste client conserve une position d'esclave par rapport au serveur
Essaye de détailler le point inconvénient
N'offre pas la même souplesse que le client-serveur de données puisque les traitements doivent être connus du serveur à l'avance.
Modèle très puissant et tire partie de la notion de composants réutilisables et distribuables pour répartir au mieux la charge entre client et serveur
Les deux premiers types (présentation distribuée et présentation distance) ne correspondent pas, vraiment, à des applications C/S.
La première solution qui met en œuvre un modèle client-serveur correspond au C/S de données
Les deux premiers types (présentation distribuée et présentation distance) ne correspondent pas, vraiment, à des applications client-serveur.
Les traitements et la gestion des données sont réalisées par le serveur