PRISE EN MAIN RAPIDE Référence: APPCOMPOSER_QUICKSTART_040_FR



Documents pareils
BIRT (Business Intelligence and Reporting Tools)

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Authentifications à W4 Engine en.net (SSO)

Utilisation du client de messagerie Thunderbird

Publier dans la Base Documentaire

Groupe Eyrolles, 2003, ISBN : X

W4 BPM WORKSPACE. MANUEL DE SUPERVISION FONCTIONNELLE Référence: W4WK_SUPERVISION_020_FR

Publier un Carnet Blanc

Cartographie Informatique Eclairage Public

COURS WINDEV NUMERO 3

CREG : versailles.fr/spip.php?article803

MEDIAplus elearning. version 6.6

Formation. Module WEB 4.1. Support de cours

Fiches d aide à l utilisation

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Manuel d utilisation du site web de l ONRN

Introduction à Eclipse

Réaliser un PUBLIPOSTAGE

Guide de démarrage rapide

Gérer les règles de prix catalogue sur Magento

Guide utilisateur i-milo >> Décisionnel

CAPTURE DES PROFESSIONNELS

Europresse.com. Pour les bibliothèques publiques et de l enseignement. Votre meilleur outil de recherche en ligne. Guide version 1.

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Projet de Java Enterprise Edition

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

SOMMAIRE. Comment se connecter?

Introduction : L accès à Estra et à votre propre espace Connexion Votre espace personnel... 5

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Une ergonomie intuitive

Gérer, stocker et partager vos photos grâce à Picasa. Janvier 2015

Manuel d utilisation NETexcom

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Guide utilisateur i-milo >> Décisionnel

PRÉSENTÉ PAR : NOVEMBRE 2007

MEGA ITSM Accelerator. Guide de Démarrage

Documentation module hosting

Ces Lettres d informations sont envoyées aux extranautes inscrits et abonnés sur le site assistance (voir point N 3).

iil est désormais courant de trouver sur Internet un document

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

ZOTERO Un outil gratuit de gestion de bibliographies

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Notes pour l utilisation d Expression Web

La gestion des serveurs de mail

Logiciel SuiviProspect Version Utilisateur

Utiliser le service de messagerie électronique de Google : gmail (1)

Tutoriel. Votre site web en 30 minutes

Publication dans le Back Office

MERLIN. Guide de démarrage rapide Gestion de projet professionnelle ProjectWizards GmbH, Melle, Allemagne. Tous droits réservés.

La base de données XML exist. A. Belaïd

FICHIERS ET DOSSIERS

< Atelier 1 /> Démarrer une application web

Université de Picardie - Jules Verne UFR d'economie et de Gestion

Documentation RBS Change E-Commerce Core

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Le langage C. Séance n 4

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Utilisation de l éditeur.

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

claroline classroom online

Création d un site web avec Nvu

4. Personnalisation du site web de la conférence

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

E-documents Simple, sûr et écologique

MEGA ITSM Accelerator. Guide de démarrage

EXCEL TUTORIEL 2012/2013

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Réglages du portail de P&WC

La gestion des boîtes aux lettres partagées

Le guide Votre manuel d utilisation pour une gestion rapide des polices en ligne

Atelier Le gestionnaire de fichier

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Utiliser une base de données

Édu-groupe - Version 4.3

1. Installation du Module

Guide d'utilisation. Centre des ressources Demande électronique de matériel publicitaire. Juin 2005

Service On Line : Gestion des Incidents

Google Drive, le cloud de Google

Guide d utilisation 2012

Formation Administrateur de Données Localisées (Prodige V3.2) Recherche et consultation des métadonnées

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Module Communication - Messagerie V6. Infostance. Messagerie

MO-Call pour les Ordinateurs. Guide de l utilisateur

Rapports d activités et financiers par Internet. Manuel Utilisateur

arcopole Studio Version 3.3

Manuel KBC-Online Local

Guide d utilisation IPAB-ASSOCIATION v5.0 GUIDE D UTILISATION. à destination des associations et organismes sans but lucratif.

Fonctionnement général de Tiny ERP

Guide d utilisation. Version document 0.8. Trouver toute la documentation sur :

Créer et partager des fichiers

PROCÉDURE D AIDE AU PARAMÉTRAGE

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Transcription:

PRISE EN MAIN RAPIDE Référence: APPCOMPOSER_QUICKSTART_040_FR Retrouvez ce document et ses prochaines mises à jour dans le W4 Documentation Browser www.myw4.com

PRISE EN MAIN RAPIDE Référence: APPCOMPOSER_QUICKSTART_040_FR

