Назначение системы

Docsvision даёт возможность:
  • Создавать и хранить документы в электронном виде.

  • Создавать задания для сотрудников, контролировать исполнение заданий.

  • Согласовывать документы.

  • Разграничивать права доступа к объектам с использованием нескольких моделей безопасности.

  • Автоматизировать процессы электронного документооборота и бизнес-процессы организации.

  • Протоколировать работу пользователей.

  • Настраивать работу объектов и процессов без программирования.

  • Работать с открытым API.

Общая структура Docsvision

Система Docsvision обладает классической трёхуровневой архитектурой, включающей: клиентское приложение, сервер и базу данных.

Трёхуровневая архитектура Docsvision
Рисунок 1. Трёхуровневая архитектура Docsvision

Клиентское приложение

Для работы с системой Docsvision пользователь может использовать:
  • Стандартные клиенты: Windows-клиент или Web-клиент.

  • Специальные клиенты: Почтовый клиент — позволяет выполнять задания с помощью почтовой программы и др.

Сервер Docsvision

Сервер Docsvision реализован в следующем виде:
  • Веб-служба IIS — предоставляет доступ клиентам по протоколу SOAP, а также реализует стиль взаимодействия REST.

  • Служба Windows — предоставляет доступ клиентам по протоколу WCF.

Также на уровне сервера работают:
  • Служба СУБП (система управления бизнес-процессами).

  • Сервис полнотекстового индексирования — обеспечивает возможность использования полнотекстового поиска по данным.

  • Файловый сервис — выполняет отложенные операции удаления бинарных данных файлов из внешних хранилищ и перемещает данные между хранилищами.

Сервер Docsvision, СУБП и Сервис полнотекстового индексирования могут масштабироваться. Для этого несколько элементов одного типа объединяются в кластер.

Кластер сервисов Docsvision
Рисунок 2. Кластер сервисов Docsvision

База данных

Основным хранилищем данных в Docsvision является база данных. В качестве СУБД поддерживаются Microsoft SQL или PostgreSQL. В более сложных конфигурациях могут быть добавлены кэш-сервер Redis, а также выделенные хранилища для бинарных данных (содержимого) файлов.

Конфигурация Docsvision с внешними хранилищами и Redis
Рисунок 3. Конфигурация Docsvision с внешними хранилищами и Redis

Основные объекты системы

Основными объектами Docsvision являются карточки и файлы.

Схема взаимодействия основных элементов Системы
Рисунок 4. Схема взаимодействия основных элементов Системы

Карточки

Карточки — элементы систем, предназначенные для упорядоченного хранения сведений о внешних объектах и процессах.

Карточка Docsvision включает две составляющие: данные и пользовательский интерфейс. Пользовательский интерфейс является необязательным.

Данные карточки представляют собой набор простейших элементов — полей, сгруппированных в секции.

Поле является элементарной единицей хранения данных в Docsvision. Тип информации, которая может храниться в поле, определяется типом поля. Например, есть типы полей для хранения строковых или числовых данных, даты и времени, значения Да/Нет и др.

Также настройки полей могут устанавливать другие ограничения для хранимой информации:
  • Максимальный размер для текстовых данных.

  • Обязательное наличие данных в поле при сохранении карточки.

Специальные типы полей предназначены для хранения ссылки на карточки или данные карточек — ссылочные поля.

Виды секций

С помощью секций формируются группы полей, к которым применяются особые правила секции. Основным правилом является тип секции, который определяет структуру полей секции:

Плоская

В секции может храниться одна строка с данными полей секции.

Плоская секция
Рисунок 5. Плоская секция
Коллекционная (табличная)

В секции может храниться одна или несколько отдельных строк с данными полей секции.

Вид такбличной секции
Рисунок 6. Вид такбличной секции
Иерархическая (древовидная)

В секции может храниться одна или несколько строк с данными полей секции, отдельные строки могут являться подстроками других строк.

Древовидная секция
Рисунок 7. Древовидная секция

В свою очередь секция может являться подчинённой по отношению к другой секции.

Подчинённая секция
Рисунок 8. Подчинённая секция

Перечень и параметры секций и полей карточки формируют её описание — тип карточки (в терминах Docsvision). Карточки, созданные по описанию, называются экземплярами карточек.

Описание схем стандартных карточек Docsvision приведено в руководстве Описание полей стандартных карточек Docsvision.

Физически экземпляры карточек хранятся в БД Docsvision в таблицах dvtable_{ID-секции}. В каждой таблице хранятся данные одной секции всех карточек одного типа. Описание, общая и системная информация о карточке хранятся в отдельных таблицах: dvsys_instances, dvsys_instances_date и некоторых других.

Описание таблиц БД Docsvision приведено в пункте Таблицы БД Docsvision.

База данных и карточки
Рисунок 9. База данных и карточки

Схемы карточек в формате XML хранятся в таблице dvsys_carddefs.

Частным случаем карточки является справочник — тип карточки, у которой может быть только один экземпляр. Данные справочников, как правило, используются в других карточках через ссылочные поля.

Библиотеки карточек

Библиотека карточек — коллекция типов карточек, необходимая для загрузки карточек в Docsvision и их обновления. Как правило, в библиотеку включаются все карточки одного модуля Docsvision.

Файлы

В системе Docsvision файл представлен на двух уровнях:

  1. На более низком: бинарные данные файла и его атрибуты. Атрибуты включают: размер, дата создания и изменения, признаки архивирования и предварительного удаления и другие.

  2. На более высоком: Карточка файла с версиями. Такая карточка содержит ссылки на версии файла, а именно на бинарные данные разных версий, номера версий, комментарии к версиям и данные авторов версий.

Карточка файла с версиями используется для хранения файлов, прикрепляемых к карточкам Docsvision. В системных целях Docsvision работает непосредственно с файлами.

Карточки файлов с версиями и атрибуты файлов хранятся в БД Docsvision, а бинарные данные могут храниться в БД или в отдельном хранилище вне БД Docsvision. Более подробно внешнее хранение бинарных данных рассмотрено в пункте Хранение бинарных данных файлов.

Структура файлов
Рисунок 10. Структура файлов