26.08.2019

Установка процесса в систему. Готовые решения на базе платформ


Все файлы бизнес-процесса выложены на . описано содержимое всех файлов и каталогов. А в этой записи мы посмотрим, из каких задач состоит процесс и как его установить в систему.

Процесс состоит из пяти этапов:


Для того, чтобы процесс заработал, требуется:

  • Alfresco 4.2.4 / 4.2.f с установленным Alvex Enterprise 2.1.3. В идеале Alvex должен быть установлен в виде AMP-пакетов.
  • Созданная оргструктура, в которой есть пользователь с ролью “CEO” (латиницей, можно другую, но тогда нужно немного обновить процесс). Инициатор процесса должен быть в оргструктуре (не службеные пользователи).
  • К системе должен быть подключен справочник с названием “Contractors”. Например, можно подключить внешний справочник , используя поле “Компания” как отображаемое пользователю.
  • Сайт с созданным реестром типа “Договоры” (alvexdt:agreement), у пользователя с ролью CEO" и у пользователя, который регистрирует документ в реестре, должны быть права на запись в реестр.

Сборка процесса

Скачиваем исходники процесса с Github. Это можно сделать через Git или загрузив папку в формате ZIP.

Чтобы увидеть схему процесса и собрать проект, импортируем проект в Eclipse:

Выбираем в меню Файл -> Import -> Existing Projects into Workspace -> Имя проекта Tutorial Workflow Repo . В качестве местонахождения проекта указываем папку tutorial-workflow-repo загруженного с Github проекта. Повторяем операцию, создавая проект Tutorial Workflow Share , местонахождение проекта - папка tutorial-workflow-share .

Чтобы собрать проект создаём конфигурацию сборки в Eclipse:

  1. В меню Run -> Run Configurations выбираем систему сборки Maven и нажимаем New launch configuration .
  2. Указываем название и базовый каталог проекта Tutorial Workflow Repo . В качестве цели (Goals) указываем package .
  3. Сохраняем конфигурацию. Пробуем нажать Run . Если у вас установлено несколько пакетов Java или требуются еще какие-то дополнительные настройки, выполните их. Обычно больше никаких настроек не требуется.
  4. Аналогично создаем конфигурацию для сборки проекта Tutorial Workflow Share.

Запускаем созданные конфигурации, используя зелёную кнопку на верхней панеле Eclipse.

Альтернативный вариант - открыть в терминале каталог tutorial-workflow-repo и набрать команду “mvn package”. Если у вас установлен maven, то проект соберётся. Повторить для tutorial-workflow-share.

// Поздравляем, теперь вы знаете, как собирать проекты, написанные для Alfresco Maven SDK 2. Сейчас мы переводим все компоненты Alvex на такую структуру, и Alvex для Alfresco 5 будет собираться примерно также.

Установка процесса в систему

  1. Для установки собранных пакетов в Alfresco скопируйте файл alfresco-tutorial-workflow-repo.amp из каталога target в проекте Turorial Workflow Repo в каталог amps в домашней папке Alfresco. Например, если Alfresco установлена в каталог /opt/alfresco-4.2.x, то скопируйте файл в /opt/alfresco-4.2.x/amps.
  2. Аналогично, alfresco-tutorial-workflow-share.amp из каталога target в проекте Turorial Workflow Share скопируйте в amps_share .
    // Будьте осторожны, все настройки, сделанные вами в каталогах tomcat/webapps/alfresco и tomcat/webapps/share , и все дополнительные пакеты, которые вы устанавливали в формате JAR, будут удалены. Если Alvex был установлен в формате JAR-файлов, положите пакеты Alvex в формате AMP вместе с устанавливаемым бизнес-процессом. Все свои настройки лучше вынести в каталог tomcat/shared/classes/alfresco , чтобы они пережили такие операции в дальнейшем.
  3. Установите amp-пакеты, используя команду bin/apply_amps.sh , которая находится в той же домашней папке Alfresco.
  4. Перезапустите Alfresco.
  5. Разрешите пользователям запускать новый процесс в секции “Доступные процессы” в консоли администрирования.

Следующая запись серии.

На любом предприятии существует 2 вида данных: структурированные данные и неструктурированные данные. Структурированные это такие данные, которые представлены в виде таблиц, записей и которые хранятся в учётных системах.
Неструктурированные данные (или контент) это всё остальное, что может храниться. Обычно это набор файлов и папок, расположенных на локальных и сетевых дисках, на сайтах в интернете.

