|
|
|
| |
 |
 |
EDITORIAL
par Philippe MAGNE |
 |
|
| |
Pourquoi
adopter le langage SQL comme
standard de
manipulation des bases de données ?
Cette question fera certainement
sourire les développeurs
issus des systèmes Unix
ou Windows. Oui mais voilà,
nous faisons partie de la communauté iSeries,
adossée à un patrimoine
existant gigantesque qu’elle
a su mettre en valeur au fil
des années. Les accès
base de données « classiques » y
perdurent encore, même
dans certains nouveaux développements.
C’est la raison pour laquelle
il est légitime de se
poser cette question à laquelle
nous allons tenter de répondre.
SQL
est un standard unique
Au
même titre que TCP/IP
s’est
imposé comme l’unique
standard dans le monde des réseaux,
SQL n’a et n’aura pas
de rival. C’est un standard
mondial, reconnu par tous les acteurs
du métier, sans exception.
Avec les nouveaux outils en périphérie
des applications, dans le domaine
du Business Intelligence ou de
l’EAI (Enterprise Application
Integration), il a étendu
encore son rayonnement dans le
SI.
|
|
SQL
est un langage de convergence
A l’heure où des développeurs de cultures très différentes
se côtoient, il est nécessaire d’avoir des langages communs
pour mieux se comprendre. S’il est incongru de penser qu’un jour
les développeurs ne manipuleront qu’un seul et unique langage de
programmation, on peut, grâce à SQL, au moins leur faire partager
sans souci le même langage d’accès base de données.
Au même titre qu’IBM a réussi à faire converger ses
environnements de développement RPG/Cobol et JAVA, grâce au socle
Eclipse, SQL est une autre brique technique « qu’anciens » et « modernes » peuvent
mettre en commun. SQL
est plus performant que les accès classiques. C’est un fait aujourd’hui
et c’est tout à fait
logique. Depuis le temps qu’IBM
s’évertue à faire
rentrer toutes les technologies
les plus récentes et les
plus performantes autour de ce
standard au cœur même
de la plateforme iSeries, il
est cohérent d’en
arriver à ce résultat.
SQL est un langage parfaitement
adapté pour traiter de
très gros volumes de données,
c’est là que pêchent
les accès « classiques ».
SQL est un langage facilement
maintenable
Il produit un code très
concis et facilement adaptable.
Les accès, même
les plus complexes peuvent s’écrire
en quelques lignes. La compréhension
du code est aisée. A l’heure
où les systèmes
d’informations doivent évoluer
de plus en plus vite, on a réellement
besoin d’une telle flexibilité dans
le code.
Alors
pourquoi ne pas adopter le
standard
SQL dès aujourd’hui
pour tous vos nouveaux développements ?
Parce qu’il nécessite
des changements d’habitudes chez
certains développeurs
? Certes, mais les jeunes développeurs,
eux, le connaissent déjà en
sortant de l’école.
Parce qu’il génère
de nouvelles contraintes en développement ?
C’est ici que les solutions
Arcad vont pouvoir vous aider
en absorbant au maximum ces contraintes
et en rendant le travail du développeur
aussi simple qu’avant.
Notre prochaine
newsletter traitera des architectures
orientées
services (SOA). Nous
verrons alors comment les deux
briques
technologiques que nous venons
d’aborder dans nos dernières
newsletters, s’insèrent
parfaitement dans la stratégie
de migration vers SOA.
En attendant, tout comme le trimestre
dernier, je vous laisse savourer
tous les détails techniques
servis par notre chef produit
iSeries, Gilbert Fillatre, sur
ce thème d’actualité.
Bien à vous
Philippe MAGNE,
CEO
|
|
|
|
|
| |
 |
 |
Les
bases de données sur iSeries
DB2/UDB et le langage SQL par Gilbert
FILLATRE |
 |
|
|
Avec
la généralisation du développement
multi-plateformes, de plus en plus
d’applications utilisent des bases
de données DB2/UDB sur l’iSeries
(pour l’intégralité ou une partie
de chaque application).
L’iSeries
implémente la notion de base de
données de façon relativement originale :
il n’y a qu’une seule réelle base de données pour l’OS/400 ; la notion de
collection correspond uniquement à une vue sélective (par schéma = bibliothèque)
de celle-ci.
Ainsi, l’OS a pu concilier la notion de fichier DDS physique (PF), logique
(LF) et les rendre également disponibles dans la base de données, en même
temps que toutes les tables, vues, etc.
Le
méta-langage SQL de description de base de données pour
DB2/UDB peut être :
-
saisi intégralement sous STRSQL,
- enregistré dans
des membres sources et exécuté par RUNSQLSTM,
-
constitué avec l’aide de iSeries Navigator,
- récupéré/exécuté depuis
des outils de modélisation de base de données,
- …
Il permer
de définir les « fichiers » par des types de données, tables, index,
vues.
Afin
de placer le maximum de règles de gestion au niveau de la base de données, on
y définit également :
-
des contraintes de clé, de vérification et les contraintes référentielles
entre tables,
-
des déclencheurs sur les actions d’ajout, modification, suppression
(et même
lecture) pour les enregistrements de tables (ou au niveau zone),
-
des procédures stockées et des fonctions utilisateurs (traitements
appelables depuis SQL),
- …
Une particularité de l’iSeries est de permettre que des déclencheurs « systèmes » délèguent
leur traitement à des programmes non SQL (RPG, COBOL, etc.).
De même, les procédures stockées et les fonctions peuvent aussi servir
de protocole d’appel à des programmes natifs (ou des procédures ILE).
L’accès
aux données en SQL encapsulé à l’intérieur
de programmes natifs (RPG, COBOL, …)
est devenu une alternative à l’utilisation
des ordres spécifiques à chacun
de ces langages pour les accès aux fichiers (fichiers classiques PF-LF
ou Tables, vues).
Ceci permet notamment d’utiliser une méthode unique d’accès aux fichiers,
partagée
par tous les développeurs (qu’ils soient issus de l’AS/400 ou des nouvelles
technologies).
SQL est un langage standard. Mais toutefois, il
comporte des spécificités pour
chaque type de bases de données, qu’il faut éviter d’utiliser
si l’on souhaite
une portabilité complète vers d’autres plateformes. |
|
|
|
| |
 |
 |
