web 304 an overview of asp.net and windows workflow foundation kashif alam program manager developer...
TRANSCRIPT
WEB 304WEB 304An Overview of ASP.NET and An Overview of ASP.NET and Windows Workflow FoundationWindows Workflow Foundation
WEB 304WEB 304An Overview of ASP.NET and An Overview of ASP.NET and Windows Workflow FoundationWindows Workflow Foundation
Kashif AlamKashif AlamProgram ManagerProgram ManagerDeveloper DivisionDeveloper DivisionMicrosoft CorporationMicrosoft Corporation
AgendaAgendaWeb Workflow OverviewWeb Workflow Overview
Demo: Hello World UI FlowDemo: Hello World UI Flow
UI WorkflowUI WorkflowDemo: Modeling UI WorkFlow in Visual StudioDemo: Modeling UI WorkFlow in Visual Studio
PageFlow / UI Flow in ASP.NETPageFlow / UI Flow in ASP.NETDemo: PageFlow Development ExperienceDemo: PageFlow Development Experience
Extensibility ModelExtensibility Model
Summary & QuestionsSummary & Questions
What You asked for …What You asked for …
Can I do MVC in ASP.NET?Can I do MVC in ASP.NET?
Will UIP become part of the supported Will UIP become part of the supported Product?Product?
Can the Wizard control navigate between Can the Wizard control navigate between pages?pages?
Can ASP.NET Navigation be abstracted and Can ASP.NET Navigation be abstracted and controlled by a set of rules? controlled by a set of rules?
Can I build modular UI and navigate Can I build modular UI and navigate through it in different paths?through it in different paths?
When will ASP.NET support this When will ASP.NET support this functionality?functionality?
Vision for the SolutionVision for the Solution
A powerful, easy to use, extensible A powerful, easy to use, extensible framework for building integrated UI framework for building integrated UI WorkFlow in ASP.NET applicationsWorkFlow in ASP.NET applications
DeliverablesDeliverablesSimple declarative model for creating and Simple declarative model for creating and consuming workflows from ASP.NETconsuming workflows from ASP.NET
Powerful programming model for full control Powerful programming model for full control and extensibilityand extensibility Integrated Visual Studio designer supportIntegrated Visual Studio designer support
Highly scalable and componentized solutionHighly scalable and componentized solution
Hello World UI FlowHello World UI Flow
Request Process Model Request Process Model
WF UI WF UI WorkFlowWorkFlowInstanceInstance
WF WF Runtime Runtime
IIS IIS
WindowsWindows
ASP.NET ASP.NET PageFlow PageFlow
ASP.NET ASP.NET PageFlow PageFlow
ASP.NET ASP.NET PageFlow PageFlow
HHoossttLLaayyeerr
Workflow Foundation: UI Workflow Foundation: UI WorkflowWorkflow
ModelingModelingVisualize and model navigation as a processVisualize and model navigation as a process
Ability to use WF as business logic layer for the Ability to use WF as business logic layer for the pagepage
Common events to interact with WorkFlow Common events to interact with WorkFlow runtimeruntime
Runtime Runtime State: Utilize workflow state in web applicationsState: Utilize workflow state in web applications
Hosting: Runs in partial trustHosting: Runs in partial trust
Scalability: Ability to run WorkFlow delays in the Scalability: Ability to run WorkFlow delays in the backgroundbackground
UI WorkFlow Components UI WorkFlow Components UINavigatorUINavigator
Ability to model a free formed WorkFlowAbility to model a free formed WorkFlowContains steps that require user interactionContains steps that require user interaction
Activity ModelActivity ModelProvides out-of-the-box activities, such as Page Provides out-of-the-box activities, such as Page Activity, for building UI WorkflowActivity, for building UI WorkflowAbility to define rule sets in the designer for Ability to define rule sets in the designer for transitionstransitionsProvides a framework to build custom activitiesProvides a framework to build custom activities
WorkFlow RuntimeWorkFlow RuntimeHosting environment for executing workflowsHosting environment for executing workflows
WorkFlow ServicesWorkFlow ServicesScheduling, Tracking, Persistence and Scheduling, Tracking, Persistence and TransactionTransactionProvider based model to configure PersistenceProvider based model to configure Persistence
Modeling UI WorkFlow in Visual StudioModeling UI WorkFlow in Visual Studio
ASP.NET – WorkFlow IntegrationASP.NET – WorkFlow Integration
Page DevelopmentLeverage server-side control and event based model
Controls for communicating with the WorkFlow hosting layer
2-way declarative data-binding to WorkFlow
Ability to map interactive activities to Pages / Views
RuntimeExecute workflow in ASP.NET app domain
Provider based extensibility model
Scalable model to allow running multiple workflows in same page
ASP.NET – WorkFlow TypesASP.NET – WorkFlow Types
PageFlowPageFlowMultiple pages – each page maps to an activity in WF
User entry points are enforced based on the WF Activity
Ability to book mark an instanceIf user restarts the browser session, it will go to the right steps in the workflow where the user left off.
UIFlowUIFlowA Page can have multiple UI Flows running at the same time
Single page – multiple views, user navigates views
ASP.NET PageFlow ComponentsASP.NET PageFlow Components
PageFlowManager ControlPageFlowManager ControlController logicController logic
Provide a mapping to the WF typeProvide a mapping to the WF type
Enforce association of a Page to Activity nameEnforce association of a Page to Activity name
Page Activity MappingPage Activity MappingDefine the mapping of an Page Activity to a Define the mapping of an Page Activity to a pagepage
Workflow ManagerWorkflow ManagerAllow host to stop, resume, pause, start a Allow host to stop, resume, pause, start a workflow instanceworkflow instance
Listen for events from the workflow Listen for events from the workflow
Notify controls when WF activity changesNotify controls when WF activity changes
ASP.NET UIFlow ComponentsASP.NET UIFlow Components
UIFlowContainer ControlUIFlowContainer ControlProvide a mapping to a workflow typeProvide a mapping to a workflow type
StartTemplate, CompleteTemplate StartTemplate, CompleteTemplate
Container for UIFlowView controlContainer for UIFlowView control
Provides the DataBinding contextProvides the DataBinding context
UIFlowView ControlUIFlowView ControlProvide a mapping to a Page ActivityProvide a mapping to a Page Activity
Contains HTML, ASP.NET Controls and literal Contains HTML, ASP.NET Controls and literal texttext
Ability to DataBind to Workflow PropertiesAbility to DataBind to Workflow Properties
Validation (UI + business)Validation (UI + business)
PageFlow Development ExperiencePageFlow Development Experience
Step by Step PageFlowStep by Step PageFlow
Model a UI WorkflowModel a UI WorkflowDefine activities and transition rulesDefine activities and transition rules
Define data associated with the activitiesDefine data associated with the activities
Build corresponding ASP.NET pagesBuild corresponding ASP.NET pagesReference the UI WorkFlowReference the UI WorkFlow
Include PageFlow controls on the pagesInclude PageFlow controls on the pages
Define relevant data-binding to get/set dataDefine relevant data-binding to get/set data
Define activity mappingDefine activity mapping
F5 and testF5 and test
Choosing the Right SolutionChoosing the Right Solution
TaskTask <asp:wizard<asp:wizard…>…>
PageFloPageFloww
UIFloUIFloww
Single pageSingle page xx xx
Multiple pagesMultiple pages xx
State when close State when close browser browser
xx xx
Integrate with Integrate with Enterprise WorkflowEnterprise Workflow
xx xx
Client supportClient support xx xx
Built-in navigation UIBuilt-in navigation UI xx
Extensibility to other Extensibility to other controllerscontrollers
xx xx
Extensibility ModelExtensibility Model
Navigation Engine is ConfigurableNavigation Engine is ConfigurableFollows provider based modelFollows provider based model
Windows Workflow Foundation is the default Windows Workflow Foundation is the default
Can build state-less / state-based Can build state-less / state-based navigationnavigation
Ability to bring existing navigation Ability to bring existing navigation solutions forwardsolutions forward<system.web><system.web>
<workflowManager defaultProvider=“…"><workflowManager defaultProvider=“…"> <providers><providers> <add name=“…" type=“…" /><add name=“…" type=“…" /> </providers></providers> </workflowManager> </workflowManager> </system.web>
SummarySummary
We hear YOUWe hear YOU
We have a VisionWe have a Vision
We are working on a solution We are working on a solution
We need your feedbackWe need your feedback
Call To ActionCall To Action
TodayTodayStart working with Start working with Workflow Foundation Beta2.2 Workflow Foundation Beta2.2 Attend Attend CONTLC302 – UI Page Flow by hosting Win WF in ASP.NET
Later this yearLater this yearStart working with the ASP.NET PageFlow CTPStart working with the ASP.NET PageFlow CTP
Be ready to deploy with OrcasBe ready to deploy with Orcas
We want your feedbackWe want your [email protected]@microsoft.com
ResourcesResourcesTechnical Chats and Webcastshttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp
Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx
Virtual Labshttp://www.microsoft.com/technet/traincert/virtuallab/rms.mspx
ASP.NET Community Sitehttp://www.ASP.NET/
ASP.NET forumshttp://forums.ASP.NET/
Technical Community Siteshttp://www.microsoft.com/communities/default.mspx
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.