Для управления структурированным данными, как уже говорилось, существуют учётные системы (1С, SAP и пр.). Управлением неструктурированными данными занимается отдельный класс систем.

Так как принято называть неструктурированные данные - корпоративным контентом (Enterprise Content), то и системы по управлению таким видом контента называются ECM (Enterprise Content Management).

В отличие от ECM, СЭД (системы электронного документооборота) - это слишком общее понятие. Обычно в это понятие вкладывают системы, автоматизирующие организационно-распорядительный документооборот на предприятии (регистрация входящих, исходящих, организационно-распорядительных документов). Такие системы ведут учёт документов и их исполнение. Это скорее учётные системы, а не представители систем класса ECM.

Во всех ECM системах имеется понятие репозитория - хранилища документов, папок и других объектов. Структура репозитория в подавляющем большинстве систем представляет иерархию объектов (кабинетов, папок, документов).

Каждый объект репозитория состоит из атрибутов, которые хранятся в базе данных и, собственно, контента, который находится в служебном хранилище на файловой системе. Некоторые объекты могут не иметь контента (например, папки или пользователи).

Итак Alfresco

Alfresco (как уже неоднократно говорилось на этом портале) представляет собой ECM платформу с открытым кодом, разработчиком которой является компания Alfresco Software Inc, Великобритания. Эта платформа не является системой электронного документооборота, но на основе этой платформы возможно такую систему постоить.

Alfresco имеет несколько редакций - Community (общедоступна и бесплатна), On-Premise и Cloud (распространяются компанией Alfresco и её партнёрами по платной подписке). Alfresco OnPremise (Standard и Enterprise) для размещения в частном облаке, а Alfresco Cloud - в публичном облаке.

На основе платформы Alfresco есть уже несколько готовых решений:

Alfresco Share - позиционируется как альтернатива Sharepoint. Это средство совместной работы, разработки документов, проектов.

Alfresco Records Management - система управления записями по американскому стандарту DOD5015, некий аналог СЭД на западный манер. В России не применим.

Alfresco Web Quick Start - инструмент для построения web-сайтов на платформе Alfresco. Сайт www.eurekabpo.ru построен как раз с использованием этого инструмента.

Alfresco Mobile - бесплатный мобильный клиент для Alfreco для iPad, iPhone на Apple IOS.

Alfresco Sync - средство синхронизации локальных файлов с Alfresco.

Alfresco Workdesk - новый продукт Alfresco для крупных компаний, предоставляющий богатые возможности по управлению контентом на платформах Alfresco и IBM FileNet P8
Alfresco Transformation Server - серверное ПО для Alfresco, позволяющее преобразовывать MS Office форматы в PDF без потери качества. Использует запущенную копию MS Office для преобразования.
Alfresco File System Transfer Receiver - серверное ПО, позволяющее выступать в качестве приёмника при репликации контента в Alfresco. Например, можно организовать периодическую выгрузку на хостинг содержимого сайта в виде html/php/css файлов.

Краткий обзор возможностей