2010-2011 W4. Tous droits réservés. L'acquisition du présent document confère un droit d'utilisation incessible, non exclusif et personnel et non un droit de propriété. L'utilisation, la copie, la reproduction et la distribution du présent document sont permises à condition: 1. que la mention de droits d'auteur ci-dessus figure sur toutes les copies et que cette mention de droits d'auteur et la présente mention d'autorisation apparaissent conjointement ; 2. que le présent document ne soit utilisé qu'à des fins d'information et non commerciales ; 3. que le présent document ne soit modifié de quelque manière que ce soit. Tous les produits et marques cités sont la propriété de leurs titulaires respectifs. Les informations contenues dans ce document pourront faire l objet de modifications sans préavis.

Sommaire Présentation 6 Etape 1 : description du modèle de données 10 Etape 2 (facultative) : description de la navigation 20 Etape 3 (facultative) : spécialisation de l application 26 Etape 4 (facultative) : connexion à une base MySQL 32 Perspectives 36 Application Composer Prise en main rapide 4

5 Sommaire

Chapitre 1 1 Présentation Est-il possible de développer simplement une IHM (interface homme-machine), en client riche, léger ou lourd, sans aucune connaissance préalable de ces technologies? Oui, en se concentrant sur son métier et en ne manipulant que des concepts applicatifs. Cette approche est celle d Application Suite, suite logicielle de W4. Dans Application Suite, Application Composer et Application Engine proposent un environnement Model-Driven permettant d industrialiser le développement d applications métier complexes et évolutives en mode agile. Site web de W4 : > www.w4.eu Dans cette section : > Tutoriel Prise en main rapide, page 6 > Application Suite, page 7 > Principe de fonctionnement, page 7 Ce tutoriel comporte les étapes suivantes : > 2 Etape 1 : description du modèle de données, page 10 > 3 Etape 2 (facultative) : description de la navigation, page 20 > 4 Etape 3 (facultative) : spécialisation de l application, page 26 > 5 Etape 4 (facultative) : connexion à une base MySQL, page 32 > 6 Perspectives, page 36 Tutoriel Prise en main rapide Ce tutoriel va vous permettre, sans aucune connaissance technique préalable, de réaliser en moins d une heure votre première application avec Application Composer. Application Composer Prise en main rapide 6

En vous guidant par itérations successives, ce tutoriel va vous permettre d atteindre progressivement d un résultat élaboré couvrant l ensemble des fonctionnalités attendues d une application de gestion d une vidéothèque personnelle. Application Suite Application Suite s inscrit dans une offre plus globale de W4, BUSINESS FIRST Application Composer, une suite logicielle de composition d applications métier. BUSINESS FIRST Application Composer comporte deux sous-ensembles : Application Suite et Process Suite. Au sein d Application Suite, Application Composer, l atelier de conception graphique au centre de ce tutoriel, gère les aspects modélisation et production de l IHM, et Application Engine est le moteur en charge de l exécution du résultat. Au sein de Process Suite, Process Composer et Process Engine offrent un environnement BPM complet pour la conception et l exécution des processus d entreprise. Principe de fonctionnement Avec Application Composer, le modèle de données est au centre des développements et doit être mis en place en premier lieu. Par simple paramétrage de ce modèle, le concepteur indique quelles sont les différentes vues présentées à l utilisateur final et comment s effectue la navigation entre les écrans. Toutes les contraintes techniques de présentation des données (production des vues, récupération et affichage de ces données, maintien en cohérence des différentes fenêtres de l application, etc.) sont prises en charge par la plate-forme elle-même, et plus particulièrement par le moteur Application Engine qui interprète le modèle pour produire dynamiquement les écrans de l application au moment où ils sont requis. A ce stade, le résultat est déjà exécutable en client lourd ou en mode web. Il peut ensuite être spécialisé itérativement par l ajout des comportements fonctionnels spécifiques et des ressources graphiques (couleurs, images, polices, etc.) pour proposer une application finalisée disponible en différents modes : DHTML/AJAX (web), Swing, SWT, plug-in Eclipse, etc. 7 Chapitre 1 Présentation

9 Chapitre 1 Présentation

Chapitre 2 2 Etape 1 : description du modèle de données Pour composer l application de ce tutoriel, nous utiliserons l atelier de composition Application Composer. Application Composer est disponible soit dans sa version intégrée à Eclipse, soit en version autonome. Application Composer permet de créer la description d une application sans devoir écrire une seule ligne de code. Dans cette section : > Création de l application Vidéothèque, page 10 > Création de la classe Catégorie, page 12 > Création de la classe Film, page 16 > Exécution de l application en client lourd (afficheur SWING), page 18 Création de l application Vidéothèque Au cours de ce tutoriel vous allez développer une application simple pour la gestion d une vidéothèque personnelle. Au démarrage d Application Composer, la fenêtre principale s affiche et présente sur la partie droite l arborescence des classes, vide pour l instant : Application Composer Prise en main rapide 10

