Présentation Stéphane TALLARD Ingénieur en Informatique depuis 1996

Slides:



Advertisements
Présentations similaires
Applications N-Tiers Rappels: architecture et méthodologie
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Module 5 : Implémentation de l'impression
Réponse d’appel d’offre cas
Introduction aux environnements répartis
Introduction aux réseaux informatiques
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Le developpement web  Préparé par : ASSAL Lamiae JAMALI Zakarya
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.

Plan de formation Chapitre 1 : Présentation de SAP
TP 3-4 BD21.
NFE 107 : Urbanisation et architecture des systèmes d'information
Interface Homme Machine IHM Pro
wireless sensor networks
Le Concept. Régulation électronique LonWorks communicante pour application poutre froide.
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Développement d’applications web
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Formation Centra - GDE.
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
Aide-mémoire – FORMULAIRE Web DA/DT
Module 1 : Préparation de l'administration d'un serveur
Administration de SharePoint
Applications Chapitre B17 et C18
ECF 5 PRESENTATION « BULLE APPLICATIVE »
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
1.2 COMPOSANTES DES VECTEURS
Les instructions PHP pour l'accès à une base de données MySql
Virtual Local Area Network
Configuration de Windows Server 2008 Active Directory
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
Tableaux de distributions
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
Services fournis par le SI et technologies associées
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Interoperabilité des SI - Urbanisation
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
Présentation Stéphane TALLARD Ingénieur en Informatique depuis 1996
Programmation concurrente
Projet de Conception n° 5
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Adaptée du cours de Richard Grin
Processus d'un projet F.Pfister
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Le workflow Encadré par: M . BAIDADA Réalisé par: ATRASSI Najoua
‘‘Open Data base Connectivity‘‘
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
Algorithmique et programmation (1)‏
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Yonel Grusson 1 SQL SERVER 2000 CLIENT/SERVEUR. Yonel Grusson 2 PLAN Présentation Installation Résultat de l'installation L'administration –Par le SQL.
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
CAZIER Kévin JACOB Sébastien Réalisée dans le cadre du Projet Pluridisciplinaire Encadré par Mme Martine COQUET Responsable de l’entreprise.
Séminaire (6-12 Février 2007) Promo. M2 ESCE-Tunis 2006/07
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

Présentation Stéphane TALLARD Ingénieur en Informatique depuis 1996 Je travaille à Cap Gemini Bayonne depuis 2000 Spécialités : Java, C++, javascript UML Architecture Web Depuis Janvier 2012 : 2j / 5 à l’UFR. Hestia - 2012/2013

Systèmes d'information pour l'entreprise Pourquoi ce cours ? Montrer comment les architectures réseaux ont évolué pour faire face aux besoins des entreprises Présentation des architectures basées sur Java Etre capable d'être un interlocuteur pour un prestataire de service en informatique Hestia - 2012/2013

Mainframes : Systèmes centralisés Le système héberge une ou plusieurs applications Les applications accèdent à un système de gestion de base de données Des terminaux permettent d'utiliser ces applications Le système central réalise l'ensemble des traitements Les terminaux sont passifs : ils se cantonnent à faire des requêtes et à afficher les données Hestia - 2012/2013

Systèmes d'information pour l'entreprise Avantages Bien adaptés lorsqu'on a des gros traitements sans intervention humaine (batch) Les seuls utilisateurs sont les administrateurs Le système est pris pour sa plus grande partie aux tâches de traitement Centralisation : l'administration est facilitée Hestia - 2012/2013

Mainframes : Systèmes centralisés Inconvénients: Gérer la centralisation d’un tel système avec les problèmes généraux qui y sont liés. Non robustesse en cas de panne Problèmes de congestion en entrée du serveur lors de l’arrivée massive de requêtes (congestion de communication) Congestion de traitement car le système central est chargé non seulement de l’administration des données mais aussi de tout le reste de l’application, entre autres, de la partie interface utilisateur. Fonctionnalités limitées : les données restent sur le système central. Un individu ne peut pas les retraiter pour des présentations, des calcus statistiques ... Hestia - 2012/2013

