Réduction des coûts
Appeler un programme RPG depuis C# avec NTi, c'est quelques heures d'intégration. Le réécrire, c'est un projet à part entière, avec son coût et ses délais.
Avec le connecteur NTi Data Provider, appelez nativement vos programmes IBM i existants depuis vos applications .NET, sans réécrire ni dupliquer une ligne de logique métier.
Vos programmes RPG représentent une richesse façonnée avec le temps pour répondre aux besoins de votre activité. Ils portent une logique métier, des règles de gestion et une identité applicative propre à votre entreprise.
NTi vous permet de les appeler directement depuis C# et de les intégrer dans vos nouveaux projets .NET, pour redonner une feuille de route à long terme à vos applications métier.
Appeler un programme RPG depuis C# avec NTi, c'est quelques heures d'intégration. Le réécrire, c'est un projet à part entière, avec son coût et ses délais.
Vos traitements métier fonctionnent déjà en production. Les réutiliser depuis .NET ne nécessite aucune nouvelle validation.
Votre logique métier reste là où elle a été conçue : vous l'ouvrez aux usages modernes avec simplicité, sans en perdre la maîtrise.
Du C# standard. Connexion, paramètres, appel, résultat.
conn.CallProgram(...)
Appelez un programme IBM i existant depuis C#, en transmettant ses paramètres.
new NTiProgramParameter(...)
Déclarez chaque paramètre attendu par le programme : entrée, sortie ou entrée/sortie.
conn.ExecuteClCommand(...)
Exécutez une commande CL directement depuis votre code C#.
Une table CLIENTS et un programme RPG CLIENTS2 (bibliothèque MYLIB) gèrent la validation, l'insertion et la mise à jour des données.
L'interface web, développée en Blazor (framework .NET), appelle le programme directement, sans réécrire la logique existante sur IBM i.
using var conn = new NTiConnection(connectionString); conn.Open(); // Ajout de la bibliothèque conn.ExecuteClCommand("ADDLIBLE LIB(MYLIB)"); // Déclaration des paramètres var parms = new List<NTiProgramParameter> { new NTiProgramParameter("01", 2).AsInput(), // code action new NTiProgramParameter("", 2).AsOutput(), // code retour new NTiProgramParameter("", 2).AsOutput(), // code erreur new NTiProgramParameter("", 10) // Structure de données client .Append(request.CompanyName ?? "", 20) .Append(request.PostalCode ?? "", 5) .Append(request.Email ?? "", 20), new NTiProgramParameter("", 10).AsOutput() // indicateurs de validation par champ }; // Appel du programme conn.CallProgram("MYLIB", "CLIENTS2", parms);
Selon la signature du programme, les paramètres de sortie peuvent transporter des codes retour ou messages métier, exploitables directement pour la gestion des erreurs côté .NET.
Voir l'exemple complet.
Côté IBM i
Saisie des données client sur l'écran 5250, avant validation par le programme RPG.
Côté application .NET
Le nouvel enregistrement client, avec son numéro généré par IBM i, est retourné dans l'application .NET.
Appelez n'importe quel programme compilé depuis C#, dès lors que son interface de paramètres est connue.
Automatisez vos opérations IBM i depuis .NET : création de bibliothèques, gestion d'objets, déclenchement de traitements batch.
Appelez des procédures exposées dans un programme de service, via l'extension Toolbox.
CallServiceProgramProcedure
Accédez aux ressources système IBM i depuis .NET en implémentant des appels aux APIs QSYS documentées par IBM.
Déployez votre application .NET où vous voulez. NTi fait le lien avec l'IBM i.
Un package NuGet à référencer dans votre projet .NET, aucun driver client.
NTi utilise les services TCP/IP standard déjà actifs sur votre système.
Windows, Linux, ARM64, Docker, cloud. Partout où .NET s'exécute.
NTi permet également d'accéder aux données DB2 for i au standard ADO.NET ou avec l'extension EF Core.
"En choisissant des solutions cloud-natives et multiplateformes, c'est l'application qui s'adapte à l'infrastructure. Pas l'inverse."
Exposez vos traitements IBM i en API, consommables depuis un portail web, une application mobile, sans réécrire la logique métier.
Construisez des interfaces .NET soignées et intuitives autour de vos programmes IBM i existants, sans dupliquer la logique métier.
Déclenchez et pilotez vos opérations IBM i directement depuis vos applications .NET, sans passer par un écran 5250 ou un outil tiers.
NTi Data Provider permet d'appeler n'importe quel programme RPG, RPGLE ou CLP depuis C# via la méthode CallProgram, en déclarant les paramètres d'entrée, de sortie et d'entrée/sortie attendus par le programme.
Les valeurs retournées (résultats, codes retour ou messages métier) sont ensuite immédiatement exploitables dans l'application .NET.
Avec NTi Data Provider, la méthode ExecuteClCommand permet d'exécuter n'importe quelle commande CL directement depuis une application C#.
Les commandes sont transmises au serveur IBM i dédié aux commandes distantes AS-RMTCMD, puis exécutées nativement par le système, sans SQL, sans écran 5250 et sans composant intermédiaire.
Oui. NTi permet de réutiliser directement les programmes RPG, RPGLE, CLP et les programmes de service (SRVPGM) existants depuis une application .NET. Les traitements continuent d'être exécutés sur l'IBM i : aucune réécriture ni modification des programmes n'est nécessaire.
Non. Aucun composant logiciel n'est à installer sur l'IBM i. Une fois la licence NTi installée, le connecteur s'appuie uniquement sur les services TCP/IP standards du système, notamment *DATABASE, *RMTCMD et *SIGNON.
Côté application, il suffit d'ajouter le package NuGet NTi à votre projet .NET.
Oui. NTi est un composant 100% .NET, sans driver natif à installer. L'application qui appelle vos programmes IBM i peut s'exécuter sur Windows, Linux, ARM64, ppc64le ou dans un conteneur, quelle que soit la plateforme, sans modifier le code applicatif.