Механизмы интеграции
Большинство существующих программных продуктов, предназначенных для автоматизации управления предприятием, являются специализированными (таковы системы для бухгалтерского и складского учета, управления персоналом и др.) и решают какую-то одну конкретную задачу. По мере развития бизнеса и увеличения масштабов деятельности предприятия возрастает необходимость в установлении единой информационной системы для всей организации. При этом, естественно, возникает проблема органического "сопряжения" отдельных компонентов в единую КИС.
Простейшее стандартное средство взаимодействия отдельных программных систем - экспорт-импорт данных в текстовом формате. Однако при таком способе общения обычно нет возможности передать связи между данными. К тому же не существует единого общепринятого способа передачи информации в текстовом формате. В этом случае вряд ли возможно достичь приемлемого времени синхронизации работы компонентов по данным.
Интеграция систем подразумевает прежде всего создание общих, "корпоративных" информационных ресурсов и обеспечение совместной работы пользователей с этими ресурсами. К числу технологий, позволяющих решить эти задачи, относятся:
? частные интерфейсы прикладного программирования - API (Application Program Interfaces), опубликованные и признанные стандартными де-факто или де-юре;
? универсальные механизмы динамического обмена данными - DDE (Dynamic Data Exchange);
? универсальные механизмы объектной связности баз данных - ODBC (Object Data Base Connectivity);
? универсальные механизмы связывания и встраивания объектов - OLE (Object Linking and Embedding);
? совместное использование согласованных структур данных на уровне баз данных (Joint Data Base Structure Using).
Специализированные API - это наборы функций, внешних по отношению к создаваемой системе и доступных для вызова из нее. API обычно решает какую-то частную задачу, относится к конкретному набору (подмножеству) функций приложения или операционной системы (например, MAPI - интерфейс для электронной почты). Для интеграции одного из приложений с API необходимо обеспечить поддержку этого приложения. Среди проблем, возникающих при решении задачи интеграции, - отсутствие описаний для некоторых API. Не опубликованы, в частности, описания многих API MS Windows, а ведь их число достигает нескольких сотен.
DDE - протокол обмена данными между Windows-приложениями на основе сообщений между окнами сервера и клиента. Как показала практика, этот механизм не позволяет создавать достаточно гибкие и, что самое главное, устойчивые в среде MS Windows приложения. Это обязывает разработчиков использовать специальные средства контроля стабильности приложения вкупе с другими механизмами интеграции.
ODBC - API введен в 1991 г. компанией Microsoft. Он основан на SQL-спецификациях и позволяет приложениям "общаться" с разными СУБД. ODBC - достаточно универсальный механизм, который в значительной мере решает проблему организации взаимодействия различных баз данных на основе открытых интерфейсов. В принципе этот механизм способен решить проблему интеграции. Однако его универсальность приводит к появлению других проблем: снижению быстродействия системы (зачастую до неприемлемых значений), сужению спектра ее возможностей, ослаблению защищенности данных.
OLE - это надстройка над DDE для создания "составных" документов, т. е. документов, разные части которых обрабатываются разными приложениями. Это фактический стандарт, определяющий способ предоставления возможности одному приложению управлять другим приложением. С самого начала механизм предназначался для разработчиков в качестве средства интеграции компонентов ПО. Упрощенно "связывание" можно трактовать как отношение "один документ - много объектов". В основе стандарта лежит Component Object Model - модель составных объектов.
OLE 2.0 automation предоставляет набор команд (функций), доступных внутри одного компонента из другого компонента ПО. Механизм реализует "внешнее" встраивание, но при этом остается проблема с оперативным обменом данными между приложениями, которые продолжают "жить и работать" в разных сегментах памяти и являются слабо связанными.
Современным требованиям отвечает интеграция приложений с помощью механизма управляющих элементов OLE 2.0 OCX (Object Control eXchange) и ActiveX в виде специальных динамических библиотек. Они предназначены для расширения функциональности приложений. В OLE 2.0 OCX реализуется своеобразное "внутреннее" встраивание, при котором осуществляется прямое управление интегрированным компонентом со стороны основной прикладной системы. Но пока разработчики компонента, который предполагается интегрировать в приложение, не обеспечат поддержку функций OLE 2.0 OCX, использовать все перечисленные преимущества невозможно.
Механизм | Проблемы/ограничения |
API | Неполная стандартизация, недоступность описания |
DDE | Нестабильность работы, низкая производительность; можно возвращать всего лишь один параметр определенного типа |
ODBC | Низкая производительность, слабая защищенность данных, ограниченная функциональность |
OLE-automation | Неустойчивость работы (пример - нестабильное взаимодействие с MS Word/Excel), частые изменения кода, большой объем объектов, большое время реакции, недостаточный контроль за другим приложением |
OLE OCX | Слабая поддержка со стороны разработчиков SDK |
Joint Data Base | Проблема координации поддержки модели данных в актуаль-Structure Using ном состоянии, трудность выбора способа синхронизации; требуется высокая квалификация разработчиков. |
Совместное использование согласованных структур данных (Joint Data Base Structure Using) является на сегодня одним из наиболее надежных способов интеграции приложений, разработанных разными компаниями. Для реализации такого подхода требуется тесная координация и весьма высокая квалификация разработчиков.
Краткий перечень основных проблем и ограничений, характерных для существующих механизмов взаимодействия, дается ниже:
Перечислим основные преимущества, которые дает комбинация механизма OLE OCX и согласованных структур данных:
? возможность эффективного решения проблемы оперативного обмена данными между различными интегрированными компонентами большой прикладной системы;
? стабильная, устойчивая работа интегрированного приложения даже с разными версиями MS Word и Exсel;
? отличное время реакции системы, наилучшее по сравнению с другими способами интеграции разнородных компонентов приложения;
? независимость основного приложения от обработчика конкретного типа данных и, как следствие, загрузка любых типов данных, обрабатываемых в MS Windows;
? единство функций графического пользовательского интерфейса и способов взаимодействия с другими приложениями-компонентами;
? хранение в БД информации любого типа, в том числе аудио- и видеоданных;
? возможность построения гибких систем, способных удовлетворить информационные потребности любых заказчиков.
Для иллюстрации конкретной реализации некоторых из перечисленных методов рассмотрим возможности системы автоматизированного документооборота "Документ-2000".
Интеграция системы "Документ-2000" с другими компонентами КИС
Система "Документ-2000" реализована полностью в архитектуре клиент - сервер. Программное обеспечение клиента разработано для платформ Windows 95 и Windows NT Workstation, графический интерфейс которых позволяет представлять данные в удобной и легко воспринимаемой форме. Серверная часть реализована под управлением реляционной СУБД Oracle 7, способной хранить атрибуты, тексты и изображения. "Документ-2000" предоставляет разработчикам ряд механизмов интеграции с другими компонентами КИС.
Взаимодействие на уровне базы данных
Поскольку система "Документ-2000" построена в архитектуре клиент-сервер и ее ядром является СУБД Oracle, интеграция на уровне БД осуществляется с использованием средств именно этой СУБД.
Все элементы электронного документа системы "Документ-2000" хранятся в базе данных: отдельно текст документа, отдельно каждый реквизит и история выполнения деловых процедур по подготовке и исполнению документа. Текст документа во всех видах и электронная карточка документа с его атрибутами составляют единое информационное поле электронного документа. Девиз системы: никаких файлов - все в базе данных!
Тексты документов могут храниться в разных представлениях: в форматах MS Word, MS Excel, MS Project, различных графических форматах, формате ASCII. Один и тот же документ может иметь несколько форм представления одновременно. Например, отсканированный текст, хранящийся в формате .tif, после распознавания графического образа может быть сохранен в текстовом формате, который будет доступен наряду с графическим.
При интеграции систем в единый комплекс все эти данные могут использоваться и другими системами, если возникнет такая необходимость. Соответственно и "Документ-2000" может работать с данными других систем, если они хранятся в БД в структуре, согласованной со структурой БД документооборота.
Взаимодействие с использованием SDK "Документ-2000"
Комплект SDK (набор функций для разработчиков) "Документ-2000" позволяет приложениям обмениваться данными и вызывать функции системы "Документ-2000" непосредственно из интегрированного с ней приложения. Это означает, что "Документ-2000" способен выступать в качестве полнофункционального сервера приложений.
Любое приложение может воспользоваться функциями разработанного SDK, чтобы запустить систему "Документ-2000", создать в ней документ и обработать его.
Так, система управления персоналом (СУП) может использовать "Документ-2000" для подготовки приказов по кадрам и связывания этих приказов с соответствующими событиями в СУП. К примеру, работник службы персонала, находясь в среде системы управления персоналом и инициируя процесс подготовки приказа, запускает "Документ-2000", готовит проект приказа об увольнении сотрудника, направляет его на согласование, подписание и регистрацию (и все это в модуле "Документ-2000"), а затем связывает этот документ в БД системы управления персоналом с соответствующим событием, чтобы иметь возможность использовать эту информацию в дальнейшем. При такой организации работ в БД системы управления персоналом хранится только ссылка на документ и каждая система выполняет свойственные именно ей функции.
Все функции SDK "Документ-2000" находятся в одной библиотеке DLL-типа, размещающейся в каталоге WINDOWSSYSTEM рабочего места пользователя, где осуществляется взаимодействие системы "Документ-2000" с другими приложениями.
Работа с SDK начинается с запуска функции инициализации взаимодействия между приложением, вызывающим процедуры работы с документами, и системой "Документ-2000".
После успешной инициализации возможно выполнение остальных функций, предоставляемых комплектом SDK системы "Документ-2000". Каждая функция позволяет проверить, успешно ли завершилось ее выполнение.
Взаимодействие с использованием DDE и OLE
Система "Документ-2000" интегрирована с MS Word, который является фактическим стандартом для текстовых редакторов. "Документ-2000" задействует MS Word для создания и редактирования текстов, а также для представления документов на рабочем месте пользователя и последующей распечатки. Для обеспечения взаимодействия между системами "Документ-2000" и MS Word организован уникальный по глубине двусторонний обмен данными с применением механизмов OLE OCX и DDE. Перечислим основные фазы этого процесса:
? при настройке системы "Документ-2000" в конкретной организации разрабатываются шаблоны различных видов документов, которые хранятся в базе данных. В шаблоне определяются шрифты, размеры страницы, отступы от краев страницы, постоянные текст и графика, а также местоположение и правила форматирования атрибутов документов;
? при создании в MS Word текста документа по шаблону производится заполнение (обновление) полей-атрибутов в тексте значениями атрибутов документа на текущий момент времени (они вычисляются или берутся из базы данных). При редактировании текста имеется возможность определить недостающие значения атрибутов документа путем вызова соответствующих мастеров или справочников "Документ-2000" прямо из MS Word;
? после завершения процесса подготовки документа текст передается из MS Word системе "Документ-2000" для сохранения в БД и дальнейшей работы с документом.
Аналогичным образом организовано взаимодействие системы "Документ-2000" с MS Excel. Имеется возможность подготовки различных отчетов по документообороту предприятия и сохранения в базе данных отчетов в формате Excel. Для интеграции системы "Документ-2000" с MS Word и Excel, а также с системой распознавания текстов FineReader, кроме механизмов OLE и DDE, используются SDK этих программных продуктов.
При всех способах интеграции "Документ-2000" с другими программами и системами права доступа пользователей к данным и функциям системы централизованно отслеживаются на сервере средствами СУБД. При этом гарантируется высокий уровень информационной безопасности, обеспечиваемый СУБД Oracle.
Интеграция процессов разработки и внедрения
Для полной интеграции системы автоматизированного документооборота и других компонентов КИС в единый комплекс необходимо не только использовать соответствующие технологии, но и следовать определенной методике в процессе разработки и внедрения системы. Этот процесс состоит из следующих этапов:
? предпроектное обследование;
? моделирование деловых процедур;
? корректировка деловых правил и процедур;
? адаптация базовой версии системы, тонкая настройка приложения;
? разработка проекта внедрения (в том числе распределение деловых функций, программа обучения и сетевой план-график);
? поэтапное внедрение (разбиение пользователей на группы, заполнение справочников, конвертирование данных из прежних систем, разработка шаблонов и маршрутов документов, определение, уточнение и формализация деловых правил, обучение);
? сопровождение системы.
Интеграция процессов разработки и внедрения систем особенно важна, поскольку сегодня в России не существует тиражируемой комплексной информационной системы корпоративного класса, которую можно было бы применить в полном объеме на крупных отечественных предприятиях, и один из возможных путей создания корпоративных информационных систем такого класса - объединение усилий компаний-разработчиков отдельных систем.
Интеграция усилий в совместном проекте
Один из примеров такого объединения усилий разработчиков - создание компонентов корпоративной информационной системы ОАО "С.-Петербургский Международный Междугородный Телефон" (СПб ММТ).
Работы по созданию компонентов в комплексе автоматизации управления деятельностью СПб ММТ велись тремя коллективами разработчиков: отделом информационных технологий СПб ММТ, петербургской компанией ЛИВС и московской компанией "Центр Информационных Технологий "Телеком-Сервис".
В результате были созданы следующие тесно связанные между собой системы:
? автоматизации документооборота (разработка ЦИТ "Телеком-Сервис");
? управления персоналом (разработка ЛИВС);
? биллинговая и планово-финансовая (разработка СПб ММТ и ЛИВС).
Сегодня ведутся работы по дальнейшему развитию систем и расширению возможностей приложений.
Системы размещены на разных серверах и интегрированы в единый аппаратно-программный сетевой комплекс, построенный в рамках архитектуры клиент-сервер на базе технологий Unix, Oracle и Microsoft.
* * *
Интеграция отдельных компонентов информационных систем предприятий может осуществляться и с применением других методов. Выбор метода зависит, в частности, от масштаба предприятия - для малого или среднего предприятия может быть вполне достаточно файлового обмена между системами или возможностей электронной почты - сложные технологии, о которых шла речь выше, могут оказаться излишними. С ростом предприятия и усложнением информационных систем усложняются и технологии, отвечающие за работоспособность и надежность таких систем.
Рассмотренная в качестве примера система автоматизированного документооборота "Документ-2000" ориентирована именно на крупные предприятия с числом пользовательских мест не менее двадцати и объемом обрабатываемых документов не менее ста в день. Использование данной системы при меньшем числе рабочих мест и меньшем документопотоке нерентабельно.
Благодаря архитектуре клиент-сервер и заложенным в основу приложения интеграционным технологиям система "Документ-2000" может служить ядром для построения большой корпоративной информационной системы на российских предприятиях, а Oracle - ее надежной инфраструктурной основой. n
ОБ АВТОРЕ
Ильин Игорь Михайлович - зам. генерального директора компании "Центр Информационных Технологий "Телеком-Сервис". Контактный тел.: (095) 963-61-86, e-mail:imi@tls.msk.ru.
Опыт внедрения
Важно отметить, что движение документов тесно связано с иерархической организацией предприятия и распределением должностных обязанностей сотрудников, т. е. с данными, которые относятся к системе управления персоналом. Соответственно система автоматизированного документооборота должна иметь доступ к необходимым ей данным, содержащимся в системе управления персоналом (это бывает нужно, например, для маршрутизации документов или определения прав доступа к данным). Получение такой информации возможно в "Документе-2000" тремя способами:
1. В организации, где отдельная СУП не требуется, необходимые справочники ("Сотрудники", "Подразделения", "Штатное расписание", "Должностные лица" и др.) ведутся в самой системе "Документ-2000".
2. "Документ-2000" может эксплуатироваться совместно с СУП "Персонал-2000" разработки ЦИТ "Телеком-Сервис". Все проблемы взаимодействия двух систем здесь решены, и каждая из систем получает доступ к данным БД другой системы в необходимом объеме.
3. "Документ-2000" может эксплуатироваться совместно с другой СУП. По этому варианту осуществлялось внедрение "Документ-2000" в ОАО "С.-Петербургский Международный Междугородный Телефон", где используется система управления персоналом разработки петербургской фирмы ЛИВС. Взаимодействие систем осуществляется на уровне БД (используются согласованные структуры данных)