Connexion entre .NET et IBM i avec NTi
Considérations générales
Pool de connexion
À partir de la version 3.2.3, NTi intègre un pool de connexion entièrement géré par .NET, optimisant l'accès aux programmes et aux données IBM i.
Plutôt que d’ouvrir et fermer une connexion à chaque requête, le pooling permet de réutiliser des connexions existantes, réduisant ainsi la latence et la consommation de ressources. Il évite la surcharge liée à la création répétée de jobs QZDASOINIT et assure un suivi précis des connexions pour prévenir l’accumulation de connexions "fantômes".
Lorsque le pooling est activé :
- Les connexions restent ouvertes et sont réutilisées par l’application au lieu d’être fermées et rouvertes à chaque requête.
- Les performances sont améliorées : la surcharge liée à la résolution d’IP, l’ouverture d’une connexion TCP et l’authentification est ainsi réduite.
- Les connexions sont correctement fermées lorsqu’elles ne sont plus nécessaires, assurant une gestion propre et efficace des ressources IBM i.
💡 Le pooling est activé par défaut à partir de NTi 3.2.3 et configurable via la chaîne de connexion.
Une instance = une connexion TCP = un travail IBM i
Chaque instance de NTiConnection
porte une instance de socket TCP pour se connecter à l'IBM i. Ainsi il y a un lien fort entre l'instance, la connexion et le job IBM i.
Lorsqu'une instance de NTiConnection
est détruite explicitement via le Garbage Collector de .NET, la connexion TCP sous-jacente est instantanément fermée et détruite à son tour, entraînant l'arrêt du job IBM i. Ce mécanisme garantit la maîtrise totale des connexions par l'utilisateur.
Chaîne de connexion
Comme la plupart des fournisseurs d'accès à une base de données, NTi utilise une chaîne de connexion pour obtenir les informations de connexion à un IBM i (nom d'utilisateur, mot de pasee, etc...). Cette chaîne de connexion peut contenir des informations sensibles. Il existe de nombreuses méthodes pour sécuriser la gestion de la chaîne de connexion et des fichiers de configuration. Les mots-clés possibles de la chaîne de connexion NTi sont précisés dans le détail des propriétés de NTConnection
ci-dessous.
Référez-vous aux documentations et recommandations officielles de .NET pour leur mise en œuvre.
Implémentation ADO.NET
Cette classe implémente les méthodes et propriétés usuelles du modèle ADO.NET pour réaliser les opérations d'accès à la base de données, dont notamment:
Open()
Close()
CreateCommand()
BeginTransaction()
Commit()
Rollback()
- ...
Ainsi, NTi s'intègre dans n'importe quelle application existante développée avec d'autres fournisseurs tels que les pilotes ODBC ou OleDB.
💡 Retrouvez la documentation de cette implémentation par défaut sur toute documentation ADO.NET, par exemple via la documentation de l'espace de noms
System.Data.Common
.