ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 513.5
Л.В. Кулагина, Н.В. Кулагин
НЕКОТОРЫЕ ВОПРОСЫ ПОСТРОЕНИЯ И ПРОГРАММНОЙ РЕАЛИЗАЦИИ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ
Рассматриваются методы построения корпоративных
информационных систем на основе клиент-серверных технологий. Предлагается механизм репликаций как структуры базы, так и самих данных. Приводится способ построения шаблонов для ввода данных и вывода отчетных форм.
Базы данных, информационные системы, клиент-серверные
технологии.
L.V. Kulagina, N.V. Kulagin
CORPORATIVE SOFTWARE INFORMATION SYSTEM IMPLEMENTATION
Methods of construction of corporative information system on the base of client of server technologies are considered here. A mechanism of replications as base structure and as of the data is offered by the authors. A mechanism for constructing of patterns for entering data and conclusion of report forms is offered here as well.
Databases, information system, client-server technology.
История создания информационных систем начинается в 60-е годы прошлого столетия (MRP) - это планирование потребности в материалах. 80-е годы (MRP-II) - это планирование ресурсов производства. 90-е годы (ERP) - это дополнение к предыдущему этапу функций финансового и кадрового управления. Настоящее время (ERP-II) - это дополнение предыдущего блоками взаимоотношений с клиентами и поставщиками, а также управление цепочками поставок [1]. Сегодня деятельность крупных предприятий начинает переходить в новую стадию [2-5]. Если раньше при образовании предприятия одной из главных задач было создание определенной статической модели, работающей на определенных правилах, недоступных для окружающих, то сегодня ситуация меняется. В рыночных условиях требуется открытая и гибкая модель. Основная цель предприятия в современных условиях - это ускорение работы структуры управления предприятием, создание единой корпоративной системы для всех основных составляющих бизнес-процессов. С точки зрения программных технологий, информационные системы - это не один, и даже не несколько программных комплексов. Это набор механизмов, методов и алгоритмов, направленных на поддержку жизненного цикла информации и включающих три основных процесса: обработку данных, управление информацией и управление знаниями. Анализируя корпоративные информационные системы, представленные на зарубежном и российском рынках, можно выделить три группы: крупные
интегрированные системы SAP R/3, BAAN, Oracle Applacation, средние JDEdwards, MFG-Pro и малые Парус, Галактика, Axapta, Platinum, Concorde XAL [2, 6, 7]. Почти все
российские системы относятся к неинтегрированным и не имеют распределенной базой данных. Зарубежные системы являются дорогостоящими. При внедрении таких систем возникает ряд проблем, связанных с отсутствием версий для популярных у нас платформ, локальных сетей в требуемой конфигурации, а также с недостаточной квалификацией сотрудников филиалов. Очень часто поднимается вопрос о взаимодействии между филиалами. Эффективность взаимодействия определяется процессами обмена информацией. В зарубежных предложениях это решается с помощью оптоволоконной связи. В российских условиях, учитывая территориальную распределенность, это невозможно. Кроме того, в динамично развивающихся системах, где задействованы десятки серверов с базами данных, существенную роль играют временной и человеческий факторы. В своей работе мы предлагаем механизмы совместного решения данных проблем.
При построении корпоративных информационных систем [8] с распределенной базой данных перед разработчиком возникает ряд задач:
1. Обмен данными между серверами.
2. Поддерживание в актуальном состоянии структуры распределенных баз данных.
3. Формирование отчетных форм.
От их решения зависят дальнейшее развитие, совершенствование и эксплуатация системы. Структура распределенной базы данных представлена на рисунке. Для определенности предполагается справочную информацию вести на центральном сервере.
С центрального сервера передаются нормативно-справочная информация (НСИ) и данные об изменениях структуры и печатных форм. С остальных серверов на центральный и обратно на рабочие серверы передаются данные. Для реализации этого разработан новый механизм репликаций [9, 10].
Взаимодействие между серверами
Распределенная база данных должна иметь единую структуру. Предлагается механизм [11], позволяющий при изменении структуры базы данных на основном сервере автоматически изменять структуру на остальных серверах. Передача данных и структуры данных между серверами осуществляется через разработанный механизм репликаций.
Предлагается механизм [12] запуска скриптов автоматически с серверов. На серверах в базе данных создается служебная таблица со следующими полями: текст БОЬ запроса, результат выполнения скрипта, на каких серверах запускать, время запуска (немедленно или по заданию в определенное время , когда, например, не работают пользователи), идентификатор сервера и базы данных, на которой производился запуск, и др. Данная таблица при помощи разработанного механизма вместе с измененными данными передается с главного сервера на остальные.
№ п/п Поля
1. Текст БОЬ запроса
Иіешфйеір-рорісе^^пруска тазы данных,
При этом время передачи на котором запускается
данных и структуры синхронизируется
в пакете передачи. Работа сервера с
данной таблицей происходит при помощи встроенных механизмов и процедур, которые хранятся на сервере, а также при помощи разработанного клиентского приложения. При запуске пакета на сервере сначала, если необходимо, выполняются команды по изменению структуры базы данных, а затем, если необходимо, будут запущены данные.
Рассмотрим пример. В таблице добавился столбец, который заполняется данными. В стандартном механизме репликаций данный столбец реплицироваться не будет, и в какой-то момент данные будут не актуальны. В предлагаемом подходе в первую очередь реплицируется таблица с БОЬ скриптами, затем на сервере запустится скрипт и появится столбец, и лишь затем будут переданы данные, т. е. актуальность данных будет сохранена и ошибки при вставке данных в несуществующий столбец не возникнет. При данном подходе структура баз данных будет на определенном временном интервале одинакова. На всех серверах будет история об изменении структуры базы данных. Отсутствует человеческий фактор. Всегда будет поддерживаться актуальность в реплицируемых таблицах.
Рассмотрим распределенный механизм ввода и передачи данных. В разработанном механизме репликаций данные делятся на группы. К первой группе относится НСИ, которая ведется на центральном сервере и передается на все остальные серверы. Ко второй группе относятся данные, которые вводятся на всех серверах, а агрегируются на основном сервере, с указанием кода сервера источника. К третьей группе относятся данные, которые заводятся на разных серверах и реплицируются на все серверы. При этом данные передаются сначала на основной сервер, а с него реплицируются на остальные.
Для ввода данных создан механизм формирования форм [11]. На этапе создания формы описываются поля для занесения данных. Все типы полей описаны в документации на базу данных. Каждому полю соответствует специализированный элемент ввода. Элементы располагают на форму, описывают их название и соответствие таблиц в базе данных. Если таблиц еще не существует, то они создаются. При создании формы на разработчике остается задача обеспечения целостности данных и приведения их в соответствие с нормализацией для реляционной модели базы данных. После создания шаблона он записывается в специальную таблицу базы данных, где указываются типы компонент, их размеры и положения. Данная таблица реплицируется на связанные серверы.
После репликации данных на рабочей станции запускается приложение, в котором идет обращение к серверу баз данных. На этапе инициализации происходит идентификация пользователя или группы пользователей и выявляются доступные для него формы. После проверки загружается соответствующая форма для заполнения данными.
Для вывода информации из базы данных разработан механизм создания и передачи на распределенные серверы печатных форм отчетности. На центральном сервере создается БОЬ-запрос к базе данных. Запрос записывается в служебную таблицу. В данную таблицу записывается информация печатной формы. После этого данные реплицируются на необходимые серверы. При приеме репликаций запускается приложение, которое читает информацию из реплицированных таблиц и выдает отчетную информацию. Через данный механизм можно формировать запросы для построения витрин данных, для импорта информации в другие базы данных, системы или печать. Создано клиентское приложение, вид и функционал которого зависят от номера шаблона или отчета, записанного в базе данных.
В работе были рассмотрены некоторые механизмы построения корпоративных информационных систем на основе клиент-серверных технологий. Реализован механизм
репликаций как структуры базы, так и самих данных. Предложен механизм построения форм для ввода данных и вывода отчетных форм, а также их передачи.
ЛИТЕРАТУРА
1. Насакин Р. Инструменты корпоративной автоматизации / Р. Насакин // Компьютерпресс. 2005. № 4. С. 23-26.
2. Орлов М. Особенности методологии внедрения ERP-системы в компаниях среднего и малого бизнеса / М. Орлов // Softline. 2007. № 3. С. 20-23.
3. Александров В.В. Методы и технологии построения КИС / В.В. Александров, А.Ю. Николаев // Проблемы информатизации. 2001. № 3. С. 37-39.
4. Alexandrov V. Construction of the Knowledge Management System Based on the Documentum 4i Technology / V. Alexandrov, A. Nikolaev // Second Conference on Management and Control of Production and Logistics / Institut National Polytechnique de Grenoble. France. July 5-8, 2000. Р. 68-72.
5. Бабкин Э.А. Разработка информационных систем ERP-класса / Э.А. Бабкин, О.Р. Козырев, О.Е. Полухина. Н. Новгород: НГТУ, 2006. 266 с.
6. Прохоров А. Лучшие программные продукты российских производителей / А. Прохоров // Компьютерпресс. 2001. № 12. С. 12-23.
7. Журавлева Э.М. Экспертный анализ предложений на рынке КИС / Э.М. Журавлева // КомпьюЛог. 2002. № 3. С. 23-27.
8. Кулагина Л.В. Анализ корпоративных информационных систем / Л.В. Кулагина, Н.В. Кулагин // Труды СВМО. 2007. № 1. С. 286-290.
9. Каленик А. Использование новых возможностей Microsoft SQL Server 2005 / А. Каленик. СПб.: Питер, 2006. 366 с.
10. Вишневский А.В. Microsoft SQL Server 2005. Эффективная работа / А.В. Вишневский. СПб.: Питер, 2008. 544 с.
11. Кулагина Л.В. Разработка инструментария для создания многосерверной системы ввода и обработки данных / Л.В. Кулагина, Н.В. Кулагин // Труды СВМО. 2006. № 2. С. 233-235.
12. Кулагина Л. В. Разработка многосерверной системы передачи и обработки данных / Л.В. Кулагина, Н.В. Кулагин // Труды СВМО. 2005. Т. 7. № 1. С. 421-422.
Кулагина Лидия Валентиновна - Kulagina Lidiya Valentinovna -
старший преподаватель Senior Lecturer of the Department
кафедры «Прикладная математика» of «Applied Mathematics»
Нижегородского государственного of Nizhegorodskiy State Technical University
технического университета им. Р.Е. Алексеева in the name of R.E. Alekseyeva
Кулагин Николай Валентинович - Kulagin Nikolay Valentinovich -
кандидат физико-математических наук, доцент Candidate of Sciences in Physics кафедры «Прикладная математика» and Mathematics, Assistant Professor
Нижегородского государственного of the Department of «Applied Mathematics»
технического университета им. Р.Е. Алексеева^ Nizhegorodskiy State Technical University ведущий инженер in the name of R.E. Alekseyeva,
ОАО «Газпром трансгаз Нижний Новгород» Principal Engineer of JS Co «Gazprom
Transgas Nizhniy Novgorod»
Статья поступила в редакцию 17.09.08, принята к опубликованию 26.11.08