Technologie client – serveur et les serveurs de bases de données Le système central ne s'occupe plus que de l'administration des données et du traitement des requêtes SQL Le poste client prend en charge : L'envoi de requêtes SQL vers le serveur. La présentation des données. Hestia - 2012/2013

Technologie client – serveur et les serveurs de bases de données Avantages : Bien adaptés à l'évolution de la micro informatique : les utilisateurs peuvent récupérer les données issues du serveur de base de données pour réaliser des traitements à façon (présentation, calculs statistiques) Logiciels graphiques plus conviviaux Gestion centralisée des données (vues comme le coeur de l'entreprise) Hestia - 2012/2013

Technologie client – serveur et les serveurs de bases de données Inconvénients Administration des postes clients Héterogéinité des matériels et des logiciels Mise à jour logicielle : comment faire quand on a un grand nombre postes ? Performance Pour réaliser un « vrai » traitement il faut multiplier les requêtes et les aller-retours entre le client et le serveur : le réseau est fortement sollicité Problèmes d'engorgement du serveur à des périodes de pointe ... Hestia - 2012/2013

les systèmes mainframe ? Qu'avez vous retenu sur ... les systèmes mainframe ? Comment les traitements sont répartis ? Quelles problèmes pouvaient survenir ? Hestia - 2012/2013

Les architectures client-serveur Qu'avez vous retenu sur ... Les architectures client-serveur Comment les traitements sont répartis ? Quels problèmes pouvaient survenir ? Hestia - 2012/2013

Equilibre de la charge Pour remédier au probléme d'étranglement du serveur lors des pics de charge, on utilise des système d'équilibre de charge Architecture : Il y plusieurs serveurs Le système d'équilibre de charge : reçoit les requêtes Les redirige vers la machine la moins chargée Hestia - 2012/2013

Equilibre de la charge La machine qui se charge d'équilibrer la charge doit être capable de choisir la machine qui va offrir la meilleure performance Si une machine tombe en panne, les performances globales seront moins bonnes mais les services seront toujours assurés Hestia - 2012/2013

Une transaction est une une suite d'actions sur système Notion de transaction Une transaction est une une suite d'actions sur système Pour qu'une système soit fiable, ses transactions doivent avoir certaines propriétés Atomicité : soit la transaction réussit complètement, soit elle échoue complétement : elle ne modifie l'état du système Cohérente: le système passe d’un état cohérent à un autre. Isolées : Aucune modification n’est visible sur la base tant que toutes les opérations n’ont pas été réalisées et validées. Durables : Les transactions validées sont conservées même si le système tombe en panne. Hestia - 2012/2013

begin ouvre une transaction sur le SGBD Notion de transaction Pour gérer les transactions les Systèmes de gestion de base de données utilisent les ordres begin, commit et rollback begin ouvre une transaction sur le SGBD commit valide toutes les opérations effectuées depuis le begin précédent et clôt la transaction rollback annule toutes les opérations affectuées depuis le begin précédent et clôt la transaction Le SGDB sait: protéger les données si besoin faire attendre les utilisateurs Faire échouer une transaction en cas de time out Hestia - 2012/2013

Illustration de la notion de transaction Il y a 300€ sur votre compte. Vous faites un retrait de 50 euros au distributeur au moment où on vous fait un versement de 500 euros au guichet. Actions Au distributeur Au guichet Dans la mémoire de l’ordinateur du guichet Dans la mémoire du distributeur Dans le système central 1 Vous interrogez le système 300 € 2 L’employé de la banque interroge le système central 3 Vous retirez 50 € 300–50 = 250 € 4 L’employé vous crédite de 500€ 300+500=800 € 300€ 5 L’employé valide la transaction => on écrit dans le SGBD du système central 800€ 6 Vous validez la transaction=> on écrit dans le SGBD du système central 250€ ==> Vous avez perdu 500 euros ! Hestia - 2012/2013

