Partager via


Écriture d’une application interopérable

Chaque fois qu’une application utilise le même code sur plusieurs pilotes, ce code doit être interopérable entre ces pilotes. Dans la plupart des cas, il s’agit d’une tâche facile. Par exemple, le code permettant d’extraire des lignes avec un curseur vers l’avant uniquement est le même pour tous les pilotes. Dans certains cas, cela peut être plus difficile. Par exemple, le code permettant de construire des identificateurs à utiliser dans les instructions SQL doit prendre en compte le cas d’identificateur, le guillemet et une partie, les conventions d’affectation de noms en deux parties et en trois parties.

En général, le code interopérable doit faire face aux problèmes de prise en charge des fonctionnalités et de variabilité des fonctionnalités. La prise en charge des fonctionnalités fait référence à la prise en charge ou non d’une fonctionnalité particulière. Par exemple, tous les SGBD ne prennent pas en charge les transactions, et le code interopérable doit fonctionner correctement, quelle que soit la prise en charge des transactions. La variabilité des caractéristiques fait référence à la variation de la façon dont une fonctionnalité particulière est prise en charge. Par exemple, les noms de catalogue sont placés au début des identificateurs dans certains SGBD et à la fin des identificateurs dans d’autres.

Les applications peuvent gérer la prise en charge des fonctionnalités et la variabilité des fonctionnalités au moment du design ou au moment de l’exécution. Pour gérer la prise en charge des fonctionnalités et la variabilité au moment de la conception, un développeur examine les SGBD et les pilotes cibles et vérifie que le même code sera interopérable entre eux. Il s’agit généralement de la façon dont les applications avec une interopérabilité faible ou limitée traitent ces problèmes.

Par exemple, si le développeur garantit qu’une application verticale fonctionne uniquement avec quatre SGBD particuliers et si chacune de ces SGBD prend en charge les transactions, l’application n’a pas besoin de code pour case activée pour la prise en charge des transactions au moment de l’exécution. Il peut toujours supposer que les transactions sont disponibles en raison de la décision au moment de la conception d’utiliser seulement quatre SGBD, chacun prenant en charge les transactions.

Pour gérer la prise en charge et la variabilité des fonctionnalités au moment de l’exécution, l’application doit tester différentes fonctionnalités au moment de l’exécution et agir en conséquence. Il s’agit généralement de la façon dont les applications hautement interopérables traitent de ces problèmes. Pour les problèmes de prise en charge des fonctionnalités, cela signifie l’écriture de code qui rend la fonctionnalité facultative ou l’écriture de code qui émule la fonctionnalité lorsqu’elle n’est pas disponible. Pour les problèmes de variabilité des fonctionnalités, cela signifie écrire du code qui prend en charge toutes les variantes possibles.

Cette section contient les rubriques suivantes :