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

3 expériences du Scripting

Présentations similaires


Présentation au sujet: "3 expériences du Scripting"— Transcription de la présentation:

1 3 expériences du Scripting
COMPIL 3 expériences du Scripting

2 Exemples d’usage du scripting à Magellium
Présentation de la société MAGELLIUM Le Scripting comme outil d’exécution et de rédaction de plan de test et de validation (MAGVALID) Le Scripting comme outil indispensable des processus d’intégration continue L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID Questions? 25 novembre 2010 COMPIL

3 Exemples d’usage du scripting à Magellium
Présentation de la société MAGELLIUM Le Scripting comme outil d’exécution et de rédaction de plan de test et de validation (MAGVALID) Le Scripting comme outil indispensable des processus d’intégration continue L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID Questions? 25 novembre 2010 COMPIL

4 Ingénierie, systèmes & Services
Magellium Notre marché SAS créé en 2003 2009 : Reprise de la branche Défense de Générale d’Infographie Création de Magellium Limited (UK) Reprise de GeoTexel Aujourd’hui : Capital : euros Détenu par les fondateurs Fonds propres : euros CA 2009 : 7,4 M€ 130 personnes Habilitation Défense Agrément Recherche (R&D interne > 15%) Organisme agréé de formation Statut Gazelle (PME de croissance) Défense & Sécurité Espace Environnement & Transport Santé Ingénierie, systèmes & Services 25 novembre 2010 COMPIL

5 Exemples d’usage du scripting à Magellium
Présentation de la société MAGELLIUM Le Scripting comme outil d’exécution et de rédaction de plan de test et de validation (MAGVALID) Le Scripting comme outil indispensable des processus d’intégration continue L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID Questions? 25 novembre 2010 COMPIL

6 Problématique Validation d’un produit
Garantie de la cohérence entre le produit et les spécifications Évaluation de la robustesse du produit (tests en erreurs) Performance et qualité des résultats 1ère étape : Rédaction d’un plan de validation Éléments à contrôler Type de test (nominal, en erreur, cas limite, ...) 2ème étape : Mise en œuvre des tests Environnement des tests Actions (exécutables, paramètres) Données en entrée Données produites 3ème étape : Rédaction d’un rapport d’exécution nème étape : Gestion des évolutions du logiciel (non régression) 25 novembre 2010 COMPIL

7 Difficultés rencontrées
1ère étape : Rédaction d’un plan de validation Beaucoup de répétitions Changement de qualification 2ème étape : Mise en œuvre des tests Répétition des actions qui demande beaucoup de concentration Trop de temps à attendre la fin du déroulement des tests Analyse complexe des résultats 3ème étape : Rédaction d’un rapport d’exécution Doublons des définitions de tests avec le plan de validation nème étape : Évolutions du logiciel (non régression) Reprise des tests de la version précédente, sans oubli Vérification de l’absence de donnée parasite Comparaison des résultats avec ceux de la version précédente Maintien de la cohérence entre les tests déroulés et les documents 25 novembre 2010 COMPIL

8 Objectifs de MagVALID Fonctionnalités : Avantages :
Automatisation du déroulement des tests Vérification et comparaison automatique des résultats Génération d’un rapport détaillé (HTML, XML, Word, PDF) Rédaction des plan de validation et rapport d’exécution Avantages : Gain de temps Pas d’oubli de tests Ajout d’un maximum de tests L’opérateur focalise son attention sur : La préparation des fiches magVALID lors de la 1ère validation L’analyse des résultats incorrects La correction des bugs 25 novembre 2010 COMPIL

9 Caractéristiques techniques
Ensemble de modules Python avec des tests types prédéfinis Fonctions d’exécution Fonctions de comparaison Fonctions d’accès et d’affichage Utilisable sur les environnements UNIX, UNIX-like (Linux, Cygwin) et Windows Analyse aisée des déroulements des tests par le biais d'un rapport Html Utilisation possible de magLaTeX pour la génération des rapports au format PDF via LaTeX Export au format RTF pour Word 25 novembre 2010 COMPIL

10 Fonctionnement global
Exécution des fiches de tests Données en entrée Rapport [PDF] magVALID [python] Fiches [XML] Rapport [HTML] Rapport [RTF] Données de référence Génération des rapports À préparer 25 novembre 2010 COMPIL

11 Description des tests avec leurs résultats d’exécution (OK, Non OK)
Génération du rapport Fiches [XML] Avec exécution MagVALID [python] Sans exécution Rapport d’exécution [PDF] Plan de validation [PDF] Rapport d’exécution [HTML] Rapport d’exécution [RTF] Cahier de validation [PDF] Description des tests Description des tests avec leurs résultats d’exécution (OK, Non OK) Même document que le rapport d’exécution, sans les résultats (à remplir lors des recettes) 25 novembre 2010 COMPIL

