La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ant,XDoclet,CVS Réalisé par: Lakhdhar yessin Letaief Sana.

Présentations similaires


Présentation au sujet: "Ant,XDoclet,CVS Réalisé par: Lakhdhar yessin Letaief Sana."— Transcription de la présentation:

1 Ant,XDoclet,CVS Réalisé par: Lakhdhar yessin Letaief Sana

2 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 2 Contenu : ANT XDoclet CVS

3 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 3 ANT (Another Neat Tool) ANT,XDoclet,CVS

4 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 4 Plan Quest ce que ANT ? Purquoi ANT ? Comment ça marche ? Demo…

5 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 5 Quest ce que Ant? Un projet de l Apache Software Foundation. A lorigine,un sous-projet de lApache Jakarta Project. Un outil de construction dapplication écrit en Java. Permet dautomatiser le processus de construction des projets.

6 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 6 Un processus de construction Génération, à partir de sources, de différents types de fichiers Problèmes: -Tâches répétitives -Perte de temps -Grands Projets -Complexité croissante, risques d'oubli Nécessité dautomatisation,dun outil. Récupérer des sources Compilation Test Réorganisations de fichiers Déploiement Création de la documentation

7 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 7 Pourquoi Ant? Des outils existent: make, gnumake, nmake, jam…. Problème : Ces outils sont basés sur des scripts Shell dépendants du Système dexploitation. Solution : ANT qui est : - Indépendant du Système dexploitation. - Accepte des instructions sous la forme dun document XML ce qui le rend extensible et facile à mettre à jour. - Open Source.

8 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 8 Comment ça marche ?

9 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 9 Build.xml

10 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 10 Elément principal, composé de 3 attributs: - name : nom du projet - default : étape de construction par défaut - basedir : dossier racine (sinon le dossier du build.xml) Il contient : -Principalement : un ensemble de balises -Optionnellement : …

11 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 11 Build.xml

12 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 12 variables - Name : nom de la propriété - Value : valeur de la propriété Le référencement dune propriété se fait comme suit : ${nom_propriété} Permet laccès à : - Des propriétés systèmes : Ant permet laccès à toutes les propriétés système comme si prédéfinies avec, Exemple : ${os.name}. -Des Propriétés prédéfinies : - basedir : chemin absolu du répertoire de travail (sinon le dossier du build.xml) - ant.file : chemin absolu du fichier build, - ant.project.name : le nom du projet courant (initialisé comme attribut dans )…

13 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 13 Build.xml

14 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 14 (1) Définit une séquence de tâches à exécuter et possède : 1) un attribut obligatoire -name: nom qui permet son référencement 2) des attributs optionnels: - depends :liste des étapes de construction dont dépends la séquence en question doivent être exécutées en premier - if, unless :permet de conditionner l'exécution par l'existence d'une propriété Exemple :

15 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 15 Build.xml Deux tâches (Tasks)

16 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 16 Les Tasks org.apache.ant.Task Une tâche est une unité de traitements contenue dans une classe Java qui implémente l'interface org.apache.ant.Task Une tâche est obligatoirement incluse dans une cible. Représente le body des du code exécutable. Peuvent utiliser des références à des propriétés. Forme générale: Ant fournit en standard un certain nombre de tâches pour des traitements courants lors du développement en Java.

17 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 17 Quelques catégories de tâches : Archives Tasks Compile Tasks DeployC Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … jar jar : Créer une archive de type jar ear ear : Créer une archive contenant une application J2EE Gzip Gzip : Compresser dans une archive

18 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 18 Quelques catégories de tâches : Archives Tasks Compile Tasks Deployement Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … Javac Javac : Compiler des sources Java JspC JspC : Démarre le compilateur JSP.

19 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 19 Quelques catégories de tâches : Archives Tasks Compile Tasks Deployement Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … ServerDeploy ServerDeploy : tâche pour démarrer le "hot" de loutil de déploiement pour vendor-specific J2EE server.

20 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 20 Quelques catégories de tâches : Archives Tasks Compile Tasks Deployement Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … Javadoc Javadoc : Génération de la documentation en utilisant loutil javadoc Stylebook Stylebook : Execute lApache Stylebook documentation generator

21 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 21 Quelques catégories de tâches : Archives Tasks Compile Tasks Deployement Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … ejbc ejbc : démarrer loutil Weblogic's ejbc wlrun wlrun: démarre une instance weblogic wlstop wlstop: arrete une instance weblogic

22 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 22 Quelques catégories de tâches : Archives Tasks Compile Tasks Deployement Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … Ant Ant : démarre Ant sur un fichier spécifié Exec Exec : Exécute une commande système Sleep Sleep : suspendre lexécution pour une période donnée

23 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 23 Quelques catégories de tâches : Archives Tasks Compile Tasks Deployement Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … Cvs Cvs : Gérer packages/modules récuCés à partir du répertoire référence ( repository ) CVS. CvsTagDiff CvsTagDiff : Générer une fichier XML montrant les changements entre deux tags ou dates enregistrés dans le CVS repository.

