Ok J'avais l'habitude de travailler avec et de me connecter aux systèmes AS/400 et mainframe de .NET il y a plusieurs années. Je ne pourrais peut-être pas répondre directement à vos questions, mais je peux vous faire savoir ce qui a fonctionné pour moi et ce que j'ai fait dans le passé.
Un terme commun pour ce type de travail est Enterprise Application Integration (EAI), donc vous pouvez commencer par lire à ce sujet. Autant que je sache, il est possible d'avoir plus que des bases de données DB2 sur AS/400. Il y avait 2 façons dont nous avons travaillé avec écran vert (ou héritage) applications:
- Accéder à la source de données/magasins directement
- Créer une session, envoyer des séquences de touches telles que F10, F4, etc. que l'application héritée utilise pour naviguer à travers différents écrans, et saisir des données à partir de points fixes sur l'écran hérité (ceci est parfois appelé le grattage d'écran).
Pour répondre en partie à votre première question, pour accéder aux sources de données directement nous avons créé DSNs (nom de la source de données) en utilisant les pilotes ODBC qui étaient disponibles à partir de 2 sociétés à l'époque, Rumba (faite par Wall Data), et Attachmate (fait par je pense IBM). Pour créer un DSN ODBC, vous avez généralement accédé à Admin Tools/Data Sources et ajouté un DSN système. Vous auriez besoin du nom d'hôte (ancien système), du nom d'utilisateur avec lequel vous vous connectez et du mot de passe. Nous avons ensuite utilisé ces DSN dans des applications .NET pour créer une connexion aux applications existantes. Si vous avez un DSN, vous pouvez ensuite utiliser quelque chose comme SQL Server DTS/SSIS pour récupérer des données de la source et les enregistrer dans un emplacement donné, qu'il s'agisse de la base de données, des fichiers CSV, des fichiers Excel, etc. un outil de création de rapports (Crystal/SQL Server Reporting Services) accède directement à la source de données à l'aide du DSN afin que vous puissiez générer des rapports directement à partir de la source de données. En outre, vous pourriez probablement créer des connexions sans DSN, il y a des années, nous avions besoin de DSN.
Pour répondre partiellement à votre 2ème question, il est possible d'appeler et d'utiliser la logique sur les applications à écran vert si vous le souhaitez. Un écran vert est généralement divisé en un nombre défini de lignes et de colonnes, et nous avons utilisé un standard appelé HLLAPI qui envoyait les frappes d'un système Windows à des positions sur un écran hérité. Nous avons utilisé Rumba pour ce qui était disponible en tant que contrôle OCX et je suis sûr que Attachmate est aussi.Par exemple, vous pouvez créer un formulaire Winforms avec des zones de texte ID utilisateur et mot de passe, puis créer une session dans l'application héritée, et le premier écran sera généralement un écran d'ouverture de session. Puis, en utilisant les positions des champs de nom d'utilisateur et de mot de passe sur l'écran vert, envoyez l'ID utilisateur et le mot de passe à ces positions, puis envoyez une frappe de touche Enter ou tout ce qui était nécessaire pour se connecter. Vous pouvez ensuite naviguer vers un autre écran, par exemple. un écran de recherche, envoyer les données et les touches pour effectuer une recherche, puis saisir les données résultantes à partir de l'écran vert. Une autre approche consiste à créer des formulaires Win/Web qui répliquent l'application à écran vert et récupèrent directement les données des magasins de données. L'avantage de ceci est que vous n'avez pas besoin de connaître les frappes/navigation de l'application héritée qui pourrait devenir lourde pour un grand système d'écran vert. Il n'y a pas de bien ou de mal cela dépend des circonstances. Notre société a fait un mélange des deux. Pour votre troisième question, cela dépend du type de rapports que vous voulez. Si elles doivent être en temps réel, vous pouvez vous connecter directement au magasin de données. Si elles n'ont pas besoin d'être en temps réel, vous pouvez effectuer des transferts nocturnes des données à partir du système hérité et stocker les données dans SQL Server par exemple, puis exécuter vos rapports sur les données SQL Server.
Une réponse à votre 4ème question est que vous aurez certainement besoin de mettre la main sur quelqu'un qui connaît l'application de l'écran vert. Vous passerez des heures et des heures à parcourir les écrans de l'application existante, de sorte que l'accès aux utilisateurs qui connaissent le système est crucial. Vous aurez également besoin d'identifiant et de mots de passe, etc.
Enfin, il existe des sociétés tierces spécialisées dans le transfert de données de la source à la destination, l'une de mes têtes étant Data Mirror. Une autre approche consisterait à utiliser un produit d'intégration de niveau intermédiaire tel que BizTalk ou Tibco, qui prennent des données provenant d'une ou de plusieurs sources et les collent dans une ou plusieurs destinations, mais cela peut être excessif selon vos besoins.
espoir qui aide et bonne chance :)
Ne modifiez pas la valeur système QCCSID de 65535 sans effectuer de test significatif en premier. Bien que ce soit une très bonne idée de ne pas exécuter le système sous 65535 si le réseau est important, certains systèmes ont leurs applications configurées pour en dépendre. – user2338816