система электронного документооборота NauDoc
NauDoc v 5.7    
Система автоматизации бизнес-процессов и электронного документооборота
  • Канцелярское делопроизводство
  • Контроль исполнительской дисциплины
  • Связь удаленных офисов
  • Управление бизнес-процессами (BPM)
Перейти на сайт продукта NauCRM
Разделы

Модуль интеграции с реляционными СУБД

Модули интеграции с реляционной СУБД MySQL предназначен для оптимизации производительности системы электронного документооборота NauDoc при высоких нагрузках.
Технология реализует распределение хранения и обработки данных между объектно-ориентированной СУБД ZODB ("родной" для NauDoc) и реляционной СУБД (MySQL)

Особенности реализации

СЭД NauDoc является компонентом открытого кроссплатформенного сервера приложений Zope (www.zope.org). Разработка Web-приложений для сервера Zope ведется при помощи высокоуровневого инструментария на основе объектно-ориентированного языка с множественным наследованием Python.
В качестве хранилища объектов используется объектная база данных ZODB, предназначенная для прозрачного и постоянного хранения Python-объектов. При этом объектно-ориентированный подход, на основе которого написана ZODB, позволяет для непосредственного хранения данных использовать как стандартный класс FileStorage (хранение в файле Data.fs), так и альтернативные классы: BerkleyStorage и SQLStorage.

В ходе эксплуатации NauDoc были выявлены узкие места, не позволяющие эффективно использовать систему на предприятиях с большим объемом циркулирующей информации, например, процедура поиска объектов в СЭД приводит к большим задержкам. Следует отметить, что решение подобных проблем в других СЭД возлагается на распределенные базы данных со сложной многокомпонентной структурой, а это в разы увеличивает стоимость решения.

Для устранения задержек, связанных с поиском объектов, было решено использовать интегрируемую в Zope реляционную СУБД MySQL для хранения индексной информации об искомых объектах. На базе статистики по качеству и количеству запросов к системе были разработаны таблицы хранения индексов документов, заданий и записей справочников. Непосредственное взаимодействие NauDoc и реляционной СУБД было возложено на Zope-продукт ZSQLCatalog. Организацию соединения с внешней СУБД MySQL обеспечивает специализированный программный адаптер, в качестве которого выступает Zope-продукт MySQLDA. На рисунке представлена архитектура полученного решения.

В состав разрабатываемой системы также входит модуль интеграции, реализованный на базе механизма модулей расширения NauDoc. Данный компонент позволяет модифицировать запросы
к реляционной базе данных в соответствии с особенностями документооборота заказчика и настраивать различные параметры взаимодействия с базами данных MySQL. Кроме того, имеется возможность миграции с уже внедренных на предприятиях СЭД NauDoc на предлагаемое решение.


Архитектура гибридной системы NauDoc