Développer en EGL (Enterprise Generation Language) sur IBM

publicité
®
IBM i
Développer en EGL (Enterprise Generation Language) sur IBM
Power System i (AS/400)
avec RDi SOA (Rational Developer for i for SOA Construction) version 7.1
Journée Technologique IBM du 6 novembre 2008
Philippe Bourgeois – IBM France – [email protected]
© IBM France 2008
Plan
Développer en EGL avec RDi SOA
Chapitres
1. Introduction - EGL et RDi SOA
2. Développer une application Web avec accès à DB2
for i
© IBM France 2008
2
Qu’est-ce qu’EGL (Enterprise Generation Language) ?
EGL est un langage de programmation de haut
niveau pour développer des applications métier
Masque la complexité technologique sous-jacente
Permet le développement rapide d’applications
Simplifie le développement de Services
Génère un code run-time pour la plate-forme
appropriée
Java pour Windows, Linux, Unix, i5/OS…
COBOL pour l’i5/OS et le z/OS
Est le chemin de migration pour les clients CSP,
Visual Age Generator et Informix 4GL
Intègre des technologies reconnues
Eclipse, JSFs, Serveurs d’applications, etc.
© IBM France 2008
3
Les 3 principaux avantages d’EGL
PORTABLE
Java, SOA, COBOL, System i/z/p, Navigateur, ...
Génération native optimale
Interopérabilité avec les applications legacy
Haute productivité et flexibilité
Simplicité et robustesse du langage
Utilisable immédiatement par les développeurs métier
ABSTRACTION
© IBM France 2008
Masque la complexité technologique
Utilise une approche déclarative
Supporte les standards émergents
4
SIMPLE
La portabilité d’EGL
Windows, Linux,
System zUnix
System z
USS
Java
Java
COBOL
COBOL
Batch
CICS
System z
iSeries
Navigateur
IE
Safari
JavaScript
Firefox
Web 2.0
© IBM France 2008
Autres serveurs
d’applications J2EE
COBOL
Java
Linux
IMS
WebSphere
Application Server
Code EGL
System z
WebSphere
Application Server
5
System
System
i z
iSeries
WebSphere
Application Server
Autres serveurs
d’applications J2EE
Serveur
d’applications
intégré à l’i5/OS
i5/OS natif
Quelles applications peut-on développer avec EGL ?
Applications Batch
Applis 5250/3270
Applis. Web & Web 2.0*
Applis GUI*
Rapports
Sources de
donné
données
Handler
Handler
Library
Library
Logique
métier
Accès aux ressources des applis legacy
System i
System z
© IBM France 2008
• DB2
• SQL Server
• Oracle
• Informix
• DL/1
• VSAM
• autres…
autres…
Service
Service/ /Interface
Interface
Program
Program
Services Web et natifs
System p
6
Interfaces externes
• COBOL
• RPG
• PL/1
• C, C++
• Java
SIMPLE
EGL = haut niveau d’abstraction
EGL
VB
COBOL/RPG
PHP/Ruby
COMPLEXE
Java/J2EE et C#
© IBM France 2008
C, C++
Assembleur
Language machine
7
Le modèle de programmation EGL - Introduction
Programmes (program)
Point d’entrée unique – Principal (main - local) ou appelé (called – local ou distant)
Bibliothèque (library)
Ensemble de fonctions qui pourront être appelées par les autres composants (local)
Services (service)
Identiques aux bibilothèques mais peuvent être publiés, exposés sous forme de Services
Web et invoqués à distance
Gestionnaires de page Web (JSFHandlers)
Fichier spécialisé qui permet de contrôler les actions d’entrée/sortie associées à une page
Web
Gestionnaires de rapports (ReportHandler)
Fichier spécialisé qui permet de contrôler les actions d’entrée/sortie associées à un rapport
BIRT ou JASPER
Build Files (.eglbld)
Contiennent les spécifications nécessaires à la génération du code (Java ou Cobol)
© IBM France 2008
8
L’environnement de développement RDi SOA
RDi SOA : Rational Developer for i for SOA Construction
Combinaison de 3 produits :
RBD : Rational Business Developer pour développer des applications EGL
RDi : Rational Developer for i pour développer des applications RPG/Cobol
HATS Toolkit : pour webiser des applications 5250 (runtime non fourni)
Se commande :
Soit par le configurateur : 5733-SOA – N’est pas couvert par l’abonnement
logiciel –> ne pas oublier de commander la maintenance software
Soit par Passport Advantage : 5724-T83 (IBM Rational Developer for System i
for SOA Construction Authorized User License + SW Subscription & Support 12
Months : D03L5LL)
Prix : 2029 € par développeur
Version d’essai disponible 60 jours (version actuelle : 7.1) :
http://www.ibm.com/developerworks/downloads/r/rbex/learn.html
http://www.ibm.com/developerworks/downloads/r/rdi/learn.html
© IBM France 2008
9
Qu’est-ce que Rational Business Developer (RBD) ?
L’environnement de
développement (IDE,
Integrated
Development
Environment) pour
développer des
applications EGL
Membre de la
Rational
Software
Development
Platform (RSDP)
Basé sur Eclipse
(RBD 7.1 s’appuie
sur Eclipse 3.2)
© IBM France 2008
10
RBD – Quelques notions à connaître
Espace de travail (workspace)
Ensemble de projets (EGL,
Web, Java, HATS…) , euxmê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 :
Workspace
Dossiers
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
Fichiers
WebContent
– Contient toutes les ressources
Web (fichiers JSPs, images,
CSS…)
© IBM France 2008
11
Ma première application Web avec EGL
© IBM France 2008
12
Mise en oeuvre
Les étapes
Créer une page Web “hello1.jsp” et choisir un modèle de page (template)
Personnaliser la page
Editer le code EGL contenant la logique de gestion de la page (jsfhandler)
Glisser-poser des variables EGL dans la page pour créer des composants JSF
Réitérer les étapes 1 à 4 pour la page “hello2.jsp”
Exécuter (tester) les pages sur le serveur
© IBM France 2008
13
RBD – Création d’une page Web (source .jsp)
© IBM France 2008
14
RBD – Personnalisation de la page Web
© IBM France 2008
15
RBD – Edition du code de page (source .egl)
© IBM France 2008
16
RBD – Ajouter des zones EGL à la page Web
© IBM France 2008
17
RBD – Ajouter des fonctions EGL à la page Web
© IBM France 2008
18
RBD – Tester (exécuter) la page Web
© IBM France 2008
19
RBD – Tester (exécuter) la page Web - Résultat
© IBM France 2008
20
RBD – Création d’une seconde page Web et du code de page associé
© IBM France 2008
21
RBD – Ajout des zones EGL à la page Web
© IBM France 2008
22
RBD - Résultat
© IBM France 2008
23
Plan
Développer en EGL avec RDi SOA
Chapitres
1. Introduction - EGL et RDi SOA
2. Développer une application Web avec accès à DB2
for i
© IBM France 2008
24
Ce que l’on veut obtenir
© IBM France 2008
25
Mise en oeuvre
Pour le développement de cette page Web simple, nous allons utiliser le
modèle de développement suivant :
1. Définition du modèle de base de données
Création de fonctions permettant les opérations de lecture, ajout, mise-à-jour et
suppression d’enregistrements base de données
2. Développement de la page Web
Edition du code de page EGL afin d’appeler la logique métier
Ajout des variables et fonctions EGL sur la page Web sous forme de composants JSF
© IBM France 2008
26
RBD - L’assistant d’accès base de données
Pour simplifier l’accès aux bases de données, RBD fournit un assistant qui
permet, à partir des tables et vues de la base de données de générer :
Un « dictionnaire » (répertoire) contenant les définitions des colonnes de chaque
table source dataDefinitions.egl
Des enregistrements de type sqlRecord, correspondant à la structure de chaque
table et vue souces nom_table.egl
Des bibliothèques de fonctions d’accès aux données (lecture, ajout, mise-à-jour
et suppression) sources nom_tableLib.egl
Il est possible de modifier et compléter ces sources
Et il est bien sûr possible de se créer ses propres fonctions d’accès aux
données
© IBM France 2008
27
RBD – Application EGL d’accès aux données
© IBM France 2008
28
RBD – Application EGL d’accès aux données
© IBM France 2008
29
RBD – Application EGL d’accès aux données - Résultats
L’assistant crée 4 ensembles de
ressources dans 4 packages
différents
1. Control Records – utilisés dans les “Data
Access Libraries”
2. Data Access Libraries – fonctions de lecture,
mise-à-jour, ajout et suppression
d’enregistrements
3. Data Access Records – enregistrements
EGL de type sqlRecord
Control Records
Data Access
Libraries
Data Access
Records
EGL DataItems
4. EGL DataItems – dictionnaire contenant les
définitions des colonnes
© IBM France 2008
30
EGL - Les dataitem et les sqlRecord
© IBM France 2008
31
EGL – Le fichier ConditionHandling.egl
© IBM France 2008
32
EGL – Les fonctions des bibliothèques xxxLib.egl
© IBM France 2008
33
EGL – Affichage / Ajout de l’instruction SQL
© IBM France 2008
34
EGL – Affichage / Ajout de l’instruction SQL
© IBM France 2008
35
EGL – Validation de l’instruction SQL après modification
© IBM France 2008
36
EGL – Génération du code
© IBM France 2008
37
RBD – Création de la page « liste_des_films.jsp »
© IBM France 2008
38
RBD – Création de la page « liste_des_films » - Ajout d’une variable EGL
© IBM France 2008
39
RBD – Création de la page « liste_des_films » - Ajout du contrôle de liste
© IBM France 2008
40
RBD – Création de la page « liste_des_films » - Résultat
© IBM France 2008
41
RBD – Page « liste_films » - Edition du code de page
© IBM France 2008
42
RBD – Exécution sur le serveur - Résultat
© IBM France 2008
43
RBD – Personnalisation de la page Web « liste_films » - Bordure
© IBM France 2008
44
RBD – Personnalisation de la page Web « liste_films » - Ajout pagination
© IBM France 2008
45
RBD – Personnalisation de la page Web « liste_films » - Catégorisation
© IBM France 2008
46
EGL – Site Web
© IBM France 2008
47
EGL – Formation
© IBM France 2008
48
Téléchargement