Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus du cours 2 Objectifs Généraux Comprendre les architectures logicielles ainsi que leurs composants; Comprendre les principaux patrons de conception (Design Patterns) Etre capable de mettre en oeuvre certains patrons de conception Décrire une architecture logicielle et produire la documentation correspondante Pré-requis POO, UML, JAVA, GL1&2
Organisation du cours 3 I. Fondements de l architecture logicielle II. Styles Architecturaux III. J2EE IV. Les Patrons de Conception V. Conception Architecturale VI. Thèmes Connexes de GL Chapitre III: 4 J2EE Unité d enseignement: Environnements de Développement
Partie1: 5 Survol de l architecture J2EE Unité d enseignement: Environnements de Développement PLAN Veuillez nous suivre 6 Introduction Serveur d application Conclusion Références
Introduction 7 J2EE: Java 2 Entreprise Edition: J2EE (1.2) a été initialement développée par Sun et est apparue en 1999 Définir un standard de développement d'applications distribuées d'entreprises (multicouches et n-tiers) basées sur des composants. Plate-forme fortement orientée serveur pour le développement et l'exécution d'applications distribuées; Elle est composée de deux parties essentielles : Ensemble d API (bibliothèques) écrites en Java qui constituent les composants et les services de cette architecture. Ensemble de spécifications pour une infrastructure dans laquelle s'exécute les composants écrits en java un tel environnement se nomme Conteneur. Introduction 8 J2EE: Java 2 Entreprise Edition: De manière générale, elle identifie et donne les spécifications des composants de l application: Serveurs (Serveur Web, Serveur d application, Serveur de données) (lourd, léger, riche) composants logiciels ou beans, conteneur
Introduction 9 J2EE: Java 2 Entreprise Edition: Plusieurs Avantages : d application basée sur les composants. Interfaçage avec des systèmes d information existants. (JDBC,JMS ) Vaste choix pour les environnements de développement et les serveurs d application. Grande flexibilité dans le choix de l architecture par combinaison de différents composants 10 Java EE est un ensemble de spécificationsimplémentées par différents conteneurs. Ces conteneurs sont des environnements d exécutionjava EE qui fournissent certains services aux composantsqu ils hébergent. Les composants doivent respecter des contratsbien définis pour communiquer avec l infrastructure de Java EE et avec les autres composants, Ils doivent être assemblés en respectant un certain standard (fichiers archives) avant d être déployés.
11 12
13 L environnement d exécution de Java EE définit quatre types de composants que doivent supporter toutes les implémentations : Les appletssont des applications graphiques exécutées dans un navigateur web. Elles utilisent l API Swing pour fournir des interfaces utilisateurs puissantes; Les applicationssont des programmes exécutés sur un client. (interfaces graphiques, programmes non interactifs qui ont accès à toutes les fonctionnalités de la couche métier 14 Les applications web(composées de servlets, de filtres de servlet, d écouteurs d évenements web, de pages JSP et de JSF) s exécutent dans un conteneur web et répondent aux requêtes HTTP envoyées par les clients web. Les servlets permettent egalement de mettre en place des services web SOAP et REST. Les EJB(Enterprise Java Beans) sont des composants permettant de traiter la logique métier en modèle transactionnel. On peut y accéder localement et a distance via RMI (ou HTTP pour les services web SOAP et REST).
15 Les services d'infrastructures : 16 JDBC(Java DataBase Connectivity)est une API d'accès aux bases de données relationnelles. JNDI(Java Naming and Directory Interface)est une API d'accès aux services de nommage et aux annuaires d'entreprises tels que DNS, NIS, LDAP, etc. JTA/JTS(Java Transaction API/Java Transaction )est une API définissant des interfaces standard avec un gestionnaire de transactions.
17 Les services de communication : JAAS(Java Authentication and Authorization Service) est une API de gestion de l'authentification et des droits d'accès. JavaMailest une API permettant l'envoi de courrier électronique. JMS(Java Message Service)fournit des fonctionnalités de communication asynchrone entre applications. RMI-IIOP(Remote Method Invocation Over Internet Inter-ORB Protocol)est une API permettant la communication synchrone entre objets distants. 18 Les applications J2EE supportent des clients de différentes technologies. Selon la nature de ce client, la méthode de communication avec les composants J2EE varie: Un client léger ou riche (HTML côté navigateur):il sera en communication avec le Web container via le protocole HTTP qui sera interprété par les Servlet. Un client lourd ou une application Java(autre qu un navigateur, interface graphique) alors la communication sera directement avec le container d EJB en utilisant une méthode de communication entre objets distants: RMI, IIOP, DCOM.
19 Client léger Client lourd Serveur d Application 20 Il est un environnement d'exécution des applications côté serveur. Il prend en charge l'ensemble des fonctionnalités qui permettent à N clients d'utiliser une même application : d'administration Déploiement de composants Offre des modèles de sécurité
Serveur d Application 21 Il y a trois variantes de serveur d application: Il peut exécuter des container Web mais ne supporte pas les container EJB. Dans ce cas on l appel: Un Serveur Web Exemples: Apache Tomcat (http://tomcat.apache.org/) Il contient un container métier supportant l exécution des composants (EJB) mais ne supporte pas l exécution de container Web. Exemples: JBoss (www.jboss.org) Il supporte l exécution à la fois de container Web et EJB. WebSphere Application Server d IBM Weblogic de BEA (www.bea.com) Serveur d Application 22