12 Prise en compte de modèle de document (Word, Latex)
Exemple de rapport Prise en compte de modèle de document (Word, Latex) 25 novembre 2010 COMPIL

13 Exemples d’usage du scripting à Magellium
Présentation de la société MAGELLIUM Le Scripting comme outil d’exécution et de rédaction de plan de test et de validation (MAGVALID) Le Scripting comme outil indispensable des processus d’intégration continue L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID Questions? 25 novembre 2010 COMPIL

14 Le SCRIPTING comme outil indispensable de l’Intégration Continue
Les processus d’INTEGRATION CONTINUE nécessitent la mise en œuvre de moyens permettant l’automatisation des tâches de génération d’un produit logiciel. Exemple des tâches de génération d’un produit : Rapatriement des codes sources, Compilation des modules, Exécution des tests unitaires, Analyse qualité des sources, Packaging produits, Génération de la documentation, Emission de rapports d’exécution, 25 novembre 2010 COMPIL

15 Le SCRIPTING comme outil indispensable de l’Intégration Continue
Le processus est complexe car : Il met en œuvre un très grand nombre d’outils logiciels : cvs, snv, sourcesafe, java, make, gcc, maven, javadoc… Dans des configurations extrêmement variées Dépendant des types de projets, des technologies utilisées, des habitudes d’usage de la société, des plateformes de développements de destination… Solutions possibles Uniformiser les méthodologies de production Ok mais que faire de l’existant ? Comment s’assurer que la solution s’appliquera aux besoins futurs ? Développer un outil IHM « extensible » prenant en compte l’ensemble des paramètres de configuration possible Chaque cas particulier nécessiterait une mise à jour de l’outil… Prise en main des différentes IHM délicate Ensemble de scripts à déclencher. Chacun des scripts décrivant des procédures particulières, adaptées à des besoins propres, à partir de fonctions génériques Prise en compte des erreurs ? Affichages des rapports d’exécution ? Problèmes d’ergonomie 25 novembre 2010 COMPIL

16 Le SCRIPTING comme outil indispensable de l’Intégration Continue
La solution adaptée est mixte : Un logiciel d’accueil extensible (CruiseControl, Hudson, …) permettant : De définir les étapes du processus De déclencher à échéance régulières la chaîne de génération D’accéder aux rapports d’exécutions De définir quelques tâches génériques Des langages de scripts plus ou moins spécifiques à la générations de logiciels : make, shell, ant, … permettant de spécialiser l’exécution des tâches de générations Focus sur la solution HUDSON / ANT 25 novembre 2010 COMPIL

17 Le SCRIPTING comme outil indispensable de l’Intégration Continue
HUDSON Application WEB (facilité de déploiement) Définition de « JOBS » Configuration des étapes du jobs Définition du type d’étape, du chaînage, .. Plug-in adaptés aux outils les plus utilisés Séquencement des jobs 25 novembre 2010 COMPIL

18 Le SCRIPTING comme outil indispensable de l’Intégration Continue
25 novembre 2010 COMPIL

19 Le SCRIPTING comme outil indispensable de l’Intégration Continue
ANT C’est le « Make » des projets JAVA Le « script » ANT utilise le formalisme XML Le « script » est exécuté dans un environnement JAVA Exemple d’un script ANT de génération : build.xml 25 novembre 2010 COMPIL

20 Le SCRIPTING comme outil indispensable de l’Intégration Continue
ANT … Utilisation de variables (properties JAVA) déclarées et initialisées en interne du script ou sous la forme de fichiers de propriétés java Les variables ANT peuvent être surchargées au lancement de l’exécution du script my-file.properties 25 novembre 2010 COMPIL

21 Le SCRIPTING comme outil indispensable de l’Intégration Continue
ANT … La bibliothèque native est extrêmement riche et couvre : Des fonctions de gestion d’archivages (zip,jar,tar,war …) Des fonctions d’audit de sources (jdepend, …) Des fonctions de compilations (javac, depend, apt, …) Des fonctions de déploiements JEE, Des fonctions de documentation (javadoc) Des fonctions de gestion d’exécution de tâches (exec, parallel, sleep, waitfor …) Des fonctions de gestion de fichiers (copy, checksum, …) Des fonctions de pré-processing (xslt, import, include, macrodef, …) Des fonctions de gestion de propriétés, Des fonctions d’exécution à distance (Rexec, ftp, SShexec, Telnet) Des fonctions d’accès aux outils de gestion de conf (cvs, clearcase, visual sourcesafe …) Des fonctions de déclenchement de tests unitaires (junit …) Il existe un grand nombre de librairies d’extension : Fonctions « Qualités » : Checkstyle, AntCount,EMMA Documentation : Doxygen, Latex Image Intégration : JNI, … Compilation : C,C++, fortran, CPPtasks 25 novembre 2010 COMPIL

