> Tech > Appeller les procédures cataloguées à  partir de Domino

Appeller les procédures cataloguées à  partir de Domino

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par James Hoopes - Mis en ligne le 24/06/02
Quand vos applications Domino interagissent avec la base de données iSeries, vous souhaitez des transactions sûres, fiables et rapides. Mais pour accéder aux données iSeries depuis Domino, on utilise en principe ODBC ...

... qui n'est pas toujours rapide ou fiable. Traiter des transactions qui demandent de multiples mises à  jour de fichiers, avec ODBC, n'est ni fiable ni facile. Supposons, par exemple, qu'on veuille mettre à  jour quatre fichiers pour effectuer une transaction, mais que seules les deux premières mises à  jour réussissent. Que faire alors ?

Pour régler ce problème, et d'autres aussi, songez à  utiliser les procédures cataloguées de vos applications Domino qui accèdent aux données iSeries. Une procédure cataloguée peut réduire le volume de communications entre votre application et l'iSeries, améliorant du même coup les performances. Vous pouvez aussi écrire des procédures cataloguées cataloguées qui traitent de multiples transactions dans une procédure. Et réduire du même coup le code de traitement d'erreurs dans les applications.

Pour éclairer le concept des procédures cataloguées, nous allons suivre un exemple simple d'application Domino utilisant une telle procédure. (Pour plus d'informations sur les procédures cataloguées, voir l'encadré « Autres lectures ») Commençons par quelques généralités sur les procédures cataloguées.

Appeller les procédures cataloguées à  partir de Domino

Vous avez peut-être déjà  exécuté des
instructions SQL à  partir d’applications
Domino en utilisant ODBC. Mais une
procédure cataloguée est une autre affaire.

On peut assimiler une procédure
cataloguée à  une application SQL compilée.
Au lieu de transmettre une
instruction SQL, on appelle une instruction précompilée. D’ailleurs, la
plupart des outils et des langages qui
utilisent SQL ou une technologie
connexe (JDBC, par exemple) peuvent
utiliser des procédures cataloguées.
De plus, une procédure cataloguée
n’est pas forcément SQL. D’ailleurs,
l’exemple utilisé dans cet article appelle
un programme CL. ODBC et
votre application Domino se soucient
peu de ce qui est appelé pourvu que
cela traite les paramètres correctement.
Si l’on transmet deux paramètres
à  la procédure, le programme
de procédure cataloguée doit attendre
deux paramètres des types de données
appropriés.

J’ai dit plus haut que les procédures
cataloguées améliorent les performances
des applications en réduisant
le volume de communications.
Supposons que pour consulter le
contenu d’une commande, il faille accéder
au fichier maître client et au fichier
des commandes ouvertes. Sans
procédures cataloguées, l’application
Domino doit exécuter deux instructions
SQL pour accéder à  ces données.
Chaque instruction SQL représente les
données transmises à , et traitées par,
l’iSeries puis retransmises à  l’application
Domino. Dans cet exemple,
l’usage d’une procédure cataloguée réduit
la communication de moitié.

La procédure cataloguée peut aussi
être un programme RPG ILE. Dans ce
cas, on transmet à  la procédure un numéro
de client et un numéro de commande
; elle accède aux deux fichiers
et renvoie des données comme le nom
du client, la date de la commande, et le
total de la commande. Cette tâche ne
demande qu’un appel à  l’iSeries au lieu
de deux, ce qui améliore à  nouveau la
performance.

L’autre intérêt des procédures cataloguées
est une meilleure fiabilité. Si
un client appelle et modifie une commande,
il faudra peut-être accéder au
fichier maître client, au fichier des entêtes
de commandes, et au fichier de
détail des commandes. Il faudra donc
exécuter trois ou plus SQL Updates, Deletes et/ou Inserts. Mais qu’en est-il
si l’on peut mettre à  jour le détail des
commandes mais pas leur en-tête ?
Comme on ne peut pas laisser ces fichiers
désynchronisés, il faut annuler
les modifications apportées au fichier
de détail des commandes et informer
l’utilisateur que la mise à  jour a
échoué. L’application Domino doit par
conséquent tester le code de renvoi de
chaque instruction SQL et, si l’une
échoue, supprimer les modifications
précédentes réussies.

Là  encore, si l’on utilise une procédure
cataloguée pour traiter les mises à 
jour, il suffit de transmettre un seul ensemble
de données et de tester un code de renvoi. La procédure cataloguée
peut annuler toute modification
effectuée si une mise à  jour échoue.
Par conséquent, le programme frontal
est plus facile à  écrire et plus fiable.
Entrons maintenant dans mon
exemple de procédure cataloguée.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental

Tech - Par iTPro.fr - Publié le 24 juin 2010