Fig 2.1 Application Composer au démarrage Vous allez maintenant créer une nouvelle application. 0 POUR CRÉER L APPLICATION 1 Sélectionnez Fichier Nouveau. La fenêtre Nouveau : Application s affiche. 2 Renseignez l identifiant de la classe : videotheque. Cet identifiant est interne. Il est utilisé par le concepteur. 3 Renseignez le titre de la classe : Vidéothèque. Ce titre est externe. Il est visible par l utilisateur final. Le répertoire de sauvegarde ainsi que la langue peuvent être choisis librement, mais pour cet exemple vous pouvez conserver les options par défaut. 11 Chapitre 2 Etape 1 : description du modèle de données

Fig 2.2 Création de l application 4 Cliquez sur Valider. L application est désormais créée, ce qui a pour effet d initialiser l arborescence de l Arbre des classes : Fig 2.3 Arbre des classes après la création de l application 5 Vous pouvez à ce stade sauvegarder votre travail : cliquez sur le bouton Enregistrer sous la barre de menus, et pensez à enregistrer à nouveau par la suite à intervalles raisonnables. Création de la classe Catégorie Vous allez maintenant créer votre première classe applicative, représentant les catégories de films de la vidéothèque. Les catégories seront par exemple : comédie, drame, science-fiction, etc. Application Composer Prise en main rapide 12

0 POUR CRÉER LA CLASSE CATÉGORIE 1 Dans l Arbre des classes, cliquez sur Créer une classe... La fenêtre Créer une classe s affiche. Cette fenêtre vous permet de renseigner des informations sur la nouvelle classe, mais pour cet exemple, vous pouvez vous contenter de renseigner son nom. 2 Renseignez le nom : Catégorie. Fig 2.4 Création d une classe 3 Cliquez sur Valider. Un nouveau noeud apparaît dans l Arbre des classes : Fig 2.5 Arbre des classes après la création de la classe Catégorie La sélection d un noeud dans l Arbre des classes affiche un aperçu des formulaires associés dans l onglet Editeur graphique. Le formulaire visualisé dans la zone centrale de l Editeur graphique est de type WYSIWYG : il correspond à celui qui sera utilisé à l exécution. Il est relatif, premièrement à la classe sélectionnée, et ensuite à l action concernée. Si vous sélectionnez la classe Catégorie dans l Arbre des classes, vous pouvez constater que pour l'instant, le formulaire est vide car la classe ne possède pas d attributs : 13 Chapitre 2 Etape 1 : description du modèle de données

Fig 2.6 Aperçu de la classe dans l Editeur graphique 4 A partir de la zone Types standards de l Editeur graphique, à gauche, ajoutez un champ de type texte simple correspondant au genre de film, soit par glisser-déplacer, soit par double-clic : Application Composer Prise en main rapide 14

Fig 2.7 Utilisation de l Editeur graphique pour l ajout d un champ 5 Double-cliquez sur le libellé du champ dans le formulaire puis associez au champ un nom plus approprié : Genre. 6 Cliquez droit sur ce même champ puis sélectionnez l option de menu contextuel Modifier les marques fréquentes... 7 Dans la fenêtre qui s affiche, sélectionnez la marque name : 15 Chapitre 2 Etape 1 : description du modèle de données

Fig 2.8 Modification des marques d un champ 8 Cliquez sur Valider. Le champ Genre sera ainsi utilisé pour l'affichage des catégories dans les différentes vues. Création de la classe Film En suivant le même principe, vous allez créer la seconde classe de votre application : Film. 0 POUR CRÉER LA CLASSE FILM 1 La classe Catégorie est actuellement sélectionnée dans l Arbre des classes. Avant de créer la classe Film, sélectionnez le second noeud de l Arbre des classes, correspondant au projet Videothèque. Fig 2.9 Arbre des classes avant la création de la classe Film 2 Créez une nouvelle classe. 3 Renseignez le nom de la classe : Film. 4 Cliquez sur Valider. Un film est décrit par un titre, une catégorie et une année de sortie : Titre est un champ texte simple, comme celui utilisé lors de la définition de la catégorie. Genre correspond à une relation simple vers la classe Catégorie définie précédemment. Date de sortie correspond à un champ de type date (format JJ/MM/AAAA). Application Composer Prise en main rapide 16

