Выбор движка Workflow — есть ли логика?

Darth-Vader-Йода

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

  • SharePoint Workflow — условная цена — бесплатно. Вы получаете движок из коробки. И можете его смело использовать для разработки ваших простых рабочих процессов в SharePoint. Это будет не так удобно как в вариантах ниже. Скорее всего вам придется покодировать. Если мы говорим о версии SharePoint 2010 то вам точно придется покодировать и даже поизвращаться в создании процессов. Это будет неэстетично и не практично. В версии 2013 ситуация стала лучше. Но … Если мы хотим чтобы рабочими процессами было удобно пользоваться как при разработке так и при выполнении смотрим дальше.
  • Простые решения — например Nintex Workflow — условная цена — 5-15 000 условных единицы (далее у.е.). Сразу помним что в модели лицензирования требуется лицензировать каждый SharePoint сервер который выполняет рабочие процессы. В простой ферме на 2 сервера их 2. Т.е. цена вопроса — 30 000 у.е. За эти деньги у вас будет весьма симпатичный дизайнер рабочих процессов, продуманные кубики, приятные плюшки по интеграции, различные варианты кубиков для построения логики рабочих процессов. Для пользователей — доступная визуализация хода процесса. Это еще не BPM но уже гораздо user-friendly. С точки зрения визуализации — жесткое следование суровой логики дерева процессов. Видно мама сильно в детстве ограничивала разработчиков Nintex Workflow — и это проецируется на вас. Вас построят в дерево. Тем кто привык к свободе визуализации бизнес процесса тут обломятся. Но это не страшно, можно привыкнуть.
  • Серьезные решения - например K2 BlackPearl (http://www.k2.com/blackpearl) — условная цена вопроса 20 — 100`000 условных единиц. Тут все сложнее — много ценовых опций, вариантов лицензирования по пользователям, по использованию, пакетами пользователей, по серверам. Возможности выбора есть. Но так или иначе от предыдущего класса цена вопроса уходит вверх. По факту наши условные единицы растут почти в 2 раза. Плюс минус. За что платить больше? Тут и правильная Enterprise архитектура решения, тут и отличные возможности по интеграции, тут и много интересных решения по визуализации. Но самое главное — это ФОРМЫ! В первом пункте у нас очень плохо с формами — в стандартном SharePoint InfoPaht попал под черную метку смерти продукта, базовые формы очень ограничены. В Nintex есть формы — но они простые и скорее применимы для сбора внешних данных (это хитрейшая штука позволяет вам перестать платить в Microsoft лишние деньги за внешних пользователей). В K2 — разительное, отличное решение по созданию форм. Это супер, это то что нужно для построения полных решения — и автоматизации рабочих процессов и визуализации данных. Но почему ворчат ваши бизнеса? Ах, мама у разработчиков K2 тоже их ставила в угол? Нет-нет. Это был наверное злой профессор по который из любил учить разным машинам состояний, переходам между ними. Любой ИТ скажет что это нормуль. Но вот у бизнеса волосы слегка станут дыбом — страшная сеть стрелочек между блоками — этакое скопление пауков. Чтобы сделать процесс понятным для пользователя надо постараться — но все равно — никаких тебе красивых точек принятия решений, ни тебе ролевых дорожек. Тут же возражения — это не BPM!  Тогда смотрим далее …
  • Крутые решения (BPM) — например IBM BPM. Если вы дошли уверенно сюда и рост цены вопроса вас не смутил — вы серьезный человек, у вас есть инвестиционный бюджет, ваши пользователи твердо хотят комфортной работы, ваши специалисты не хотят толкаться в дурацкой Visual Studio — все должно быть круто интегрировано, красиво разнесено а для бизнеса еще чтобы была симуляция процесса и супер схемы процессов. Это справедливые требования для крупных компаний, банков — всех тех где планируют автоматизировать сотни процессов, где критично важно разделение рабочего места бизнес аналитика, кастомайзера, интегратора и разработчика. Все это доступно тут — в решениях категории BPM. Нравится? Цена вопроса от 100`000 до 300`0000. Это солидные продукты. Их разработчики презрительно поплевывают в сторону молодых нахалов из K2 и вообще не замечают Nintex и SharePoint. Большие системы для больших компаний.

Сложный выбор? Спросите себя

  1. Сколько надо будет автоматизировать процессов в течении 2-3 лет. Если речь о 10 простых workflow и у вас есть бюджет на outsource (для простоты считайте 10`000 — 25`000 условных единиц на процесс) — вам в outsource.  Если бюджета нет — то вам на рынок труда — наймите себе разработчика за … как повезет (по нынешнему курсу это 1500$ -2500$ в месяц)
  2. Насколько сложная будет логика процессов? Если это длиннющий процесс, с несколькими точками принятия решений и у вас SharePoint 2010 — вам или миграция или пункт 2 и выше.
  3. Насколько сложная интеграция? Если у вас SAP то в K2 есть готовый коннектор. Если вам нужно по больше простых коннекторов — удобнее всего Nintex. Если у вас несколько кастомных систем с разбросанными по ним кусками данных — то вам пригодятся интеграционные возможности K2 или IBM BPM.
  4. Если у вас большая ферма SharePoint из десятка серверов и тысячи пользователей — вам лучше вынести логику обработки процессов отдельно. Кроме производительности это еще и вопрос лицензирования. На 10 серверов Nintex вам будет стоить условных 150000 — а за эти деньги выгоднее купить более мощное K2 или что уже там экономить — добавьте чуток и поставьте себе IBM BPM.
  5. Если у вас специфические вычисления и много экземпляров процессов — большие риски их держать на SharePoint — лучше выносить в отдельный сервер (K2 или IBM BPM)
  6. Если у вас основная платформа IBM и вы не собираетесь к мелкомягким — IBM BPM. Дружба K2 в мире далеком от IBM с системами все хуже и хуже. Особенно со старой гвардией IBM систем.
  7. Если у вас бизнеса обоснованно хотят BPM (сложная логика процессов, необходимость управлять бизнес процессами, нужно четко разделить работу специалистов, огромное количество процессов) — IBM BPM

С ростом категории систем условная цена вопроса в условных единицах поднимается в условных два раза. Но вам стоит помнить что outsource бизнес процесса стоит денег. И если брать простой процесс и считать что нам он обойдется в 10`000$ (это совсем-совсем-совсем простой) — то 50 простых — это 500`000$. Если отдавать себе отчет что простыми они все не будут — умножаем это на число Пи — и получаем 1`500`000 $. Ой! Какая мелочь этот IBM BPM, правда?

 

Пример использования jQuery

http://sympmarc.com/2011/07/08/adding-jqueryspservices-to-a-sharepoint-page-step-one-always/

… и много постов по ключевому слову в wordpress: http://en.wordpress.com/tag/jquery-library-for-sharepoint-web-services/

Простой инструмент разработки — jQuery для SharePoint

Когда мы говорим о разработке  решений для SharePoint — мы сразу вспоминаем про Visual Studio и сразу становится грустно — нужны разработчики, кодирование и т.п. Кроме непосредственно программирования решений для SharePoint на C# мы можем применить более простые инструменты для разработки — Javascript c библиотекой jQuery и решением на ее основе: jQuery для SharePoint. Это уровень абстракции для Web сервисов SharePoint — позволяет удобно обращаться к набору Web сервисов Sharepoint.

Web сервисы предоставляют огромную широту функционала — получить данные из любого списка (включая списки в другой сайтовой коллекции), добавить или удалить элемент, изменить права доступа, получить данные о пользователе. Вы можете создавать новые сайты и наполнять их структурными элементами!

И для всего этого вам не нужно использовать Visual Studio :-)