О. Еремин, ОАО НИЦЭВТ М. Кирьянов, ОАО НИЦЭВТ
Интеграция наследованного программного обеспечения в современные IT технологииПомимо
многих факторов, влияющих на успешность внедрения на конкретном
предприятии современных информационных технологий, основанных на
принципах BPM ( Business Process Management ) и SOA ( Service -
Oriented Architecture ), большое значение имеют полнота набора
составляющих информационную систему сервисов, процессов и т.д. , а
также их адекватность решаемым на предприятии задачам. Разработка новых
компонент или адаптация стандартных требует значительных усилий и
затрат, тогда как на любом достаточно крупном предприятии уже, как
правило , функционирует автоматизированная система, настроенная на
потребности и условия конкретного предприятия (в данной статье мы
рассматриваем АСУ, работающие на мэйнфреймах.) Основная
проблема их использования заключается в подключении существующих,
наследованных еще с ЕС ЭВМ , приложений к информационной шине
предприятия. Наследованные программные продукты функционируют в
средах таких операционных систем как СВМ( PTS или ПДО), БОС( BPS ), MVT
, TKS и, очень мало, MVS . Все эти операционные системы не поддерживают
современные программные интерфейсы и сетевые протоколы и функционируют
в режиме S /370. В данной статье предлагается использовать
возможности операционной системы IBM VM для разработки адаптеров
подключения наследованного ПО к информационным шинам. Использование данной операционной системы объясняется следующим: •
Операционная система VM , предназначенная только для обеспечения
подключения наследованного программного обеспечения, будет совершенно
прозрачна для пользователя. • Наследованное программное
обеспечение может функционировать как на реальных мэйнфреймах, так и в
эмулируемых средах, создаваемых программами типа HERCULES (при этом
адаптеры подключения могут входить в программу эмуляции и ОС VM будет
не нужна). В данном случае VM является удобной средой для разработки и
тестирования программ подключения. • Операционная система
позволяет программному обеспечению, функционирующему в режиме S /370,
выполняться на старших моделях мэйнфреймов IBM , не поддерживающих этот
режим. • В операционной системе VM функционируют средства
защиты информации ( RACF ), которые обеспечивают достаточно высокий
уровень защиты и могут быть использованы при реализации,
рассматриваемой в данной статье схемы. Все вышеперечисленные
наследованные операционные системы могут функционировать в виртуальных
машинах. В процессе работы операционная система VM эмулирует для них
программные, виртуальные аналоги реальных устройств ввода-вывода.
Виртуальные устройства могут представлять собой аналоги как локальных
устройств (принтера, дисплеи, диски, устройства ввода и вывода с(на)
перфокарты и т. п .) так и удаленных (терминалов) (рис. 1). Посредством
специальных программ-посредников потоки данных с(на) этих виртуальных
устройств могут быть обработаны и направлены, например, по сетевым
интерфейсам. Рис. 1. Подключение наследованного программного обеспечения. Функции программ подключения: •
собственно подключение к информационной шине; интерпретация запросов,
поступающих по шине передача их наследованному программному обеспечению
и пересылка данных обратно в шину, • обеспечение требований защиты информации, • поддержание работоспособности наследованных систем; регулирование доступа к ним, реакция на аварийные ситуации и т.д. В
настоящее время реализованы два посредника (агента) и набор клиентского
программного обеспечения (на JAVA ), работающие по схеме, приведенной
на рисунке 2. На рисунке эти соединения показаны оранжевой стрелкой от
машин клиентов через виртуальную машину TCP / IP к посреднику,
работающему в виртуальной машине: - посредник с операционной системой БОС ОС-7 и -
посредник с СУБД ADABAS , позволяющий осуществлять связь с базой данных
с рабочей станции, с помощью прямых обращений ( Direct Call ). Рис. 2. Работа программ-посредников. В
настоящее время активно в едутся работы по созданию набора API для
использования в программах пользователей (н а рисунке использование
таких функций показано синими стрелками ) (рис. 2). На данный
момент реализован базовый набор примитивов для соединения с
наследованными системами, обработки данных и обработки аварийных
ситуаций. На базе этих примитивов реализованы и более высокоуровневые
функции, обеспечивающие выполнение прикладных задач. В частности
функции разбора (парсинга) передаваемых данных. Разработанные
компоненты можно повторно использовать при решении схожих задач.
Предполагается создание такого набора API , который обеспечивает
решение всех задач, связанных с организацией конечного интерфейса
пользователей. Данн ый API может быть представлен в виде набора
классов для использования при создании пользовательских интерфейсов
клиентского ПО. Также предполагается разработка компонентов, работающих
под управлением платформы J2EE (EJB, MJB), для дальнейшего
использования в качестве адаптеров подключения наследованного ПО в
информационную шину предприятия. При удачной реализации данной концепции, полученные наработки могут быть использованы при разработке новых программ. Ниже приводится краткий обзор уже разработанного программного обеспечения для рабочих станций. В
экспериментальной версии программ все сообщения и пункты меню написаны
на английском языке. Возможно дальнейшая организация подключения
дополнительных языков, по желанию пользователей. 1. Работа с БОС
Программа агента выполняет следующие функции: •
выдач у команд оператора VM, осуществляющих подключение необходимых
ресурсов к виртуальной машине БОС'а (н апример, подключение минидисков
) ; • передач у команд оператора в БОС. Монтирование томов и их
освобождение, выдача команд ПСР, управление заданиями, ответы оператора
и т.д.; • прием и реакци ю на сообщения СР и БОС, •
связь с клиентами, управление очередью запросов к БОС'у , у правление
ресурсами БОС, их распределение между пользователями. Например, адреса
БОС'их устройств; • организаци ю обмена данными между рабочей станцией и наборами данных БОС по протоколу FTP . Используя
эти реализованные функции программы посредника, клиентская часть
позволяет пользователю ( посредством графического интерфейса ),
организовывать обмен файлами между рабочей станцией и БОС , а также
подключать к БОС с помощью программы эмуляции терминала IBM PComm
дисплеи и консоль оператора. Замечание. Дополнительно
разработан набор клиентского программного обеспечения, ф
ункционирующего на PC , позволяющий обмениваться данными с БОС в
пакетном режиме. Сценарий обмена в этом случае определяется с помощью
набора макросов. 1.1. Порядок подключения к БОС Начало
работы начинается с подключения к серверу, на котором работает
посредник. При запуске программы для пользователя доступна функция
подключения к агенту. Для этого необходимо выполнить операцию,
показанную на рисунке 3. Рис. 3. «Начало работы с программой» Далее необходимо задать параметры подключения: Рис.4 «Установка параметров соединения» Необходимо указать следующие параметры: - ip адрес хоста или имя узла, если в сети есть служба доменных имен или поддерживается локальный файл hosts . - номер порта, на котором работает служба (по умолчанию номер порта ставиться 1951) - имя пользователя и пароль могут не задаваться, в таком случае доступ будет осуществлен по гостевой учетной записи. По
нажатию на кнопку « Connect » происходит установка соединения с
удаленной системой. Данный процесс разбит на два этапа, на первом этапе
происходит подключение к удаленному порту. На втором этапе происходит
авторизация пользователя в системе. В случае успешного прохождения
первого и второго этапа, на экран выдается сообщение от том что
соединение успешно установлено (рис. 5). Рис. 5. «Статус соединения» В
случае, если связь невозможно установить, программа выдаст сообщение об
ошибке соединения. Предусмотрены следующие ошибочные ситуации: - нет связи с хостом (неправильно указан адрес или порт на котором функционирует служба) - введенная учетная запись недействительна на хосте. 1.2 . Подключение к хранилищам данных БОС Хранилище
данных представляет собой данные, хранимые в ОС БОС и сгруппированные
по определенным признакам. Это может быть одна или несколько библиотек,
несколько наборов данных, или объединение элементов библиотечного
набора данных. После установки соединения с хостом, появляется
возможность работы с хранилищами данных, доступ к которым предоставляет
служба. Для этого необходимо выполнить операцию монтирования хранилища
данных, с которым надо работать (рис.6). Рис. 6. «Вызов панели управления хранилищами» На экране появиться панель управления хранилищами данных. (Рис. 7). Доступны следующие операции по работе с хранилищами: • подключить хранилище ( Attach ), для работы с данными, хранящимися на этом хранилищами; • отключить хранилище ( Detach ), освобождает ресурсы хранилища. Рис. 7. «Панель управления хранилищами» Для
подключения хранилища необходимо ввести имя хранилища, имя пользователя
имеющего права доступа к этому хранилищу и пароль. При этом регистр, в
котором вводятся данные, имеет значение. Далее выполняется функция «
attach », которая осуществляет подключение к хранилищу данных с
указанными параметрами. При успешном подключении хранилища, на экране
появиться соответствующее информационное сообщение, о том, что
хранилище успешно подключено. После подключения реального
хранилища становятся доступны пункты главного меню « Data exchange »
(обмен данными между хранилищами) и « Operations » (Операции над
наборами данных в хранилищах) В случае неуспешной операции подключения хранилища, на экран выводиться соответствующее ситуации сообщение об ошибке. 1.3. Сеанс обмена данными с БОС После
успешного подключения хранилища, у пользователя появляется возможность
выполнять пересылку данных между хранилищами данных. Например, между
БОС и клиентским рабочим местом (рис. 8 .). Рис. 8. Панель выбора источника и назначения пересылки данных. Для
выбора необходимого хранилища, в списке « Available warehouses »
необходимо выделить его курсором мыши и добавить, соответственно в поле
« Source » или « Destination ». В дальнейшем планируется реализация
одновременного обмена данных между числом хранилищ больше 2. Пример: Для
пересылки данных из хранилища BPS в хранилище Workstation надо выбрать
хранилище BPS и добавьте его в список Source . Далее выберите
Workstation и поместите его в список Destination . Далее надо
нажать кнопку « Begin work » для начала работы с менеджером содержимым
хранилищ. На экране появиться окно менеджера содержимого хранилищ (рис.
8 ). Рис. 9. Навигация по данным ОС БОС, обмен данными. Просмотр тома BOSRES . Данные
в БОС представлены в виде древовидной иерархической структуры. Верхним
узлом дерева является подключенное хранилище. Ниже отображаются
доступные в этом хранилище ресурсы. В данном случае показаны включенные
в это хранилище тома. К этим объектам применены ограничения прав
доступа на чтение/запись. Данное свойство отображается как атрибут,
справа от имени тома. Это может быть символ W ( write available ) или R
( read - only ). Каждый том хранит наборы данных. Наборы данных
библиотечного типа можно просмотреть. Библиотечные наборы данных
обозначены звездочками, справа. При выборе того или иного элемента в
списке просмотра отображаются его атрибуты – размер, тип и т.д. наверху
панели пересылки данных (рис. 9). На панели операций
предусмотрен ряд функций, например режим передачи данных, способ
копирования набора данных (как новый, с замещением существующего).
Предусмотрены операции переименования, создания, удаления наборов
данных (рис. 9). 2. Интерфейс прямого вызова команд ADABAS ( Direct call ) В
данном случае основной функцией, помимо стандартных, программы
посредника является преобразование данных, поступивших по сокету, в
формат данных интерфейса макрокоманды CALL ADABAS операционной системы
CMS , а также передача данных, возвращенных ядром базы клиенту.
2.1. Краткое описание работы
Взаимодействие клиентской части с сервером удаленного доступа к СУБД ADABAS происходит по следующей схеме: 1. Подключение к серверу. Задаются параметры для подключения IP -адрес узла в сети и порт, на котором функционирует служба. 2. Серверу передаются параметры для авторизации – имя пользователя базы данных, идентификатор базы и возможно, пароль. 3. Далее происходит передача параметров команды прямого вызова к СУБД ADABAS в установленном сеансе связи с сервером. 4.
Клиентская часть ожидает результатов выполнения команды прямого вызова
или информации о невозможности обработки команды сервером. 5. В
течение одного сеанса связи, клиент может выдать любое число команд
(повторить пункт 3) или разорвать текущий сеанс, послав соответствующий
сигнал по сокету. Происходит подключение к
агенту, который обслуживает запросы пользователя СУБД ADABAS . В
параметрах подключения задаются IP -адрес узла и порт, на котором
функционирует агент. На данный момент используется заранее
определенный, непривилегированный номер порта 1951. С ПК выдается имя
пользователя и идентификатор базы, с которой будет организованно
взаимодействие, рис. 10.
Рис. 10 . Подключение к Adabas . 2.2. Выполнение команд прямого вызова
В случае успешного подключения, на экране появляется панель управления интерфейсом прямых вызовов к СУБД ADABAS , рис. 11. Пользователь формирует управляющий блок ( Control Block , далее CB ) для посылки его агенту. Блок CB содержит в себе поля, относящиеся непосредственно к параметрам прямого вызова СУБД ADABAS . Рис. 11 . Формирование CB ADABAS При
формировании запроса к СУБД ADABAS , клиент формирует 2 поля флажков,
определяющих те буфера, которые должны быть получены сервером от
клиента, и те буфера, которые должны быть переданы сервером клиенту,
после обработки команды запроса. Флажки на ввод и вывод
буферов, представляют собой литеральную последовательность из символов
« Y » или « N ». Позиции символов во флажках соответствуют буферам,
перечисленным в том порядке, в котором они перечислены: Format Buffer ,
Record Buffer , Search Buffer , Value Buffer , ISN Buffer . 2.3. Описание механизма передачи параметров
1. Сначала передается флажки буферов и непосредственно CB . 2. Выполняется последовательная передача тех буферов, флажки которых были установлены в значение « Y ». 3.
После передачи последнего буфера, клиентская часть ожидает ответа
сервера обращений к СУБД ADABAS . Ответ состоит из кода возврата
(Return Code) и CB , без флажков буферов. Анализируется содержимое
Return Code . Если возвращаемое значение равно 0, то происходит анализ
содержимого CB . Если значение в Return Code отлично от нуля, то
пользователю будет выдано сообщение о невозможности выполнения запроса
сервером. Такая ситуация возможна, например, при отсутствии
достаточного количества оперативной памяти, в случае отсутствии
необходимого параметра вызова и т.д. 4. В случае успешного
выполнения команды прямого вызова, пользователю последовательно
выдаются буфера, флажки которых были установлены в « Y » для вывода их
содержимого (рис. 12). 5. В течение одного сеанса, клиент может повторить ввод команды. Рис. 12 . Выполнение команд ADABAS . Показано содержимое буфера Record Buffer , возвращенное СУБД в ответ на команду L 2. |