Хорошо. Я работал с AS / 400 и системами мэйнфреймов из .NET и подключался к ним несколько лет назад.Возможно, я не смогу ответить на ваши вопросы напрямую, но могу сообщить вам, что сработало для меня, и некоторые вещи, которые я делал в прошлом.
Общий термин для этого типа работы - EnterpriseИнтеграция приложений (EAI), чтобы вы могли начать с чтения этого.Насколько я знаю, в AS / 400 можно иметь больше, чем просто базы данных DB2.Было два способа работы с «зелеными» (или устаревшими) приложениями:
- Прямой доступ к источнику данных / хранилищам
- Создание сеанса, отправка нажатий клавиш, таких как F10, F4и т. д., которые унаследованное приложение использует для навигации по разным экранам и получения данных из фиксированных точек на унаследованном экране (это иногда называется очисткой экрана).
Чтобы частично ответить на ваш первый вопрос, чтобы получить прямой доступ к источникам данных, мы создали DSN (имя источника данных) с использованием драйверов ODBC, которые были доступны у 2 компаний в то время, Rumba (от Wall Data)и Attachmate (сделанный, я думаю, IBM).Для создания ODBC DSN вы обычно заходите в Инструменты администратора / Источники данных и добавляете системный DSN.Вам потребуется имя хоста (устаревшая система), имя пользователя для входа в систему и пароль.Затем мы использовали эти уведомления о доставке в приложениях .NET, чтобы создать соединение с устаревшими приложениями.Если у вас есть DSN, вы можете использовать что-то вроде SQL Server DTS / SSIS, чтобы получить данные из источника и сохранить их в каком-то месте, будь то база данных, файлы CSV, файлы Excel и т. Д. Также более вероятно, что возможно иметьинструмент создания отчетов (Crystal / SQL Server Reporting Services) обращается к источнику данных напрямую, используя DSN, чтобы вы могли получать отчеты напрямую из источника данных.Также вы могли бы, вероятно, создать соединения без DSN, много лет назад нам были нужны DSN.
Чтобы частично ответить на 2-й вопрос, можно позвонить и использовать логику в приложениях с зеленым экраном, если хотите.Зеленый экран обычно делится на определенное количество строк и столбцов, и мы использовали стандарт HLLAPI, который отправлял нажатия клавиш из системы Windows в позиции на устаревшем экране.Для этого мы использовали Rumba, который был доступен как элемент управления OCX, и я уверен, что Attachmate также доступен.Например, вы можете создать форму Winforms с текстовыми полями Идентификатор пользователя и пароль, затем создать сеанс для устаревшего приложения, и обычно первым экраном будет экран входа в систему.Затем, используя позиции полей имени пользователя и пароля на зеленом экране, отправьте идентификатор пользователя и пароль на эти позиции, а затем отправьте клавишу Enter или все, что было необходимо для входа в систему.Затем вы можете перейти к другому экрану, например к экрану поиска, отправить данные и нажатия клавиш для выполнения поиска, а затем получить полученные данные с зеленого экрана.Другой подход заключается в создании форм Win / Web, которые копируют приложение с зеленым экраном и напрямую получают данные из хранилищ данных.Преимущество этого состоит в том, что вам не нужно знать нажатия клавиш / навигацию в унаследованном приложении, которое может быть громоздким для большой системы с зеленым экраном.Там нет правильного или неправильного, это зависит от обстоятельств.Наша компания сделала смесь обоих.
Ваш третий вопрос зависит от типа отчетов, которые вы хотите.Если они должны быть в режиме реального времени, то вы можете подключиться непосредственно к хранилищу данных.Если они не должны быть в режиме реального времени, вы можете выполнять ночные передачи данных из устаревшей системы и сохранять их, например, в SQL Server, а затем запускать отчеты по данным SQL Server.
Один из ответов на ваш 4-й вопрос заключается в том, что вам определенно нужно будет достать кого-то, кто знает приложение с зеленым экраном.Вы будете тратить часы и часы, просматривая экраны в старом приложении, поэтому доступ к пользователям, которые знают, что система имеет решающее значение.Также вам понадобятся логин, пароль и т. Д.
Наконец, есть некоторые сторонние компании, которые специализируются на передаче данных из источника в место назначения, одна из них - это Data Mirror.Другой подход заключается в использовании продукта интеграции среднего уровня, такого как BizTalk или Tibco, которые берут данные из одного или нескольких источников и привязывают их к одному или нескольким местам назначения, но это может быть излишним в зависимости от ваших требований.* Надеюсь, что это помогает и удачи :) 1023 *