Le projet WTP (Web Tools Platform)

Le projet WTP (Web Tools Platform)

Le sous-projet JST (J2EE Standard Tools)

JST est né d’un effort du team Eclipse pour fournir aux utilisateurs de la plate-forme Eclipse un framework standardisé pour la création d’outils de développement adaptés aux applications fondées sur la spécification J2EE. Le sous-projet JST fonctionne en synergie avec le sous-projet WST (Web Standard Tools), que nous présentons à la section suivante, pour constituer le noyau du projet WTP (Web Tools Platform) en offrant toute une panoplie d’outils de développement, de test, de déploiement et d’administration des applications Web fondées sur le langage Java. JST est surtout spécialisé dans le support des technologies J2EE, même si certaines technologies hors de ce scope sont également supportées, via le standard JCP, à l’image de XDoclet, la populaire technologie d’annotation des sources. D’autres technologies, comme Hibernate ou Velocity, bien que très connues dans le monde du développement Java, ne sont pas supportées par ce projet. En résumé, JST permet « l’incubation » de projets potentiellement porteurs grâce à certaines fonctionnalités qu’il embarque et qui peuvent être utilisées par le biais de plug-ins tiers supportant ces projets. Périmètre de JST JST fournit à Eclipse un ensemble d’outils et de technologies standards pour le développement d’applications Java conformes à la spécification J2EE 1.4. Le tableau 5.1 récapitule les standards JCP supportés par JST. JEE5 Bien que WTP supporte la notation J2EE 1.4, nous utiliserons par raccourci la nouvelle définition de la norme Java Platform Entreprise Edition, appelée JEE5, pour le support des JDK 1.5 et 1.6 en lieu et place de J2EE, qui supporte plus spécifiquement les versions des JDK 1.4/1.3/1.2. Tableau 5.1 Standards JCP supportés par JST JSR-3 Java Management Extensions (JMX) 1.2 JSR-5 Java API for XML Parsing (JAXP) 1.2 JSR-45 Debugging Support JSR-54 JDBC API 3.0 JSR-67 SOAP with Attachments API for Java (SAAJ)  Le projet WTP (Web Tools Platform) CHAPITRE 5 105 En complément, les standards et technologies non-JCP suivants sont inclus dans le périmètre de JST : • JAAS (Java Authentication and Authorization Service) • JNDI (Java Naming and Directory Interface) • XDoclet Architecture du sous-projet JST Comme indiqué précédemment, JST fournit un socle pour le développement d’outils J2EE dédiés. Appelé JCM (J2EE Core Model), ce socle contient un ensemble de frameworks et d’objets du modèle permettant d’abstraire les principales fonctionnalités J2EE ainsi que les composants associés et de fournir un ensemble d’API d’accès pour manipuler ces fonctionnalités. Le modèle JCM est accessible à d’autres éditeurs ou développeurs pour étendre les outils de développement J2EE déjà disponibles dans la plate-forme Eclipse. Comme nous l’avons vu, il fournit en outre un support pour d’autres technologies prometteuse non encore directement supportées par Eclipse. Précisons que les outils fournis par le sousprojet JST sont eux-mêmes des extensions du modèle JCM. Les extensions du modèle JCM sont les suivantes : • Modèle de projet J2EE. Fournit un framework pour la gestion de projets J2EE et supporte une structure flexible pour la gestion des composants J2EE et le support des activités associées (compilation, déploiement, etc.). • Modèle d’éditeur J2EE. Étend l’éditeur standard Eclipse pour fournir un support pour la création et l’édition de ressources J2EE, comme les JSP, les servlets, les EJB, etc. Il fournit en outre la base pour la création d’éditeurs spécifiques pour les textes et les images, en particulier pour le support de fonctionnalités d’édition de syntaxe colorée, d’assistant de code, de refactoring de code, etc. JSR-77 J2EE Management API 1.0 JSR-88 Deployment API 1.1 JSR-93 Java API for XML Registries (JAXR) 1.0 JSR-101 Java API for XML-based RPC (JAX-RPC) 1.1 JSR-109 Web Services JSR-112 J2EE Connector Architecture (JCA) 1.5 JSR-115 Java Authorization Contract for Containers (JACC) JSR-152 JavaServer Pages (JSP) 2.0 JSR-153 Enterprise JavaBeans (EJB) 2.1 JSR-181-Metadata for Web Services, JSR-154 Servlets 2.4 JSR-175: Metadata Facility for the JavaTM Programming Language JSR-907 Java Transaction API (JTA) 1.0 JSR-914 Java Message Service (JMS) 1.1 JSR-919 JavaMail 1.3 Tableau 5.1 Standards JCP supportés par JST (suite) JEES Livre Page 105 Jeudi, 29. novembre 2007 12:48 12 Développement Web avec le projet Eclipse Web Tools PARTIE II 106 • Modèle d’artefacts JEE. Représente les sources JEE ainsi que les composants JSP, EJB, descripteurs de déploiement, etc., qui peuvent être créés et gérés au sein d’un projet en même temps que d’autres artefacts, comme les ressources de type image, texte et autres fichiers qui peuvent être packagés dans un module J2EE déployable (war/ejb, jar/rar). • Modèle de serveur JEE. Fournit les abstractions requises pour supporter le déploiement de modules pour différents types de serveurs d’applications. Il offre de manière additionnelle un mécanisme unifié pour démarrer, administrer et stopper les serveurs d’applications JEE. Ce modèle fournit le moyen de gérer les détails de configuration des serveurs, comme les paramètres JVM, les variables d’accès aux chemins (classpath), etc. Enfin, les modules J2EE tels que le packaging, le déploiement, le débogage ou l’import/export de modules J2EE sont gérés par ce modèle.

