Структура системы и общий порядок работы

DOCOTEKA — сервис для наведения порядка в бесконечном количестве документов. Для удобства работы с сервисом мы сделали:

  • простую загрузку электронных копий документов из файлов и писем электронной почты,
  • структурированное хранение, которое легко настроить и изменить,
  • быстрый поиск документов по реквизитам.

Для начала рассмотрим в общих чертах процесс прохождения документа через обработку в данном приложении. Наглядно этот процесс показан на рисунке 1.

00
Рисунок 1 — Общая схема работы системы DOCOTEKA
  1. Документ поступает на обработку приложению по одному из доступных источников входа в виде файла или специальной структуры (JSON). В качестве доступных каналов поступления документов предусмотрены следующие варианты:
  • Директория на сетевом диске. Для того чтобы передать файл (документ) на обработку, достаточно поместить его в специальную директорию, доступную приложению. Путь к данной директории должен быть заранее указан в конфигурационном файле приложения.
  • Электронный почтовый ящик (email). Приложение может получать документы на обработку, которые поступают на специальный электронный почтовый ящик. Email данного ящика должен быть заранее указан в конфигурационном файле приложения.
  • Программный интерфейс (API) — реализуется через технологию Nprotocol (см. Приложение 2). Приложение предоставляет набор специальных методов в рамках своего программного интерфейса. Для передачи файла на обработку нужно вызвать специальный метод с необходимым набором параметров используя HTTP REST запрос.
  1. Приложение записывает информацию о поступившем документе в базу данных.

  2. Начинается обработка документа по заранее сконфигурированному жизненному циклу (на данном этапе на уровне приложения документ уже преобразован в задачу). В процессе прохождения этапов жизненного цикла может происходить взаимодействие с внешними системами (отправка запросов и получение ответов, выполнение хранимых процедур и запросов к базе данных), выполнение рутинных автоматических операций (выполнение условных операторов, изменение состояния), ожидание действий от пользователя или другой системы.

  3. После того как над задачей была начата обработка жизненного цикла, пользователь может увидеть информацию о документе в web-интерфейсе приложения.