5 Créez le champ Titre : 5.1 Dans l Arbre des classes, sélectionnez la classe Film. 5.2 A partir de la zone Types standards de l Editeur graphique, ajoutez un champ de type texte simple. 5.3 Renommez le champ. 5.4 Le nom d'un film correspondant à son titre, ajoutez la marque name au champ. 6 Créez le champ Genre : 6.1 Ajoutez un champ de type relation simple. La fenêtre Sélectionnez la classe cible s affiche. 6.2 Sélectionnez la classe Catégorie dans la liste déroulante puis cliquez sur Valider. 6.3 Renommez le champ. 6.4 L attribut Genre n étant pas obligatoire pour la définition d'un film, ajoutez au champ la marque optional. 7 Créez le champ Date de sortie : 7.1 Ajoutez un champ de type date. 7.2 Renommez le champ. 7.3 L attribut Date de sortie n étant pas obligatoire pour la définition d'un film, ajoutez au champ la marque optional. La classe doit désormais se présenter comme suit : Fig 2.10 Formulaire de création d'un film, dans l éditeur et aperçu dans l application finale NOTE Les caractéristiques des classes métier ou de leurs attributs peuvent être modifiées par double-clic à partir de la zone Outline, en bas à droite, contextuelle à la sélection graphique dans le formulaire. Vous pouvez par exemple modifier l image associée à la classe. Lorsque la classe (et non ses champs) est sélectionnée dans l éditeur, double-cliquez sur le champ Image dans la zone Outline. Si aucune image n'est spécifiée, une image par défaut est utilisée, qui affiche la première lettre du nom de la classe en majuscule (F pour films, et C pour catégories). Vous pouvez constater que ce champ est facultatif car il est affiché en style normal, et non en gras. La description du modèle de données de votre vidéothèque est désormais terminée. Vous disposez désormais d une application opérationnelle. 17 Chapitre 2 Etape 1 : description du modèle de données

Exécution de l application en client lourd (afficheur SWING) Avant l exécution, vous allez indiquer à l application que les données manipulées devront être sauvegardées à l issue de la session utilisateur. Cela permettra de créer des données persistantes (films et catégories) réutilisables ultérieurement. Pour cela, vous allez éditer les propriétés de l application. De plus, étant donné que vous allez exécuter votre application en SWING, vous allez devoir éditer les préférences afin de renseigner le JDK à utiliser. 0 POUR MODIFIER LES PROPRIÉTÉS POUR L ÉTAPE 1 1 Cliquez sur le bouton Propriétés, sous la barre de menus. La fenêtre Modifier : Application : Vidéothèque s affiche. 2 Affichez l onglet Environnement. 3 Modifiez la variable LY_SAVE_FILES : 3.1 Cliquez dans la colonne Valeur en regard de la variable LY_SAVE_FILES. 3.2 Remplacez la valeur actuelle par true puis appuyez sur la touche ENTREE de votre clavier. 3.3 Cliquez sur le bouton Valider en regard de la variable LY_SAVE_FILES. 3.4 Validez la fenêtre. Fig 2.11 Mise à jour des propriétés pour la persistance des données 0 POUR MODIFIER LES PRÉFÉRENCES POUR L ÉTAPE 1 1 Cliquez sur le bouton Préférences, sous la barre de menus. La fenêtre Préférences s affiche. 2 Affichez l onglet Java. 3 Renseignez le répertoire du JDK à utiliser. 4 Cliquez sur Valider. Application Composer Prise en main rapide 18

0 POUR EXÉCUTER L APPLICATION EN SWING 1 Pour exécuter cette application métier sans le moindre effort, il vous suffit de choisir un environnement graphique tel que l afficheur SWING : sélectionnez Exécuter Afficheur SWING. Fig 2.12 Exécution de l application en SWING (1/2) Le modèle est alors interprété par le moteur qui, à ce stade, est capable de générer un arbre des vues par défaut, calqué sur votre modèle de données et permettant d accéder aux différents écrans pour l administration de vos données. Vous pouvez créer des catégories et des films. Fig 2.13 Exécution de l application en SWING (2/2) Les services de consultation, création, modification et suppression sont d ores et déjà utilisables, de même que le tri, le filtrage etc. 19 Chapitre 2 Etape 1 : description du modèle de données

Chapitre 3 3 Etape 2 (facultative) : description de la navigation Nous l avons vu, cette étape n est pas indispensable pour obtenir une application rapidement opérationnelle. Cependant, elle est nécessaire pour particulariser les vues et il est utile de s y intéresser dans le cadre de ce tutoriel. Dans cette section : > Actions et arbre de navigation, page 20 > Création de l action composite Films par genres, page 21 Actions et arbre de navigation Intéressons-nous maintenant à la définition de l arbre de navigation. L onglet Arbre des vues permet d indiquer le mode d affichage des données applicatives à l utilisateur final et la navigation d un écran à l autre. L arbre ne contient pour le moment aucune action. Dans un premier temps, vous allez vous contenter d utiliser le bouton de génération automatique de l interface graphique. 0 POUR GÉNÉRER L IHM PAR DÉFAUT 1 Affichez l Arbre des vues. 2 Cliquez sur Générer l IHM par défaut. Cette option crée une action racine (la première exécutée au lancement de l application par Application Engine) qui permet d accéder aux écrans associés aux différentes classes métier, présentées sous forme de tables. L arbre de navigation généré dans notre exemple contient donc une fenêtre principale permettant d afficher la liste des films et celle des catégories : Application Composer Prise en main rapide 20

