Основные понятия подсистемы

Для того чтобы дальнейшее описание подсистемы было более понятным, следует определить основные понятия.

  • Объект системы «Дело» - РК, РКПД, поручение, элемент справочника. При работе в системе «Дело» над этими объектами выполняются определенные операции. 
  • Процесс – специально разработанная программа, автоматизирующая определенные операции над объектами системы «Дело». Разработанные процессы компилируются в библиотеку процессов (файл формата *dll). В составе библиотеки они загружаются в Подсистему управления процессами. Библиотека может содержать один и более процессов. В подсистему может быть загружено несколько библиотек процессов. Загрузка выполняется в функции «Ведение процессов». При загрузке библиотека с процессами копируется в БД подсистемы. Сама по себе загрузка процесса в подсистему не делает его активным. Для того чтобы процесс мог начать работать, он должен быть сконфигурирован.
  • Тип процесса – конкретный процесс, входящий в библиотеку процессов. В настоящей документации смысл терминов «процесс» и «тип процесса» одинаков. Термин «процесс» чаще используется при описании общих свойств процессов. Термин «тип процесса» чаще используется при описании свойств конкретного процесса, входящего в библиотеку процессов.
  • Конфигурирование процесса – настройка параметров запуска и работы процесса. Один и тот же процесс может работать различным образом в зависимости от того, как он сконфигурирован. Например, в одном варианте процесс настроен на автоматизацию отправки на визирование РКПД договоров, а в другом варианте – на отправку на подписание РКПД распоряжений. Вариант конфигурации процесса называется «конфигурационной ассоциацией». Для одного процесса может быть создано несколько ассоциаций. Конфигурирование процесса выполняется в функции «Конфигурация процессов». Некоторые процессы требуют наличия в ассоциации конфигурационного файла. В частности, любой процесс, который должен запускаться автоматически, должен иметь конфигурационный файл. Процессы, запуск которых возможен только вручную, могут не иметь конфигурационного файла. Схемы конфигурационных файлов (т.е. правила по которым конфигурационный файл должен быть написан) зависят от конкретных процессов, для которых они предназначены. Технологом сначала выполняется настройка конфигурационного файла для определенной ассоциации процесса. Затем в функции  «Конфигурация процессов» для этой ассоциации процесса задаются остальные параметры, и загружается настроенный конфигурационный файл. При загрузке конфигурационный файл копируется в БД подсистемы.
  • Конфигурационный файл – настроечный файл (формата *xml), в котором выполняется первая часть конфигурирования процесса (если для процесса требуется конфигурационный файл). Схема файла разрабатывается вместе с процессом. При настройке конфигурационного файла значения параметров процесса вводятся в соответствии с этой схемой. Для каждой ассоциации процесса может (и, как правило, должен) быть настроен свой конфигурационный файл. Для нескольких ассоциаций может использоваться один файл, а различаться будут только параметры ассоциаций (хотя это, скорее всего, будет очень редким случаем). Настроенный конфигурационный файл загружается в БД подсистемы при создании или редактировании ассоциации процесса в функции «Конфигурация процессов».
  • Конфигурационная ассоциация – вариант конфигурации процесса. Для одного процесса может быть сконфигурировано несколько ассоциаций.
  • Экземпляр процесса – запущенный на выполнение процесс. Процесс может запускаться автоматически либо вручную. Экземпляр процесса всегда связан с каким-то конкретным объектом системы «Дело». Например, можно сказать, что выполняется экземпляр процесса «Процесс работы с РКПД» для РКПД Договор №1 от 01.06.2008 г. Список экземпляров процессов отображается в таблице на странице функции «Управление процессами». В этой функции можно управлять работой экземпляров процессов, то есть прервать работу, возобновить приостановленный или удалить закончивший работу экземпляр процесса.
  • Автоматический запуск процесса – настраивается при конфигурировании. При такой настройке экземпляр процесса запускается автоматически при создании в системе «Дело» объекта, на тип которого настроен процесс. Для данного способа запуска процесса в конфигурационной ассоциации должен быть конфигурационный файл, в котором должно быть указано, для объектов каких групп документов следует автоматически запускать процесс.
  • Запуск процесса вручную - настраивается при конфигурировании. При такой настройке экземпляр процесса может быть запущен пользователем системы «Дело» с помощью специальной команды на окне объекта соответствующего типа.
  • Трассировка – протоколирование пошагового выполнения программы. Эта информация может быть нужна для диагностики сбоя в работе подсистемы. Обычно трассировка включается и просматривается по просьбе службы поддержки разработчика подсистемы.
  • Метаданные типа процесса – характеристики процесса, задаваемые разработчиком. Метаданные описывают такие параметры процесса, как допустимые для процесса типы объектов, допустимость одновременной работы нескольких экземпляров процесса, форма редактирования параметров запуска процесса, и т.д. Метаданные загружаются в подсистему вместе с библиотекой процессов.
  • Web-приложение подсистемы – приложение для управления подсистемой. С одной системной службой связано одно Web-приложение. На сервере может быть установлено несколько экземпляров подсистемы. В этом случае будет установлено несколько служб и для каждой из них будет установлено свое Web-приложение. При этом через любое из этих приложений можно будет осуществлять управление всеми сервисами и процессами, но настройки подсистемы, трассировка и системный журнал будут относиться только к системной службе, связанной с текущим Web-приложением.
  • Системная служба - служба Windows (англ. Windows Service), устанавливающаяся при инсталляции подсистемы. Системная служба предоставляет среду для работы процессов подсистемы. Например, служба отслеживает в системе «Дело» наступление событий, в результате которых должны создаваться экземпляры процессов и создает соответствующие экземпляры процессов. Каждая системная служба регистрируется в БД «Дело» (в функции «Управление сервисами»). Системная служба обслуживает только собственные конфигурационные ассоциации процессов. Если работа сервиса запрещена, системная служба продолжает работать, но процессы, запущенные в ее контексте, не выполняются. 
  • Сервис – регистрационная запись системной службы в базе данных подсистемы. При инсталляции подсистемы устанавливается одна системная служба и регистрируется  в подсистеме соответствующий ей сервис. Соответствие между системной службой и сервисом устанавливается в конфигурационном файле системной службы. В подсистеме конфигурирование процесса выполняется на конкретном сервисе. Системная служба обслуживает только конфигурационные ассоциации процессов, работающие на соответствующем ей сервисе, и только если этот сервис запущен и его работа разрешена (см. гл. «Функция «Управление сервисами»»). Конфигурационную ассоциацию процесса можно передать с одного сервиса  на другой. Существует возможность вручную создавать дополнительные сервисы, это применяется при нестандартной архитектуре развертывания подсистемы. При этом для каждого сервиса должна быть установлена на сервере отдельная системная служба, и в конфигурационном файле этой службы должен быть прописан этот сервис. Работу сервиса можно вручную разрешать и запрещать. Это приводит, соответственно, к включению и отключению обслуживания данного сервиса соответствующей системной службой.
  • Текущий сервис – при работе в клиентском Web-приложении текущим является сервис, соответствующий системной службе, с которой связано данное Web-приложение.