Modernisation et développement d applications IBM i Stratégies, technologies et outils S18 Développez rapidement des applications Web 2.0 avec le langage IBM EGL (Enterprise Generation Language) Mardi 17 mai 2011 15h30 Philippe Bourgeois - pbourgeois@fr.ibm.com
Objectif et plan la présentation Présentation du langage IBM EGL (Enterprise Generation Language) et l environnement de développement RBD (Rational Business Developer) Démonstration Création d une application RUI (Rich User Interface Web 2.0) avec affichage d une liste provenant de DB2 for i et d un diagramme de type camembert alimenté par DB2 for i 2
Qu est-ce qu EGL (Enterprise Generation Language)? EGL est un langage de programmation IBM de haut niveau pour développer des applications métier Permet le développement rapide d applications Web et Web 2.0 mais également batch, 5250 et 3270 Masque la complexité technologique sous-jacente Simplifie le développement et la consommation de Services Génère un code run-time pour la plate-forme appropriée Java pour Windows, Linux, Unix, IBM i, z/os COBOL pour l IBM i et le z/os Intègre des technologies reconnues et supporte les standards émergents EGL est devenu un projet Eclipse en 2010 3
Quelles applications peut-on développer avec EGL? Applications Batch Applis 5250/3270 Applis. Web & Web 2.0 Applis GUI Rapports Services Web et natifs Program Program Library Library Handler Handler Logique métier Service Service / / Interface Interface Type Type externe externe Sources de données DB2 SQL Server Oracle Informix DL/1 VSAM autres Accès aux ressources des applications legacy Interfaces externes COBOL RPG PL/1 C, C++ Java Power Systems (i, AIX, Linux) System z 4
EGL et les applications RIA - RUI Web 2.0 RIA (Rich Internet Applications) - RUI (Rich User Interface) Applications Web dont l interface utilisateur est composée d éléments individuels au rendu dynamique, s exécutant dans le navigateur Une interface proche des applications client «lourd» et la facilité de gestion des applications Web Les applications Web du futur Technologies : Javascript, AJAX, DOJO, JSON, widgets, services Web, SOAP, REST EGL permet de développer rapidement et en utilisant un seul langage des applications RIA Disponible avec RBD ou EGL Community Edition 5
Comment développer des applications EGL? Avec RBD (Rational Business Developer) Permet de développer des applications Web, Web 2.0, 5250 et 3270 Support de multiples bases de données Génération Java et COBOL JavaScript pour le Web 2.0 Facturable Support IBM Avec EGL Community Edition (EGL CE) Permet de développer des applications Web 2.0 Support des bases de données DB2, MySQL et Derby Pas de génération COBOL Gratuit, pas de support Avec Rational Migration Extensions Permet de migrer des applications RPG, COBOL ou Synon en EGL 6
Qu est est-ce que Rational Business Developer (RBD)? L environnement pour développer des applications EGL Basé sur Eclipse RBD 8.0.1 (Eclipse 3.6.1) Composant de RDi SOA RDi SOA = RBD + RD Power RPG and COBOL Development Tools for IBM i 7
RDi SOA IBM i IBM Rational RDi SOA : Rational Developer for i for SOA Construction RBD + RD Power RPG and COBOL Development Tools for IBM i Produit facturable 5733-SOC ou 5724-T83 2102 / developpeur (*) Version d essai disponible 60 jours (version actuelle : 8.0) : http://www.ibm.com/developerworks/downloads/r/rbex/learn.html http://www.ibm.com/developerworks/downloads/r/rdp/learn.html (*) Prix catalogue au 01/04/2011 Susceptible de modification sans préavis Autres offres tarifaires possibles (licences flottantes, trade-up ) 8
EGL Quelques avantages pour les développeurs i Avec EGL vous conservez le confort du développement RPG/COBOL langage procédural contrôles de validité des zones (~ RANGE, VALUES, CHECK...) entêtes de colonne (~ COLHDG) dictionnaire de données (~répertoire) zones numériques avec décimales (num, dec) structures de données simples ou à occurences multiples Mais pour développer des applications Web ou Web 2.0 En masquant la complexité technologique Des accès bases de données, appel de Services Web, validation des données, etc. Objectifs : portabilité et simplicité 9
RBD Quelques notions à connaître Espace de travail (workspace) Ensemble de projets (EGL, Web, Java, HATS ), eux-mêmes constitués de dossiers et de fichiers Il est possible de créer plusieurs workspaces Projet Projet Web EGL Ensemble des ressources constituant une application Web développée en EGL Contient 3 dossiers principaux : EGL Source Contient tous les sources EGL (fichiers.egl) Ressources Java : src Contient tous les sources Java (fichiers.java) générés à partir des sources EGL WebContent Contient toutes les ressources Web (fichiers JSPs, images, CSS ) Workspace Dossiers Fichiers 10
Le modèle de programmation EGL Bibliothèque (library) Ensemble de fonctions qui pourront être appelées par les autres composants Services (service) Identiques aux bibliothèques mais peuvent être publiés, exposés sous forme de Services Web et invoqués à distance 11 Programme (program) Point d entrée unique (fonction main) Pour le batch
Le modèle de programmation EGL Gestionnaire de page Web (JSFHandler) Fichier spécialisé qui permet de contrôler les actions d entrée/sortie associées à une page Web La page Web est définie par une JSP 12
Le modèle de programmation EGL Gestionnaire de page Web 2.0 (RUIHandler) Fichier qui permet de définir la page et de contrôler les actions d entrée/sortie associées à cette page 13
Démonstration Ce que l on veut obtenir Développement d une application RUI (Rich User Interface) avec accès à la base de données DB2 for i 14
Ce qui a déjà été fait Installation du produit RBD V8.0.1 sur un PC Mise à jour par Installation Manager de RBD en 8.0.1.1 Installation du serveur d applications Tomcat 6.0 sur le PC Copie du fichier jt400.jar dans le répertoire lib de Tomcat 15
Démarrage de RBD 16
Création d un projet EGL RUI (Rich User Interface) 17
Modification des propriétés du projet 18
Modification des préférences 19
Création d une connexion DB2 for i 20
Création d une connexion DB2 for i 21
Modification du fichier de génération (.eglbld) 22
Création d une application d accès aux données 23
Création d une application d accès aux données 24
L application d accès aux données Le «dictionnaire» CTRL+SHIFT+Z Définition de propriétés sur des «Data Items» (~répertoire) Formattage, règles de validation en un seul endroit Récupération des ces propriétés lors de la création de records, de pages Web, de rapports 25
L application d accès aux données Les records 26
L application d accès aux données Les services Abstraction d accès aux données Mêmes verbes (get, add, replace, delete) quel que soit le type de la donnée (DB, MQ, fichier série ) 27
Modification des propriétés des packages 28
Génération IBM i IBM Rational 29
Création du handler RUI 30
Création du handler RUI La palette de widgets Possibilité : - de se créer ses propres widgets - de faire appel à des widgets externes (DOJO, Silver Light ) 31
Création du handler RUI Ajout d un libellé et d un bouton 32
Création du handler RUI Ajout d un tableau 33
Création du handler RUI Ajout d un tableau 34
Création du handler RUI Ajout d une fonction associé au bouton 35
Création du handler RUI Appel du service 36
Création du handler RUI Appel du service 37
Test du handler RUI 38
Les fonctions accessibles sur un widget CTRL+Espace / 39
Ajout d un graphique Widget Dojo «PieChart» 40
Ajout d un graphique Widget Dojo «PieChart» 41
Ajout d un graphique Définition du record et du service 42
Ajout d un graphique Appel du service et remplissage du PieChart 43
Ajout d un graphique Test du handler 44
Déploiement dans un serveur Tomcat 45
Déploiement dans un serveur Tomcat 46
Déploiement dans un serveur Tomcat 47
Déploiement dans un serveur Tomcat 48
Déploiement dans un serveur Tomcat 49
Modification des préférences 50
Exécution dans le serveur Tomcat 51
Exécution dans le serveur Tomcat 52
Exécution dans le serveur Tomcat 53
Ouverture d EGL 54
RMEi : Rational Migration Extension for IBM i Pour transformer vos applications RPG/COBOL en EGL 5250 Migration automatique en EGL/RUI Améliorations RUI 55
RMEi : Rational Migration Extension for IBM i 56
EGL Pour en savoir plus - Web 57
EGL - Pour en savoir plus - Livres 58
EGL Pour en savoir plus - Formation Distance Learning -gratuit - en anglais Peut être donné sur site et en français (facturable) 59
EGL - Pour en savoir plus Auto-formation 60