Fig 3.1 Arbre de navigation La sélection d une action dans l arbre de navigation permet alors l affichage de l aperçu de la vue correspondante dans la zone centrale. Création de l action composite Films par genres Vous allez maintenant composer une vue supplémentaire présentant un accès aux films par genre. Pour cela, vous allez créer une vue composée à partir de deux vues élémentaires : un arbre visualisant les catégories sur la gauche (nouvelle action à créer) une table visualisant les films associés à la catégorie sélectionnée sur la droite (action existante à réutiliser) 0 POUR CRÉER L ACTION COMPOSITE 1 Dans l Arbre des vues, cliquez-droit sur le noeud racine puis sélectionnez l option de menu contextuel Créer une action composite... La fenêtre Créer une action composite s affiche. 2 Nommez l action : Films par genres. 3 Créez la première vue (l arbre des catégories) : 3.1 Dans le cadre Composition, cliquez sur Créer une action. La fenêtre Créer une action 1/2 s affiche. 3.2 Dans le cadre Caractéristiques, sélectionnez Arbre. 3.3 Dans le cadre Identification, remplacez le nom par défaut par Genres. 3.4 Cliquez sur Suivant. La fenêtre Créer une action 2/2 s affiche. 3.5 Dans la liste déroulante Classe cible, sélectionnez Catégorie. 21 Chapitre 3 Etape 2 (facultative) : description de la navigation

Fig 3.2 Création d une action arbre dans le cadre d une action composite 3.6 Cliquez sur Valider. Votre première action est désormais créée et apparaît dans la partie droite du cadre Composition : Application Composer Prise en main rapide 22

Fig 3.3 Première action de l action composite 4 Pour la seconde action, il vous suffit de réutiliser l action Film qui a été générée automatiquement lors de la génération de l IHM par défaut : sélectionnez l action Films dans le cadre de gauche puis cliquez sur Sélectionner. La seconde action apparaît dans le cadre de droite : Fig 3.4 Seconde action de l action composite 23 Chapitre 3 Etape 2 (facultative) : description de la navigation

Notez qu il est possible de définir le contexte entre les vues. Dans notre exemple, la sélection d un genre de film dans l arbre détermine les films visualisés, vous pouvez donc laisser l option par défaut La 1ère action définit le contexte. 5 Cliquez sur Valider. L Arbre des vues actualisé affiche cette nouvelle action composite : Fig 3.5 Arbre des vues après la création de l'action composite 6 Vous pouvez à ce stade exécuter à nouveau votre application et visualiser par la même occasion le résultat opérationnel en mode web : sélectionnez Exécuter Afficheur Web. Fig 3.6 Exécution de l application en mode web A l exécution, vous pouvez remarquer que la fenêtre principale propose un menu Film avec deux entrées : Film (l action générée automatiquement) et Films par genre, l action composée que nous avons créée. NOTE Pour obtenir des entrées séparées, il suffit d associer des images différentes aux deux actions. Après avoir créé quelques données dans les catégories et les films en utilisant l application comme le ferait un utilisateur final, vous pouvez vérifier que la sélection d un genre, dans l arbre de gauche, met bien à jour la liste des films présentés dans la liste, à droite. Le résultat obtenu doit se présenter comme suit : Application Composer Prise en main rapide 24

Fig 3.7 Application vidéothèque en mode web 25 Chapitre 3 Etape 2 (facultative) : description de la navigation

Chapitre 4 4 Etape 3 (facultative) : spécialisation de l application Bien qu étant opérationnelle, votre application reste à ce stade relativement basique et doit être spécialisée. Pour cela vous allez maintenant développer deux comportements spécifiques en Java, l un assurant le respect d une règle métier, l autre spécialisant un comportement graphique. Dans cette section : > Premier comportement : règle métier sur la date de sortie du film, page 27 > Second comportement : spécialiser la représentation graphique de certains films, page 29 Avant de débuter cette étape, il convient de vérifier les préférences définies dans Application Composer. La définition de comportements spécifiques implique qu un éditeur de texte par défaut soit défini mais également qu Application Composer soit lancé par un profil autre que débutant. 0 POUR CONFIGURER LES PRÉFÉRENCES POUR L ÉTAPE 3 1 Cliquez sur le bouton Préférences. 2 Sur l onglet Général, sélectionnez un profil autre que débutant : niveau standard, avancé ou expert. 3 Affichez l onglet Java. 4 Dans le champ Editeur, renseignez le chemin complet de l exécutable de l éditeur de texte à utiliser par défaut. 5 Cliquez sur Valider. 6 Redémarrez Application Composer. Application Composer Prise en main rapide 26

