> Tech > Autres considérations

Autres considérations

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

L'exemple simple présenté ici implique deux files d'attente de données sans clé. Généralement, les applications réelles ne sont pas si simples. Avec ce genre de programme, il faut prendre d'autres choses en considération.
Par exemple, dans l'application carte de crédit, le terminal POS cessera d'être à  l'écoute d'une réponse après

Autres considérations

60 secondes. Par conséquent, il faut appliquer
une logique spéciale aux deux
extrémités pour traiter les transactions
en retard ou manquantes.
Les files d’attente de données avec
clé sont utiles pour envoyer et recevoir
des transactions dans un certain ordre
ou pour ne choisir que les entrées de
file d’attente présentant une certaine
valeur de clé. Dans notre exemple, de
multiples stations POS pourraient partager
la même file d’attente de données
pour recevoir des réponses de la
banque et chaque programme POS ne
lirait que les entrées de la file d’attente
de données pour l’ID de sa station de
travail. Pour plus d’informations sur les
files d’attente de données avec clés,
voir le OS/400 CL Programming Guide
(SC41-5721).
Certaines applications peuvent
laisser les entrées s’accumuler en file
d’attente pendant de longues périodes
avant de les traiter – une fois toutes les
heures, par exemple. Dans ce cas, les
files d’attente de données doivent être
créées avec le paramètre force auxiliary
storage de la commande CRTDTAQ
mis à  yes (Force(*Yes)). Ce paramètre
empêchera la perte d’entrées en les
envoyant immédiatement sur disque.
Grâce à  IBMDA400, les files d’attente
de données sont relativement faciles
à  utiliser. Toutefois, certaines
choses m’ont ralenti pendant ma première
tentative de coding. De petites
erreurs sur l’instruction Open (comme
un nom de file d’attente incorrect, une
parenthèse manquante dans la liste de
champs) provoquera un message d’erreur
qui ne donne pas d’indication sur
le vrai problème. Si vous recevez un
message inutilisable sur un Open, examinez
soigneusement tous les aspects
de votre commande Open. C’est probablement
une petite erreur de frappe.
Lors de l’attribution des valeurs de
colonnes pour envoyer, n’attribuez pas
une valeur à  une colonne ADO supérieure
à  la taille définie du champ
(c’est-à -dire, n’attribuez pas une chaîne de 10 caractères à  un champ
prévu pour en contenir cinq), sous
peine d’obtenir un message d’erreur
OLE DB crypté.
Soyez prudent dans l’utilisation
des structures de données avec des
overlays de sous-champs – particulièrement
ceux où des champs alpha et
des champs numériques se chevauchent.
Dans de tels cas, vous devrez
peut-être coder une instruction Open
séparée pour chaque format de structure
de données unique.
Lors de l’écriture d’une entrée
dans la file d’attente de données, donnez
une valeur à  tous les champs. (Les
valeurs null seront converties en valeurs
par défaut).
Le plus souvent, il y a plus d’un
moyen de coder une tâche dans ADO. Toutefois, le provider IBMDA400 est
pointilleux en matière de files d’attente
de données. Ne soyez pas étonné si
une syntaxe familière ne fonctionne
pas. Dans ce cas, tenez-vous en aux
exemples de code fournis ici ou à  ceux
des manuels IBM.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010