Назначение системы
-
Создавать и хранить документы в электронном виде.
-
Создавать задания для сотрудников, контролировать исполнение заданий.
-
Согласовывать документы.
-
Разграничивать права доступа к объектам с использованием нескольких моделей безопасности.
-
Автоматизировать процессы электронного документооборота и бизнес-процессы организации.
-
Протоколировать работу пользователей.
-
Настраивать работу объектов и процессов без программирования.
-
Работать с открытым API.
Общая структура Docsvision
Система Docsvision обладает классической трёхуровневой архитектурой, включающей: клиентское приложение, сервер и базу данных.
Клиентское приложение
-
Стандартные клиенты: Windows-клиент или Web-клиент.
-
Специальные клиенты: Почтовый клиент — позволяет выполнять задания с помощью почтовой программы и др.
Сервер Docsvision
-
Веб-служба IIS — предоставляет доступ клиентам по протоколу
SOAP
, а также реализует стиль взаимодействияREST
. -
Служба Windows — предоставляет доступ клиентам по протоколу
WCF
.
-
Служба СУБП (система управления бизнес-процессами).
-
Сервис полнотекстового индексирования — обеспечивает возможность использования полнотекстового поиска по данным.
-
Файловый сервис — выполняет отложенные операции удаления бинарных данных файлов из внешних хранилищ и перемещает данные между хранилищами.
Сервер Docsvision, СУБП и Сервис полнотекстового индексирования могут масштабироваться. Для этого несколько элементов одного типа объединяются в кластер.
База данных
Основным хранилищем данных в Docsvision является база данных. В качестве СУБД поддерживаются Microsoft SQL или PostgreSQL. В более сложных конфигурациях могут быть добавлены кэш-сервер Redis, а также выделенные хранилища для бинарных данных (содержимого) файлов.
Основные объекты системы
Основными объектами Docsvision являются карточки и файлы.
Карточки
Карточки — элементы систем, предназначенные для упорядоченного хранения сведений о внешних объектах и процессах.
Карточка Docsvision включает две составляющие: данные и пользовательский интерфейс. Пользовательский интерфейс является необязательным.
Данные карточки представляют собой набор простейших элементов — полей, сгруппированных в секции.
Поле является элементарной единицей хранения данных в Docsvision. Тип информации, которая может храниться в поле, определяется типом поля. Например, есть типы полей для хранения строковых или числовых данных, даты и времени, значения Да/Нет
и др.
-
Максимальный размер для текстовых данных.
-
Обязательное наличие данных в поле при сохранении карточки.
Специальные типы полей предназначены для хранения ссылки на карточки или данные карточек — ссылочные поля.
Виды секций
С помощью секций формируются группы полей, к которым применяются особые правила секции. Основным правилом является тип секции, который определяет структуру полей секции:
- Плоская
-
В секции может храниться одна строка с данными полей секции.
Рисунок 5. Плоская секция - Коллекционная (табличная)
-
В секции может храниться одна или несколько отдельных строк с данными полей секции.
Рисунок 6. Вид такбличной секции - Иерархическая (древовидная)
-
В секции может храниться одна или несколько строк с данными полей секции, отдельные строки могут являться подстроками других строк.
Рисунок 7. Древовидная секцияВ свою очередь секция может являться подчинённой по отношению к другой секции.
Рисунок 8. Подчинённая секцияПеречень и параметры секций и полей карточки формируют её описание — тип карточки (в терминах Docsvision). Карточки, созданные по описанию, называются экземплярами карточек.
Описание схем стандартных карточек Docsvision приведено в руководстве Описание полей стандартных карточек Docsvision. |
Физически экземпляры карточек хранятся в БД Docsvision в таблицах dvtable_{ID-секции}
. В каждой таблице хранятся данные одной секции всех карточек одного типа. Описание, общая и системная информация о карточке хранятся в отдельных таблицах: dvsys_instances
, dvsys_instances_date
и некоторых других.
Описание таблиц БД Docsvision приведено в пункте Таблицы БД Docsvision.
Схемы карточек в формате XML хранятся в таблице dvsys_carddefs
.
Частным случаем карточки является справочник — тип карточки, у которой может быть только один экземпляр. Данные справочников, как правило, используются в других карточках через ссылочные поля.
Библиотеки карточек
Библиотека карточек — коллекция типов карточек, необходимая для загрузки карточек в Docsvision и их обновления. Как правило, в библиотеку включаются все карточки одного модуля Docsvision.
Файлы
В системе Docsvision файл представлен на двух уровнях:
-
На более низком: бинарные данные файла и его атрибуты. Атрибуты включают: размер, дата создания и изменения, признаки архивирования и предварительного удаления и другие.
-
На более высоком: Карточка файла с версиями. Такая карточка содержит ссылки на версии файла, а именно на бинарные данные разных версий, номера версий, комментарии к версиям и данные авторов версий.
Карточка файла с версиями используется для хранения файлов, прикрепляемых к карточкам Docsvision. В системных целях Docsvision работает непосредственно с файлами.
Карточки файлов с версиями и атрибуты файлов хранятся в БД Docsvision, а бинарные данные могут храниться в БД или в отдельном хранилище вне БД Docsvision. Более подробно внешнее хранение бинарных данных рассмотрено в пункте Хранение бинарных данных файлов.