22 Le SCRIPTING comme outil indispensable de l’Intégration Continue
Quelques liens 25 novembre 2010 COMPIL

23 Exemples d’usage du scripting à Magellium
Présentation de la société MAGELLIUM Le Scripting comme outil d’exécution et de rédaction de plan de test et de validation (MAGVALID) Le Scripting comme outil indispensable des processus d’intégration continue L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID Questions? 25 novembre 2010 COMPIL

24 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
25 novembre 2010 COMPIL

25 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
INGRID : Plateforme de conception, test, expérimentation et capitalisation de traitements et chaines de traitements dédiés à l’exploitation et la valorisation d’images Principe général Intégration de composants logiciels (exe, dll, java … ) Exemple : librairie GDAL Identification et description des traitements implémentés par les composants Exemple : Conversion de format d’image, reprojection d’une donnée Connexion technique permettant au système INGRID de lancer l’exécution d’un traitement particulier fourni par un composant Edition de chaîne de traitements par assemblage de traitements successifs Définition de règles facilitant l’interopérabilité entre les composants Formats images, type de données, … 25 novembre 2010 COMPIL

26 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
Les règles d’interopérabilité présentent les principes généraux permettant de faire cohabiter les composants dans le système essentiellement d’un point de vue technique et préconisent des formats d’échanges pivots pour les données usuellement manipulées : images, géométrie.. Les règles ne peuvent pas tout exprimer concernant le formatage des données échangées : Définition d’une ROI : Centre + Taille / Points HG + BD, Rapport exprimés en pourcentage ou sur une échelle de 0 à 1, Travaux d’intégration fastidieux nécessitant : Une couches supplémentaire d’adaptation pour tous les traitements existants … Un nombre important de petits traitements d’adaptation (jetables) ? 25 novembre 2010 COMPIL

27 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
Besoin de maquettage : réaliser de façon ‘quick and dirty’ des traitements jetables (accès bd, analyse d’un répertoire, …) pour un besoin temporaire d’analyse sans pour autant mettre en œuvre toutes les procédures d’intégration. Méthode légère. Mise en œuvre d’une fonction de scripting sous la forme d’un traitement générique : 25 novembre 2010 COMPIL

28 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
Implémentation Technique Basé sur la capacité du langage JAVA a exécuter dynamiquement des scripts Moteur d’exécution basée sur une interface standardisée (JSR-223), il existe de nombreux moteurs d’exécution prenant en compte des langages de script divers tels que : le javascript (RHINO), Python, Ruby, Tcl … Le Script est exécuté au sein de même la JVM que celle de l’application appelante Possibilité de partager des données entre l’application et le script Possibilité d’utiliser les services et api proposées par JAVA (y compris les fonctions IHM (awt …) 25 novembre 2010 COMPIL

29 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
Contexte d’exécution du Script dans INGRID Lien entre paramètres du traitement et variables du script : Au déclenchement du script: pour chaque paramètre d’entrée INGRID renseigné (in_*), une variable portant le nom du paramètre est instanciée. A la fin du script ou lors d’un appel à la notification intermédiaire: un paramètre INGRID est généré en sortie du traitement pour chaque variable (out_*) déclarée dans le script. Types gérés actuellement : boolean, int, double, string Des classes de services permettant d’accéder aux API INGRID standards ingridCallbackServices : classe des services de log & notification ingridContextServices : classe d’accès aux informations du contexte d’exécution du traitement 25 novembre 2010 COMPIL

30 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
Exemples de script 25 novembre 2010 COMPIL

31 L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID
Quelques liens : Documentation technique sur le « scripting java » Javacscript RHINO JavaDoc JAVA JRE 1.6 25 novembre 2010 COMPIL

32 Les pièges du SCRIPTING
Oui, mais attention : ANT : Logiques récursives pas évidentes, « ticket d’entrée » non négligeable Possibilité de créer de véritables usines à gaz difficilement maintenables Certaine fragilité des Scripts face aux programmes compilés (possibilité d’édition en phase de runtime, pas de phase de compilation …)  Nécessite une gestion en configuration 25 novembre 2010 COMPIL

33 Exemples d’usage du scripting à Magellium
Présentation de la société MAGELLIUM Le Scripting comme outil d’exécution et de rédaction de plan de test et de validation (MAGVALID) Le Scripting comme outil indispensable des processus d’intégration continue L’utilisation du Scripting dans l’outil de modélisation de chaînes de traitements INGRID Questions? 25 novembre 2010 COMPIL

34 Questions? En vous remerciant pour votre attention 25 novembre 2010
COMPIL


Télécharger ppt "3 expériences du Scripting"

Présentations similaires


Annonces Google