Premier comportement : règle métier sur la date de sortie du film Supposons que vous souhaitiez limiter les films de votre vidéothèque aux films sortis au cours du 20ème siècle. Votre premier comportement spécifique va donc consister à vérifier que l année de sortie d un film, saisie par l utilisateur est valide, c est-à-dire antérieure au 1er janvier 2001. La génération des actions, des classes et des champs lors de la première étape a produit automatiquement des identifiants que nous avons conservés en l état jusqu à présent dans un souci de gain de temps. Cependant ces identifiants peuvent être adaptés pour une manipulation plus aisée. 0 POUR MODIFIER L IDENTIFIANT DE LA CLASSE FILM 1 Dans l Arbre des classes, cliquez-droit sur la classe Film puis sélectionnez l option de menu contextuel Modifier... La fenêtre Modifier : Classe : Film s affiche. 2 Remplacez l identifiant existant par : film 3 Cliquez sur Valider. 0 POUR MODIFIER L IDENTIFIANT DU CHAMP DATE DE SORTIE 1 Dans l Arbre des classes, sélectionnez la classe Film. 2 Affichez l onglet Editeur graphique. 3 Cliquez-droit sur le champ Date de sortie puis sélectionnez l option de menu contextuel Modifier... La fenêtre Modifier : Attribut temporel : Date de sortie s affiche. 4 Remplacez l identifiant existant par : film_date. 5 Cliquez sur Valider. 0 POUR AJOUTER LE CONTRÔLE DE VALIDITÉ DES DATES 1 Dans l Arbre des classes, cliquez-droit sur la classe Film puis sélectionnez l option de menu contextuel Comportement de classe... La fenêtre Comportement de classe s affiche : 27 Chapitre 4 Etape 3 (facultative) : spécialisation de l application

