> Tech > Le prochain niveau des UDT

Le prochain niveau des UDT

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

Guthrie : Existe-t-il une méthode astucieuse pour définir des structures de données complexes avec des UDT ?

Anderson : En principe, on peut mettre n'importe quoi à  l'intérieur d'un UDT. Mais, votre question concerne plutôt le prochain niveau des  UDT,

Le prochain niveau des UDT

c’est-à -dire là  où nous comprenons réellement toutes les structures et la
hiérarchie à  l’intérieur de cette structure. On peut à  l’heure actuelle
stocker ce type de structure de données, mais il n’y aura aucune fonction
dans la base de données permettant d’en faire bon usage.



Guthrie : Il faudrait donc définir
des structures de données dans vos programmes évolués pour travailler avec
elles. IBM a-t-elle l’intention de passer à  ce niveau suivant ?



Anderson : Certainement.
Cela fait partie du dernier standard publié et c’est un niveau de support de
facto qui a juste été livré dans DB2 Universal Database for AIX et NT. Par
conséquent, c’est prévu dans nos futurs plans concernant l’AS/400. A
l’heure qu’il est, je ne connais pas avec certitude la date d’apparition
de ce support. Cela dépendra de l’accueil que réserveront les communautés
utilisateurs et éditeurs tiers au support existant en matière d’UDT, d’UDF
et de LOB, mais, à  ce jour, les réactions ont été très favorables. Dans les
prochaines releases, nous ajouterons du support dans ce sens.



Hoffman : Utiliseriez-vous
des UDF pour des tâches dépourvues de support intégré sur l’AS/400, ou
pour des tâches à  exécuter sur diverses plates-formes ? L’article de Kent
("UDB devient universel sur l’AS/400", NEWSMAGAZINE, 
mai 1999) décrit l’utilisation des UDT pour des calculs de devises.
Toutefois, les UDF ne sont pas définies automatiquement pour un nouvel UDT et
il est parfois complexe de créer toutes les UDF nécessaires pour couvrir des tâches
comme l’addition et la soustraction. Nous accomplissons beaucoup de travail
supplémentaire pour créer des UDF au lieu d’effectuer des calculs normaux
pour ajouter et soustraire des montants monétaires, parce que ces fonctions ne
sont pas définies si nous créons un nouveau type de données.



Milligan : L’un des types
d’UDF est une UDF "sourcée", où, essentiellement, on réutilise le
support système pour ajouter deux décimales, ceci afin de pouvoir additionner
deux sommes. Ainsi, on ne réinvente pas la roue à  chaque fois.



Hoffman : Mais comment
garder la trace de toutes les différentes fonctions créées sur le système ?



Anderson : Toutes les
fonctions créées sont stockées dans un catalogue et affichées dans la hiérarchie
d’Operations Navigator. On pourrait créer une bibliothèque ou un ensemble de
bibliothèques pour différents ensembles de fonctions, puis utiliser Operations
Navigator pour gérer ces fonctions facilement. On pourrait aussi créer ou
abandonner aisément ces fonctions au moyen de l’interface utilisateur
graphique (GUI).



Hoffman : Puis-je sourcer
une UDF à  partir d’une UDF existante ?



Anderson : Oui, on le peut,
en référençant le programme externe ou une autre UDF.



Hoffman : On peut donc avoir
une hiérarchie similaire à  une structure Java, où l’on hérite de fonctions
mathématiques simples à  partir des fonctions système de base, et de choses
plus complexes à  partir de ses propres UDF ?



Anderson :
Absolument.



Milligan : Voilà  qui nous
amène à  la nature objet relationnelle des UDF. On peut avoir ce type d’héritage
de base, ou s’engager dans la surcharge des fonctions du polymorphisme, en
ayant des fonctions portant les mêmes noms et en faisant varier le type des
données transmises. Ainsi, avec la fonction de conversion de devise (voir
l’article "UDB devient universel sur l’AS/400", déjà  cité), on
pourrait créer trois fonctions, appelées Currency Converter, dans la même
bibliothèque, et demander à  chacune d’elles de renvoyer des dollars US comme
type de données en sortie, ce qui peut varier. Les entrées de chacune de ces
fonctions auraient un type de données d’entrée. Supposons que l’on déclare
des marks allemands, des livres anglaises et des dollars canadiens, comme type
de données d’entrée. On donne le même nom à  la fonction et le système détermine
le type de données que l’on introduit, et appelle la version appropriée du
convertisseur de devises.



Téléchargez gratuitement cette ressource

Cloud hybride : 4 Stratégies de réussite

Cloud hybride : 4 Stratégies de réussite

Que vous souhaitiez développer ou renforcer votre approche du Cloud hybride, évaluer les meilleures options ou encore enrichir votre processus de prise de décision, découvrez dans ce Guide, 4 stratégies de Cloud hybride alignées avec vos objectifs business & technologiques.

Tech - Par iTPro - Publié le 24 juin 2010