Workflow byla a je jedna z nejdůležitějších součástí SharePoint serveru, proto se v tomto článku zaměříme na novinky a změny ve workflow v SharePoint 2013.
Největší změnou je, že nové workflow nejsou již součástí SharePoint. Nová workflow jsou postavena na Windows Azure Workflow (WAW).Hned vás jistě napadla otázka, nová workflow již nelze provozovat v mé infrastruktuře? Není tomu tak, v současné verzi si může zákazník vybrat mezi SharePoint 2013 v on-premise řešení a hostovaným modelem. Stejně je tomu tak u nových workflow.
Windows Azure Workflow jsou postaveny na technologii Windows Workflow Foundation verze 4.5. Tím je jasné, že je nutné provést část instalace a konfigurace mimo SharePoint. Podporovaný je scénář běhu na stejném serveru jako samotný SharePoint, ovšem pro větší instalace určitě doporučuji zaměřit se na možnosti oddělení této součásti, stejně jako na nové možnosti škálování. Pokud jste měli možnost řešit někdy v minulosti problémy s výkonem a během workflow, tak jistě víte, že to nebylo úplně jednoduché. Díky novému pojetí workflow v SharePoint 2013 by mělo být těmto problémům konec.
Jak si jistě dovedete představit, scénářů instalace nového SharePoint je mnoho, díky změnám ve Workflow a Aplikačním modelu je nyní možné přemýšlet i o mixovaných nasazeních s Windows Azure.
Nyní máte tedy na výběr mezi původním modelem SharePoint workflow ve verzi 2010 a novými workflow SharePoint 2013. Po instalaci a základní konfiguraci SharePoint budete mít dostupné pouze workflow ve verzi 2010.
Architektura
Do architektury nových Workflow se podíváme hlouběji. Na úvod je důležité poznamenat, že nové workflow jsou podporovány pouze na SharePoint Serveru (nikoliv Foundation).
Jak jste již určitě pochopili, nová workflow jsou zpracovávána mimo samotný SharePoint, což sebou nese mnoho výhod:
- Výkon SharePoint Serveru není ovlivňován špatným kódem ve workflow
- Lepší možnosti škálování
- Jednodušší upgrade celé infrastruktury (obdobně jako u nového app modelu)
- Možnost přesunu zpracování workflow do cloudových služeb
- Sdílení stejných workflow v různých aplikacích i mimo SharePoint
Komunikace mezi Workflow aktivitami a SharePoint serverem probíhá výhradně přes webové služby (WCF). Výkonná část je na straně Workflow Manager Clienta verze 1.0, do kterého jsou směrovány veškeré události, na které workflow naslouchá, např. vytvoření položky v listu, změna položky v listu a podobně. Nová workflow je možné asociovat zatím pouze se SPList a SPWeb typem, není možné asociovat se SPContentType, ale je možné že některé další součásti budou dodány později. Samozřejmostí je možnost tuto funkčnost doprogramovat.
Nové workflow je možné tvořit pomocí více nástrojů nebo jejich kombinací, na výběr máme zatím mezi SharePoint Designerem 2013, Visual Studiem a kombinací SharePoint Designeru a Visio. Další detaily ohledně architektury jsou na následujícím obrázku z MSDN.
Architektura WF
Workflow interop – Spolupráce s Workflow 2010
Díky této vlastnosti je možné bez dalších problémů používat workflow verze 2010. V SharePoint 2013 workflow nejsou některé aktivity vůbec obsaženy a proto i zde najdete využití pro Workflow interop. Máme zde dva scénáře využití:
- Využití dříve vytvořených workflow
- Využití aktivit z SharePoint 2010 workflow, které nejsou součástí nových workflow
Druhý scénář je z mého pohledu sporný, ale zatím dle dostupných informací jediný scénář, pokud se chcete vyhnout programovaní. Na následujícím obrázku z MSDN je rozkreslen scénář, kdy se ze SharePoint 2013 workflow volá SharePoint 2010 workflow a v určité části si mezi sebou workflow předají výstup, se kterým se dále pracuje.
Komunikace s workflow 2010
Jistě vás napadne otázka, co tedy není součástí nových SharePoint 2013 workflow? Zde je výčet těch hlavních:
- Add List Item Permissions
- Assign a Form to a Group
- Assign a To-do Item
- Capture a version of the Document Set
- Collect Data from a User
- Copy List Item
- Declare Record
- Inherit List Item Parent Permissions
- Lookup Manager of a User
- Remove List Item Permissions
- Replace List Item Permissions
- Send Document Set to Repository
- Set Content Approval Status
- Set Content Approval Status for the Document Set
- Start Approval Process
- Start Document Set Approval Process
- Start Feedback Process
- Undeclare Record
- Impersonation block
Více informací můžete najít na následující stránce: http://msdn.microsoft.com/en-us/library/jj670125.aspx
Co budete potřebovat pro nové workflow?
Než se pustíte do konfigurace a testovaní, neodpustím si poznámku ohledně instalace nové farmy. Platilo i u předchozích verzí SharePoint Serveru a zde to platí dále, že konfigurace a instalace všech součástí SharePoint není jednoduchá a je dobré ji velmi dobře naplánovat a otestovat.
A nyní se podíváme na konkrétní požadavky:
- Windows 2008 R2 nebo novější OS
- SharePoint Server 2013 std. nebo ent.
- Klientský nástroj pro tvorbu – SharePoint Designer 2013
- Server pro běh workflow infrastruktury – může být i SharePoint server, nesmí být doménový řadič.
- .NET Framework 4 Platform Update 3 nebo .NET Framework 4.5
- Service Bus 1.0
- Workflow Client 1.0
- PowerShell 3.0
- Instance SQL Server 2008 R2 SP1, SQL Server Express 2008 R2 SP1, nebo SQL Server 2012
- Celou instalaci a vyžadované komponenty provedete pomocí Web platform installeru.
- Následně je nutné provést instalaci a konfiguraci pomocí Workflow Configuration Wizard.
- Posledním krokem je registrace do SharePoint Serveru pomocí PowerShell cmdletu, např.: Register-SPWorkflowService –SPSite "http://portal.xxxxx.xx" –WorkflowHostUri "http://shd2013.xxxx.xxx:12291" –AllowOAuthHttp
Detailní technický popis je součástí MSDN nebo TechNet článků a je možné začít zde: http://msdn.microsoft.com/en-us/library/jj163276(v=office.15).aspx
Po dokončení instalace a konfigurace můžete ověřit, zda je vše funkční např. při vytváření nového workflow pomocí SharePoint Designeru 2013. Pokud na serveru nemáte instalovaný Project Server, měla by nabídka při vytváření workflow vypadat následovně.
Výběr typu workflow
Novinky pro tvorbu WorkFlow
Jak jsem již nastínil v předchozích řádcích, je jasné, že nové workflow jsou zcela zásadně změněny. Jak je to tedy s výrobou takových workflow? V tomto článku se zaměříme na část, která nevyžaduje psaní programového kódu. Nová workflow jsou plně deklarativní a nejsou již kompilována do managed assembly. Jsou udržována v XAML souborech, které definují celé workflow.
Pro tvorbu nových workflow budete potřebovat instalovat pouze SharePoint Designer ve verzi 2013. V případě, že budete chtít využívat i Visual Designer, pak budete muset mít na stejné stanici i Visio 2013 ve verzi Professional.
Na následujících obrázcích vidíte dva možné pohledy na SharePoint Designer, jednou v klasickém „Text based“ režimu editace workflow a na druhém je „visuální designer“. Oba tyto pohledy lze libovolně přepínat i během přípravy workflow.
Sharepoint Designer 2013
- Mezi hlavní výhody, které přicházejí s novou verzí workflow v SharePoint Designeru 2013 :
- Přidány tzv. Stages – tyto části můžete využít jako stavový stroj
- Loop - Podpora pro cyklení části workflow (např. počet opakovaní akce s podmínkou)
- Volání externích služeb (REST/SOAP)
- Podpora pro nový aplikační model
- Podpora typu Dictionary
- Copy, Paste, Move
- Nové grafické modelování workflow (pomocí Visio a SharePoint Designer)
- Mnoho dalšího
Nyní se podívejme na některé části více do detailu. Samotná workflow jsou tvořena z částí Stages, Conditions (podmínek)a Actions (akce). Z každé z těchto kategorií vybírám některé zásadnější, aby si každý dokázal představit, jak je workflow tvořeno.
Stages
Stages jsou logické sekce, ze kterých se skládají jednotlivá komplexní workflow. Do této oblasti je možné přidávat neomezený počet jednotlivých kroků. Příkladem jedné takové sekce je např. schválení. Jednoduché workflow může obsahovou pouze jedinou sekci. Mimo takovéto sekce se mohou vyskytovat pouze části pro podmíněné vykonání (conditional shapes), Start a Terminate.
workflow stage
Loop
Smyčky jsou sady kroků spojené do sekvence kroků, které se opakují, dokud není splněna nastavená podmínka (např. počet opakování nebo hodnota některéhosloupce). Tyto cykly se musí vždy vyskytovat uvnitř Stage, ale Stage nesmí být uvnitř smyčky.
Paralelní zpracování
Tento krok workflow slouží pro spuštění paralelních akcí, které probíhají současně. Opět musí být uvnitř celku Stage.
Build Dictionary (akce)
Tento krok je úplnou novinkou a slouží k vytvoření datového typu dictionary, většinou ho využijete při práci s voláním webové služby, ale můžete ho použít i pro uložení informací.
Kompletní přehled všech použitelných aktivit je např. na MSDN : http://msdn.microsoft.com/en-us/library/sharepoint/jj164055(office.15)
Autor: Jan Slavík – KPCS CZ, s.r.o.
Články ze série Microsoft TechNet nevytváří redakce Živě.cz, ale partneři programu Microsoft TechNet. Jsou publikovány v rámci mediálního partnerství Živě.cz a společnosti Microsoft.