Rappel de quelques concepts généraux de l`architecture système et

Page 1
André Gamache professeur associé, Département d'informatique et de génie logiciel
Faculté des sciences et de génie, Université Laval. Québec, Qc, Canada, G1K 7P4
Module 1
Lacunes du MR Module 1 page 1
Quelqueslacunesdelatechnologierelationnelle
‐‐ Lemodèlerelationnelouvrelavoieaumodèleobjet‐‐
et
Lesnouvellestechnologiespourlagestiondesdonnéessanségardàleurtype(NoSQL)
André Gamache, professeur assoc
Département d'informatique et de génie logiciel
Faculté des sciences et de génie
Université Laval. Québec, Qc, Canada, G1K 7P4
Courriel: andre.gamac[email protected]a
2016-09-03 ©
Introduction
Lacunes du MR Module 1 page 2
Rappeldequelquesconceptsgénérauxdel’architecturesystèmeetde
latechnologierelationnelle
LatechnologiedesBDconcerneaupremierchefleSGBDetlabasede
données.
Page 2
André Gamache professeur associé, Département d'informatique et de génie logiciel
Faculté des sciences et de génie, Université Laval. Québec, Qc, Canada, G1K 7P4
Module 1
Lacunes du MR Module 1 page 3
Vueentiersdel'exploitationdesdonnéesavecunSGBD(architectureclientserveur)
Architecture générale de l'implantation d'un système d’information avec
une technologie 2-tiers (client-serveur). Le lien peut être connecté ou
déconnecté (avec un parallélisme plus grand d’accès aux données)
Interface Utilisateur
Logique d’application : calculs sur les données et affichage sont faits sur le poste-client par
l'applicatif. Exemples: validation des saisies et calculs locaux (logique de métier).
Stockage des données et
préservation de la cohérence de la
base par les triggers et méthodes
Traitement : accès
aux données
Traitement de la requête :
obtention des données de la
BD
niveau 2
niveau 1
Machine 1
Machine 2 : serveur
Lacunes du MR Module 1 page 4
Logiquedestraitements
(2tiers/niveaux)
niveau 1 (tiers 1- client)
Niveau Interface(côté client): Gestion des fenêtres: Swing, AWT, browser ou Windows, …
capture et validation des données, traitement des données : calculs sur les données saisies
et affichage des données en provenance de la base.
niveau 2 (tiers 2) Client/Serveur (application « stateless ou stateful »)
Fonction traitement (côté serveur) : par le SGBD: Interprétation de la requête reçue,
recherche, calcul, et écriture dans la base (avec validation des contraintes) …
-- Le SGBD est un acteur majeur à ce niveau et TCP est un protocole très souvent mis à
contribution (d’autres ont été utilisés)
Fonction stockage (côté serveur) : rangement rapide, persistant et cohérent des données
(validation).
Le SGBD et le système de gestion de fichiers ont des rôles significatifs et complémentaires.
La cohérence de la base est capitale! Éventuellement prise en charge par le « cloud ».
Page 3
André Gamache professeur associé, Département d'informatique et de génie logiciel
Faculté des sciences et de génie, Université Laval. Québec, Qc, Canada, G1K 7P4
Module 1
Lacunes du MR Module 1 page 5
Couchesversustiers
- Notion de couche réfère à du logiciel développé en
strates.
- Celle de tiers réfère à du hardware et des protocoles
de communication
Plusieurs couches de logiciel concentrées sur une seule
machine peut être une implantation selon 1-tiers.
L’application est sur une machine et le logiciel d’accès aux
données sur une autre, c’est une implantation 2-tiers.
Le
Cloud computing
sous-tend l’architecture en tiers et un
partage étendu des ressources informationnelles.
Lacunes du MR Module 1 page 6
ajout( )
Données + procédures
de calcul (méthodes)
SGBD
BD
Logique de
validation
des
applications
client
appel méthode ajout
Tiers 1 Tiers 2
Call procP1( ) ou
Transfert par http
Module à l’écoute pour
recevoir les paramètres
du tiers 1
objet1.ajout( )
Tiers 3
Architecture3tiers
tiers 1: La gestion de la capture , de la vérification syntaxique et de l’affichage
effectuées localement du côté de l’application-utilisateur (applicatif faisant appel
à Windows, Swing, …). Une application «
stateless
» plus simple à développer
(i.e. sans « cookies » ou l’équivalent).
•tiers 2: La logique de validation et de calcul de l’applicatif (dite de métier) est
transférée sur un autre serveur dit d'applications.
• L'applicatif fait appel à des packages , méthodes et procédures de niveau 2.
Ex. Le calcul de la charge d’une structure architecturale complexe en un point donné.
•tiers 3: La logique de recherche et de stockage, validation globale (règles
d'entreprise),… sur le serveur de BD; SGBD mis à contribution.
Page 4
André Gamache professeur associé, Département d'informatique et de génie logiciel
Faculté des sciences et de génie, Université Laval. Québec, Qc, Canada, G1K 7P4
Module 1
Lacunes du MR Module 1 page 7
Couche,niveau,tiers(rappel)
Organiserunlogicielencouches n'obligepasdelimiterexclusivementla
communicationentrelescouchesadjacentesnetn+1!
Unlogicielorganiséen tierssoustendlacommunicationentredesserveurs
différents(exclusiondutoutplacésuruneseulemachine).Le«clouétant
considécommeunouplusieursBig Serveur(dedonnéesetd’applications)
forcémentdistants,enclustersettransparentsauxutilisateurs.Des
protocolesdecommunicationsontnécessairespouréchangerdes
informationsentretiers.Lasécuritédevientalorsunfacteurcritique.
Différenceentrecoucheettierstientaufaitqueplacésurunemêmemachineun
systèmeencouches soustendunmodedecommunication(parpipes,
sockets,…)différent(sansl’exclure)celuipourlacommunicationinter
machine(socket+protocole)(TCP/IP,http)pourletiers.
Lacunes du MR Module 1 page 8
ArchitectureWebServeur(3tiers)
Miseenserviced’unserveurWEBàl’écoutesurunport
• Tiers 1 : La gestion de la capture (validation locale plus rapide,…) et de l’affichage
effectuées localement avec un fureteur (
browser
). JavaScript, Ajax, applet, …
• Tiers 2: La logique de validation de l’applicatif est transférée sur un autre serveur qui
est à l’écoute des requêtes HTML traitées par la suite par des packages spécialisés
de Oracle.
Ex. A partir d'un salaire brut et des charges pour une personne, en
déduire le montant maximum d'un prêt.
• Tiers 3: La recherche, validation globale (règles d'entreprise), cohérence du modèle,
couche implémentée entièrement sur le serveur de BD. La communication faite avec
JDBC, SQLJ, …
SGBD
Calcul de la
réponse
à chaque requête
ou DML avec
validation des
contraintes de la
base
Tiers 3
Données et
procédures
bd
Réception des
requêtes HTML
et logique de
validation
des
applications appel méthode
Tiers 1 Tiers 2
Browser
Serveur-Web
ajout( )
Page Web
http:..
Toutes les données sont centralisées
sur un même serveur: Se prête mal à
une exploitation par cluster.
Page 5
André Gamache professeur associé, Département d'informatique et de génie logiciel
Faculté des sciences et de génie, Université Laval. Québec, Qc, Canada, G1K 7P4
Module 1
Lacunes du MR Module 1 page 9
Exploitation via le WEB favorise la répartition des données et
favorise le
clustering
: pas le relationnel
Intégration
paruneBD
centralisée
Système
Vente
Système
Inventaire
BD
Inventaire
BDVentes
ServicesWEB:unpourles
ventesetunautrepour
l’inventaire
Les données sont regroupées
comme un nœud d’intégration.
Exploitation en cluster difficile.
Données stockées en cluster: une BD pour
chaque grande fonction d’exploitation sur des
machines différentes.
Le
clustering
des données facilite l’exploitation des
grands volumes de données.
Le modèle relationnel ne se prête pas facilement en raison de l’éclatement des données
imposée par la normalisation.
Lacunes du MR Module 1 page 10
Source: Oracle PL/SQL Web Application
Une application WEB (1) fait appel à un ensemble de procédures PL/SQL stockées (2) qui
interagissent avec la base pour obtenir des données transmises au browser web via HTTP au
moyen des pages html générées par des procédures PL/SQL cataloguées. Ces pages
affichées sont celles qui de l’interface de l’utilisateur.
Le web Tool kit se charge des accès à la base de données avec le DML ou les méthodes pré-
définies via le module mod_plsql de Oracle.
Oracle® Database Advanced Application Developer's Guide 11
g
Release 1 (11.1) Doc. B28424-03
Web-server de Oracle avec le PL/SQL
Source: Oracle documentation
1 / 39 100%

Rappel de quelques concepts généraux de l`architecture système et

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !