Mise en œuvre des serveurs d application

Documents pareils
Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Compte Rendu d intégration d application

Module BD et sites WEB

Environnements de Développement

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Refonte front-office / back-office - Architecture & Conception -

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Java pour le Web. Cours Java - F. Michel

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

10. Base de données et Web. OlivierCuré

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

«Clustering» et «Load balancing» avec Zope et ZEO

Auto-évaluation Aperçu de l architecture Java EE

JOnAS 5. Serveur d application d

Introduction à la plateforme J2EE

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation en Logiciels Libres. Fiche d inscription

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Programmation Web. Introduction

Les Architectures Orientées Services (SOA)

Web Tier : déploiement de servlets

Architecture Orientée Service, JSON et API REST

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Messagerie asynchrone et Services Web

Hébergement de sites Web

Développement des Systèmes d Information

Le passage à l échelle de serveur J2EE : le cas des EJB

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction aux «Services Web»

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

«clustering» et «load balancing» avec Zope et ZEO

2 Chapitre 1 Introduction

Catalogue des Formations Techniques

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

L3 informatique TP n o 2 : Les applications réseau

Logiciels libres et Open source

4. SERVICES WEB REST 46

les techniques d'extraction, les formulaires et intégration dans un site WEB

Architectures web/bases de données

Notre Catalogue des Formations IT / 2015

Application Web et J2EE

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

La mémorisation des mots de passe dans les navigateurs web modernes

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

Configuration Matérielle et Logicielle AGORA V2

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Programmation de services en téléphonie sur IP

Mise à jour : Octobre 2011

Bases de données cours 1

Introduction à Sign&go Guide d architecture

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Cours en ligne Développement Java pour le web

CAHIER DES CHARGES D IMPLANTATION

IBM DB2 Alphablox. d administration GC

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Evaluation Idéopass Cahier d analyse technique

DotNet. Plan. Les outils de développement

Serveurs de noms Protocoles HTTP et FTP

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Cours Base de données relationnelles. M. Boughanem, IUP STRI

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Utilisation de Jakarta Tomcat

Programmation Web Avancée Introduction aux services Web

JavaServer Pages (JSP)

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Cours Bases de données

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Composants Logiciels. Le modèle de composant de CORBA. Plan

Master Data Management en Open Source C est le Bon Moment

WEBSPHERE & RATIONAL. Jacques Rage

Le modèle client-serveur

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Bien architecturer une application REST

CORBA. (Common Request Broker Architecture)

ENVOLE 1.5. Calendrier Envole

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Services Réseaux - Couche Application. TODARO Cédric

Bases Java - Eclipse / Netbeans

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Hébergement de site web Damien Nouvel

Applications et Services WEB: Architecture REST

Java et les bases de données

Architectures Web Services RESTful

Cisco Certified Network Associate

Cours CCNA 1. Exercices

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Intégration de systèmes

Transcription:

Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54

Ces transparents, ainsi que les énoncés des TDs, seront disponibles à l adresse : http://www.loria.fr/~burel/empty_cours.html Master 1 IST-IE : Mise en œuvre des serveurs d application 2/54

Première partie I Principes généraux Master 1 IST-IE : Mise en œuvre des serveurs d application 3/54

Architecture multi-niveaux Plan Architecture multi-niveaux Architecture à 1 niveau Architecture à 2 niveaux Architecture à 3 niveaux Architecture à n niveaux Les serveurs d application Description Niveau web Niveau métier Type de serveurs d application J2EE.NET Autres Master 1 IST-IE : Mise en œuvre des serveurs d application 4/54

Architecture multi-niveaux Architecture à 1 niveau Architecture à 1 niveau Toutes les opérations sont effectuées sur la même machine On communique sur des terminaux Exemple : éditeur de texte Master 1 IST-IE : Mise en œuvre des serveurs d application 5/54

Architecture multi-niveaux Architecture à 1 niveau Critique Avantages : simple performant autocontenu Inconvénients : pas de communications (pas de calcul distribué) code logiciel souvent mal architecturé Master 1 IST-IE : Mise en œuvre des serveurs d application 6/54

Architecture multi-niveaux Architecture à 2 niveaux Architecture à 2 niveaux Aussi appelées architecture client-serveur : Les calculs sont effectués sur le serveur Les clients interrogent le serveur Exemple : Messagerie instantanée Master 1 IST-IE : Mise en œuvre des serveurs d application 7/54

Architecture multi-niveaux Architecture à 2 niveaux Critique Avantages : séparation de la présentation et du contenu calcul distribué Inconvénients : difficile de modifier une partie du serveur sans tout modifier les calculs faits par le serveur ne sont pas distribués Master 1 IST-IE : Mise en œuvre des serveurs d application 8/54

Architecture multi-niveaux Architecture à 3 niveaux Architecture à 3 niveaux On sépare la gestion des données (stockage, recherche) de leur traitement (calcul) Exemple : Application bancaire Master 1 IST-IE : Mise en œuvre des serveurs d application 9/54

Architecture multi-niveaux Architecture à 3 niveaux Critique Avantages : les clients ne dépendent pas des bases de données le niveau du milieu se concentre sur la logique métier tâches distribuées, code facilement modifiable Inconvénients : demande plus de rigueur standards assez complexes code parfois répétitif Master 1 IST-IE : Mise en œuvre des serveurs d application 10/54

Architecture multi-niveaux Architecture à n niveaux Architecture à n niveaux La logique métier est séparées en plusieurs niveaux En particulier la partie web, la gestion de messages asynchrones (ex. : envoi de mail) peuvent être distingués Permet de gérer la sécurité : chaque niveau a des droits d accès différents Exemple : Site commercial Master 1 IST-IE : Mise en œuvre des serveurs d application 11/54

Architecture multi-niveaux Architecture à n niveaux Critique Avantages : code très distribué : une machine pour une tâche, passage à l échelle réutilisabilité de chacun des niveaux code facilement maintenable Inconvénients : architecture complexe à mettre au point besoin de standards performance (trop de communications/calculs) Master 1 IST-IE : Mise en œuvre des serveurs d application 12/54

Les serveurs d application Plan Architecture multi-niveaux Architecture à 1 niveau Architecture à 2 niveaux Architecture à 3 niveaux Architecture à n niveaux Les serveurs d application Description Niveau web Niveau métier Type de serveurs d application J2EE.NET Autres Master 1 IST-IE : Mise en œuvre des serveurs d application 13/54

Les serveurs d application Description Architecture à 3 niveaux Master 1 IST-IE : Mise en œuvre des serveurs d application 14/54

Les serveurs d application Description Processus Master 1 IST-IE : Mise en œuvre des serveurs d application 15/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Exemple Master 1 IST-IE : Mise en œuvre des serveurs d application 16/54

Les serveurs d application Description Niveau web Master 1 IST-IE : Mise en œuvre des serveurs d application 17/54

Les serveurs d application Niveau web Couche web Création de ressources web à l aide de programmes spécifiques (Servlets java) à l aide de langages étendant HTML pour ajouter des parties dynamiques calculées par le serveur, type JSP et ASP.NET Les ressources sont accessibles pour le client à l aide d un simple navigateur portabilité, simplicité Master 1 IST-IE : Mise en œuvre des serveurs d application 18/54

Les serveurs d application Niveau métier Interfaces Offre une interface de requêtes pour les clients Opérations de base : création de compte, ajout d une transaction, recherche de la liste des comptes, etc. Améliore la réutilisabilité et la maintenance : possibilité de changer toute la logique métier sans changer les clients, à condition que l interface reste la même Master 1 IST-IE : Mise en œuvre des serveurs d application 19/54

Les serveurs d application Niveau métier Base(s) de données Communique avec la base de données (BD) Exemple : à partir d un nom d utilisateur?1, requête SELECT * IN LIVRES l, UTILISATEURS u WHERE u.no = l.no_ut AND u.nom =?1 = cherche les livres empruntés par?1 stocke les résultats de la recherche dans une structure manipulable par les programmes (tableau, liste, vecteur, etc.) Intérêt : logique métier indépendante de la BD Master 1 IST-IE : Mise en œuvre des serveurs d application 20/54

Les serveurs d application Niveau métier Traitement des données Dans base de données, données non formatées traitement des données Exemple : calcul de la durée de l emprunt en fonction du statut de l emprunteur Transforme requêtes client complexes en requêtes BD plus simples Gère requêtes asynchrones (envoi de mail, etc.) Master 1 IST-IE : Mise en œuvre des serveurs d application 21/54

Type de serveurs d application Plan Architecture multi-niveaux Architecture à 1 niveau Architecture à 2 niveaux Architecture à 3 niveaux Architecture à n niveaux Les serveurs d application Description Niveau web Niveau métier Type de serveurs d application J2EE.NET Autres Master 1 IST-IE : Mise en œuvre des serveurs d application 22/54

Type de serveurs d application J2EE Java Platform, Enterprise Edition (JEE ou J2EE) Standard développé par Sun Ensemble de spécifications que doit vérifier un serveur d application architecture standardisée, plus facile à comprendre pour l extérieur portabilité : peut passer d un serveur d applications J2EE à un autre sans trop de problème plus de détails dans la suite du cours Master 1 IST-IE : Mise en œuvre des serveurs d application 23/54