Возможность Вариант использования
1 Хранилище документов Позволяет организовать оперативное/архивное хранение документов. Как уже говорилось, представляет собой иерархию папок и документов. Для любого документа или папки можно задать свой тип с дополнительными пользовательскими атрибутами (например, проект, контрагент, тема и т.д.)
2 Доступ по CIFS Позволяет подключать репозиторий как обычный сетевой диск. При этом файловый сервер может быть легко перенесён на репозиторий Alfresco, пользователи не заметят ощутимой разницы, но получать дополнительные возможности. Любая внешняя система (например, программа по приёму факсов) или устройство (например, сетевой сканер) может легко создать документы в Alfresco просто путём копирования на такой диск.
3 Доступ по WEBDAV Редактирование документов MS Office, и OpenOffice, а также в других пакетах, поддерживаемых webdav, может легко производиться напрямую из репозитория Alfresco. Преимуществом этого протокола по сравнению с CIFS является то, что он может работать поверх файерволов (межсетевых экранов). Это позволяет редактировать корпоративные документы даже вне корпоративной сети напрямую из MS Office.
4 Доступ по IMAP Эмуляция доступа по IMAP значительно упрощает архивирование почтовых сообщений из большинства почтовых клиентов MS Outlook, Bat и пр. Достаточно подключить Alfresco как IMAP сервер и перетащить нужные письма, они сразу же попадут в репозиторий и будут доступны для поиска. Возможно сразу запустить нужный бизнес-процесс на основании темы письма или содержания.
5 Управление бизнес-процессами Alfresco имеет подсистему управления бизнес-процессами - Activiti. Есть уже несколько встроенных шаблонов простого согласования и ознакомления. Есть все инструменты для создания бизнес-процессов любой сложности с помощью механизма расширений.
6 Умные папки и бизнес-правила Одной из привлекательных возможностей является так называемые умные папки. В Alfresco имеется механизм, который позвляет запустить некоторые действия при создании, обновлении, удалении документов в любой папке. Такой механизм реализован посредством правил (Rules).
Например, необходимо при приходе нового факса отправить уведомление секретарю. Для этого факс-программа настраивается, чтобы выкладывать факсы на сетевой диск Alfresco (CIFS) в папку "Факсы", а в самой Alfresco для папки настраивается правило, в котором указается, что при попадании любого документа в папку, запускать бизнес-процесс ознакомления с исполнителем - секретарь.
Все настройки делаются через интерфейс Alfresco без программирования.

Наш опыт использования

Мы используем Alfresco c 2008 года (сначала версия Alfresco 2.9B, а сейчас Alfresco 4.0.d). Мы её практически не дорабатывали, хотя занимаемся профессиональной разработкой на этой платформе. В Alfresco хранится несколько видов контента:

  1. Финансовые, договорные, бухгалтерские документы (сканы). Мы сканируем входящие/исходящие счета, договоры, акты выполненных работ, РКО, акты сверки и прочее для дальнейшей передачи в бухгалтерию. Сканирование и атрибутирование производится из системы Fillin Express напрямую в Alfresco через протокол CMIS. У нас в Fillin Express настроено так, что документы в зависимости от типа и значений атрибутов попадают в определённую папку. Всё без программирования. Наличие сканированных копий позволяет бухгалтерии оперативнее заносить документы в 1С, оперативнее оплачивать счета, решать вопросы с контрагентами по расчётам (поднимать старые документы, подписанные акты, договоры).
  2. Документы по клиентам. В процессе поиска новых клиентов, переговоров, работы с существующими клиентами рождается и согласовывается большое количество договоров, дополнительных соглашений, технических заданий, требований, запросов на оценку. У нас организован отдельный сайт в Alfresco Share для таких документов. Там документы разбиты по клиентам и проектам. На верхнем уровне начальная буква клиента, далее краткое название, далее название проекта и в папке собственно документ. Например, /С/Синера/Сидокс/Техническое задание_v4.doc. Наличие такого хранилища позволяет систематизировать хранение, отслеживать версии документов.
  3. Проекты и проектные документы. Для крупных проектов мы создаём отдельные сайты в Alfresco Share, в которых задействуем не только библиотеку документов, но и ВиКи, Ссылки и прочие разделы. В ВиКи, например, мы пишем учебные задачи для начинающих разработчиков, правила кодирования, оформления кода, советы бывалых. В Ссылках мы храним ссылки на блоги, интересные статьи по Alfresco, Documentum, Kofax.
    При ежедневной работе с Alfresco в дашлете активности видно, кто что делает. Кто изменил какие файлы, запостил страницу в ВиКи и пр. Это позволяет себя ощущать в команде людей, занимающихся общим делом.
  4. Корпоративный сайт www.eurekabpo.ru . Для сайта используется Alfresco Web Quick Start. Был установлен модуль (из стандартной поставки Alfresco), импортирован стандартный пример сайта (там 2: для госструктур и финансов), удалён контент и заполнен своим содержанием. Удалённый сервер хостинга так же содержит запущенную Alfresco и WebQuickStart модуль. Между 2мя серверами настроена репликация (по запросу), что позволяет обновлять сайт не заходя на хостинг. Дизайн сайта был реализован в виде небольших доработок для WebQuickStart (набор файлов CSS, изображений, FTL - шаблонов, и настроек конфигурации).
    Для обратной связи используется стандартный механизм Alfresco WebQuickStart, который сохраняет запросы в виде элементов Списков данных (DataList).

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