Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.

Slides:



Advertisements
Podobné prezentace
Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
Advertisements

Kompozitní aplikace (Office Business Applications) Michael Juřek, Software Architect Tomáš Kutěj, TSP – Office Platform Microsoft s.r.o.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
Workflow Foundation Základy a architektura
Modelování procesů pomocí workflow
Softwarový systém DYNAST
ALGO – Algoritmizace 1. cvičení
Zpracování komplexních událostí a Apama Michal Džmuráň
Filtr významnosti jako framework pro prezentační vrstvu
C# pro začátečníky Mgr. Jaromír Osčádal
BI, e-commerce Ing. Jiří Šilhán. Úroveň informatiky.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Ensemble pro rychlejší tvorbu Caché aplikací Využijte infrastrukturu Ensemble pro své aplikace.
Tvorba webů pomocí Web CMS Michal Neuwirth Product Manager Kentico Software s.r.o. Ondřej Výšek Samostatný konzultant Optimalizovane-it.
GORDIC ® + CA = vaše cesta ke zvýšení kvality a efektivity služeb DRMS FORUM Ing. Jakub Fiala vedoucí týmu CA Technologies programátor,
SAP Ing. Jiří Šilhán.
Outsourcing jako strategický nástroj řízení nejen v komerční sféře
11. Trendy ve vývoji aplikací, podporujících podnikové procesy
Vývoj aplikací pro SharePoint
Michael Juřek Software Architect Microsoft s.r.o.
Software Architect Forum 2006 Trendy ve vývoji aplikací Michael Juřek, Dalibor Kačmář Microsoft s.r.o.
Systémy pro podporu managementu 2
Pokroky v technologiích (1) Od Zen reportů ke grafickému návrháři DeepSee reportů.
Tvorba dokumentů – kritéria Obsah a forma –aktuálnost a správnost informací, variabilní data, –forma adekvátní příjemci, estetika, –účelná struktura, členění.
Roman Valeš projekt AVT. Cíl práce Obeznámení s programovacím jazykem Java Práce s vývojovými nástroji Hierarchie kódu Androidu Vytvoření Android aplikace.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Aplikační programy, programovací jazyky, formáty datových souborů
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
LiveContent Univerzální Formulářové Řešení Michal Petrtýl, Marek Beneš.
Možnosti modelování požadavků na informační systém
B. Miniberger, BIVŠ Praha 2009
Outsourcing ICT systémová a aplikační integrace v pojetí O2 Projekt Integrace sítě Ministerstva zemědělství.
Představujeme Ensemble Michal Tomek. Na tomto obrázku vidíte, co systému Ensemble chybí:
Programové vybavení počítače
David Šupita, Adam Řešetka, Petr Horák
Microsoft Office InfoPath 2003 Tomáš Kutěj Account Technology Specialist
Aleš Chudý IW BG Lead Microsoft Corporation. Lidé jsou klíčové aktivum firem Nové trendy práce Software jako platforma Strategická iniciativa (horizont.
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.
Systémy pro podporu managementu 2 Inteligentní systémy pro podporu rozhodování 1 (DSS a znalostní systémy)
Databázové modelování
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
Filtr významnosti jako framework pro prezentační vrstvu Ing. Igor Kopetschke – TUL, NTI
Vývoj helpdesků od roku 2000Již třetí verze „nativního“ helpdeskuPrvní verze HD pro MOSS v roce 2007Druhá verze HD pro MOSS v roce 2009.
SOA = Architektura orientovaná na služby
© Doc. Miniberger, BIVŠ UML modelování Webové služby představují sadu standardů umožňující komunikaci aplikací bez ohledu na platformu, na které jsou provozovány.
INFORMATIKA 8 Windows do r III2 – I ANOTACE Materiál obsahuje prezentaci ve formátu Microsoft PowerPoint (.ppt) pro učivo v předmětu Informatika,
OPERAČNÍ SYSTÉMY.
Sales & Consulting IGS, Czech Republic © 2005 IBM Corporation Optimalizace a sdílení informací ve státní správě Pavel Hrdlička.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Protálová řešení Příklady reálných nasazení Tomáš Kutěj System Engineer Microsoft.
Visual Basic - programování
ECM – Enterprise Content Management
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
YOUR SYSTEM, spol. s r. o. Ing
Technologie Workflow Cesta k flexibilitě J.Skorkovský ESF MU.
Technologie Workflow Cesta k flexibilitě J.Skorkovský ESF MU.
Now … Let’s Talk About … WORKFLOW 2013 V PRAXI Mainstream Technologies, s.r.o. ONDŘEJ SOUKUP.
MINISTERSTVO PRO MÍSTNÍ ROZVOJ ČR E-tržiště České pošty.
A jeho praktická aplikace Štěpán Vacek Univerzita Hradec Králové Liberecké informatické fórum 2010.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Vypracoval / Roman Málek
Přednáška pro předmět Operační systémy II ÚI PEF MENDELU
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Redakční systém s integrací webových služeb
Analýza informačního systému
Desktopové aplikace na .NET Core
Transkript prezentace:

Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.

Agenda Proč modelovat procesy? Základní pojmy Modelování procesů pomocí WF Abstrakce obchodních pravidel Hostování WF Kde je uživatelské rozhraní? Různé, co dále,...

Proč modelovat procesy? Produktivita vývojáře Model je pohodlná abstrakce pro popis problémů reálného světa Řešení technologických problémů: Procesy běží často dlouho a musí si uchovávat stav Procesy vyžadují flexibilní kontrolu toku Procesy by měly být transparentní Definice procesu by měla být snadno rozšiřitelná

Uchování stavu Některé procesy běží zlomky sekund (výpočet slevy) jiné dny či týdny (zpracování objednávky) Uchování stavu na aplikační úrovni je neustále se opakující úlohou Uchování musí být robustní (restart aplikace, počítače,...) „Objednávka je potvrzena do 48 hodin a vyřízena do 30 dnů“

Flexibilita Některé procesní prvky mají přímočarou reprezentaci v klasických programovacích jazycích PodmínkaSmyčka Jiné se vytvářejí složitě nebo obtížně: Paralelní provedení Reakce na externí událost Neplánované zopakování akce Stavový stroj Nepředvídatelné pořadí akcí „Většina dodavatelů potvrdí objednávku, ale někteří zapomenou, a je třeba to řešit“ „Většina dodavatelů potvrdí objednávku, ale někteří zapomenou, a je třeba to řešit“

Transparentnost Kód není přirozeným způsobem zápisu pro definici procesu Transformace z kódu do procesu je jednosměrná, nevratná Kód a proces nejsou synchronizovány Intuitivně tíhneme k vizuální definici procesu (Visio, tabule, stavový diagram, vývojový diagram,...) „Jaký je stav objednávky a jaké jsou další kroky?“

Rozšiřitelnost Proces by mělo být možné skládat z libovolných bloků, např. Základní konstrukce pro řízení toku Vlastní elementární kroky Vertikálně nebo aplikačně specializované kroky (CRM,...) Opakovatelné a znovupoužitelné fragmenty procesů (podprocesy) „Zde ještě potřebujeme jedním krokem provést zápis do CRM systému“

Kdy použít workflow? ANO pokud: Kód má velkou pravděpodobnost změny Kód obsahuje komplexní logiku Kód je různý v různých instancích aplikace (opakovatelná řešení) NE pokud: Kód je přímočarý a snadno čitelný Výkonnostně kritická sekce Nižší úrovně aplikace (Data Access,...)

Proč Workflow Foundation? Jednotná workflow technologie Dostupná všem zákazníkům jako součást platformy, součást „hlavního proudu“ Vhodná pro všechny scénáře Používána dalšími Microsoft produkty, např. pro workflow v Office 2007 a WSS 3.0 Rozšiřitelný framework a API pro vytváření vlastních řešení Relativně snadný přechod pro vývojáře na.NET platformě

Agenda Proč modelovat procesy? Základní pojmy Modelování procesů pomocí WF Abstrakce obchodních pravidel Hostování WF Kde je uživatelské rozhraní? Různé, co dále,...

Co je to workflow? Soubor aktivit koordinujících lidské nebo softwarové účastníky InformujNadrizeneho Například: ZkontrolujDostupnost... jako vývojový diagram … v nějaké formě určující tok provádění... jako stavový diagram

If Amount > And _ User.IsInRole(“Manager”) Then … ElseIf Amount > 1000 And _ User.IsInRole(“AsstMgr”) Then … Else … End If Rule 1 Rule 2 Pravidla (podmínky)

If Amount > And _ User.IsInRole(“Manager”) Then … ElseIf Amount > 1000 And _ User.IsInRole(“AsstMgr”) Then … Else … End If Rule 1 Rule 2 Aktivity

If Amount > And _ User.IsInRole(“Manager”) Then … ElseIf Amount > 1000 And _ User.IsInRole(“AsstMgr”) Then … Else … End If Rule 1 Rule 2 Workflow

Workflow Foundation Základní koncepce: Host Process Workflow Foundation Runtime Engine Workflow Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Visual Designer: Vytváření workflow grafickým modelováním a/nebo v kódu Workflow je soubor aktivit Workflow běží uvnitř nějakého hostitele (aplikace nebo služby) Vývojáři mohou vytvářet vlastní knihovny aktivit Komponenty: Base Activity Library: Základní aktivity, základ pro tvorbu vlastních Runtime Engine: Provádění workflow Runtime Services: Hostování, infrastruktura, komunikace

Workflow může být zapsáno v C# / VB.NET a/nebo jako XML (formát XAML) using System.Workflow.Activities; public class MyWorkflow : SequentialWorkflow { … } <SequentialWorkflowActivity x:Class="WorkflowConsoleApplication1.Workflow2" x:Name="Workflow2„ xmlns:x=„ xmlns=" Co je to workflow?

Způsoby vytváření workflow Kompilátor C#/VB Pouze deklarativně XML definuje strukturu logiky workflow a tok dat XAML Pouze kód Workflow vytváří svou strukturu (strom aktivit) v konstruktoru C#/VB Deklarativně + kód XML definuje workflow, kód (Code-beside) určuje dodatečnou logiku XAMLC#/VB Generování v aplikaci XAML C#/VB Vytvoření stromu aktivit a serializace Kompilátor workflow wfc.exe Standardní.NET assembly Workflow Runtime Workflow Loader

Co je to aktivita? Aktivita je jeden krok v provádění workflow Má vlastnosti a události, ke kterým můžete přistupovat z kódu Má metody (např. Execute), které volá workflow runtime (vy byste je volat neměli) Analogie s Form / Control ve WinForms Activity / Control Workflow / Form Workflow dědí z Activity / Form dědí z Control Dvě základní kategorie Basic – „dělají skutečnou práci“ Composite – spravují sadu jiných aktivit

Agenda Proč modelovat procesy? Základní pojmy Modelování procesů pomocí WF Abstrakce obchodních pravidel Hostování WF Kde je uživatelské rozhraní? Různé, co dále,...

Krok 1: Vyberte vhodný model workflow Sekvenční (vývojový diagram) Sekvenční provádění kroků Očekávaná hlavní cesta průběhu Formální, preskriptivní Stavový stroj Reaktivní, řízený externími událostmi Častá interakce s lidskou obsluhou Mnoho variant cest průběhu Nečekaná ad-hoc zauzlení: Přeskočení, opakování kroku

Stavový stroj Stavový stroj se skládá z množiny stavů V každém stavu může být přijata sada událostí Na základě obdržené události je provedena akce V rámci akce může dojít k přechodu do jiného stavu S1 S2 S3 S4 S5

Krok 2: Seznamte se se všemi základními aktivitami Kontrola toku: IfElse, Delay, While, Parallel, Suspend,... Komunikace InvokeWebService, HandleExternalEvent, CallExternalMethod,... Obsluha chyb a transakcí Throw, Compensate,... Pokročilá práce s pravidly: ConditionedActivityGroup, Policy, Replicator

Krok 3: Navrhněte vlastní elementární aktivity Aktivity jsou standardní.NET třídy Lze je odvodit buď ze základní abstraktní třídy Activity anebo z existující konkrétní třídy Mají vlastnosti a události, které definuje autor aktivity, jsou přístupné v rámci běžícího workflow Autor aktivity přepisuje metody abstraktních předků – zejména Execute(), tyto jsou volány z workflow runtime (nelze z hostitele) Mohou být součástí workflow assembly anebo mohou fungovat jako knihovny aktivit pro opakované použití

Serializer Code Generator Designer ToolboxItem [Designer(typeof(MyDesigner))] [Validator(typeof(MyValidator))] [CodeGenerator(typeof(MyCodeGen))] [Serializer(typeof(MySerializer))] [ToolboxItem(typeof(MyToolboxItem))] Validator [ SupportsTransaction] [SupportsExceptionHandlers] public class MyActivity: Activity {... } Doprovodné třídy: Transactions Chování: Aktivity – metadata

DependencyProperty Veškeré stavové vlastnosti aktivity je vhodné uchovávat pomocí systému DependencyProperty: Slouží jako statický klíč pro získání hodnoty, které jsou pro každou instanci uloženy v interní HashTable třídě Navenek zabalena do klasické.NET vlastnosti pro pohodlný programový přístup Umožňuje efektivnější práci při návrhu a fungování za běhu Práce s designérem ve Visual Studiu Automatická notifikace o změně vlastnosti Serializace (zejména pro účely persistence) Data binding Validace

Krok 4: Identifikujte znovupoužitelné vzory Kompozitní aktivita = „podproces“ Aktivity, jež obsahují anebo mohou obsahovat vnořené aktivity Odvozené ze třídy CompositeActivity Workflow je samo též kompozitní aktivita Používá se „grey box“ model Obsah vložené kompozitní aktivity lze vidět, ale nelze jej měnit Výjimkou jsou vlastnosti přístupné přes Property Promotion

Property Promotion Důležitá pro kompozitní aktivity „Děti“ libovolně hluboko v kompozitní aktivitě mohou zpřístupnit své události a vlastnosti: Umožňují konzumentovi kompozitní aktivity ovlivňovat její chování, aniž by znal její vnitřní logiku Podpora i při návrhu ve Visual Studiu Využívá DependencyProperty

Krok 5: Sestavte workflow Můžete použít různé stavební kameny: Základní aktivity Vaše elementární aktivity Kompozitní aktivity Aktivity třetích stran Podpora pro data binding mezi aktivitami Dialog pro vytvoření v designéru Automatický přenos hodnot za běhu DependencyProperty

Obsluha výjimek Silná analogie s try/catch konceptem Vznik výjimky: Chybou v code-behind anebo volaném kódu Explicitním použitím aktivity Throw Ošetření výjimky: Kompozitní aktivity mohou mít jeden a více tzv. Fault Handlers Určují posloupnost aktivit prováděných při zachycení specifikované výjimky Výjimka probublává nahoru stromem aktivity a může být ošetřena výše Není-li výjimka ošetřena, WF runtime ukončí provádění instance a vyvolá příslušnou událost

Transakce a kompenzace Hranice ACID transakce určuje aktivita TransactionScope Jsou-li transakce nebo jiné operace již dokončeny a poté dojde k chybě, je možnost provést kompenzující akce (stornovat fakturu, zrušit objednávku apod.) Aktivity CompensatableTransactionScope/Sequence může mít tzv. CompensationHandler, který je volán v případě neošetřené chyby vzniklé po dokončení aktivity Je-li více kompenzovatelných akcí, jsou kompenzace volány v opačném pořadí než byly prováděny aktivity Při ošetření chyby nebo zrušení aktivy lze použít aktivitu Compensate pro jiné chování

Vytvoření workflow Vlastní elementární aktivita Kompozitní aktivita Sestavení workflow

Agenda Proč modelovat procesy? Základní pojmy Modelování procesů pomocí WF Abstrakce obchodních pravidel Hostování WF Kde je uživatelské rozhraní? Různé, co dále,...

Podmínky v aktivitách Řada aktivit vyžaduje pro své fungování vyhodnocení podmínky: IfElse, While, Replicator, CAG,... Dvě možnosti realizace podmínky: Code Condition – odkaz na delegáta: public void Podminka(object sender, ConditionalEventArgs e) { e.Result = (...doplň výraz vracející boolean...); } Declarative Rule Condition Odkaz na deklarativně vyjádřenou podmínku v XML souboru.rules

Proč oddělit pravidla? Pravidla = složitá rozhodovací logika Modelování místo kódování Transparentnost Velká pravděpodobnost změny v čase Snadnost změny Ideální je možnost změny pravidel bez rekompilace workflow: Základní WF implementace neobsahuje External Ruleset Toolkit – vzorový kód

Terminologie Podmínka (Condition) Výraz, který se vyhodnotí jako True/False Pravidlo (Rule) Modelováno jako: IF IF THEN THEN ELSE ELSE Soubor pravidel (RuleSet) Soubor pravidel spolu s nastavením parametrů provádění Politika (Policy) – aktivita spouštějící soubor pravidel

Algoritmus provádění Vybere se soubor pravidel, jejichž podmínky jsou splněny Začnou se provádět podle klesající nastavené priority Chaining – znovuzařazení pravidla: Implicitní - pokud pravidlo změní platnost podmínky jiného pravidla Explicitní - pokud pravidlo volá příkaz Update Kontrola: Příkaz Halt (zastaví další provádění) RuleSet Chaining Behavior Full (výchozí), Explicit Update only, None Rule Reevaluation Behavior Always (výchozí), Never

Amount = $25 Total = $80 Discount = 10% Pravidlo 1 (P0) If Total > $50 & $50 & < $100 Then Discount = 10% Pravidlo 2 (P0) If Total >= $100 Then Discount = 15% Pravidlo 3 (P0) If Amount > $0 Then Total = Total + Amount Forward Chaining - příklad Pravidlo 1 Pravidlo 3 Pravidlo 2 Pořadí provádění $105 Sada Pravidel 15%

Agenda Proč modelovat procesy? Základní pojmy Modelování procesů pomocí WF Abstrakce obchodních pravidel Hostování WF Kde je uživatelské rozhraní? Různé, co dále,...

3 snadné kroky Vytvořit instanci workflow runtime Vytvořit instanci workflow Spustit workflow private void StartMyWorkflow() { WorkflowRuntime wr = new WorkflowRuntime(); WorkflowInstance instance = wr.CreateWorkflow(typeof(MyWorkflow)); instance.Start(); } Hostování WF v aplikaci

Infrastrukturní služby Host Application App Domain K dispozici jsou implementace pro MS SQL Server SchedulerService (1) „dodává“ workflow vlákna k provádění a stará se o časovače PersistenceService (0-1) slouží k uložení stavu workflow TrackingService (0-n) sbírá informace o průběhu a spravuje profily určující co se ukládá Runtime Services PersistenceService TrackingService SchedulerService CommitWorkBatchService CommitWorkBatchService (1) „dodává“ workflow transakce

„Dodává“ workflow potřebná vlákna kódu a spravuje časovače Dvě implementace ve WF: Asynchronní (Default) WF běží na vláknu dodaném ze ThreadPool Vhodné pro stavové aplikace (WinForms, Win32 služba apod.) Synchronní (Manual) WF běží na vláknu, jež ho spustilo Vhodné pro bezstavové aplikace (ASP.NET) Vytváření vlastní implementace je silně nepravděpodobné SchedulerService

Podpora synchronizace zdrojů mezi hostitelem, workflow runtime a aktivitami pomocí ACID transakcí Dvě implementace ve WF: 2-fázové distribuované transakce (Default) – MS DTC 1-fázové databázové transakce (SharedConnection) O něco rychlejší, nevyžaduje MS DTC, ale může pracovat pouze s jedinou databázovou instancí Transakčnost se nastavuje atributem na úrovni aktivity, transakce je pak sdílena všemi aktivitami vnořenými do aktivity TransactionScope Workflow se nemůže připojit k transakci vytvořené hostitelem, naopak to možné je (hostitel implementuje IPendingWork) Vytváření vlastní implementace je silně nepravděpodobné CommitWorkBatchService

Zajišťuje průběžné ukládání stavu workflow do trvalého úložiště Umožňuje obnovení běhu po restartu Podmínka pro práci ve farmě serverů Implementace ve WF pro SQL 2000/2005 Skript pro vytvoření tabulek je v instalaci WF Vytvoření vlastní implementace je možné, chcete-li trvalé workflow bez závislosti na MS SQL (souborový systém, jiná databáze, apod.) PersistenceService

Dostává informace o průběhu workflow a provádění aktivit Scénáře: logování, monitorování, auditing,... Implementace ve WF pro SQL 2000/2005 Skript pro vytvoření tabulek je v instalaci WF API pro dotazování do dat Vytvoření vlastní implementace bude poměrně časté Odvoďte třídu z TrackingChannel Odvoďte třídu z TrackingService Volitelně implementujte IProfileNotification TrackingService

ExternalDataExchangeService Slouží ke komunikaci mezi workflow a hostitelem Lze k ní přidat libovolnou službu (třídu) implementující rozhraní s atributem [ExternalDataExchange] Workflow může nepřímo volat metody hostitele, opačně nelze Hostitel vyvolává události, na které workflow může čekat Aktivity CallExternalMethod a HandleExternalEvent

Infrastrukturní služby SqlWorkflowPersistenceServiceSqlTrackingService

Agenda Proč modelovat procesy? Základní pojmy Modelování procesů pomocí WF Abstrakce obchodních pravidel Hostování WF Kde je uživatelské rozhraní? Různé, co dále,...

Uživatelské rozhraní workflow WF samo o sobě nezná pojem uživatelského rozhraní, vše je na vás Microsoft nabízí přirozené řešení: Automatizace „lidských“ procesů připojením workflow a obchodní logiky k dokumentům nebo položkám seznamů Windows SharePoint Services 3.0 (WSS 3.0) s udržováním kontextu a historie Office aplikace (zejména Word, Excel, InfoPath) mohou sloužit jako klientské aplikace Office SharePoint Server 2007 nabízí některá hotová řešení

Windows Server 2003 Windows SharePoint Services Site 1Site 2… Web Browser Internet Information Services Site N Microsoft Office Knihovna dokumentů 1 List 1 Item A Item B Item C... List N Item A Item B Item C... Knihovna dokumentů N... SQL Server WSS 3.0

Windows Server 2003 Windows SharePoint Services Site 1Site 2…Site N SQL Server WF Runtime Engine Internet Information Services Instance workflow List Item A Item B Item C... Asociace Šablony workflow Knihovna dokumentů Workflow ve WSS 3.0

Windows SharePoint Services Site Šablona workflow Knihovna dokumentů Iniciátor workflow Task List Approve... 4) Přidání úlohy do seznamu 1) Vytvoření dokumentu a asociace s workflow Instance workflow 2) Vytvoření instance workflow 3) Úprava a spuštění instance workflow 5) Kontrola seznamu 6) Dokončení workflow Příklad workflow ve WSS 3.0