Type de serveurs d application J2EE Critique Avantages : standard nombreuses implantation avec différents coûts et performances dont implantations libres disponible sur différentes plateformes (Windows, Unix libre ou propriétaire,... ) Inconvénients : le code doit être écrit en Java la portabilité entre serveurs d application J2EE n est pas totale standard assez complexe besoin de former les concepteurs du logiciel assemblage de briques parfois hétérogènes Master 1 IST-IE : Mise en œuvre des serveurs d application 24/54

Type de serveurs d application J2EE Exemples d implantations Sun Java System Application Server, GlassFish JBoss IBM WebSphere JOnAS (Bull, France Télécom, Inria) Apache Geronimo et d autres... Master 1 IST-IE : Mise en œuvre des serveurs d application 25/54

Type de serveurs d application.net Microsoft.NET centre de développement complet proposé par Microsoft disponible uniquement sous environnement Windows plusieurs langages possibles : C#, Visual Basic, F#, J#, etc. compilés dans un langage commun : Common Language Infrastructure qui est ensuite compilé en langage machine ASP.NET permet de créer des pages web dynamiques Master 1 IST-IE : Mise en œuvre des serveurs d application 26/54

Type de serveurs d application.net Critique Avantages : intégration complète avec le système d exploitation nombreux langage disponibles unité, cohérence Inconvénients : spécifique à une plateforme non libre (sources ouvertes récemment) implantations libres (Mono, CrossNet) partielles Master 1 IST-IE : Mise en œuvre des serveurs d application 27/54

Type de serveurs d application Autres Zope Serveur d applications web libre Langage utilisé : python Rapide, faible technicité requise Utilisé dans Plone : système de gestion de contenu Master 1 IST-IE : Mise en œuvre des serveurs d application 28/54

Deuxième partie II Mise en œuvre d une application J2EE Master 1 IST-IE : Mise en œuvre des serveurs d application 29/54

Généralités Plan Généralités Niveau web Niveau métier Les Enterprise Java Beans Beans session Beans entité Bean contrôlés par messages XDoclet Sécurité Master 1 IST-IE : Mise en œuvre des serveurs d application 30/54

Généralités Master 1 IST-IE : Mise en œuvre des serveurs d application 31/54

Généralités Master 1 IST-IE : Mise en œuvre des serveurs d application 32/54

Généralités Master 1 IST-IE : Mise en œuvre des serveurs d application 33/54

Niveau web Plan Généralités Niveau web Niveau métier Les Enterprise Java Beans Beans session Beans entité Bean contrôlés par messages XDoclet Sécurité Master 1 IST-IE : Mise en œuvre des serveurs d application 34/54

Niveau web Servlets Objets java qui gère les requêtes qu on lui soumet En particulier : servlets HTTP gère les six requêtes du protocole HTTP : GET POST OPTIONS DELETE PUT TRACE utilise un objet HttpServletResponse pour retourner la réponse (sous forme de page HTML en général) Master 1 IST-IE : Mise en œuvre des serveurs d application 35/54

Niveau web Pages JSP permet de créer des pages HTML dynamiques insertion de bouts de code java dans des pages HTML code exécuté sur le serveur ( javascript) : création d un servlet correspondant Master 1 IST-IE : Mise en œuvre des serveurs d application 36/54

Niveau web Exemple de page JSP <%@ page language="java" %> <html> <head> <title>exemple</title> </head> <body> <% int x = 2; %> <h1>valeur initiale</h1> <p><var>x</var> vaut initialement <%=x%>.</p> <h1>changement de valeur</h1> <% x = x + 1; %> <p><var>x</var> vaut maintenant <%=x%>.</p> </body> </html> Master 1 IST-IE : Mise en œuvre des serveurs d application 37/54

Niveau web Résultat Master 1 IST-IE : Mise en œuvre des serveurs d application 38/54

Niveau métier Plan Généralités Niveau web Niveau métier Les Enterprise Java Beans Beans session Beans entité Bean contrôlés par messages XDoclet Sécurité Master 1 IST-IE : Mise en œuvre des serveurs d application 39/54

Niveau métier Les Enterprise Java Beans Introduction Chaque partie de la logique métier est confiée à un EJB un EJB définit une interface à travers laquelle il peut être utilisé 3 types d EJB suivant rôle Master 1 IST-IE : Mise en œuvre des serveurs d application 40/54

Niveau métier Les Enterprise Java Beans Types d EJB Bean session (session bean) : effectue une tâche, implante une requête de l interface avec les clients Bean entité (entity bean) : représente une donnée dans la base de données. Bean contrôlé par messages (message-driven bean) : gère les messages asynchrones (qui n ont pas besoin d être exécutés tout de suite) Master 1 IST-IE : Mise en œuvre des serveurs d application 41/54