Fig 4.1 Génération d une classe de comportement 2 Cliquez sur Valider. Le fait de valider les options par défaut sur la fenêtre de création de comportement de classe génère automatiquement une classe Java - FilmClassBehavior.java - qui s ouvre dans l éditeur configuré dans les préférences. Dans cette classe, vous allez surcharger la méthode controlnewvalues(). Cette méthode est en effet appelée par Application Engine dès lors que l on crée ou modifie un objet de la classe applicative concernée (ici, un film) ; elle effectue un contrôle global des données de l objet avant validation de la création ou de la modification. La documentation complète de l API Java et des méthodes pouvant être spécialisées est disponible dans le W4 Documentation Browser. 3 Pour pouvoir manipuler les dates en Java, ajoutez les instructions suivantes en tête de fichier : import java.util.date; import java.text.dateformat; import java.text.simpledateformat; 4 Pour implémenter le contrôle sur l année de sortie des films, insérez le code suivant dans le fichier Java, en lieu et place du squelette de méthode auto-généré : public short controlnewvalues(lysetcontroller set, LyValueSet newvalues) { // Retrieve the date LyValue val = newvalues.getfieldvalue("film_date"); if ((val!= null) && (val.getvalue()!= null)) { // Get the film date Date filmdate = ((Date)val.getValue()); // Test if the film date is before 2001 DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date limitdate = null; try {limitdate = df.parse("2000-12-31");} Application Composer Prise en main rapide 28

} catch (Exception e){e.printstacktrace();} if (filmdate.compareto(limitdate) > 0) { // Display error message and return an error set.showerror("la date de sortie n'est pas valide!"); return STATUS_KO; } } // Generic processing return super.controlnewvalues(set, newvalues); 5 Sauvegardez le fichier Java. 6 Compilez le fichier Java : 6.1 Dans l Arbre des classes, sélectionnez la classe Film. 6.2 Affichez la fenêtre des comportements Java : sélectionnez Fenêtres Comportements Java. 6.3 Dans la fenêtre Comportements Java, sélectionnez la classe videotheque.behavior.filmclassbehavior 6.4 Cliquez sur Compiler (ou compilez le projet Eclipse correspondant). La puce préfixant la bibliothèque doit passer du rouge au vert, indiquant que la classe a été correctement compilée. 7 Relancez l application dans l afficheur de votre choix et vérifiez que le contrôle sur la date de sortie des films est bien effectué lors de la création ou de la modification d un film. Essayez maintenant de créer un film sorti au 21ème siècle! Second comportement : spécialiser la représentation graphique de certains films Vous allez maintenant utiliser une seconde classe Java pour personnaliser votre application. Vous allez créer un comportement d action pour agir sur la présentation : vous allez afficher les films sortis en 2000 en jaune dans la table des films. 0 POUR AJOUTER LE CONTRÔLE DE VALIDITÉ DES DATES 1 Dans l Arbre des vues, cliquez-droit sur la classe représentant la liste des films puis sélectionnez l option de menu contextuel Comportement de l action... La fenêtre Comportement de l action s affiche. 2 Pour plus de lisibilité, remplacez le nom de classe existant par : FilmTableBehavior 3 Cliquez sur Valider. Le fait de valider les options par défaut sur la fenêtre de création de comportement d action génère automatiquement une classe Java - FilmTableBehavior.java - qui s ouvre dans l éditeur configuré dans les préférences. 29 Chapitre 4 Etape 3 (facultative) : spécialisation de l application

Dans cette classe, vous allez surcharger la méthode getrowcolor(). Cette méthode est appelée par Application Engine à l affichage d une ligne de la table des films pour définir la couleur à utiliser. 4 Pour pouvoir manipuler les dates en Java, rajoutez les instructions suivantes en tête de fichier : import java.util.date; import java.text.dateformat; import java.text.simpledateformat; 5 Pour implémenter le changement de couleur d une ligne, insérez le code suivant dans le fichier Java, en lieu et place du squelette de méthode auto-généré : public String getrowcolor(lysimpletablecontroller tablecontroller, LyObject object) { // Retrieve the film date LyValue val = object.getfieldvalue("film_date"); if ((val!= null) && (val.getvalue()!= null)) { Date filmdate = ((Date)val.getValue()); // Test if the film date is before 2001 and after 2000 DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date limit1 = null, limit2 = null; try { limit1 = df.parse("2000-01-01"); limit2 = df.parse("2001-01-01"); } catch (Exception e){e.printstacktrace();} // Check the date to return adequate color if (filmdate.compareto(limit2) < 0 && filmdate.compareto(limit1) >= 0) return "yellow"; } // Generic processing return super.getrowcolor(tablecontroller, object); } 6 Sauvegardez le fichier Java. 7 Sélectionnez le premier noeud (celui de l application) dans l Arbre des classes. 8 Compilez le fichier Java. 9 Relancez l application dans l afficheur de votre choix et vérifiez que le comportement graphique sur la table des films est bien appliqué lors de la création ou de la modification d un film pour l année 2000. Application Composer Prise en main rapide 30

Fig 4.2 Comportement d'action : visualisation de certains films en jaune 31 Chapitre 4 Etape 3 (facultative) : spécialisation de l application

Chapitre 5 5 Etape 4 (facultative) : connexion à une base MySQL Jusqu'à présent, l'application a été utilisée avec des fichiers plats, c'est-à-dire que les données sont sauvegardées sur des fichiers stockés sur le disque dur de votre ordinateur, à côté de l'application. Cependant, ces données sont difficilement partageables avec d'autres personnes : pour qu elles le soient le répertoire data de l'application devrait être copié de machine en machine, aux dépens de la cohérence des données. L'utilisation d'une base de données permet de conserver la cohérence des données entre toutes les applications clientes. Nous allons maintenant créer une base de données pour l application. Nous utiliserons pour cela MySQL. Dans cet exemple nous supposons que vous disposez d un serveur de base de données MySQL installé et opérationnel. Un catalogue peut déjà exister dans la base, mais ce n'est pas nécessaire. Génération de la base de données Application Composer requiert les drivers JDBC des bases auxquelles il peut se connecter. Dans notre cas, il faut donc récupérer le connecteur JDBC pour MySQL, disponible sur : > http://dev.mysql.com/downloads/connector/j/ 0 POUR AJOUTER LE DRIVER MYSQL 1 Affichez la fenêtre Comportements Java. 2 Dans la zone Bibliothèques (Classpath), cliquez sur Ajouter une archive... pour ajouter une archive Java dans la liste des bibliothèques utilisées. 3 Sélectionnez le fichier Jar du connecteur MySQL. Application Composer Prise en main rapide 32

Fig 5.1 Ajout du driver MySQL aux bibliothèques (classpath Java) 4 Cliquez sur Appliquer. 5 Sélectionnez Générer Générer / Modifier la base de données. La fenêtre Générer / modifier la base de données s affiche. 6 Renseignez le champ Type de la base : mysql. 7 Vous allez maintenant créer une location de base de données. Il s agit d un paramétrage comportant les éléments d identification nécessaires à la connexion à une base de données. 7.1 Cliquez sur le bouton Créer données SGBDR en regard du champ Location SGBDR. La fenêtre Créer : Données SGBDR s affiche. 7.2 Renseignez l identifiant : videotheque_db. 7.3 Renseignez le driver. Le driver correspond au nom de la classe Java d'entrée du driver JDBC. 7.4 Renseignez l URL de connexion. Cette URL dépend de la base de données et de son driver JDBC. Généralement, pour MySQL, c'est une URL de la forme jdbc:mysql://[host]:[port]/[catalogue]. 33 Chapitre 5 Etape 4 (facultative) : connexion à une base MySQL

Fig 5.2 Création de la base de données MySQL 7.5 Si le catalogue fourni lors de la création de la base de données n'existe pas encore, il ne pourra être associé à l'utilisateur indiqué. Il faut donc spécifier l'identifiant et le mot de passe de l'utilisateur administrateur qui sera chargé de créer la nouvelle base et les tables nécessaires. Par mesure de précaution, il peut être utile de demander à écraser les anciennes entrées dans la base et les anciens liens avec d'autres bases dans Application Composer, cela étant laissé à l'appréciation de l'utilisateur. 7.6 Cliquez sur Valider. 8 Cliquez sur Valider. Après validation, la base de données sera créée et utilisée automatiquement par l'application. Ne pas oublier de créer et d'assigner un utilisateur aux droits restreints si la base a été créée par l'administrateur. Application Composer Prise en main rapide 34

35 Chapitre 5 Etape 4 (facultative) : connexion à une base MySQL

Chapitre 6 6 Perspectives Nous venons de développer une application simple permettant de gérer une vidéothèque personnelle. Elle permet, directement en base de données, de créer des objets, de les éditer, de les consulter et d effectuer des opérations standard telles que des recherches, des tris, des filtrages, des impressions, etc. Et tout cela, en écrivant seulement du code fonctionnel (facultatif) : contrôle fonctionnel sur les données (vérification de la date de sortie d un film) et personnalisation des couleurs d une liste (mise en évidence des films de l année 2000). Cette première version opérationnelle, que l on pourrait qualifier de maquette, n utilise qu une infime partie des capacités d Application Composer. Pour aboutir à une véritable application, il faudrait poursuivre en connectant nos classes à des sources de données évoluées : annuaires LDAP, serveurs d applications, etc. et le cas échéant, ajouter un bus JMS pour bénéficier de la mise à jour en temps réel. Ensuite, nous pourrions enrichir notre modèle : ajouter de nouvelles classes applicatives (en s aidant de l import UML, via XMI, ou de la découverte d une base existante), de nouveaux comportements sur les données et de nouvelles vues plus complexes (tables complexes, vues cartographiques, vues composées, diagrammes de Gantt, tables paginées, import/export Excel, impression PDF, etc.). Enfin, l application pourrait être personnalisée en vue d obtenir la charte graphique désirée en utilisant feuilles de styles, images, couleurs, contraintes de positionnement des champs dans les vues, etc. Application Composer Prise en main rapide 36

37 Chapitre 6 Perspectives

Illustrations Application Composer au démarrage 11 Création de l application 12 Arbre des classes après la création de l application 12 Création d une classe 13 Arbre des classes après la création de la classe Catégorie 13 Aperçu de la classe dans l Editeur graphique 14 Utilisation de l Editeur graphique pour l ajout d un champ 15 Modification des marques d un champ 16 Arbre des classes avant la création de la classe Film 16 Formulaire de création d'un film, dans l éditeur et aperçu dans l application finale 17 Mise à jour des propriétés pour la persistance des données 18 Exécution de l application en SWING (1/2) 19 Exécution de l application en SWING (2/2) 19 Arbre de navigation 21 Création d une action arbre dans le cadre d une action composite 22 Première action de l action composite 23 Seconde action de l action composite 23 Arbre des vues après la création de l'action composite 24 Exécution de l application en mode web 24 Application vidéothèque en mode web 25 Génération d une classe de comportement 28 Comportement d'action : visualisation de certains films en jaune 31 Ajout du driver MySQL aux bibliothèques (classpath Java) 33 Création de la base de données MySQL 34 Application Composer Prise en main rapide 38

39 Illustrations

Index A Afficheur SWING 18 Afficheur Web 24 Ajouter une archive 32 Application Composer 7, 10 Application Engine 7 Application Suite 7 Arborescence des classes 10 Arbre de navigation 20 Arbre des vues 20 C Compiler 29 Comportements 7 Comportements Java 29 Comportements spécifiques 26 Connexion à une base 32 Créer données SGBDR 33 Créer l application 10 Créer une action composite 21 Créer une classe 12 E Editeur graphique 13 Enregistrer l application 12 Exécuter l application en mode web 24 Exécution de l application en client lourd 18 Application Composer Prise en main rapide 40

F Fenêtre Comportement de classe 27 Fenêtre Comportement de l action 29 Fenêtre Comportements Java 32 Fenêtre Créer Données SGBDR 33 Fenêtre Créer une action composite 21 Fenêtre Créer une classe 13 Fenêtre Nouveau Application 11 G Générer / Modifier la base de données 33 Générer l IHM par défaut 20 J JDK 18 M Model-Driven 6 Modèle de données 7, 10 Modifier les marques fréquentes 15 O Outline 17 P Persistance des données 18 Préférences 18 Process Composer 7 Process Engine 7 S SWING 19 41 Index

V Variable LY_SAVE_FILES 18 Application Composer Prise en main rapide 42

PRISE EN MAIN RAPIDE Référence: APPCOMPOSER_QUICKSTART_040_FR Pour toute remarque ou suggestion concernant ce document, vous pouvez contacter le W4 Customer Support, en précisant la référence du document : par le service de traitement des dossiers Supportflow sur MyW4.com, à l adresse : http://support.myw4.com Par courrier électronique : support@w4.eu Par téléphone : +33 (0) 820 320 762 www.w4.eu