Реализация вложенных бизнесс процессов.

Добрый день!

Заинтересовала система Alfresco как альтератива для платный СЭД нашего рынка. Соответсвенно возникли не некоторый вопросы относительно того как можно реализовать некоторые бизнесспроцессы.

Предположим есть некий входящие документ, его отправляют на рассмотрение директору, директор передает его начальнику департамента (с визой, например: Подготовить ответ), он в свою очередь начальнику отдела. После того как документ попадает исполнителю он готовит ответ, и отправляет его на рассмотрение по обратной цепочке: начальник отела, начальник департамента, лиректор. Причем эта цепочка может состоять из любого количества звеньев

Для реализации такого workflow достаточно ли будет описания процесса в сонфигурационных файлах, если да то как, или придется писать на java?

Заранее благодарен.

Комментарии

fufler аватар

Первым на ум приходит такое решение. Создаёте процесс, состоящий из трёх стадий: старт, исполнение, завершение. На этапе исполнения при необходимости запускаете тот же самый процесс. Запуск процесса при помощи js описан тут.

Спасибо. Теперья ясно куда копать.

И еще вопрос а как быть со случаем если документ может быть передан нескольким сотрудникам сразу. Причем один из них ответственный за работу с документом, а второй соисполнитель. Причем соисполнителей может юыть N-ое количество.

 

ПС: Имел опыт работы с одной системой документо оборота, причем довольно плотно. Поэтому сейчас хочу примерно понять как реализовать не которые вещи на Alfresco

fufler аватар

Для создание паралельных ветвей выполнения процесса существуют две конструкции: Fork и ForEachFork (подробнее тут). Fork используется в случае, когда количество ветвей известно заранее, ForEachFork -- когда неизвестно.

Чем исполнитель отличается от соисполнителя в вашем случае?

Ну основное отличие в том что если документ будет просрочен камни полетят на ответственного.

И еще одно. Например на входящие документ необходимо подготовить ответ, соисполнители отправляют ответственному информацию, и он уже делает свод (собирает все в месте) и отправлят на согласование по цепочке на верх.

fufler аватар

 В таком случае лучше отдать документ напрямую ответственному, а тот в свою очередь запустит подпроцессы и передаст документ соисполнителям. Так будет явно видно, в кого кидать камнями.

По идее то да, но только ответственный исполнитель и соисполнители они имеют одинаковые должности, тоесть не совсем правильно когда один специалист выдаст поручение другому. И соисполнитель может проигнорировать это поручение сославшись что были другие от начальников.

Одно дело когда присодит сослуживец и говорит: "Дай мне информацию по ххххх", и другое когда приходит начальник и говорит: "Дай ему информацию по ххххххх"

fufler аватар

В таком случае можно сделать два ветвления: сначала Fork, по одной ветви которого ставится задача исполнителю, а по другой при помощи ForEachFork ставятся задачи всем соисполнителям.