24 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 24 Quelques catégories de tâches : Archives Tasks Compile Tasks Deployement Tasks Documentation Tasks EJB Tasks Exécution Tasks SCM Tasks … Il reste encore une multitude de tâches(.NET Tasks, Mail Tasks, …) et la possibilité de créer ses propres tâches.

25 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 25 Integration dans les IDE : Eclipse WebSphere Studio Application Developer JBuilder 8 Enterprise Oracle9i JDeveloper NetBeans / Sun ONE Studio

26 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 26 Demo Création de Task Compilation,Packagin,Déploiement dune application J2EE

27 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 27 ANT,XDoclet,CVS XDoclet

28 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 28 Plan : Présentation Caractéristiques Comment ça marche Tasks Subtask XDoclet & ANT Pattern de génération de code Templates Récapitulatif Démo

29 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 29 Présentation: Xdoclet est un moteur de génération de code orienté attribut (repose sur des commentaires javadoc). Conçu à l'origine comme un outil de création d'EJBs, il a évolué en un moteur de génération de code générique. Actuellement, XDoclet ne peut être utilisé que comme une étape de construction de programme (build process) en utilisant Jakarta Ant.Jakarta Ant

30 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 30 Présentation(2) : Quand est ce que XDoclet est utlisé ? Fichiers de déploiement de configuration Systèmes construits autour de composantes métier Systèmes multi tiers Systèmes Orientés Interfaces

31 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 31 Présentation(3) : Source : Test-Driven Developmentwith Spring and Hibernate,Matt Raible

32 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 32 Caractéristiques de XDoclet : Permet de se focaliser sur un seul fichier par composant Facilite la mise à jour des fichiers Evite le travail répétitif Amélioration de la productivité Amélioration de la productivité Optimisation de lintégration Continue Optimisation de lintégration Continue XDoclet reconnaît une multitude de patterns J2EE largement reconnus Supporte les Serveurs et les outils les + répandus Extensible Open Source Ex : Composant EJB interfaces, value objects, struts forms. JBoss, BEA WebLogic, IBM WebSphere, Oracle IAS, Orion, Jonas,etc…

33 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 33 Comment ça marche? XDoclet permet le développement Orienté Attribut basé sur des commantaires JavaDoc spécifiques. Une balise JavaDoc se présente sous la forme : De même un tag spécifique XDoclet se présente sous la forme : /** C.TOWN **/ /** name="value" name2="value2"... */

34 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 34 Les namespaces : namespace : représente un groupe de tags logiquement reliés (garantit labsence de conflits de noms) voici quelques exemples despaces de noms : ejb : informations standard sur les EJB (non spécifiques). jboss,Weblogic,webSphere: informations spécifiques au serveur d'application. soap : génère les decripteurs SOAP. struts : génère les fichiers struts-config.xml à partir de Form et Action. web : génère le fichier de configuration web.xml pour les Web Applications.... Balises avec un nom et un jeu dattributs optionnels Concept similaire à celui de lXML mais avec une syntaxe name="value" name2="value2"...

35 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 35 Exemple : Les MetaData peuvent aussi être spécifiées pour une méthode MetaData XDoclet placée en commentaire pour la classe

36 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 36 Exemple : Exemple de tags pour le déploiement dun bean entité élémentaire: Comment sont générés les fichiers ?

37 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 37 Les tasks XDcolet : tasks XDoclet On utilise XDoclet pour générer du code, MAIS il est plus correcte de dire quon utilise des tasks XDoclet pour générer du code. task Un task, ou une tâche est une application de génération de code de haut niveau. Les 7 tasks XDoclet de base: : EJBs, Descripteurs de déploiements,… : Développement Web,servets,taglibs,web frameworks : Configuration de Persistance Hibernate, MBeans… : JDO-metadata : JMX-interfaces MBean, mlets, fichiers de configuration : JDO-MetaData : Documentation de projet,comme les listes TODO

38 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 38 Les subtasks XDcolet : subtask Une subtask est une procédure de génération de code élémentaire,fournis par un task. le task fournit un contexte ou un groupement qui gère des subtasks plus ou moins « proches ». Comment est lancée la génération ? Exemple: Task : : Subtasks: Génération du descripteur de déploiement Génération dinterface locale …

39 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 39 XDcolet et ANT (1): ANT Les tasks XDoclet sont des tasks ou tâches de construction ANT. Pour récapituler :

40 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 40 XDcolet et ANT (2): Définition dun task

41 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 41 XDcolet et ANT (2): task Définition dun task

42 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 42 XDcolet et ANT (2): task subtask Définition dun task

43 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 43 Pattern de génération de code : Comment est ce que les subtasks génèrent du code?

44 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 44 Le Template : Le template est une version prototype du fichier quon veut générer. Utilise les tags XML qui précisent au moteur template comment ajuster le codé généré en se basant sur : les classes en entrée les metadata quelles contiennent ( balises javadoc et tag XDoclet ). Ces tag se présentent selon deux types différents :