Applications
avec du SQL et Maintenance de base
de données DB2/UDB par Gilbert
FILLATRE |
 |
|
|
Pour
les applications comportant du
SQL embarqué et/ou des
bases de données
en DB2/UDB, ARCAD-Skipper permet
de :
Fournir
des références croisées
-
pour
les utilisations de fichiers (et
leurs zones) par SQL depuis le
SQLRPG(LE), SQLCBL(LE), mais aussi
depuis des
sources IFS (Java,
VB, Delphi, …) lorsque ceux-ci accèdent aux bases de données sur l’iSeries
via JDBC, ODBC, …
-
depuis
les déclencheurs de type « système » vers
les programmes L3G appelés,
-
depuis les procédures stockées ou fonctions « système » vers les programmes
L3G appelés,
-
entre les tables possédant des contraintes référentielles,
-
entre
les sources SQL des tables, procédures
stockées, fonctions vers les fichiers
utilisés
ou les procédures stockées/fonctions appelées (**).
Apporter
la méthodologie pour la maintenance
d’une base de données en version
Sans
outil, il est bien plus facile
de livrer la première fois une base
de données
complète que, plus tard, de livrer des ajouts/modifications/suppressions
de tables, vues, procédures, … sur une base de données existante.
Pour
cela, ARCAD a choisi de gérer des composants (source + objet) de type :
-
TABLE (avec ses zones, ses clés, ses contraintes et ses déclencheurs),
-
INDEX,
-
VIEW,
-
SQLUDT (types de données),
-
SQLPRC (procédures stockées) (*),
-
SQLUDF (fonctions utilisateurs) (*),
-
SQLSEQ (séquences = compteurs) (**),
Chaque source permet de créer/recréer l’objet, par une compilation.
Tous ces sources peuvent être récupérés depuis les objets d’une base
de données
existant déjà.
Dans une version, on peut choisir de modifier juste
quelques composants DB2, ou bien d’effectuer des modifications importantes
sur une base de données.
Ces modifications peuvent être effectuées sur les sources ou
directement sur les objets. (sous contrôle d’ARCAD ou non).
Dans
les deux cas, ARCAD détecte ensuite le delta des ajouts/modifications/suppressions
et les incorpore à la version (en comparant les objets de référence à ceux éventuellement
modifiés).
Le contrôle global de la version s’assure de la cohérence source/objet.
Pour transporter ces composants modifiés lors de mise en test, production
ou distribution sur des sites/clients, on peut choisir :
-
de transporter
les sources puis de recompiler,
- ou
de transporter directement tous les
objets nécessaires.
A l’installation :
-
les données existantes sont préservées,
-
les contraintes vers une table livrée sont aussi préservées.
Pour
les compilations, une étude des sources détermine automatiquement
le bon ordre de compilation, en cas de dépendance entre tables,
entre vues.
Le système de Rollback ARCAD prend en compte tous ces
types d’objets.
Des déclencheurs de substitutions gérés par ARCAD permettent de
faciliter la maintenance et les surtout les tests (dans une version)
de programmes
L3G, quand
ils sont appelés depuis des déclencheurs systèmes posés sur des
tables, sans nécessiter de modifier la table.
(*) avec un objet « virtuel » si procédure stockée ou fonction « système »
(**) disponible dans la prochaine version d’ARCAD (V 8.05.A).
|
|
|
|
| |
 |
 |
ACTUALITE
ARCAD : un point sur l'évènementiel. |
 |
|
|
Evènement
|
Date & Lieu
|
Pour
en savoir plus
|
|
|
26–30
Mars 2006
Minneapolis Convention Center
STAND
ARCAD N°311
|
Cette
année le principal thème de la
prochaine session du COMMON sera
consacré à l'Architecture
Orientée
Services (SOA). Cette nouvelle orientation
services offre tous les concepts
pour évoluer
vers un système d’informations
flexible et réactif aux changements
de l’organisation et du métier.
C'est une belle opportunité pour
ARCAD de proposer une offre stratégique
permettant de fournir un environnement
idéal pour SOA.
Les
deux blocs fondamentaux de l'approche
SOA qui sont la modularisation
du développement avec ILE et le
standard SQL comme accès
aux bases de données, ont
naturellement conduit à la création
du nouveau référentiel
procédure et de
la couverture
multi-plateformes des X-Ref d'ARCAD.
|
|
|
6
Avril 2006
Hôtel Saint-James & Albany
|
Ce
séminaire traitera
de la mise en conformité
aux obligations légales actuelles (
SOX, Bâle II, LSF ). Nous évoquerons
l'intérêt
de nos outils dans la recherche
permanente de la
qualité des
applications mises à disposition
des utilisateurs. Une invitation
vous sera envoyée prochainement avec
un programme précis de cette matinée
qui se concentrera sur un point essentiel
: l'évaluation des risques.
|
|
|
| |
|
| |
|
|
|