Práce s workflow ve WSS 3.0 Workflow hostované ve WSS vytváří úlohy v seznamu úloh pro uživatele Uživatel používá pro přístup k seznamu prohlížeč anebo Outlook 2007 WSS přidává sadu aktivit, např.: CreateTask : přidání nové úlohy OnTaskChanged : informuje workflow o změně ve stavu úlohy Návrh workflow: Vývojáři – Visual Studio s WF designérem Pokročilý uživatel – Office SharePoint Designer

VS Workflow Designer

Office SharePoint Designer

Agenda Proč modelovat procesy? Základní pojmy Modelování procesů pomocí WF Abstrakce obchodních pravidel Hostování WF Kde je uživatelské rozhraní? Různé, co dále,...

WF a BPEL BPEL Business Process Execution Language Standard pro přenos definice procesu, primárně ne provádění Dosud není vyzrálý, relativně omezená funkčnost WF má mnohem širší funkčnost Připravuje se soubor BPEL aktivit, který omezí funkčnost WF tak, aby byl možný export/import BPEL z/do WF

WF vs. BizTalk Server Messaging Desig n Tools BusinessActivityMonitorAndAdminTools Orchestration Transformation Adapters BizTalk Server Accelerators Plnohodnotný procesní server: Pro workflow mezi aplikacemi Scénáře BPM, B2B, EAI Konfigurace, administrace Robustnost, škálovatelnost Workflow Budoucí verze bude používat pro řízení procesu WF.NET Framework 3.0 Visual Studio Designer Windows Workflow Foundation Workflow Foundation Součást.NET framework 3.0 Framework k vytváření řešení Scénáře: workflow v rámci aplikace

Budoucí směřování WF Projekt „Silver“ Add-on do Visual Studia pro generování WF aktivit z popisu WCF endpointů a zpřístupnění WF jako WCF endpointy Modelování kompozice služeb pomocí WF Pravděpodobně jako CTP a poté ve Visual Studiu „Orcas“ „Page workflow“ Řízení toku ASP.NET stránek pomocí WF Podobná technologie i pro desktopové aplikace Nástupce UIP aplikačního bloku Buď v ASP.NET „Orcas“ anebo jako samostatně stažitelný doplněk

Další zdroje k WF MSDN® Workflow centrum Ke stažení:.NET Framework 3.0 Extenze do Visual Studia 10 praktických cvičení 2 webcasty v češtině Komunity Vzorový kód, nástroje, komponenty

Závěrem - proč WF? Zvyšuje produktivitu vývojáře Řeší technologické problémy Nabízí transparentní procesy Jednotná workflow technologie zdarma pro Windows XP a vyšší Vhodná pro široké spektrum scénářů Kompletně rozšiřitelné API pro vytváření vlastních řešení

© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.