45 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 45 Les tag : Recherche Recherche : Utilisation Utilisation : Recherche Recherche : Utilisation Utilisation :

46 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 46 Exemple: fichier «.xdt »

47 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 47 Récapitulation: Pour générer du code avec XDoclet on doit : Si on nutilise pas les modules déjà développés pour XDoclet, créer son propre template de déploiement.xdt Commenter son code avec les balises Javadoc spécifiques XDoclet. Créer un fichier de déploiement build.xml pour Ant intégrant des demandes de génération de code XDoclet. Lancer Ant sur le fichier build.xml => les fichiers désirés sont générés.

48 ANT,XDcolet,CVSLakhdhar Yessin & Letaief Sana 48 Demo …

49 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 49 CVS (Concurrent Version System) ANT,XDoclet,CVS

50 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 50 Plan : Présentation de CVS Logique de fonctionnement Étapes de travail avec CVS (commandes) Quelques clients CVS

51 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 51 Présentation de CVS CVS (Concurrent Version System) est un système de contrôle de versions de fichiers. Développé par Cyclic Software et est sous licence GNU. Initialement développé pour Unix, disponible aussi sur MS Windows®

52 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 52 Qualités de CVS : Aide à gérer le développement dun projet effectué en parallèle par plusieurs utilisateurs : Permet Accès concurrentiel par plusieurs développeurs à un même projet. Identifie les changements et les zones de conflit pour lesquelles un arbitrage humain est requis : Visualisation des différences qui sont sources de conflits. Conserve la trace des modifications successives effectuées sur les projets : Archivage et Suivi de lhistorique Possibilité de retour à des versions anciennes

53 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 53 Logique de fonctionnement : Des outils existent: - RCS (Revisions Control System) - SCCS (Source Code Control) Lock-Modify-Unlock Modèle: Lock-Modify-Unlock ( Contrôle par verrouillage) Copy-Modify-Merge. Apparition de CVS : Modèle : Copy-Modify-Merge. - CVSS,Subversion, Méta-CVS… Copy-Modify-Merge ?

54 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 54 Copy-Modify-Merge ? enregistre CVS enregistre les projets dans un référentiel principal appelé Repository. copie modifie Lutilisateur effectue une copie du projet dans le référentiel, puis la modifie. synchronisation Lutilisateur effectue une synchronisation avec le référentiel pour voir sil ny a pas eu entre temps une modification du référentiel. nouvelle version CVS gère la nouvelle version en résolvant un certain nombre de conflits et crée un historique des versions.

55 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 55 Dépôt et copie de version : user1 user2 user3 Dépôt de projet(s) Copie de projet(s) Standbox Référentiel

56 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 56 Étapes de travail avec CVS : Définition dun référentiel : variable denvironnement Ajout de(s) utilisateur(s) Connexion à un projet Copie du référentiel Update Commit

57 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 57 Définition dun référentiel : set CVSROOT = c:\Dev_CVS\cvsrep Lajout de la variable denvironnement se fait grâce à la commande suivante :

58 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 58 Ajouter de(s) utilisateur(s) : cvs passwd –r -a cvs passwd –r -a Exemple : cvs passwd –r -a Exemple : cvs passwd –r -a Lajout dun nouvel utilisateur se fait comme suit :

59 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 59 Connexion au référentiel : set cvsroot=: :/CheminProjet Exemple : set cvsroot=: :/CheminProjet Protocole pserver : se connecter en tant que serveur de mot de passe. Dautres protocoles existent : sserver et ssh. Pour pointer sur un projet, lutilisateur se connecte au référentiel en utilisant la commande :

60 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 60 Copie du projet : La commande checkout "co" permet davoir une copie locale du projet il y a transfert dune copie de ce projet à partir du référentiel dans le répertoire courant : cvs co cvs co Exemple : Cvs co c:\Dev_CVS\projet_cvs

61 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 61 Update : Elle permet de mettre à jour les fichiers locaux à partir de versions situées sur le serveur : cvs update

62 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 62 Commit : cvs commit Une fois lutilisateur termine et vérifie son travail, il utilise la commande suivante pour enregistrer sa version dans le référentiel:

63 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 63 La fusion : commit Problème : D'autres utilisateurs ont déjà publié une autre version : commit il y a détection de la compatibilité entre les modifications. Si il y a compatibilité Si il y a compatibilité fusion avec le reste du projet dans le référentiel. Sinon Sinon CVS indique un conflit. Les utilisateurs le résolvent alors manuellement en se mettant daccord pour valider la version finale.

64 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 64 Clients CVS : JCVS Smart CVS Intégration dans lIDE Eclipse (Démo) Turtoise …

65 ANT,Xcolet,CVS Lakdhar Yessin & Letaief Sana 65 Démo …


Télécharger ppt "Ant,XDoclet,CVS Réalisé par: Lakhdhar yessin Letaief Sana."

Présentations similaires


Annonces Google