Программный комплекс обмена информацией (ПКОИ), предназначен для автоматической двунаправленной передачи данных с заданными интервалами времени между географически удаленными узлами СУБД Oracle, не имеющими прямого коммуникационного соединения.
Механизм взаимодействия узлов в процессе обмена в ПКОИ реализован с учетом полной изоляции узлов Oracle по модели данных. Обмен данными в ПКОИ организован в виде взаимодействия узлов Oracle по интерфейсу доступа к данным высокого уровня. Данные передаются в виде бизнес-объектов, представляющих собой отображение бизнес-сущностей, хранящихся в БД узла. В качестве формата передачи сообщения выступает XML. Формирование бизнес-объектов производится с использованием объектно-ориентированных возможностей СУБД Oracle.
Передача сообщений в ПКОИ осуществляется посредством внешней транспортной системы. В текущей реализации адаптер транспортной системы адаптирован к взаимодействию с почтовым сервером с использованием протоколов SMTP, POP3. Для исключения потерь при передаче в ядро ПКОИ встроен механизм передачи с подтверждением, независимый от внешней транспортной системы.
Передача данных в ПКОИ осуществляется по факту изменения данных на узле источнике. Процесс передачи изолирован от транзакций пользователя и организован в виде асинхронного процесса БД Oracle.
ПКОИ выполняет следующие функции:
На узле источнике
- фиксацию событий об изменениях данных на источнике в соответствии с заданным составом данных;
- трансформацию событий объектов БД в события по изменению бизнес-объектов;
- формирование бизнес-объектов для передачи;
- преобразование бизнес-объектов в формат транспортной среды;
- группировка бизнес-объектов в пакет изменений и помещение его в очередь выходных пакетов;
- асинхронная обработка очереди выходных пакетов и передача пакета на приемник через адаптер транспортной среды;
На узле-приемнике
- прием пакета изменений от смежного узла и помещение его в очередь входных пакетов;
- асинхронная обработка очереди входных пакетов, извлечение пакета изменений из очереди входных пакетов;
- преобразование входного сообщения из формата транспортной среды в бизнес-объекты;
- отображение бизнес-объектов на узле-приемнике в соответствии с моделью данных узла-приемника;
Общие
- обработку очередей входных и выходных пакетов изменений, включая своевременную чистку в соответствии с заданными параметрами;
- ведение настроечных таблиц, содержащих параметры функционирования системы;
- контроль состояния очередей пакетов изменений, включая принудительные режимы очистки очереди, повторной отправки пакета изменений по запросу пользователя при устранении ошибок передачи;
- автоматизированную проверку соответствия данных источника и приемника групп данных, передаваемых ПКОИ;
- контроль целостности компонентного состава ПКОИ;
- ведение Журнала загрузки и выгрузки данных, Журнала приема и передачи данных и Журнала аудита действий пользователя;
- визуализацию данных этих Журналов.
Взаимодействие между узлами ПКОИ осуществляется по внешней сети телекоммуникации с передачей сообщений через установленный в "демилитаризованной зоне" локальной вычислительной сети (DMZ) выделенный почтовый сервер с использованием протоколов SMTP, POP3.
Программный комплекс обмена информацией введен в промышленную эксплуатацию на нефтепроводных предприятиях России и в НРУПТН "Дружба" (Беларусь) для обмена данными между базами данных этих предприятий.