Я теж упереджений, оскільки є головним автором StonePath .
Я розробив додатки робочого циклу для Державного департаменту США, Женевського центру гуманітарного розмінування, кількох клієнтів із стану 500 та нещодавно системи державних шкіл у Вашингтоні, округ Колумбія. Кожного разу, коли я бачив "механізм робочого процесу", який намагався стати головним посиланням на бізнес-процеси, я бачив, як організація бореться за те, щоб обійти цей інструмент. Це може бути пов’язано з тим, що ці рішення завжди керувалися постачальником / продуктом, а потім у підсумку тактична команда «консультантів», яка постійно годує додаток ... але через це я схильна негативно реагувати, коли чую переваги заснованих на процесах інструментів, які обіцяють "централізувати визначення робочого процесу в одному місці і зробити їх повторюваними".
Тим не менш, мені дуже подобається Ruote - я вже деякий час стежу за цим проектом, і якщо мені знадобиться таке рішення, це буде наступний інструмент, який я буду готовий спробувати. StonePath має зовсім інше призначення, ніж ruote - там, де Ruote корисний Ruby загалом, StonePath націлений на Rails, веб-фреймворк, написаний на Ruby. Якщо Ruote стосується довготривалих бізнес-процесів та пов'язаних з ними визначень, StonePath - про управління робочим процесом та завданнями, що базуються на державі. Чесно кажучи, я думаю, що відмінність від зовнішнього вигляду може бути тонкою - багато разів однакові типи бізнес-процесів можуть бути представлені в будь-якому випадку - модель, що базується на стані та завданнях, як правило, відповідає моїй ментальній моделі.
Дозвольте мені описати основні моменти державного робочого процесу. Коротше, уявіть робочий процес, який обертається навколо обробки чогось на зразок іпотечного кредиту чи поновлення паспорта. Коли документ рухається „по офісу”, він переходить від штату до штату. Уявіть, якщо ви несете відповідальність за документ, і ваш начальник просив вас кожні кілька годин про оновлення статусу і хотів коротку відповідь ... ви сказали б такі речі, як "Це введення даних" ... "Ми перевіряємо повноваження заявника зараз "..." ми чекаємо перевірки якості "..." Ми закінчили "... тощо. Це стани в державному робочому процесі. Ми переходимо від стану до стану шляхом переходів - наприклад, "схвалити", "застосувати", відкат "," відмовити "тощо. Це, як правило, дієслова дії.
Наступною частиною робочого циклу на основі стану / завдання є створення завдань. Завдання - це одиниця роботи, як правило, із датою закінчення строку та інструкціями щодо обробки, яка пов'язує робочий предмет (наприклад, заявку на позику або поновлення паспорта) до користувачів "у вікні". Завдання можуть виконуватися паралельно один з одним або послідовно, і ми можемо створювати завдання автоматично, коли ми входимо у стан, створювати завдання вручну, коли люди усвідомлюють, що потрібно виконати роботу, і вимагати виконання завдань, перш ніж ми можемо перейти до нового стану. Весь такий спосіб поведінки є необов’язковим і є частиною визначення робочого процесу.
Кроляча нора може зайти набагато глибше, ніж це, і я написав про це статтю для випуску No4 PragPub, журналу прагматичного програміста. Перегляньте посилання на повторне повторне оновлення PDF для цієї статті.
Працюючи з StonePath протягом останніх кількох місяців, я виявив, що модель, заснована на державі, дуже добре відповідає спокійним веб-архітектурам - зокрема, завдання та переходи стану добре відображаються як вкладені ресурси. Очікуйте побачити в майбутньому від мене написання на цю тему.