L’outillage J2EE standard de JST

Examinons à présent l’outillage JST permettant la création, le support et la gestion d’artefacts JEE. Ces outils sont créés en étendant les modèles et les API rendus disponibles par JCM. Le résultat est un ensemble de vues, de perspectives, d’éditeurs et d’assistants dédiés aux différentes activités de développement. Chaque outil est dédié à une activité particulière du développement d’applications d’entreprise J2EE. Ainsi, les outils dédiés au support des servlets/JSP sont utiles au développement d’applications Web et à leur déploiement dans le conteneur, tandis que les outils prévus pour le support des EJB permettent de se concentrer sur le développement et le déploiement sur le conteneur d’EJB. Notion de projets J2EE et de modules Un projet Eclipse est utilisé pour développer des modules applicatifs J2EE Web, ou EJB. Chaque module J2EE est en fait développé dans un projet séparé et possède son propre accès aux classes définies dans le JDT (outillage Java d’Eclipse). Il ne faut toutefois pas confondre module et projet. Il est ainsi possible que différents projets partagent un même module (par exemple, un module jar contenant les bibliothèques partagées par le projet J2EE). Un projet Eclipse « basique » fournit une structure pour organiser les ressources dans le projet (ressources de types fichiers et répertoires) : • Projet Java, qui contient les éléments et artefacts (packages, méthodes, classes et attributs) nécessaires au développement Java. • Projet Web, qui contient en plus du code Java des ressources pour le support du développement Web (bibliothèques Struts, fichiers html, servlets, JSP, bibliothèques de balises, services Web et descripteurs de déploiement). La figure 5.1 illustre l’organisation en composants d’un projet Eclipse. La figure 5.2 décrit les constituants du packaging final d’une application JEE, répartis selon les modules projets précédents, l’ensemble de ces modules étant packagés dans un fichier EAR avec leurs descripteurs respectifs. JEES Livre Page 106 Jeudi, 29. novembre 2007 12:48 12 Le projet WTP (Web Tools Platform) CHAPITRE 5 107 Outils de support à la création de projets J2EE L’outillage de support à la création de projets J2EE permet la création d’un ensemble d’artefacts qui constituent le module de déploiement spécifique de l’application J2EE. Cet outillage supporte la création de cinq types de projets (voir figure 5.3) : • Projet EJB (EJB Project) : ensemble de composants beans d’entreprise supportant les artefacts qui seront compilés et déployés au sein d’un conteneur d’EJB sur le serveur d’applications cible. • Projet de type Web dynamique : ensemble de composants servlets, JSP et Web tiers (bibliothèque de balises, pages HTML, images et documents) qui seront compilés et déployés au sein d’un conteneur Web sur le serveur d’applications cible. Figure 5.1 Modules projet d’un projet Eclipse Figure 5.2 Packaging final d’une application J2EE/JEE JEES Livre Page 107 Jeudi, 29. novembre 2007 12:48 12 Développement Web avec le projet Eclipse Web Tools PARTIE II 108 • Projet de client d’application (Application Client Project) : ensemble de composants client conçus pour la consommation de services fourni par une application d’entreprise. • Projet connecteurs (Connector Project) : ensemble de fichiers source destinés à la création de connecteurs applicatifs pour l’intégration aux systèmes « legacy » spécifiés par la JSR-112 (J2EE Connector Architecture 1.5). • Projet d’application d’entreprise (Enterprise Application Project) : ensemble de modules représentant une application d’entreprise complète. Ce type de projet fournit la possibilité de référencer différents composants de type EJB, Web, client d’application et connecteur qui seront déployés ensemble. Les modules J2EE additionnels fournissent de nombreuses fonctionnalités pour la création de projet, notamment la possibilité de créer et de gérer des artefacts selon les types de projets ci-dessus et, surtout, de créer une structure de déploiement type pour le support au projet J2EE (type WAR pour un projet Web, ou EAR pour une application d’entreprise, par exemple). La figure 5.3 illustre l’assistant de création de projet JST proposant un certain nombre d’options pour un projet d’entreprise J2EE.

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *