K2 blackpearl sharepoint

Платформа K2 - потужне і функціональне програмне забезпечення для автоматизації бізнес-процесів в масштабах організації і за її межами. Засоби візуальної розробки K2 дозволяють не тільки просто і гнучко автоматизувати бізнес-процеси, а й підтримувати створені рішення.

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

SharePoint Channel починає публікацію серії статей про особливості роботи з даною технологією. Власним досвідом застосування K2 при разаботке рішень по автомтаизації процесів на базі платформи SharePoint ділиться Артем Уткін, разарботчік SharePoint.

До того моменту, як я почав розробляти перше рішення під K2, я вже був знайомий з даною технологією, але суто теоретично. Тому доводилося долати деякі бар'єри в розумінні того, з чого почати і як правильно потрібно спланувати проект, щоб побудувати працездатне рішення на K2 для SharePoint порталу. До всього іншого труднощів додавало те, що у мене був досвід розробки workflow-рішень з використанням SharePoint Designer, дизайнера процесів для SharePoint в Visual Studio, а також Nintex. Зазначені Інстурмент мають багато спільних принципів (в статті я буду називати такі процеси як SharePoint-based процеси). В K2 розробка має дещо інші принципи, тому рішення багатьох завдань виявлялося зовсім не там, де б я їх шукав у випадку з тим же Nintex.

У цій статті я хочу поділитися з колегами, які займаються розробкою K2 рішень, придбаними навичками, щоб допомогти почати використовувати дану технологію.

У першій частині представлені такі пункти:

K2 Workspace
Environment Library
K2 Process Portal
Дизайнери процесів
Використання коду
Корисні програми
перенесення рішень

Я привожу це першим пунктом, тому що, на мій погляд, - це наріжний камінь K2, і про нього треба знати розробникам рішень в першу чергу, ще навіть до знайомства з K2 архітектурою.

Про це також необхідно сказати на самому початку. Worklist - це список завдань, які створюють робочі процеси K2. І він єдиний.

Для всіх SharePoint-based робочих процесів є одна характерна особливість - завдання створюються в списку завдань, розташованому на тому ж сайті, на якому виконується робочий процес. Тобто, якщо на фермі існує 20 сайтів і на кожному присутні якісь робочі процеси, то завдання щодо цих процесів створюються в 20 різних списках завдань.

В K2 зовсім інший підхід. Існує єдиний список завдань (Worklist), і завдання з усіх процесів записуються саме туди.

Знову-таки, слід зазначити, що розробляти процес можна в режимі SharePoint workflow integration і тоді є можливість налаштувати створення завдань у списку завдань сайту, але в такому випадку втрачається багато переваг K2, таких як ескалації, «робочий час», «out of office »,« lazy approval », звіти, KPI і т.д.

Відособленість процесів від SharePoint

K2 blackpearl незалежний від SharePoint. Про це докладніше буде сказано нижче, але для початку потрібно розуміти, що процеси виконуються не в рамках SharePoint.

SharePoint-based робочі процеси виконуються в рамках певного сайту. Вони використовують певний список завдань, список історії робочих процесів; прив'язані до певного списку, а головне до певного елемента списку і запускаються або вручну, або за його створення або редагування. Додатково є робочі процеси рівня сайту, як наприклад в Nintex, але вони також працюють з даними поточного сайту.

Тепер, звичайно ж, варто привести трохи теорії про архітектуру K2.

Платформа K2 незалежна від SharePoint, але для її функціонування необхідні компоненти Microsoft, зокрема SQL Server, IIS. NET Framework (WWF, WCF і WPF).

Всі компоненти K2 blackpearl логічно можна поділити на три групи:

1. Серверні компоненти

K2 сервер працює як служба Windows. В основі лежить платформа, на якій встановлений .NET Framework, і яка надає базові сервіси і функціональність для K2 hosted серверів і сервісів. Цю основу K2 називають host-сервером.

K2 використовує модулярную архітектуру, що дозволяє розширювати багато компонентів або встановлювати їх на різних серверах.

На зображенні нижче зображена ілюстрація K2 blackpearl Server платформи.

Hosted-сервіси використовуються як безпосередньо host-сервером, так і клієнтськими API для забезпечення комунікації з клієнтами або іншими серверами в мережі. Шар TCPIOP обробляє всі комунікації зі стандартних клієнтських API, які зазвичай використовують розробники, наприклад, SourceCode.Workflow.Client або SourceCode.SmartObjects.Client. Далі такі запити передаються runtime-компоненту конкретного hosted-сервера (будь це Workflow hosted-сервер або SmartObject hosted-сервер).

Hosted-сервери можуть бути встановлені на різні фізичні або віртуальні сервера, в той час як core-сервіси та hosted-сервіси повинні бути встановлені скрізь, де встановлюється K2 blackpearl.

Нижче наводиться опис основних core-сервісів і hosted-сервісів:

Детальніше про серверні компонентах дивіться тут:

Architectural Overview of K2 blackpearl
Architecture of Authoring, Management and Runtime aspects of the K2 platform
Architecture of the Workflow Server
Architecture of the SmartObject Server
2. Клієнтські компоненти

3. База даних K2

При установці K2 створюється окрема база даних. Вона може розташовуватися на сервері, де не встановлено K2, тому базу даних виділяють в окрему від серверних компонент групу.

Також рекомендую почитати статтю Андрія холінового «Як підготувати середовище для установки K2 blackpearl і smartforms», в якій розглядається термінологія K2, архітектура і варіанти конфігурації ферми.

Інтеграція з SharePoint

Як вже було сказано вище, K2 blackpearl незалежний від SharePoint. Інтеграційні компоненти, які встановлюються на SharePoint, використовують K2 Management API або K2 Client API для взаємодії з сервером K2.

В цілому інтеграційні компоненти я умовно поділив на такі групи:

Управління та налаштування:
сторінки налаштувань на сайті Central Administration,
сторінки налаштувань K2 Site Settings рівня окремої сайтовой колекції,
шаблон сайту K2 Process Portal (можна створювати як окрему сайтовий колекцію, так і підсайт для існуючої колекції сайтів).
SmartObject Management.
K2 Designer for SharePoint.
K2 Workflow Integration.
K2 веб-частини.
Стартова точка, з якої здійснюється настройка K2 для SharePoint, - це Central Administration. За великим рахунком тут активуються можливості для сайтовий колекцій, і вже далі для них проводиться розробка K2 рішень або установка готових. Але також присутні і глобальні для всієї ферми SharePoint налаштування.

(Перелік SharePoint серверів в K2 Object Browser)

Також є можливість активувати тільки частина фич K2 для сайтовой колекції. Для цього необхідно зняти галочку потреби в їх активації на сторінці «K2 for SharePoint Configuration», і додатково активувати через «Features Management».

Сторінка налаштувань на сайтовой колекції виглядає таким чином:

Дана веб-частина спеціально розроблена для можливості відображення завдань поточного користувача на сторінках SharePoint. Але, на мій погляд, є істотний мінус цієї веб-частини - вона відображає завдання з усіх робочих процесів, в яких бере участь користувач. Тому якщо для конкретного сайту ви розробили пару робочих процесів, то не вийде використовувати цю веб-частину на цьому сайті так, щоб фільтрувалися тільки завдання по зазначеним процесам, - будуть показуватися також і завдання з процесів, жодним чином не пов'язаних з цим сайтом в очах кінцевого користувача. Тому таку веб-частину логічніше розміщувати десь централізовано, наприклад, на сайті MySites або використовувати готовий інтерфейс на K2 Workspace.