Niveau métier Les Enterprise Java Beans Interfaces Interface distante (remote interface) : fonctionnalités propres à l EJB Interface maison (home interface) : création, fonctionnalités communes à tous les EJBs correspondants Deux autres interfaces (local interface et local home interface) : idem mais uniquement pour être utilisé par des éléments sur la même machine (plus rapide) Les autres composants et les clients n accèdent qu aux fonctionnalités décrites dans les interfaces fonctionnement interne facilement modifiable Master 1 IST-IE : Mise en œuvre des serveurs d application 42/54

Niveau métier Beans session Bean session communique avec un client : ouvre une session interactive le client accède aux fonctionnalités de l interface du bean session le bean lance les calculs permettant d effectuer une requête et retourne le résultat au client Master 1 IST-IE : Mise en œuvre des serveurs d application 43/54

Niveau métier Beans session Utilisation un seul client par bean session à la fois l état d un bean session n est pas persistant : ne contient pas les données à conserver plus de quelques heures protège le client de la complexité des opérations internes à l application sur le serveur deux types de bean session : sans état et avec état Master 1 IST-IE : Mise en œuvre des serveurs d application 44/54

Niveau métier Beans session Bean session sans état ne conserve pas de traces de la conversation avec le client utilise uniquement les arguments passés lors de la requête peut être utilisé par plusieurs clients successivement pas besoin de stockage, même temporaire peut implémenter un service web passe plus à l échelle qu un bean session avec état Master 1 IST-IE : Mise en œuvre des serveurs d application 45/54

Niveau métier Beans session Bean session avec état état = conversation avec le client résultat des requêtes dépendant de l historique des requêtes (ex. : metdanspanier(article) puis affichepanier()) quand le client se termine, le bean session disparaît Master 1 IST-IE : Mise en œuvre des serveurs d application 46/54

Niveau métier Beans entité Bean entité représente une donnée dans la base de données persistance possède un identifiant unique (clef primaire) peut-être partagé entre plusieurs clients et lié à d autres beans entité propose des fonctionnalités de recherche dans la base Master 1 IST-IE : Mise en œuvre des serveurs d application 47/54

Niveau métier Beans entité Gestion de la persistance Deux types de persistance : Persistance gérée par le bean : Lien entre bean entité et donnée effective dans base géré par le bean lui-même. Code contient requêtes dans la base de données Plus de flexibilité Moins de portabilité/base de donnée Persistance gérée par le conteneur EJB Liens entre différents beans entité définis dans conteneur EJB Conteneur EJB fait correspondre ces liens avec base de données automatiquement pas de dépendances avec base de données effectivement utilisée Master 1 IST-IE : Mise en œuvre des serveurs d application 48/54

Niveau métier Beans entité Relations entre beans entité Master 1 IST-IE : Mise en œuvre des serveurs d application 49/54

Niveau métier Bean contrôlés par messages Bean contrôlé par messages associé à une file (queue) qui entasse des messages envoyés par le client traite les messages de façon asynchrone plusieurs beans peuvent utiliser la même file (répartition de la charge), plusieurs clients peuvent utiliser la même file exemples : envoi d un mail de confirmation, commande à un fournisseur d un produit bientôt en rupture de stock Master 1 IST-IE : Mise en œuvre des serveurs d application 50/54

Niveau métier XDoclet Diminuer la redondance : XDoclet pour définir un bean, besoin d écrire 5 classes : bean, interface distante, interface maison, interface locale, interface locale maison beaucoup de redondances car fonctionnalités proposées par interfaces sont celles du bean solution : XDoclet seule la classe pour le bean est écrite, annotées avec des commentaires XDoclets XDoclet génère ensuite les autres classes à partir des commentaires permet également de gérer lien entre bean entité et base de données, relations entre beans entités Master 1 IST-IE : Mise en œuvre des serveurs d application 51/54

Niveau métier XDoclet Exemple d annotations /** * @ejb.home-method view-type="remote" */ public void trouveparnom() {... } /** * @ejb.interface-method view-type="local" */ public void depose(float somme) {... } Master 1 IST-IE : Mise en œuvre des serveurs d application 52/54

Sécurité Plan Généralités Niveau web Niveau métier Les Enterprise Java Beans Beans session Beans entité Bean contrôlés par messages XDoclet Sécurité Master 1 IST-IE : Mise en œuvre des serveurs d application 53/54

Sécurité Domaines, utilisateurs, groupes, rôles Utilisateurs et groupes à la UNIX Exemple de groupes : étudiants, professeurs Accès aux ressources : rôles Exemple : administration, consultation Le tout forme un domaine (realm) Master 1 IST-IE : Mise en œuvre des serveurs d application 54/54