Windows Workflow Foundation Workflow in jouw applicatie Dennis Mulder – Avanade

Slides:



Advertisements
Verwante presentaties
Help, ik moet naar Office 2007!?. Wat horen wij bij klanten Training “New UI will cause too big of a loss in productivity” Training “New UI will cause.
Advertisements

Agenda Blok 1 - Evolutie van Cloud Computing
BizTalk by Design Steef-Jan Wiggers.
Atos, Atos and fish symbol, Atos Origin and fish symbol, Atos Consulting, and the fish itself are registered trademarks of Atos Origin SA. August 2006.
Social Technographics Hoe ontwikkel je een succesvolle social media strategie? Reineke Reitsma Director, Consumer Technographics Forrester Research 11.
Windows app-ontwikkeling Jan Hummelman i&i Conferentie 2012.
JQuery en ASP.NET Bart De Meyer.
Checklist voor de Cloud
Service Coordination Protocols ● Noodzaak (Eddy) ● Coordination protocols (Eddy) ● Infra-structuur (Eddy) ● WS-Coordination (Eddy) ● WS-Transaction (Pepijn)
Copyright © 2008 Tele Atlas. All rights reserved. Zet uw Business Data op de kaart: Locaties in eTOM ®
Finance & Business Control
1 E-Blokart Ontwerpmethodologie 2006 Presentatie van de projectplanning Jens de Boer Karen Warnier Michaël Raets David Zimmer Robin Lataire.
Project Combat Casper Bommelé Marc Eekhout Michel van der Hut
QAD Reporting & Analytics
Programmeren in Java met BlueJ
Hoe migreert u naar Het Nieuwe Werken? Welke stappen te zetten om makkelijk te migreren naar het nieuwe werken -Huub Knops / Senior Business Consultant.
Frédérique Harmsze - Macaw 22 juni Wie ben ik?  Frédérique Harmsze  Information Worker Consultant bij Macaw sinds 2004  Intranet-projecten met.
Sitecore Item Web API & Mobile SDK
Gezondheidszorg Microsoft Dynamics Harco van Polen
OOP met Java Sessie 1.
MagentaPurpleTeal PinkOrangeBlue LimeBrown RedGreen Introductie C# /.NET
Business Productivity Online Suite
Vaardig? Een spectrum aan vaardigheden! Van informatie- naar media- naar exploratievaardig? Of e-Research & e-learning literate? Collaboration literate??
Voor VBA programmeurs Maurice de Beijer.  Maurice de Beijer.  The Problem Solver.  Visual Basic MVP.  Blog: theproblemsolver/default.aspxhttp://msmvps.com/blogs/
Presentatie IA Solutions 2005: Programma generatie voor: PLC en SCADA Een update van deze PPT is te downloaden op: Rob Kits - Technisch.
Voor VBA programmeurs Maurice de Beijer.  Maurice de Beijer.  The Problem Solver.  Visual Basic MVP.  Blog: theproblemsolver/default.aspxhttp://msmvps.com/blogs/
Speaking OData to SharePoint 2010 in a RESTful manner Michaël Hompus | Principal Developer | Winvision.
OOS Object geOrienteerd Software-ontwerp - 4 Codeerperikelen Singleton Specificeren Scheiding GUI en Domein Facade.
Social Technology How to get the end-user involved Carl Bik Capgemini Nederland bv.
Windows Workflow Foundation What is hot, what is not? Maurice de Beijer ABL – The Problem Solver.
Server side scripting 1 Webtechnologie Lennart Herlaar.
Network Address Translation
1 Toegepaste Informatica Keuzevak C++ 3°jaar. 2 Studiefiche  Software  Boek (hfst 3-5)  Presentatie (website)
Specialismen Analyse en verificatie van protocollen Analyse van Petri-netten Component-specificatie Web-based information systems (Query)talen voor Web.
Enterprise Application Integration Walter Moerkerken Ilona Wilmont Integratie Software Systemen 8 mei 2006.
Integratie Software Systemen Alonso, Casati, Kunu & Machiraju Web Services - Concepts, Architectures and Applications Hoofdstuk 5 – Webservices Danny Romme.
SPLA Service Provider License Agreement
© 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied,
Microsoft Partner Programma & Applicatie testen
WinFX Overview Martin Tirion Senior Consultant Microsoft Services.
Agenda Programma Update Nieuwe Technologie –Windows Vista –Demonstratie Packaging Robot (VAI-BRAINFORCE) –Microsoft ISA Server 2006 –Windows Virtual Server.
27 januari 2011 Sessie: Cloud scenario’s. Hoe te starten met cloud bij uw organsiatie? Irwin Hunter Solution Specialist UC en Cloud Computing
Client Management met ConfigMgr Jannes Alink – Management.
Microsoft Partner Programma
Applicatieplatform congres 12 & 13 maart
CEBP Danny Burlage.
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
Mashups for the masses Maarten Brugman & Sven Vintges.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Universal Modeling Language … why you need models? Models are necessary to communicate,
Automation SolutionsMFG/Pro Dutch usergroup 8 februari 2007 ISA S88 & S95 Het gebruik van deze normen in de productie.
Visual Basic.Net - Overzicht
Microsoft’s Enterprise Project Management 2007 “The Next Generation” Johan Apperloo Olaf van KImmenaede.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Introductie tot de SEESCOA methodologie en de Draco Runtime omgeving Yves Vandewoude Peter Rigole.
1 Over het examen (1): Modus Mondeling met schriftelijke voorbereiding 4 uur, 3 onderdelen: –Modellering (  schriftelijk, dan mondeling) –Queries / relationeel.
TechNet & MSDN 2002 Problemen van vandaag oplossen en vooruitkijken!
Web Applicaties Bouwen met Visual Studio .NET
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
Windows 2000 Update & Windows.NET Server Family Preview Arthur de Meij Solution Specialist Business Infrastructure Enterprise & Partner Group Microsoft.
© Copyright VIMC 2009 Telecom Expense Management A Discussion Ed Vonk
Visual Basic 2010 – What’s new André Obelink
Afdrukken met Visual Basic 2008
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
EML en IMS Learning Design
ISV Dag Community Day 13 januari 2005 Ilco van der Bie
De evolutie van JavaScript
Dick Dijkstra Azure Technical Specialist Microsoft
In samenwerking met HowITsDone Spring as legacy Hoe innovatie legacy kan worden.
The beast has been released! 4 arcade-style games Interviews with famous people in the game industry Develop browsers games for any device (phone, tablet,
Het geheim van Linked Data Marcel ReuversGeonovum CB-NL 20 november 2014.
Transcript van de presentatie:

Windows Workflow Foundation Workflow in jouw applicatie Dennis Mulder – Avanade

Agenda Hoe werkt het? Waarom workflow?Workflow featuresBeschikbaarheid & samenvatting

geeft inzicht in de business geeft mogelijkheden tot monitoring Workflow ondersteunt ons om eenvoudiger workflow toe te voegen Workflow Technologie voegt waarde en… Productiviteit geeft mogelijkheden tot verbetering Waarom Workflow?

Waarom workflow technologie? “Bestellingen worden bevestigd binnen 48 uur en verstuurd binnen 5 dagen.” “De meeste toeleveranciers bevestigen bestelling en vergeten te leveren.” “Wat zijn de volgende stappen in deze workflow?” Business voorbeelden Long Running en Stateful Workflows draaien tot wel 5 dagen en houden hun status vast gedurende deze periode Flexibele Control Flow Flexibiliteit voor mensen om stappen in de workflow handmatig aan te passen Transparantie Visueel de stappen in een workflow laten zien. Toegevoegde waarde

Voorbeeld Workflow

Wat lost workflow op? We weten heel goed “Wat” we moeten doen en “Hoe”, maar “Wanneer” is een uitdaging.

WinFX Workflow and BizTalk Server Windows Workflow Foundation Messaging Design Tools Business Activity Monitor And Admin Tools Orchestration Transformation Adapters BizTalk Server Accelerators Visual Studio Designer Workflow

Windows Workflow Foundation is het programmeermodel, de motor en biedt de tools om snel workflow in te bouwen in jouw applicaties Eén workflow technologie voor Windows –Beschikbaar voor iedereen die Windows gebruikt –Generiek voor toepassing in een brede reeks van scenario’s Evolutie van workflow –Uitbreidbaar framework & API om workflow in te bouwen in jouw applicaties –Eén technologie voor zowel human als system workflow Workflow wordt een gegeven –.NET developer kan workflow zich snel eigen maken –Fundamenteel onderdeel van Microsoft Office 2007 Windows Workflow Foundation Visie

Host Process Windows Workflow Foundation Runtime Engine Workflow Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Visual Designer: Grafisch en code gebaseerde bouw van workflows Workflows zijn een opeenvolging van activiteiten Workflows draaien binnen een Host Process: een applicatie of server Ontwikkelaars kunnen hun eigen activiteiten bouwen Components Base Activity Library: Out-of-box activiteiten en basis voor eigen activiteiten Runtime Engine: Workflow execution en state management Runtime Services: Hosting, Persistence, Tracking, Communicatie Workflow Concepten

Workflow Scenario Spectrum Participants: people, roles Flow style: flexible, dynamic Data: unstructured, documents Participants: apps, services Flow style: prescriptive, protocols Data: structured, transactional Information Worker Document Review… Information Worker Document Review… System Workflow Human Workflow Windows Workflow Foundation Business to Business Supply Chain Mgmt… Business to Business Supply Chain Mgmt… Line of Business Apps Quote to Cash, Sales Automation… Line of Business Apps Quote to Cash, Sales Automation… CRM ERP IT Management New H ire Provisioning, Trouble Ticket,… IT Management New H ire Provisioning, Trouble Ticket,….NET Developer Pageflow, Service Coordination….NET Developer Pageflow, Service Coordination…

Kostendeclaraties Demo Activities and the Activity ToolboxWorkflow Designer

Een workflow is een class Een workflow class gedefinieerd in markup … using System.Workflow.Activities; public sealed partial class Workflow1: SequentialWorkflow { } Workflow Basics

using System.Workflow.Activities; public partial class Workflow1 : SequentialWorkflowActivity { public Workflow1() { InitializeComponent(); } public sealed partial class Workflow1 : SequentialWorkflowActivity { private DelayActivity delay1; private void InitializeComponent() { this.delay1 = new System.Workflow.Activities.DelayActivity(); this.delay1.Name = “delay1"; this.delay1.TimeoutDuration = System.TimeSpan.Parse("00:00:05"); this.Activities.Add(this.delay1); this.Name = "Workflow1"; } Workflow Basics De Workflow constructor configureert de activiteiten die deze bevat (vergelijkbaar met Winforms & controls)

Nieuwe Sequential Workflow Debugging Demo TrackingWorkflow Designer

.NET assembly Alleen Markup “Declaratief” XAML Markup en Code C#/VB Code Only Applicatiegegenereerd XAML C#/VB XML definieert de workflow structuur, logica en datastromen XML definieert de workflow structuur, logica en datastromen XML definieert XML definieert de workflow Code-beside Code-beside definieert extra logica Code maakt Code maaktworkflow in constructor XAML C#/VB App maakt activiteiten en serialiseert Workflow Compiler wfc.exe C#/VB Compiler Workflow maken

Activiteiten Een activiteit is een stap in een workflow –Heeft properties en events die programmeerbaar zijn in jouw workflow code –Heeft methods (b.v. Execute) die uitgevoerd worden door de workflow runtime Vergelijkbaar met Forms & Controls –Activiteit == Controls –Custom Activiteit == UserControl –Workflows == Forms Activiteiten vallen in verschillende categorieën –Basic – stappen die de logica “doen” –Composite – groeperen van andere activiteiten –Rules – data gedreven, simpele condities die de ‘flow’ bepalen

Custom Activiteiten Activiteit is: –Hergebruik –Samenvoeging van logica Waarom custom activiteiten? –Uitvoeren eigen business logica –Modelleren van geavanceerde flow –Integratie met andere technologie Activiteiten kunnen generiek zijn of domein specifiek Voorbeelden: –Send , FileSystemEvent, PurchaseOrderCreated, AssignTask, ForEach, ChargeCreditcard, CheckInventory etc. Simplicity Flexibility Code Activiteit CallExternalMethod & HandleExternalEvent Eigen Activiteiten InvokeWebService Activiteit Workflow Execution Logic

Custom Activity Demo

Local Communication Service Existing Application Communication Contract (Interface Implementation) Workflow RuntimeWorkflow Method Invoke Event Sink App Input App Output [ExternalDataExchange] internal interface IVotingService { event EventHandler ApproveProposal; event EventHandler RejectProposal; void CreateBallot(string alias); }

Local Communication Service Implementeer de interface –Definieer in je implementatie de code die uitgevoerd moet worden wanneer de host jouw workflow aanroept Registeer jouw implementatie bij de runtime WorkflowRuntime workflowRuntime = new WorkflowRuntime(); votingService = new VotingService(); ExternalDataExchangeService dataService = new ExternalDataExchangeService(); workflowRuntime.AddService(dataService); dataService.AddService(votingService); internal class VotingService : IVotingService {…}

Runtime Services Local Communication Services Hosting Demo

Derde ‘foundation’ van WinFX technologie voor Vista –Windows Communication Foundation (“Indigo”) –Windows Presentation Foundation (“Avalon”) –Windows Workflow Foundation (“WF”) Ondersteuning voor Windows XP & Windows Server 2003 Gratis Onderdeel van Windows Aangekondigd op de PDC in September 2005 Beta 2 in Januari 2006 en uitgebracht in de 2e helft van Final feature milestone V1RTM B1B2 Q1Q2 Q3 Q1Q2Q4 Beschikbaarheid

Samenvatting Workflow functionaliteit is nodig in veel soorten applicaties Workflow toevoegen in applicaties is zo simpel als enkele regels code Door Workflows te tekenen in de designer begrijpen niet- developers de code ook beter Workflow foundation is een basis waarmee je workflow in je applicatie kan opnemen, voor geavanceerdere functionaliteit is het uitbreiden van Workflow niet complex

MSDN® Workflow Page –Microsoft® Visual Studio® Extensions –Download Hands-on Labs – Community Site –RSS feed voor nieuws & updates –Vind, download, & registeer Activiteiten –Blogs, screencasts, whitepapers, en andere informatie –Download voorbeelden, tools, en runtime service componenten – Forums –Stel vragen in de forums – Windows Workflow Foundation Resources