Modernisation et développement d applications IBM i Stratégies, technologies et outils 16 et 17 mai 2011 IBM Forum de Bois-Colombes Session plénière Lundi 16 mai 10h00/13h00 Philippe Bourgeois - pbourgeois@fr.ibm.com
Objectifs du séminaire des 16 et 17 mai 2011 Faire le point sur les différentes aspects de la modernisation des applications IBM i Découvrir ou approfondir les technologies et outils disponibles pour moderniser et développer des applications IBM i : Solutions Rational Modernisation de la base de données DB2 Evolution du RPG et de SQL Support du XML, support des Services Web Développement d applications Web Cartographie et réingénierie des applications traditionnelles etc. 2
Agenda Lundi 16 mai 9h30 accueil café 10h00-13h00 session plénière 13h00-14h00 déjeuner 14h00-15h30 sessions à la carte (4 salles en parallèle) 15h30-16h00 pause 16h00-17h30 sessions à la carte (4 salles en parallèle) Mardi 17 mai 09h00-10h30 sessions à la carte (4 salles en parallèle) 10h30-11h00 pause 11h00-12h30 sessions à la carte (4 salles en parallèle) 12h30-13h30 déjeuner 13h30-15h00 sessions à la carte (4 salles en parallèle) 15h00-15h30 pause 15h30-17h00 sessions à la carte (4 salles en parallèle) 3
Intervenants - GAIA Expertise et conseil Système (migration, optimisation ) Développement (méthodologie, assistance ) Accompagnement (conduite du changement, support aux équipes ) Formation Inter-entreprises et sur site Plus de 150 cours (IBM i, Lotus Domino, Java, WebSphere, technos Web, PHP ) Base de connaissances Web (KNOW400 (www.know400.gaia.fr)) RPG IV, ILE, Services Web, SQL, exploitation, système http://www.gaia.fr/ - contact@gaia.fr 4
Intervenants - VOLUBIS Formation IBM i, depuis 1994 Formation débutant (12 jours) 2 à 3 fois par an Formations perfectionnement à la demande : RPG-IV, format libre, ILE, intégration avec C / Java SQL, conception, administration, développement Apache, PHP, OmniFind... (volubis.fr est sur un M25) Et toute formation «sur mesure» que vous pourriez nous demander Base de connaissance technique accessible via abonnement (aide par mail incluse) et comprenant près de 500 cours : AF400. Conseil, réunions d information technique (pause-café), forum http://www.volubis.fr - infos@volubis.fr 5
Intervenants - ASTECH Au service des acteurs du marché (ISV, Partenaires Commerciaux IBM, SSII / intégrateurs, ) pour eux-mêmes et pour leurs clients Prestations de Conseil/Audit, Assistance Technique/Réalisation ou Formation/Transfert de compétences, au forfait ou en régie Types de prestations Formations techniques et commerciales Exemple : Certifications IBM Applications & Technologies Logiciels Libres ( open source ) Portage & roadmaps modernisation d applications Méthodologie et outillage de Développement d Applications Développement & Intégration Mobile (Blackberry, iphone, ) Infrastructures Architecture & Optimisation des infrastructures informatiques Performances (Java, DB2, ) Sécurité (Audit, Haute Disponibilité & PRA, Single Sign On, ) Informatique Verte : maîtrise et reduction des coûts énergétiques ASTECH Europe S.A.S - Pascal Thenon / pthenon@astech.com 6
Intervenants ZEND Zend a été sélectionné par IBM depuis 2006 pour mettre en oeuvre PHP sous IBM i Mission de Zend : professionnaliser et industrialiser l utilisation de la technologie PHP pour développer des applications critiques d entreprise : Commercialisation de l offre produits Zend (Zend Server, Zend Studio, Zend Guard ) Services d expertise (expertise technique PHP et Zend, conseil en architecture, audits de code, audits de performance ) Formation (partenaire IBM) Animation des communautés PHP et Open Source 7
Intervenants - ARCAD Software Editeur français spécialisé dans l ALM (Application Lifecyle Management) : Gestion de configuration Release management Analyse/Transformation d applications Automatisation des tests Gestion du support technique 19 ans, 330 clients, 33 pays Double compétence System i Systèmes ouverts Partenaire technologique Rational Intégrateur du produit RDp (Rational Developer for Power Systems) 8
Intervenants - DATABOROUGH Spécialiste de la cartographie, documentation et réingénierie des applications IBM i depuis plus de 25 ans Modélisation et références croisées automatiques des données et processus Extraction des règles métier, design d application Extraction de données (sous-ensembles, jeux de test, anonymisation ) Modernisation et restructuration automatisée des applications classiques (DDL, SQL, MVC) Commencer par ce qui marche Make it known Make it better Make it last 9
Que signifie aujourd hui pour vous? OS/400, i5/os V5Rx IBM i 7.1 et 6.1 Services Web DB2 PF/LF DB2 - SQL 5250 Virtualisation Procédures ILE Programmes Disques SSD CLP SEU/PDM Cryptage RPG/400 AIX, Linux Query/400 PASE CGI PDF WebSphere Java System i Access for Web Omnifind HATS PHP XML EGL ILE RPG IV Format libre DB2 Web Query ILE CL Rational Serveur d applications intégré BLOB Procédures stockées IBM Systems Director Navigator for i RPG Open Access 10
Les différents aspects de la modernisation 1. Moderniser l infrastructure (matériel / OS) 2. Moderniser la base de données DB2 3. Moderniser les environnements de développement 4. Moderniser le code RPG/COBOL 5. Moderniser l interface utilisateur 6. Pour aller plus loin 11
1. Moderniser l infrastructure (matériel / OS) 12
Moderniser l infrastructure (matériel / OS) Roadmap processeurs POWER Gamme IBM Power Systems Roadmap IBM i Comparaison POWER5 / POWER7 Que peuvent m apporter les versions 6.1 et 7.1 de l IBM i? Bénéfices de la virtualisation POWER6/7 IBM i 6.1/7.1 Pour en savoir plus 13
Roadmap processeurs POWER Gamme IBM Power Systems POWER4 POWER5 POWER6 POWER7 POWER8 2001 2004 2007 2010 Power 710/730 Power 720/740 Power 750 Power 770 Power 780 Power 795 PS Blades 14
Roadmap IBM i 2008 2010 2011-13 IBM i 6.1 IBM i jusqu en 2020 IBM i 6.1.1 IBM i 7.1 «Technology Refresh» Plus simple à installer et moins pertubateur 15
Comparaison POWER5 / POWER7 16
Que peuvent m apporter les versions 6.1 et 7.1 de l IBM i? IBM i 6.1 Les partitions IBM i virtuelles Le support de l IBM i sur des lames POWER de chassis Blade Center De nouvelles solutions de haute disponibilité (PowerHA) Le support des disques SSD La possibilié d upgrader un serveur en 6.1 à partir d une image sur le réseau Une amélioration des performances Java (JVM 32 bits et nouvelle JVM 64 bits) Une amélioration de la sécurité (cryptage des données ) Une nouvelle interface graphique Web «IBM Systems Director Navigator for IBM i» (console de gestion de l IBM i) Des nouveautés SQL et RPG, le produit RPG Open Access IBM i 7.1 Le support XML en natif dans DB2 Le cryptage des données DB2 au niveau colonne Le déplacement automatique des données les plus sollicitées vers les disques SSD Des nouveautés SQL et RPG Une amélioration des performances du serveur de Services Web intégré Une amélioration ans les domaines de la virtualisation et de PowerHA 17
Bénéfices concrets de la virtualisation POWER6/7 et IBM i 6.1/7.1 Vous êtes en 6.1 et désirez tester la 7.1 à moindres frais Hébergement d une partition IBM i dans une partition IBM i La partition IBM i utilise des ressources d entrée/sortie fournies par une autre partition IBM i Moins de cartes et de disques à acheter pour l ensemble des partitions IBM i Une partition IBM i 6.1 peut héberger une partition IBM i 7.1 ou 6.1 et réciproquement Vous désirez consolider des environnements IBM i de petite taille en optimisant les ressources Virtualisation d une partition IBM i dans une partition VIOS La partition IBM i utilise des ressources d entrée/sortie fournies par une partition VIOS (Virtual I/O Server), composant de PowerVM Possibilité de partitions VIOS redondantes Configuration et coûts de maintenance optimisés tout en restant sur un même modèle de serveur Power 18
Moderniser l infrastructure Pour en savoir plus - Web 19
Moderniser l infrastructure Pour en savoir plus - Web 20
Moderniser l infrastructure Pour en savoir plus - Web 21
Moderniser l infrastructure Pour en savoir plus - Web 22
Pour en savoir plus - Sessions S8 IBM i : au delà des évidences... «Pourquoi IBM i en 2011?» : des pistes pour expliquer à son management (et sans langue de bois) Pascal Thenon (ASTECH) Lundi 16 mai 16h00 S16 - Bénéfices concrets de la virtualisation Christian Massé (VOLUBIS) Mardi 17 mai - 13h30 S19 - Exemples d'utilisation de l'environnement UNIX sous IBM i : PASE Christian Massé (VOLUBIS) Mardi 17 mai - 15h30 S20 - Adopter une stratégie de sauvegarde adaptée à votre entreprise Pierre-Louis Berthoin (GAIA) Mardi 17 mai 15h30 23
2. Moderniser la base de données DB2 24
Moderniser la base de données DB2 Modernisation de DB2 = SQL Modernisation des objets DB2 Modernisation des accès à DB2 Les interfaces «System i Navigator» et «IBM Systems Director Navigator for IBM i» Pour en savoir plus 25
Moderniser la base de données = SQL Pourquoi SQL? Parce que c est l interface base de données stratégique pour l industrie et pour l IBM i SQL apporte des fonctionnalités très puissantes : Fonctions scalaires, fonctions de colonne, groupage, sous-requêtes, etc. SQL est nécessaire pour certaines fonctions et middlewares : Colonnes de type BLOB, XML Colonnes auto-incrémentées Fonctions de cryptage des données Triggers au niveau des colonnes Accès à DB2 à partir d autres langages que RPG/COBOL (Java JDBC ) Améliorations de performance avec le nouveau moteur SQL (SQE versus CQE) : uniquement disponible pour les interfaces SQL Pour la portabilité du code et des compétences Parce qu il permet un meilleur positionnement du System i comme serveur base de données Parce que les DDS n évoluent plus depuis bien longtemps 26
SQL évolue à chaque version d IBM i Quelques nouveautés IBM i 6.1 Fonctions OLAP pour créer des données agrégées selon plusieurs dimensions : GROUPING SETS, ROLLUP, CUBE Nouvelle clause SKIP LOCKED DATA pour sauter les lignes verrouillées Création d index : possibilité de définir un nom de format, d ajouter des colonnes, d indiquer une clause WHERE et de définir des clés sur des zones dérivées Amélioration du moteur SQE Quelques nouveautés IBM i 7.1 Support XML natif (colonnes de type XML, décomposition de documents XML en colonnes d une table, génération de documents XML à partir de données) Cryptage de colonnes (opération transparente pour l application) Variables globales, nouvelle instruction MERGE, support des tableaux SQL Amélioration du moteur SQE 27
La modernisation de DB2 avec SQL 1. Modernisation des objets DB2 2. Modernisation des accès à DB2 -Tables - Vues - Index Objets SQL Programmes SQL *FILE -PF-DTA -LF - Fichiers physiques - Fichiers logiques Objets DDS *FILE -PF-DTA -LF Programmes natifs 28
Modernisation des objets DB2 Créer des tables SQL à la place des fichiers physiques DDS Une table SQL est un objet de type *FILE d attribut PF-DTA, créé par l ordre CREATE TABLE Avantages D avantage de types de données (INT, BLOB, XML ) Possibilité de donner des noms plus longs aux tables et aux colonnes (jusqu à 128 caractères) (en plus du nom court) Zones auto-incrémentées (colonne IDENTITY ou objet SEQUENCE) Meilleures performances en lecture Les contraintes peuvent être définies dans le source de définition de la table (en natif, il faut deux sources : un DDS et un CL) Standard de l industrie Evolution permanente Les DDS des PF sont stabilisées Inconvénients Moins bonnes performances en écriture Pas de support des multi-membres (mais possibilité de créer un ALIAS sur un membre particulier) 29
Modernisation des objets DB2 Utiliser, dans les cas ou cela présente un intérêt, les vues SQL à la place des fichiers logiques DDS Les vues SQL sont des objets de type *FILE d attribut LF, créés par l ordre CREATE VIEW Avantages Plus de flexibilité en termes de sélection et de traitement des données Fonctions de colonne (SUM, AVG, COUNT, MIN, MAX ) Fonctions scalaires (alphanumériques, de temps..) Groupage (GROUP BY) Tous types de jointure et d unions Sous-requêtes Vues de vues Exemple : CREATE VIEW total_rep_sin AS SELECT sin_typ_l, SUM(mnt_rep) as total_rep FROM sinistres s1 INNER JOIN types_sin s2 ON s1.sin_typ_n = s2.sin_typ_n GROUP BY s1.sin_typ_n, sin_typ_l 30
Modernisation des objets DB2 Les vues SQL Inconvénients Il n est pas possible de définir une clé dans une vue Les accès natifs en RPG ou COBOL à la vue ne pourront pas se faire sur clé Seuls les accès SQL permettront de travailler sur clé (clause ORDER BY) Les programmes RPG/COBOL peuvent être modifiés pour faire des accès SQL SQL imbriqué dans les programmes Rappel : un fichier logique DDS peut s appuyer sur des tables SQL Il est donc possible de garder les structures des fichiers logiques DDS existants (en les recréant sur les nouvelles tables) Afin de ne pas avoir à modifier les programmes RPG/COBOL existants 31
Modernisation des objets DB2 Quelques mots sur les index SQL Sont des objets de type *FILE d attribut LF, créés par l ordre CREATE INDEX Un index SQL sert à améliorer les performances et peut servir à assurer l unicité (mais il est préférable de passer par une contrainte) Jusqu en i5/os V5R4 : On ne peut définir que les valeurs de clé CREATE INDEX sinpardate ON sinistres (sin_date) A partir de la version 6.1 on peut définir un nom de format, spécifier les zones, indiquer des critères de sélection et définir des clés sur des zones dérivées 32
Modernisation des objets DB2 Comment passer du mode DDS au mode SQL? En générant, à partir des fichiers natifs (PF, LF), les instructions SQL correspondantes API QSQGNDDL System i Navigator Puis en exécutant ces instructions A noter que : Toutes les fonctionnalités DDS ne sont pas supportées Des messages d information sont générés La conversion peut se faire pour un seul objet ou un ensemble d objets Le résultat peut être sauvegardé : dans un fichier texte (pour une exécution par System i Navigator) dans un membre source (pour une exécution par la commande RUNSQLSTM) 33
Modernisation des accès à DB2 A. SQL imbriqué dans les programmes Mélange de SQL et de RPG/COBOL/C Programmes de type SQLRPGLE, SQLRPG, SQLCBLLE, SQLCBL et SQLCLE Nécessite le produit 57xx-ST1 (Kit Dév DB2 Query Mgr et SQL) Principaux domaines d'utilisation : Traitements de masse Exploitation des fonctions SQL Requêtes complexes, avec critères de sélection dynamiques 34
Modernisation des accès à DB2 A. SQL imbriqué dans les programmes SQL sans curseur, traitement de masse SQL avec curseur, traitement ligne à ligne 35
Modernisation des accès à DB2 Exemple de comparaison de performances Lecture de 600.000 enregistrements en séquentiel Programme 1 Lecture RPG Résultat : 12 secondes Programme 2 Lecture SQL Résultat : 12 secondes Programme 3 Lecture SQL bloquée Résultat : 2 secondes 36
Modernisation des accès à DB2 B. SQL procédural Procédures écrites en langage SQL Exécution par la commande SQL CALL Débogage par System i Navigator ou STRDBG 37
L interface System i Navigator System i Navigator System i Navigator est l interface graphique de l IBM i Il est fourni en standard avec l IBM i System i Navigator et la base de données Gestion des objets base de données Tables, vues, index, procédures, journaux, contraintes, triggers Création, modification, suppression, droits, verrouillage, journalisation Visualisation et modification des données Exécution de scripts SQL Sauvegarde en fichier texte ou membre source Débogage Organigrammes Database Navigator Moniteurs de performances SQL Visual Explain Assistant de gestion des index, centre de santé 38
System i Navigator Base de données 39
System i Navigator DB - Génération d instructions SQL 40
System i Navigator DB Création de table 41
IBM i Navigator DB Exécution de scripts SQL 42
IBM i Navigator DB Organigramme Database Navigator 43
L interface «IBM Systems Director Navigator for i» Console de gestion de l IBM i Reprend la majorité des fonctions de IBM i Navigator, mais en interface Web Fourni en standard avec l IBM i IBM Systems Director Navigator for i (IBM i 6.1 et 7.1) iseries Navigator Tasks on The Web (i5/os V5R4 beaucoup moins de fonctionnalités) Dans la catégorie base de données les fonctions suivantes ne sont pas supportées : Scripts SQL Assistants SQL Database Navigator Visual Explain 44
IBM Systems Director Navigator for i Base de données 45
IBM Systems Director Navigator for i Base de données 46
DB2 et SQL Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session planifiée à Noisy : 23 mai 47
DB2 et SQL Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session planifiée à Noisy : 24 mai 48
DB2 et SQL Pour en savoir plus - Redbooks 49
DB2 et SQL Pour en savoir plus White Papers 50
DB2 et SQL Pour en savoir plus - Sessions S3 SQL embarqué : profitez de la puissance de SQL dans votre RPG Nathanaël Bonnet (GAIA) Lundi 16 mai 14h00 S6 DB2, nouveautés 6.1 et 7.1 Christian Massé (VOLUBIS) Lundi 16 mai 16h00 S11 La modernisation de la base de données DB2 : passage des DDS à SQL Nathanaël Bonnet (GAIA) Mardi 17 mai 09h00 S13 Comment utiliser au mieux les types de données récents? Christian Massé (VOLUBIS) Mardi 17 mai 11h00 51
3. Moderniser les environnements de développement - Introduction aux produits Rational - Rational Developer for Power Systems (RD Power) - Rational Team Concert (RTC) 52
Introduction aux produits Rational Un ensemble de produits pour développer des applications pour IBM Power Systems (sous IBM i, AIX et Linux) : RD Power - Rational Developer for Power Systems Software V8.0.0.2 RPG and COBOL Development Tools for i COBOL Development Tools for AIX C/C++ Development Tools for AIX C/C++ Development Tools for Linux on Power RAD - Rational Application Developer V8.0.2 Développement d applications J2EE, Services Web, portail Version SE (Standard Edition) RBD - Rational Business Developer V8.0.1.1 Développement d applications EGL (Enterprise Generation Language) : applications métier en interface Web / Web 2.0 et Services Web RDi SOA Rational Developer for IBM i for SOA construction V8.0 Combinaison de RD Power RPG and COBOL Development Tools for i et de RBD Développement d applications RPG/COBOL/EGL et de Services Web sous IBM i Power Tools for IBM i Combinaison de RD Power RPG and COBOL Development Tools for i et de RAD Standard Edition 53
Comparatif des produits Rational Comparaison Eclipse et produits Rational https://www-304.ibm.com/support/docview.wss?uid=swg27010975 54
SEU en 7.1 - Nouveautés RPG et COBOL non supportées Fonction 7.1 non supportée dans SEU Fonction supportée mais syntaxe incorrecte (%SUBST) Les 2 lignes sont en erreur avec le même message d erreur 55
Les environnements de développement RPG/COBOL Historique - 1/2 Les ADTS (Application Development Tool Set) SEU, PDM, SDA, RLU, ISDB Développement RPG, COBOL, CL, DDS Sont toujours supportés N évolueront plus CODE/400 CODE Editor, CODE Designer, CODE Project Organizer Développement RPG, COBOL, CL, DDS N est plus supporté WDSC (WebSphere Development Studio Client) Basé sur Eclipse Développement RPG, COBOL, CL, DDS + Java, Web, Services Web Version Advanced pour le développement full J2EE V4.0, V5.0, V5.1, V5.1.2, V6.0, V6.0.1, V7.0 Est arrêté de support depuis le 30 avril 2010 56
Les environnements de développement RPG/COBOL Historique - 2/2 RDi (Rational Developer for IBM i) Basé sur Eclipse Développement RPG, COBOL, CL, DDS V7.1, V7.5 Est arrêté de commercialisation depuis le 11 mai 2010 Est toujours supporté RD Power (Rational Developer for Power Systems) Basé sur Eclipse V7.5, 7.6, 8.0 En V8.0 quatre dispositifs : RPG and COBOL Development Tools for i Développement RPG/COBOL sous IBM i Successeur de RDi COBOL Development Tools for AIX C/C++ Development Tools for AIX C/C++ Development Tools for Linux on Power 57
RD Power Pourquoi l utiliser? (1/2) Parce que c est un environnement de développement moderne Pour développer des applications RPG, COBOL, CL, DDS Permettant d améliorer la productivité Et les compétences des développeurs i Parce qu il s appuie sur le standard Eclipse Socle commun à l ensemble des produits Rational Connu des jeunes qui sortent des écoles Parce qu il permet de fédérer les différentes communautés de développeurs Jeunes et «plus anciens» Nouvelles technos et technologies «traditionnelles» Parce que les ADTS (SEU, PDM, SDA..) n évoluent plus (les nouveautés IBM i 7.1 ne sont pas supportées) et n évolueront plus 58
RD Power Pourquoi l utiliser? (2/2) Parce qu il offre des nouvelles fonctionnalités Connexions multiples - Filtres permanents Éditeur plus sophistiqué (sources en couleur, structure du programme, complétion de code ) Diagramme d applications Débogueur plus sophistiqué Screen Designer et Report Designer Projets i Parce qu il est nécessaire en tant que client du produit RTC (Rational Team Concert) Contrôle des sources / versionning, gestion des demandes de changement, travail en équipe, gouvernance des développements 59
RD Power Filtres permanents Il est possible de définir autant de filtres que l'on veut et ces filtres sont nommés et permanents Il est possible de définir plusieurs chaînes de filtrage pour un filtre et des noms génériques à tous les niveaux 60
RD Power Vues multiples d un même source en édition 61
RD Power Vue structure 62
RD Power Complétion de code 63
RD Power Vérification - Compilation - Filtrage - Affichage dynamique 64
RD Power Débogage 65
RD Power Diagramme d applications 66 Représentation graphique de la structure d'une application 1) Diagramme des appels - appels des sous-routines, des procédures et des programmes 2) Diagramme de la structure d'un programme - modules liés dans un programme ou un programme de service - relations entre programmes et programmes de service
RD Power Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session planifiée à Noisy : 16 juin 67
RD Power Pour en savoir plus - Livres 68
RD Power Pour en savoir plus - Web 69
RD Power Pour en savoir plus - Sessions S1 - RD Power (Rational Developer for Power Systems) : un environnement de développement moderne pour améliorer la productivité et les compétences des développeurs IBM i Philippe Bourgeois (IBM) Session 1A : lundi 16 mai 14h00 Session 1B : mardi 17 mai 13h30 70
RTC - Les challenges du développement applicatif aujourd hui La conformité réglementaire Traçabilité, audit Des équipes de développement Qui ne collaborent et ne communiquent pas toujours facilement Qui peuvent être géographiquement dispersées Des applications multi-langages Traditionnels (RPG, COBOL) et nouvelles technologies (Java, EGL, PHP,.NET ) Des environnements de développements divers et déconnectés les uns des autres La nécessité de réduire les coûts 71
RTC - Une solution intégrée Planification Gestion des itérations Choix de processus (agiles, traditionnels) Gestion des risques Rapports et tableaux de bord Tableaux de bord web adaptables Métriques et rapports en temps réel Packaging et déploiement Gestion de configuration (SCM) Contrôle des sources Versionning applicatif Retours arrière Développement en // Gestion des conflits SCM distribué Gestion des activités, des demandes de changement Demandes d évolution, de correction Suivi des tâches Approbations Requêtes Gestion des constructions Support des types IBM i Build Specification, Ant, Maven Traçabilité avec les demandes de changement et les modifications source Builds personnels et d équipe Remontée automatique des résultats Analyse d impact et gestion des dépendances 72 Projets - Equipes - Rôles Processus Jazz Team Server Messagerie - Présenciel - Evénements - Alertes Jazz Team Server
A qui s adresse RTC? RTC est un outil pour tous les acteurs concernés par un projet de développement (analystes métier, managers IT, chefs de projets, développeurs...) Quelle que soit la plateforme (i, AIX, Windows, z/os) et le langage (RPG, COBOL, C, C++, Java, EGL, PHP,.NET ) Interfaces client: Eclipse Java, Web Outils Rational RD Power (RPG, COBOL, C, C++ ) RAD, RBD, RDz, etc. Visual Studio.NET Web Pour les chefs de projet, analystes, managers IT, utilisateurs 73
RTC Traçabilité des modifications source Motif renseigné si demande de changement 74
RTC Traçabilité des modifications source Historique des modifications 75
RTC Génération - Exécution et résultat 76
RTC Génération - Exécution et résultat Traçabilité des sources transmis Traçabilité des objets générés 77
RTC Demandes de changement Demande d amélioration Collaboration avancée : - «Discussion» - «Approbation» - «Attachements» (pièces jointes, captures d écran) - «Souscription» pour notification de modification (flux RSS) - «Liens» (hiérarchique, dépendance, association) vers des données du référentiel 78
RTC Pour en savoir plus - Sessions S9 - Contrôle des sources, traçabilité et gestion des demandes de changement sous IBM i avec le produit RTC (Rational Team Concert) Philippe Bourgeois (IBM) Mardi 17 mai 09h00 S17 - Automatisation des déploiements avec «ARCAD Deliver Extension for IBM Rational Team Concert» (ARCAD Software) Philippe Magne et Michel Mouchon (ARCAD Software) Mardi 17 mai 13h30 79
4. Moderniser le code RPG/COBOL 80
Moderniser le code RPG/COBOL Introduction Pourquoi moderniser le code RPG/COBOL? Comment moderniser le code RPG/COBOL? A. Exploiter les possibilités actuelles des langages RPG IV, environnement ILE B. Exposer le code afin qu il soit accessible de l extérieur Procédures stockées Services Web C. Découvrir de nouvelles possibiités XML, appel de Services Web Accès à d autres ressources avec RPG Open Access D. Utiliser des outils pour faciliter la connaissance des applications existantes et modulariser le code Outils de cartographie, d analyse d impact et de rétro-documentation Outils de restructuration et de réingénerie 81
Introduction Pourquoi moderniser le code RPG/COBOL? 82
Pourquoi moderniser le code RPG/COBOL? Pour l ouvrir à l extérieur et pouvoir le faire communiquer avec d autres applications (intégration d applications) Pour répondre rapidement aux besoins d évolution (flexibilité, agilité) Pour éviter la redondance et simplifier la maintenance Assurer l unicité des fonctions Réutilisation - Lisibilité Pour que la logique métier soit indépendante de l interface utilisateur Pour valoriser les investissements (code, plateforme, people) en offrant une vision moderne de l existant 83
Rénovation / restructuration des applications existantes 5250 5250 5250 Application RPG de suivi de sinistres 5250 Java PHP EGL Autre Affichage informations client Affichage liste des contrats Affichage liste des sinistres Informations client Liste des contrats Liste des sinistres Mise à jour sinistre Enquête hist. client Enquete historique client Mise à jour d un sinistre DB2 DDS DB2 SQL 84
Développement MVC Vue 5250 Client riche Web, Web 2.0 Mobile Développement MVC : Modèle Vue Contrôleur Contrôleur Modèle Logique de contrôle Logique de contrôle Logique de contrôle Logique de contrôle ILE RPG/COBOL ILE RPG/COBOL ILE RPG/COBOL DB2 SQL 85
Comment moderniser le code RPG/COBOL? Utiliser les possilités actuelles des langages (RPG IV, format libre, environnement ILE) Restructurer Séparer la logique métier de l interface utilisateur Développement MVC (Modèle Vue Contrôleur) Indépendance back-office / front-office Modulariser Réutiliser pour éviter la duplication et les tests Réduction de la complexité (lisibilité - Création et appel de fonctions, composants plus petits) Faciliter la maintenance (distribution des tâches) Créer des fonctions métier, des fonctions d accès aux données, assurer l unicité des fonctions créer des services Documenter 86
Comment moderniser le code RPG/COBOL? A. Exploiter les possibilités actuelles des langages 87
Les avantages du développement en RPG / COBOL Rapidité et facilité de développement Vous avez les compétences et souvent les développeurs connaissent le métier Facilité de débogage (joblog, messages de 1er et 2nd niveau) Intégration native avec DB2 Possibilité d intégrer du SQL Fiabilité, robustesse Facilité de mise en production Utilisation native de la LIBL Montée en charge sans se poser trop de questions Stabilité Ce que vous écrivez aujourd hui tournera demain On ne se pose pas la question tous les 4 mois de l utilisation ou non de telle technologie ou de tel framework Un programme RPG/COBOL de type batch peut être appelé de n importe où Des langages orientés applications de gestion 88
Les inconvénients du développement en RPG/COBOL Ce sont des langages qui ne savent gérer nativement que le 5250 Solution 1 : continuer à développer en RPG et : Utiliser la technologie CGI Utiliser RPG Open Access et des handlers d éditeurs tiers Utiliser des produits tiers Solution 2 : restructurer/modulariser le code existant afin de séparer la logique métier de l interface utilisateur. Cela permet : De garder en RPG/COBOL la logique métier De développer en Java, PHP,.Net ou autre langage l interface utilisateur Il est de plus en plus difficile de trouver des programmeurs RPG/COBOL sur le marché Solution 1 : former les jeunes au RPG/COBOL Mais en leur proposant RD Power comme environnement de développement Et en leur faisant coder du RPG IV en format libre Solution 2 : Externaliser Centre de Services IBM i d'ibm Bordeaux (TMA, support utilisateur...) Sociétés de conseil en ingénierie 89
Pourquoi développer en RPG IV? Pour gagner en simplicité, lisibilité, rapidité, productivité, maintenabilité Parce qu il est plus facile, pour un jeune, de développer en RPG IV, en format libre et sous RD Power qu en RPG/400 en mode colonné, sous SEU Parce que certaines fonctionnalités de l IBM i ou des outils de développement ne sont disponibles ou intéressantes que pour des programmes dont le source est de type RPGLE (xxxle) Parce que le RPG/400 a été annoncé en mars 2008 comme stabilisé (n évoluera plus). Seul le RPG IV évolue et continuera d évoluer Rappel : la commande CVTRPGSRC permet de convertir des sources RPG/400 en RPG IV (RPG RPGLE) 90
Le RPG IV versus le RPG/400-1/2 Spécifications D pour déclarer les zones, DS, tableaux Support des noms longs et des minuscules / majuscules Nouveaux types de données Support de la valeur indéfinie et des zones de longueur variable Possibilité de définir des modèles Extension des limites Lignes à blanc Mots-clés Nouveaux codes opération Expressions Format libre (y compris en SQL) Fonctions intégrées Support des zones de type date, heure et horodate Support des pointeurs 91
Le RPG IV versus le RPG/400 2/2 Options de compilation et compilation conditionnelle Environnement ILE - Procédures Structures de données qualifiées Interopérabilité avec Java Contrôle à la compilation et à l exécution des fichiers à ouvrir Génération PCML Sources dans l IFS Support XML en lecture Tri des DS Nouvelle gestion des erreurs Support du multi-threading Fichiers locauxs et fichiers en paramètre Lecture des Result Sets 92
Pourquoi développer en ILE? Parce que les composants de l environnement ILE (modules, procédures, programmes de service) répondent mieux à la modélisation fonctionnelle (création de fonctions) Parce qu une procédure a de nombreux avantages par rapport à une sous-routine : Ressemble à une méthode Java ou à une fonction C ou PHP Possibilité de variables locales et de fichiers locaux), de valeur de retour, de passage optionnel de paramètres, de procédure externe Parce que l ILE est indispensable pour pouvoir Appeler des procédures C Appeler des Services Web (via du C ou du C++) 93
Procédures ILE versus sous-routines et programmes Une procédure ILE combine les avantages des programmes et des sousroutines : Appel aussi performant qu un appel de sous-routine Avec possibilité de passer des paramètres comme pour un programme et de de pouvoir être externe au programme principal Les procédures apportent quelques avantages supplémentaires : Analogie avec les méthodes Java ou les fonctions C, PHP, etc. (on se crée ses propres fonctions) Définition de variables locales et de fichiers locaux Possibilité de définir une variable de retour Possibilité de passer des expressions en paramètres Passage de paramètres par référence, par valeur Passage optionnel de paramètres Possibilité d appeler un programme externe Possibilité de faire référence à une procédure externe (procédure C par exemple) 94
Environnement ILE PGM1 H bnddir( BNDDIR1 ) D /free msg = proca(numcli) + ; callp proce(z1:z2*z3); *PGM SRV1 Procédure A Procédure B Procédure C *SRVPGM SRV2 BNDDIR1 SRV1 *SRVPGM SRV2 *SRVPGM *BNDDIR Procédure D Procédure E Procédure F *SRVPGM 95
Le RPG IV évolue constamment V5R1 : Format libre, interception d erreurs par MONITOR, DS qualifiées, appel de Java V5R2 : DS qualifiées complexes, PCML, sources dans l IFS V5R4 : Support XML, code opération EVAL-CORR V6R1 : Multi-threading, fichiers locaux, améliorations DS, plus de limites sur le nombre de postes d un tableau V7R1 Tri et recherche sur des tableaux de structures de données, cryptage de la liste de débogage, accès aux Result Sets 96
RPG Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session planifiée à Noisy : 23 mai 97
RPG Pour en savoir plus Web 98
RPG Pour en savoir plus - White paper 99
RPG Pour en savoir plus - Redbook SG24-5402 100
RPG Pour en savoir plus - Livres 101
RPG/COBOL Pour en savoir plus - Sessions S10 RPG, nouveautés 6.1 et 7.1 Christian Massé (VOLUBIS) Mardi 17 mai 09h00 S13 Comment utiliser au mieux les types de données récents? Christian Massé (VOLUBIS) Mardi 17 mai 11h00 102
Comment moderniser le code RPG/COBOL? B. Exposer le code afin qu il soit accessible de l extérieur - Procédures stockées - Services Web 103
Exposer le code RPG/COBOL Vous avez restructuré les programmes existants afin d isoler les fonctions métier dans des programmes ou des procédures RPG / COBOL Vous avez développé des nouvelles fonctions dans des programmes ou des procédures RPG / COBOL 5250 Informations client Java Liste des contrats PHP Liste des sinistres EGL Mise à jour sinistre Autre Enquête hist. client Comment les exposer afin qu ils(qu elles) puissent être appelé(e)s par d autres applications externes au System i (Java, PHP, VB,.NET, SQL ou autre)? DB2 SQL 104
Les procédures stockées Une procédure stockée est un programme qui s'exécute sur un serveur et que l'on appelle par une instruction SQL (instruction CALL) possibilité de passer des paramètres en entrée, sortie ou entrée/sortie peut retourner un ou plusieurs result sets si SQL, peut retourner des tableaux depuis la version 7.1 de l IBM i Il en existe deux types : les procédures stockées SQL écrites en langage SQL (SPL - SQL Procédural Language) les procédures stockées externes écrites en CL, RPG, ILE RPG, COBOL, ILE COBOL, JAVA, C ou C++ 105
Les procédure stockées externes 1) Création du programme ou de la procédure (RPG, COBOL...) Objet de type *PGM ou de type *SRVPGM Le programme peut contenir des instructions SQL imbriquées pour retourner un ou plusieurs result sets 2) Création (enregistrement) de la procédure stockée Par l'instruction SQL CREATE PROCEDURE ou par System i Navigator Il est possible de gérer, tester et déboguer les procédures stockées par System i Navigator 106
Procédures stockées - System i Navigator 107
Procédures stockées et listes 108
Autre possibilité SQL : les fonctions / 109
Les Services Web Les Services Web sont des applications autonomes et autodescriptives qui peuvent être publiées, localisées et invoquées à travers Internet Une implémentation de l architecture orientée services (SOA Phase 1) Ne contiennent que de la logique métier, pas d interface utilisateur Permettent l interopérabilité des applications Indépendants de la plateforme et du langage Basés sur le standard XML Peuvent s intéger dans toute application GUI ou non GUI Peuvent être implémentés sur n importe quelle plateforme Standard supporté par la majorité des acteurs du marché informatique, entre autres par IBM, Microsoft, SUN, HP, Oracle. 110
Les Services Web Quels usages? Vous pouvez exposer vos fonctions métier afin qu elles soient accessibles de l extérieur : Clients Fournisseurs Partenaires Grand public Mais également en interne, entre applications Vous pouvez faire appel à des fonctions et processus métier exposables par d autres entreprises ou en interne dans vos applications Etat d une commande, d un colis Calcul de taux de crédit, d assurance Cours de la bourse, vérification d un crédit Météo, pages jaunes, itinéraires, plans Et ceci indépendemment de la plateforme et du langage 111
La description du Service Web : le fichier WSDL WSDL : Web Services Definition Language Langage (structure XML) permettant de décrire le Service Web : La ou les procédures Le ou les paramètres Comment invoquer le service 112
Création de Services Web sous IBM i A partir de programmes RPG/COBOL sans interface 5250 Avec le serveur de Services Web intégrés l IBM i, les outils IBM Rational, les outils Zend A partir de transactions interactives 5250 Avec le produit IBM Rational HATS A partir de requêtes ou procédures SQL Avec les outils Rational A partir de Java ou EGL Avec les outils Rational A partir de PHP Avec les outils Zend 113
Développer des Services Web à partir de pgms RPG/COBOL Comment? 1) Par le «Integrated Web Services Server for IBM i» Programmes ILE RPG, ILE COBOL Création, déploiement et exécution Intégré à l IBM i Technologie : Java Service Web 2) Avec l environnement de développement RDi SOA Rational Developer for IBM i SOA Construction Programmes RPG, COBOL, OPM ou ILE Technologie : Java Un assistant permet de créer automatiquement le Service Web à partir du programme RPG/COBOL Le Service Web est créé dans un projet Web J2EE qu il faudra ensuite déployer dans un serveur d applications (de type WAS WebSphere Application Server) 114 Proxy Java *PGM, *SRVPGM
Développer des Services Web à partir de pgms RPG/COBOL Comment? 3) Avec l environnement de développement Zend Studio for i Programmes RPG, COBOL, OPM ou ILE Technologie : PHP Il faut développer un programme PHP qui appelle le programme i, puis l exposer sous forme de Service Web Il faudra ensuite déployer ce programme PHP dans le serveur Zend Server for IBM i Service Web Proxy PHP *PGM, *SRVPGM 115
Integrated Web Services Server for IBM i - Création 116
Integrated Web Services Server for IBM i - Création 117
Integrated Web Services Server for IBM i - Création 118
Integrated Web Services Server for IBM i - Services Permet de visualiser le WSDL Permet de tester le service 119
Integrated Web Services Server for IBM i - Test 120
Integrated Web Services Server for IBM i - Listes 121
Integrated Web Services Server for IBM i - Nouveautés 122
Création d un Service Web avec RDi SOA / L assistant va créer : - un JavaBean faisant appel au programme RPG/COBOL - Un Service Web sur ce JavaBean - une application J2EE encapsulant tous les composants qu il faudra ensuite déployer dans un serveur d applications de type WAS (WebSphere Application Server) L assistant permet de choisir les caractéristiques du Service Web (type d encodage ) 123
Procédures stockées et fonctions - Pour en savoir plus 124
Services Web - Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session planifiée à Noisy : 14 juin 125
Services Web - Pour en savoir plus Redbooks 126
Procédures stockées Services Web Pour en savoir plus - Sessions S2 - Sortir du monde 5250 sans perdre les programmes et le savoir faire existants Christian Massé (VOLUBIS) Lundi 16 mai 14h00 S14 - Des Services Web dans vos programmes RPG et COBOL! Nathanaël Bonnet (GAIA) Mardi 17 mai 11h00 127
Comment moderniser le code RPG/COBOL? C. Découvrir de nouvelles possibilités - XML, appel de Services Web - Accès à d autres ressources avec RPG Open Access 128
1. RPG et XML 129
1. RPG et XML Pour en savoir plus 130
1. RPG et XML Pour en savoir plus - Sessions S10 RPG, nouveautés 6.1 et 7.1 Christian Massé (VOLUBIS) Mardi 17 mai 09h00 131
2. Appeler un Service Web en RPG/COBOL a) En utilisant un «Proxy Java de Service Web» JavaBean permettant d appeler un Service Web Peut être généré par l environnement de développement RDi SOA Le programme RPG/Cobol doit invoquer ce JavaBean, par des Data Queue ou WebSphere MQ RPG/Cobol 1 2 5 Request Data Queue / MQ Response Data Queue / MQ 4 JavaBean Proxy de Service Web 3 Service Web 132
2. Appeler un Service Web en RPG/COBOL b) En utilisant le «IBM Integrated Web Services Client for IBM i» Outil permettant de construire des applications appelant des Services Web Génère, à partir de fichiers WSDL (Web Service Description Language) : des procédures C ou C++ (stubs) qui seront ensuite invoquées à partir d un programme ILE RPG (CALLP) ou ILE COBOL (CALL PROCEDURE) Depuis février 2011, l outil peut générer automatiquement, à partir du fichier WSDL, les procédures C et RPG ainsi que le programme CL de création du programme final En standard en IBM i 7.1, 6.1 et par PTF en IBM i 5.4 133
2. Appeler un Service Web en RPG/COBOL c) Par l outil HTTPAPI de Scott Klement 4) Par des solutions tierces LANSA Integrator (LANSA) PHL XML (PHL Soft) Strategi (Advanced Business Link) / 134
2. Appeler un Service Web en RPG/COBOL IBM Integrated Web Services Client for IBM i 135
2. Appeler un Service Web en RPG/COBOL - Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session planifiée à Noisy : 14 juin 136
2. Appeler un Service Web en RPG/COBOL - Pour en savoir plus Redbooks et White papers 137
2. Appeler un Service Web en RPG/COBOL - Pour en savoir plus - Sessions S14 - Des Services Web dans vos programmes RPG et COBOL! Nathanaël Bonnet (GAIA) Mardi 17 mai 11h00 138
3. Accès à d autres bases de données que DB2 139
4. RPG Open Access (Rational Open Access: RPG Edition) RPG Open Access fournit aux développeurs RPG le moyen d utiliser le modèle simple et bien connu d E/S du RPG (codes-opération READ, WRITE, CHAIN, etc.) pour accéder à des ressources et des unités qui ne sont pas directement supportées en RPG : Fichiers XML, CSV, TXT, etc. Services Web Bases de données externes Fichiers base de données cryptés Navigateurs (browsers) Unités mobiles Produit 5733-OAR (Rational Open Access: RPG Edition) IBM i 7.1 ou 6.1 140
4. RPG Open Access - Principes Applications RPG Ressource 1 F définition du handler D C read fmt1 : : C write fmt2 C : Data Handler Exécution du programme RPG avec IBM Rational Open Access: RPG Edition Programme cible Le développeur continue à développer en RPG Il fait appel, de façon transparente, aux procédures du handler 2 3 Les handlers et programmes cible sont développés par des éditeurs, des structures de services ou par le client. RPG Open Access ne fournit pas de handlers 141
4. RPG Open Access Principe Programme RPG 142
4. RPG Open Access Principe Programme handler 143
4. RPG Open Access - Exemples d utilisation Programme RPG Appel d un Service Web par un CHAIN Handler Programme RPG qui appelle le Service Web par le «Integrated Web Services Client» Service Web Programme RPG Manipulation de la base de données par des READ, WRITE, UPDATE, CHAIN Handler Programme RPG qui accède à SQL Server, MySQL, Oracle en JDBC (cf article de Scott Klement) Base de données SQL Server, MySQL, Oracle Programme RPG Gestion des pages Web par READ, WRITE, EXFMT Handler Programme développé par un éditeur (voir chapitre «5. Moderniser l interface utilisateur») Client Web, client mobile 144
4. RPG Open Access - Pour en savoir plus - Web 145
4. RPG Open Access - Pour en savoir plus - Web L événement IBM du 9 septembre 2010 146
4. RPG Open Access Pour en savoir plus Sessions S10 RPG, nouveautés 6.1 et 7.1 Christian Massé (VOLUBIS) Mardi 17 mai 09h00 147
Comment moderniser le code RPG/COBOL? D. Utiliser des outils pour faciliter la connaissance des applications existantes et restructurer le code 148
Les outils pour nous aider à comprendre la structure et le flux des applications Diagramme d applications de RD Power Structure interne des programmes 149
Les outils pour nous aider à comprendre la structure et le flux des applications Diagramme d applications de RD Power Relations entre objets ILE 150
Les outils pour nous aider à comprendre la structure et le flux des applications Bilan de patrimoine applicatif Prestation du centre de services IBM i d IBM Bordeaux Un outil pour analyser l existant et dresser un plan d actions - Les informations générales permettent de qualifier les axes principaux de l analyse à approfondir Ex : nombre de sources insuffisant par rapport au nombre d objets - Recherche de conformité, maintenance et analyses complémentaires permettent d organiser les étapes suivantes de mise en cohérence. Ex : noms de sources différents du nom de l objet 151
Les outils pour nous aider à comprendre la structure et le flux des applications Bilan de patrimoine applicatif Exemple de livrable produit Cette synthèse correspond à l image que donne l applicatif actuel sur les critères de : Bilan Technique Cohérence : Relations sources / objets Conformité : Respect des normes / standard Documentation : Interne aux programmes uniquement Simplicité : Analyse des algorithmes Stabilité : Evolutions et modifications de l application Compréhension Facilité de maintenance du programme Analyse du code 152
Les outils pour nous aider à comprendre la structure et le flux des applications ARCAD Observer (ARCAD Software) Analyse des applications, références croisées, génération de diagrammes, rétro-documentation 153
Les outils pour nous aider à comprendre la structure et le flux des applications ARCAD Observer (ARCAD Software) 154
Les outils pour nous aider à comprendre la structure et le flux des applications X-Analysis (Databorough) Analyse des applications, références croisées, génération de diagrammes, rétro-documentation 155
Les outils pour nous aider à comprendre la structure et le flux des applications X-Analysis (Databorough) 156
Autres modules ARCAD Software et Databorough ARCAD Software ARCAD-Audit Audit de l existant ARCAD-Transformer Transformation base de données et transformation Unicode ARCAD-Extract Extraction et anonymisation des données ARCAD-Datachanger Gestion des données critiques et paramètres ARCAD-Verifier Tests de non régression ARCAD-Integrater Réception de progiciels ARCAD-Skipper SCM (Software Configuration Management) ARCAD-Deliver Automatisation des déploiements ARCAD-Customer Gestion des incidents Databorough X-Audit Audit de l existant et de la complexité du code X-Resize Modification de la longueur d un champ X-Rev Extraction et documentation du modèle de données X-Rules Extraction et documentation des règles métier X-Modernize Restructuration du code en MVC, conversion DDS-SQL X-Data Extraction et anonymisation des données X-Redo Réingénerie des applications en J2EE/EGL/.NET/Web Services 157
RPG/COBOL Pour en savoir plus - Sessions S12 Cartographie, reprise du design et réingénierie des applications IBM i avec X-Analysis de Databorough Simon Savage (Databorough) Session 12A : mardi 17 mai 09h00 Session 12B : mardi 17 mai 15h30 S15 Cartographie des applications, analyse d'impact et rétro-documentation avec les outils d ARCAD Software Philippe Magne et Michel Mouchon (ARCAD Software) Mardi 17 mai 11h00 158
5. Moderniser l interface utilisateur 159
Moderniser l interface utilisateur - Options A. Emulation 5250 dans un navigateur Web sans réhabillage des écrans Objectif : accéder aux écrans 5250 à partir d un navigateur Produits IBM :Host On Demand, System i Access for Web, Systems Director Navigator for IBM i 7.1 Produits tiers B. Réhabillage des écrans des applications 5250 existantes Objectif : offrir une interface graphique sans modifier les applications Produits IBM : HATS et WebFacing Produits tiers C. Développement d une nouvelle interface utilisateur graphique Développement de nouvelles applications graphiques Objectif : sortir du monde 5250 sans perdre les pgms et le savoir-faire existants Restructuration des applications existantes Développement MVC Développement en RPG, Java, PHP, EGL,.NET Produits et AGL tiers 160
5. Moderniser l interface utilisateur A. Emulation 5250 dans un navigateur Web sans réhabillage des écrans 161
Le produit IBM HOD (Host On Demand) for IBM i Fonctionnalités : Emulation écran 5250 (macros, clavier, couleurs, copier/coller ) Emulation imprimante Transfert de fichiers et de données Sécurité SSL Support ENPTUI Installation, administration et sauvegarde des préférences sur le serveur 162
Le produit IBM i Access for Web Produit 57xx-XH2, composant du produit IBM i Access Family (57xx-XW1) Offre un accès Web (sous forme d'urls ou de portlets) à des ressources IBM i (émulation 5250, spoules, messages, travaux, requêtes DB2, etc.) 163
Le produit Systems Director Navigator for IBM i 7.1 Console de gestion de l IBM i (en standard avec l IBM i) Reprend la majorité des fonctions de IBM i Navigator, mais en interface Web 164
5. Moderniser l interface utilisateur B. Réhabillage (webisation) des applications 5250 existantes 165
Webisation des applications 5250 Les produits Les produits IBM HATS / WebFacing Les produits tiers ADVANCED BUSINESS LINK (Strategi WebSTYLE et MobileACCESS) BOS (BOS Web) JACADA (Jacada Interface Server) LANSA (axes) LOOKSOFTWARE (newlook) ORDIROPE (Minos Web) PHL SOFT (PHL Web) ROCKET SEAGULL (LegaSuite) SYSTEM OBJECTS (JACi400) / 166
Webisation des applications 5250 Critères de choix Technologie utilisée, architecture et flot (serveur HTTP, serveur d applications, applets, flot HTML, flot 5250 )? Possibilités de personnalisation des écrans (globale / individuelle, images, liens, listes déroulantes, calendriers, support flot 5250 étendu, onglets )? Fonctionnalités proposées (intégration bureautique, transfert de fichiers, émulation imprimante, conversion PDF, mode déconnecté, bufferisation clavier, création de Services Web, intégration dans un portail, support des terminaux mobiles )? Sources des écrans / programmes nécessaires? Intrusif / non intrusif? Simplicité / rapidité d installation et d utilisation? Impact en cas de maintenance des applications 5250? Consommation ou non de puissance interactive? Versions minimales de System i et d IBM i? Prix (licences serveur, processeur, développeur, utilisateur )? / 167
Le produit IBM WebFacing Offre une interface Web (standard ou portlet) aux applications 5250 Le studio de développement est intégré au studio de HATS (HATS Toolkit) Le déploiement nécessite l'achat de licences "HATS for 5250 applications" Les sources DDS des écrans sont nécessaires (conversion des sources DSPF en JSPs). Si ce n est pas le cas, la conversion à la volée de HATS intervient Peut être combiné avec HATS ++ : la personnalisation Web des écrans peut se faire très simplement par l'ajout de commentaires dans le sources DDS avant conversion. Le WebFacing bridge qui permet la communication WebFacing <--> EGL 168
Le produit IBM HATS Offre une émulation 5250 à partir d'un navigateur, d un client riche RCP ou d un terminal mobile avec réhabillage des écrans Le studio de développement (HATS Toolkit) est fourni avec RDi SOA Le déploiement nécessite l'achat de licences "HATS for 5250 applications" Les sources DDS des écrans ne sont pas nécessaires Peut être combiné avec WebFacing ++ : conversion dynamique et offre des fonctionnalités telle l'exécution de macros (avec éditeur visuel), le regroupement et découpage d'écrans, les onglets, les calendriers, la création de Services Web à partir de transactions 5250, le client riche RCP, la sortie terminal mobile (dont iphone et ipod Touch), la sortie portlet (JSR168), le support ENPTUI, I exportation des listes vers Excel, la simulation de hôte, le rafraîchissement basé sur Ajax... 169
HATS et WebFacing - Pour en savoir plus - Web 170
5. Moderniser l interface utilisateur C. Développement d une nouvelle interface utilisateur graphique Développement de nouvelles applications graphiques 171
Il existe beaucoup de possibilités Quel langage/technlogie/produit choisir? RPG, COBOL? Java, PHP? Un L4G? Un autre langage? Un produit tiers, un AGL? Quelques critères de choix Compétences / formation nécessaires? Ouverture, portabilité? Type d architecture? (architecture n tiers ) Simplicité / rapidité d installation, d apprentissage et d utilisation? Environnements de développement et d exécution nécessaires? Possibilités d accéder à des ressources IBM i? Versions minimales d IBM i? Puissance minimale du System i? Prix (licences serveur, processeur, développeur, utilisateur )? / 172
Nouvelle architecture des applications Objectifs: Développer de nouvelles interfaces utilisateur Vue Client Web, Web 2.0 Client mobile Client Windows Pouvoir accéder à la logique métier RPG / COBOL Contrôleur Logique de contrôle RPG, COBOL, Java, PHP, EGL,.NET, autres Développer en MVC : Modèle Vue Contrôleur Modèle Logique métier RPG/COBOL SQL, C, Java, PHP, EGL, autres DB2 SQL 173
Nouvelle interface utilisateur / Nouvelles applications A. Vous désirez continuer à utiliser le RPG pour développer des applications graphiques sous IBM i A1. Développement CGI (Common Gateway Interface) CGI permet de développer des applications Web en intégrant des APIs de gestion du HTML dans des programmes écrits en ILE RPG/COBOL Le support de CGI se fait par le produit IBM HTTP Server (57xx-DG1, intégré à l IBM i, gratuit) Pour faciliter le développement d applications Web en CGI: La bibliothèque CGIDEV2 (EASY400.NET) Des frameworks opensource basés sur CGIDEV2 : Renaissance (CoralTree) et PowerExt 174
Nouvelle interface utilisateur / Nouvelles applications A. Vous désirez continuer à utiliser le RPG pour développer des applications graphiques sous IBM i A2. RPG Open Access (IBM Rational Open Access: RPG Edition) combiné à des handlers tiers IBM STG Lab Services looksoftware Profound Logic PKS RJS Rocket Seagull VAI A3. Produits tiers CNX (Valence) PHL Soft (PHL Web) EXPERIA (SilverDev) SYSTEM OBJECTS (JACi400, SmartPad4i) 175
Nouvelle interface utilisateur / Nouvelles applications Exemple de handler RPG Open Access : le produit «lookserver for Open Access» (looksoftware) Fonctionnalités / avantages : Reprise de l existant et développement de nouvelles applications Développement en RPG Minimum de compétences à acquérir Tous les types d écran sont supportés (applicatifs, système ) Support des Interfaces de type client léger, client mobile, client lourd Utilise des technologies ouvertes : XML et Services Web 176
Nouvelle interface utilisateur / Nouvelles applications lookserver for Open Access» (looksoftware) - Reprise de l existant 1. Conversion des DSPF en XML : commande CRTDSPFXML 2. Conversion des RPG en RPG OA : commande CRTRPGOA 177
Nouvelle interface utilisateur / Nouvelles applications lookserver for Open Access» (looksoftware) Boutons radio Calendrier choix DATE Tri par colonne Scroll bar Case à cocher Combo List Pour en savoir plus : Présentation plus détaillée + vidéo avec l ensemble des présentations de l événement Webinar le 21 juin 2011 de 10 à 11 heures - www.itheis.com 178
Nouvelle interface utilisateur / Nouvelles applications B. Vous désirez utiliser un langage «ouvert et portable» pour développer des applications Web B1. Java/J2EE Langage très répandu Orienté développement MVC Architecure n-tiers ouverte Facilité d accès aux ressources IBM i B2. PHP Langage très répandu Facilité d apprentissage Des milliers de scripts et applications open-source Facilité d accès aux ressources IBM i 179
Nouvelle interface utilisateur / Nouvelles applications C. Vous désirez utiliser un langage de haut niveau (L4G), qui masque la complexité technologique sous-jacente, pour développer des applications graphiques C1. IBM EGL (Enterprise Generation Language) L4G (génération de Java / COBOL) Facilité de développement d applications RIA (Rich Internet Applications) C2. L4G et AGL tiers CA (CA 2E) SYSTEM OBJECTS (Delphi/400) HARDIS (Adelia Web, Adelia Mobile) LANSA (RAMP, Visual Lansa) MAGIC SOFTWARE (unipaas) PC SOFT (WinDev/WebDev) 180
Nouvelle interface utilisateur / Nouvelles applications D. Autres outils tiers qui facilitent le développement d applications graphiques ADVANCED BUSINESS LINK (Strategi) CONVERTIGO (Convertigo) ORDIROPE (ArgoLine) PKS (Web API, Migration Tools 400 EGL) / 181
CGI - Développement d applications Web pour IBM i Développement des applications avec RDi SOA Ou RDp (Rational Developer for Power Systems) + plug-in WDT (Web Development Tools) ou autre (SEU + éditeur HTML) Développement du code RPG en faisant appel aux procédures du programme de service de CGIDEV2 Développement des pages Web avec l éditeur PageDesigner intégré aux produits Rational/Eclipse Les sources des pages Web (fichiers HTML, images, feuilles de style ) sont stockés dans le serveur HTTP (57xx-DG1 IBM HTTP Server for IBM i, fourni en standard avec l IBM i) Test et débogage directement sous IBM i 182
PHP - Développement d applications Web pour IBM i Développement des applications avec Zend Studio for IBM i (gratuit avec 1 an de maintenance) Ou Eclipse + plug-in PDT (PHP Development Tools) Zend Studio for IBM i (V8.0) peut être combiné avec RDp (V8.0) (développement PHP + RPG/COBOL) Développement des pages Web : éditeur PageDesigner - Utilisation possible du framework Zend Framework Possibilité de tester et déboguer directement sous IBM i Accès aux ressources IBM i par le PHP Toolkit (open-source ou original), les procédures stockées, les Services Web Exécution des applications dans Zend Server for IBM i Version CE (Community Edition, gratuite, fourni avec l IBM i, 1 an de support non renouvelable) ou version complète S installe sous IBM i Supervision et optimisation des applications PHP (fonctions de cache, code tracing, job queue, etc.) Contient MySQL Community Edition, le Java Bridge et le 5250 Bridge 183
PHP - Développement d applications Web pour IBM i 184
J2EE - Développement d applications Web pour IBM i Développement des applications avec RAD (Rational Application Developer) ou RAD SE (Standard Edition) (produit facturable) Ou Eclipse + plug-in WDT (Web Development Tools) ou autre RAD peut être combiné avec RDp (développement J2EE + RPG/COBOL) Développement des pages Web : éditeur PageDesigner intégré - Utilisation possible du framework des JSFs (Java Server Faces) Test et débogage en local (environnement de test WebSphere Application Server, Tomcat ou autre) Accès aux ressources IBM i par la Toolbox for Java, les procédures stockées, les Services Web Packaging des applications dans des fichiers WAR/EAR Déploiement des applications dans un serveur d applications Serveur d applications intégré à l IBM i (Tomcat n est plus supporté sous IBM i depuis la V6R1) WAS (WebSphere Application Server) S installe sous IBM i ou en frontal Version Express fourni avec l IBM i (6.1, 7.0, 8.0) Gestionnaire des applications (pools de connexion, data-sources ) 185
J2EE - Développement d applications Web pour IBM i 186
EGL - Développement d applications Web pour IBM i Développement des applications avec RBD (Rational Business Developer) (produit facturable) Ou EGL CE (Community Edition) RBD peut être combiné avec RDp (développement EGL + RPG/COBOL) (RBD+RDp = RDi SOA) Développement des pages Web : éditeur PageDesigner - Utilisation possible du framework des JSFs (Java Server Faces) ou Web 2.0 Test et débogage en local (environnement de test WebSphere Application Server, Tomcat ou autre) Accès aux ressources IBM i par les procédures stockées, les Services Web ou en natif Packaging des applications dans des fichiers WAR/EAR Déploiement des applications dans un serveur d applications Serveur d applications intégré à l IBM i (Tomcat n est plus supporté sous IBM i depuis la V6R1) WAS (WebSphere Application Server) S installe sous IBM i ou en frontal - Version Express fourni avec l IBM i (6.1, 7.0, 8.0) Gestionnaire des applications (pools de connexion, data-sources ) 187
EGL - Développement d applications Web pour IBM i 188
Exécution d applications J2EE / EGL Serveur d applications Web Environnement d exécution, de supervision et d optimisation des applications J2EE WebSphere Application Server (WAS) Versions Express, Base et Network Deployment (WAS 7.0 et 6.1) La version Express est livrée avec l IBM i 7.1, 6.1 et 5.4 La version ND permet de faire du clustering et workload management Ou le serveur d applications Web intégré à l IBM i Un conteneur Web pour l exécution d applications Web «simples» (servlets/jsps/jsfs - pas de support des EJBs, ni de JMS) Est basé sur le framework OSGI (Open Services Gateway Initiative) Consomme peu de mémoire et démarre rapidement Est utilisé en interne pour certains softwares (DB2 Web Query ) 189
CGI Pour en savoir plus - Web http://www.easy400.net/cgidev2/start 190
Java/J2EE Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Sessions à la demande Doit être complété par des cours sur le développement J2EE 191
Java/J2EE - Pour en savoir plus - Redbooks 192
Java/J2EE - Pour en savoir plus - Livres 193
EGL Pour en savoir plus - Web 194
EGL - Pour en savoir plus - Livres 195
PHP Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session à Noisy : 6 juin 196
PHP Pour en savoir plus - Formation Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session à Noisy : 19 mai 197
PHP Pour en savoir plus - Web 198
PHP Pour en savoir plus - Livres 199
Moderniser l interface utilisateur Pour en savoir plus - Sessions S4 - PHP et les solutions Zend pour IBM i Christian Durel et Mike Pavlak (Zend) Lundi 16 mai 14h00 S5 - Développement d'applications Web sous IBM i : comparaison des solutions CGI-Java-PHP-EGL Philippe Bourgeois (IBM) Session 5A : lundi 16 mai 16h00 Session 5B : mardi 17 mai 11h00 S7 - Les applications Web en PHP sous IBM i Pierre Roge (GAIA) Session 3A : lundi 16 mai 16h00 Session 3B : mardi 17 mai 13h30 S18 - Développez rapidement des applications Web 2.0 avec le langage IBM EGL (Enterprise Generation Language) Philippe Bourgeois (IBM) Mardi 17 mai 15h30 200
6. Pour aller plus loin 201
Pour aller plus loin Formations et accompagnement IBM Ressources Web Prochains événements 202
Les formations IBM RD Power AS86FR 2 jours Services Web AS488FR 2 jours PHP, l essentiel AS55FR 4 jours PHP pour IBM i AS47FR 2 jours Du RPG/400 au RPG IV et ILE OE85FR - 4 jours SQL OL38FR 4 jours Analyse des performances SQL OL40FR 4 jours 203
Les formations IBM Nouveautés IBM i 6.1 Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session à Noisy : 6 juin 204
Les formations IBM Nouveautés IBM i 7.1 Centre de formation IBM de Noisy le Grand ou sur site client Prochaine session à Noisy : 8 juin 205
L accompagnement IBM L IIC (IBM Innovation Center) Centre de ressources matérielles et logicielles Equipe de 6 consultants techniques : hardware et software Objectif : aider les partenaires commerciaux, éditeurs et intégrateurs Accès aux technologies IBM Assistance technique personnalisée Séminaires techniques Architecture, prototypes Démonstrations, portage, tests, validation Les System i présents sur le site (à Noisy le Grand) : POWER7, 6 et 5, Blade Center, Storwise V7000 IBM i 7.1, 6.1, 5.4 et Linux on Power Comment accéder à l'ibm Innovation Center? 1. Être membre de PartnerWorld : accès gratuit 2. Contacter Michel Aycard, responsable des Relations Partenaires à l IIC (iic_paris@fr.ibm.com - 06.73.98.03.89) 206
L accompagnement IBM Le centre de services IBM i Prestations de service avec 3 axes de travail : Bilan technique des patrimoines applicatifs Maintenance d applications Modernisation des parcs applicatifs 50 collaborateurs en France + des centres de compétences étrangers rattachés (Vietnam, Roumanie) Chefs de projet, architectes, analystes, développeurs Technologies traditionnelles et nouvelles technologies Principales prestations proposées TMA (corrective / préventive / adaptative) Support utilisateur niveau 2 Etude d architecture Diagnostic applicatif Proof Of Concept (POC) Développement de nouveaux projets Contact Mme Sandrine Houssin - shuret@fr.ibm.com Adresse générique : CDSIBMi@fr.ibm.com (Centre De Services IBM systèmes i) 207
Ressources Web IBM developerworks et IBM i 208
Ressources Web IBM developerworks et IBM i 209
Quelques ressources Web en anglais System i Network http://systeminetwork.com/ IBM Systems Magazine http://www.ibmsystemsmag.com/ibmi/ IT Jungle http://www.itjungle.com/ MC PRESS Online http://www.mcpressonline.com/index.php Search400.com http://search400.techtarget.com/ Scott Klement http://www.scottklement.com/ 210
Quelques ressources Web en français developpez.com http://www.developpez.net/forums/f646/systemes/autres-systemes/as-400/ Common http://forum.commonfr.org/ Gaia (base de connaissances know400) http://www.know400.gaia.fr/ itpro.fr http://www.itpro.fr/system-i/ Site400 http://www.site400.com Volubis (pause-café et forum) http://www.volubis.fr/pausecafe.html Xdocs400 http://www.xdocs400.com/?lang=fr 211
Autres ressources System inews Depuis plus de 15 ans, System inews accompagne la communauté System i Support inégalé, compétence mondialement reconnue, System inews est la première source éditoriale d information technologique dédiée à cette plate-forme System inews est depuis 1993 «LA» source éditoriale incontournable de la communauté des professionnels des moyens systèmes IBM 212
Evénements IBM Innovate 2011 213
Evénements - RPG and DB2 Summit Paris - 14 et 15 septembre 2011 20 sessions techniques 214
Pour terminer cette session plénière 215
Informations pratiques Les présentations seront disponibles en ligne Vous recevrez un email indiquant l URL N oubliez pas de remplir et de rendre la feuille d évaluation (recto-verso) 1 3 2 216
Les sessions du lundi 16 mai après-midi Session 1A Session 2 Session 3 Session 4 14h00 15h30 RD Power : un environnement de développement moderne pour améliorer la productivité et les compétences des développeurs IBM i Sortir du monde 5250 sans perdre les programmes et le savoir faire existants Amphi Blaise Pascal SQL embarqué : profitez de la puissance de SQL dans votre RPG Salle Convention PHP et les solutions Zend pour IBM i Salle Rivoli Session dédoublée le 17 mai à 13h30 Salle Louvre-Tuileries Session 5A Session 6 Session 7A Session 8 16h00 17h30 Développement d'applications Web sous IBM i : comparaison des solutions CGI-Java-PHP- EGL DB2, nouveautés 6.1 et 7.1 Amphi Blaise Pascal Les applications Web en PHP sous IBM i Session dédoublée le 17 mai à 13h30 IBM i : au delà des évidences... Salle Covention Session dédoublée le 17 mai à 11h00 Salle Rivoli Salle Louvre-Tuileries 217
Les sessions du mardi 17 mai matin Session 9 Session 10 Session 11 Session 12A 09h00 10h30 Contrôle des sources, traçabilité et gestion des demandes de changement sous IBM i avec le produit RTC (Rational Team Concert) Salle Langchamp RPG, nouveautés 6.1 et 7.1 Salle Tuileries La modernisation de la base de données DB2 : passage des DDS à SQL Salle Concorde Cartographie, reprise du design et réingénierie des applications IBM i avec X-Analysis de Databorough Session dédoublée le 17 mai à 15h30 Salle Rivoli Session 5B Session 13 Session 14 Session 15 11h00 12h30 Développement d'applications Web sous IBM i : comparaison des solutions CGI-Java-PHP- EGL Session dédoublée le 16 mai à 16h00 Comment utiliser au mieux les types de données récents? Salle Tuileries Des Services Web dans vos programmes RPG et COBOL! Salle Concorde Cartographie des applications, analyse d'impact et rétrodocumentation avec les outils d ARCAD Software Salle Longchamp Salle Rivoli 218
Les sessions du mardi 17 mai après-midi Session 1B Session 16 Session 7B Session 17 13h30 15h00 RD Power : un environnement de développement moderne pour améliorer la productivité et les compétences des développeurs IBM i Session dédoublée le 16 mai à 14h00 Salle Concorde Bénéfices de la virtualisation : retour d'expérience d'une partition IBM i hostée Salle Longchamp Les applications Web en PHP sous IBM i Session dédoublée le 16 mai à 16h00 Salle Louvre+Tuileries Automatisation des déploiements avec «ARCAD Deliver Extension for IBM Rational Team Concert» (ARCAD Software) Salle Rivoli Session 18 Session 19 Session 20 Session 12B 15h30 17h00 Développez rapidement des applications Web 2.0 avec le langage IBM EGL (Enterprise Generation Language) Salle Concorde Exemples d'utilisation de l'environnement UNIX sous IBM i : PASE Salle Tuileries Adopter une stratégie de sauvegarde adaptée à votre entreprise Salle Rivoli Cartographie, reprise du design et réingénierie des applications IBM i avec X-Analysis de Databorough Session dédoublée le 17 mai à 09h00 Salle Louvre 219
Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 220
Pause déjeuner Reprise à 14h00 221