Vous faites votre retrait Du côté de l'employé, deux possibilités : Illustration de la notion de transaction – Avec la gestion des transactions Au moment où vous accèdez à votre compte, le SGBD (système de gestion de base de données) ouvre un transaction => l'enregistrement est protégé en écriture pour tout autre utilisateur Quand l'employé tente de lire le montant sur votre compte, le SGBD fait attendre la demande Vous faites votre retrait Du côté de l'employé, deux possibilités : Le temps d'attente maximum défini côté SGD est dépassé ==> le SGBD a levé une erreur et l'employé a eu un message « compte en cours de modification – essayez plus tard » (si l'application est bien programmée) Le temps d'attente maximum n'est pas dépassé : l'employé a eu la sensation d'un temps d'attente , mais a pu faire son opération normalement. Hestia - 2012/2013

la machine client n'est pas assez puissante , Répartition des traitements Il apparaît que le vrai problème c'est la répartition des traitements c'est la répartition des traitements Trop de traitements côté serveur c'est l'engorgement assuré pour tous les utilisateurs Trop de traitements côté client c'est le risque de voir des traitement échouer : la machine client n'est pas assez puissante , ou n'a pas assez de mémoire, ou n'a pas assez d'espace disque, ou .... Si on veut concevoir un système fiable un des problèmes majeurs c'est la répartition des traitements. Hestia - 2012/2013

Une application se décompose en trois parties : Typologie des traitements Une application se décompose en trois parties : Présentation : (ou interface) la définition du scénario de saisie L'interprétation des interactions de l'utilisateur, tel que l'API Windows L'affichage des données Traitements : les algorithmes propres à l'application : on parle de traitement métier Exemple : la facturation, la gestion des impayés Données: Les opérations que fait le SGBD (recherche des données, stockage, contrôle des accès, gestion des transactions etc...) Hestia - 2012/2013

Classez ces traitements selon leur type Lorsque le stock est inférieur à 10 % de la production de la semaine (en moyenne sur l'année passée) il faut passer commande pour se réapprovisionner Le système permet un accès rapide aux données La liste des produits doit être affichée par ordre alphabétique dans un tableau dont la forme est la suivante … Le système sauvegarde les données toutes les nuits. Les clients dont le montant total de commandes est > à 1500 euros pour l'année en cours ont une ristourne de 10 % sur leur commande. Hestia - 2012/2013

Le cas Facebook Evolution exponentielle du nombre d’utilisateurs Hestia - 2012/2013

Le moins de programmation possible (si possible pas du tout ) Le cas Facebook (2) L'évolution exponentielle du nombre d'utilisateurs impose des contraintes à l'architecture physique : Évoluer rapidement : Le moins de programmation possible (si possible pas du tout ) Uniquement de la configuration Pourvoir scinder les traitements Séparer le métier de l'accès aux données Dédier des serveurs à des traitements particuliers (gestion des messages, gestion des images, gestion des comptes, …) Éviter au maximum de faire de la présentation Hestia - 2012/2013

Les architectures n-tiers On associe à chaque couche des machines dédiés : - Les clients gérent la présentation - Le serveur WEB a en charge la gestion des requêtes HTTP - La logique des traitements est assurée par une serveur d'application - La gestion des données est assurée par un SGBD Hestia - 2012/2013

les différents types de traitement que réalise un système : Qu'avez vous retenu sur ... les différents types de traitement que réalise un système : Présentation ? Métier ? Gestion des données ? Hestia - 2012/2013

Les architecture n-tiers Qu'avez vous retenu sur ... Les architecture n-tiers Pourquoi ? Qu'est qu'une architecture 1-tiers ? Qu'est ce qu'une architecture 2-tiers ? Hestia - 2012/2013

Les mainframes sont une architecture 1- tiers. Le site central gére : Remarque Les mainframes sont une architecture 1- tiers. Le site central gére : Les traitements métier Les accès aux données La présentation Les terminaux sont passifs Hestia - 2012/2013

L'architecture client-serveur est une architecture 2-tiers Remarque L'architecture client-serveur est une architecture 2-tiers Le système de gestion de base de données prend en charge l'accès aux données Le client prend en charge la présentation Les traitements métiers sont répartis entre le client et le serveur. Hestia - 2012/2013

L'architecture client-serveur est une architecture 2-tiers Remarque L'architecture client-serveur est une architecture 2-tiers Le système de gestion de base de données prend en charge l'accès aux données Le client prend en charge la présentation Les traitements métiers sont répartis entre le client et le serveur. Hestia - 2012/2013

Couche Présentation : Notion de client léger Le client léger : S'occupe uniquement de présentation Ne comprend la signification des données qu'il traite Typiquement : un PC avec un browser Web Avantage Interopérabilié : les browser web prennent en entrée un langage normalisé : HTML On n'a plus de problème lié à l 'hétérogeneité des matériels Quand le logiciel change, pas besoin d'installer une nouvelle version du client Inconvénient Ergonomie ... Hestia - 2012/2013

Couche présentation : notion de client riche Un client lourd: possède généralement des capacités de traitement évoluées peut posséder une interface graphique sophistiquée. Inconvénient : tend à mêler la logique de présentation avec la logique des traitements Quand le logiciel change de versions il faut réinstaller l'application Avantage : Ergonomie Hestia - 2012/2013

On a évoqué jusqu'ici des problèmes industriels Java pour bâtir des architectures techniques On a évoqué jusqu'ici des problèmes industriels  Rendre un système évolutif au moindre coût On va décrire dans la suite les solutions que Java offre à ce problème. Hestia - 2012/2013

Écrire des serveurs Web : Les Servlets Avec Java Écrire des serveurs Web : Les Servlets Écrire des traitements métiers et les déployer sur des serveurs dédiés : RMI Accéder à des bases de données : JDBC Hestia - 2012/2013

Les serveurs WEB basés sur les scripts CGI Serveur WEB Décodage Détermination de l’application à lancer Lancement du script CGI page html encodage Script CGI  Il y a autant de scripts CGI tournant en même temps que de requêtes entrantes en cours de traitement  Requête http Calcul de la page html Réponse http Hestia - 2012/2013

Les serveurs WEB basés sur les scripts CGI A chaque requête entrante, on lance un script (historiquement perl) qui calcule la page html à renvoyer au browser.  on est conduit à lancer un nouveau processus à chaque requête. A chaque lancement on recharge en mémoire l’environnement d’exécution nécessaire à l’exécution du script.  Cela conduit à écrouler le serveur Hestia - 2012/2013

Architecture d'un serveur Web dynamique Hestia - 2012/2013

Les servlets sont une technologie Sun Ils sont basés sur : le langage Java Le protocole http Concurrents de Asp (Microsoft) Hestia - 2012/2013

Ce sont des applications Java fonctionnant du côté serveur Servlets Ce sont des applications Java fonctionnant du côté serveur les servlets s'exécutent dans un moteur de servlet utilisé pour établir le lien entre la servlet et le serveur web. Ainsi le programmeur n'a pas à se soucier de détails techniques: connexion au réseau, la mise en forme de la réponse HTTP, ... Hestia - 2012/2013

Le moteur de servlet reçoit les requêtes http Le moteur de servlet est un composant du serveur d'application ou serveur Web Le moteur de servlet reçoit les requêtes http En fonction de la requête entrante, le moteur de servlet détermine la servlet qui va traiter la requête Dans une thread séparée, il appelle une des méthodes doGet ou doPost Une servlet tourne dans une thread séparée Une servlet est écrite en java et peut donc appeler toutes les bibliothèques java et notamment faire des accès à des bases de données Hestia - 2012/2013

Entreprise Java Beans Les EJB sont une alternative aux servlets pour bâtir des applications distribuées non orientées WEB. Comme les servlets, les EJB sont des objets qui sont complètement gérés par le serveur d’application C’est le serveur d’application qui se charge d’associer une requête entrante au bon objet en se basant sur sa configuration interne dépendante de l’application Hestia - 2012/2013