22
Building Systems using the Workflow Approach Bijoy Singhal Developer Evangelist Microsoft India [email protected]

Building Systems Using The Workflow Approach

Embed Size (px)

Citation preview

Page 1: Building Systems Using The Workflow Approach

Building Systems using the Workflow Approach

Bijoy SinghalDeveloper Evangelist

Microsoft [email protected]

Page 2: Building Systems Using The Workflow Approach

Assume it’s a:

CD/DVD Repairing Assembly Line

Page 3: Building Systems Using The Workflow Approach

CD/DVD Repairing Machine

Page 4: Building Systems Using The Workflow Approach

How can we represent this in software ?

ActivitiesConnectionsFlowcharts

The Workflow Approach

Page 5: Building Systems Using The Workflow Approach

What? Why? How?

Work Flows

Page 6: Building Systems Using The Workflow Approach

What

Page 7: Building Systems Using The Workflow Approach

“Meta”

Page 8: Building Systems Using The Workflow Approach

Meta-data

Page 9: Building Systems Using The Workflow Approach

Meta-Language

Page 10: Building Systems Using The Workflow Approach

Meta-Programming

Page 11: Building Systems Using The Workflow Approach

A Higher Level of Abstraction

Page 12: Building Systems Using The Workflow Approach

Breaking down a problem into smaller independent units that can be assembled later

Page 13: Building Systems Using The Workflow Approach

How?

Lets see…

Page 14: Building Systems Using The Workflow Approach

What did we just do?

• Decomposed a larger business problem into smaller independent entities of “work”

• Created Graphical Representations• Gave it to our customers• They could combine them using a designer

into desired sequence• Monitor, Persist, change…

Page 15: Building Systems Using The Workflow Approach

Why?

Page 16: Building Systems Using The Workflow Approach

Today’s Application Development

Forms

Data

Applicationlogic

Rules andpolicies

Applicationcode

Workflow model

Services

Page 17: Building Systems Using The Workflow Approach

The workflow way…

• Easy to “Compose” Systems as compared to “Create” them

• Building Human and Machine interacting systems• Taking Problem Solving closer to Business Folks• Declarative• Easy to understand and maintain• Tracking/Parallelizing/Persisting/Scaling• A unified system implemented on multiple

machine and infrastructure

Page 18: Building Systems Using The Workflow Approach

Windows Workflow Foundation

Key Concepts

Host Process

WindowsWorkflow Foundation

Runtime Engine

A Workflow

An Activity

Runtime Services

Base Activity Library

Custom Activity Library

Visual Designer

Visual Designer: Graphical and code-based construction

Workflows are a set of Activities

Workflows run within a Host Process: any application or serverDevelopers can build their own Custom Activity Libraries

Components

Base Activity Library: Out-of-box activities and base for custom activitiesRuntime Engine: Workflow execution and state management

Runtime Services: Hosting flexibility and communication

Page 19: Building Systems Using The Workflow Approach

Activities: An Extensible Approach

OOB activities,workflow types,base typesGeneral-purposeActivity libraries define workflow constructs

Create/Extend/Compose activitiesApp-specificbuilding blocksFirst-class citizens

Base ActivityLibrary

Custom ActivityLibraries

Author new activity

Out-of-Box Activities

Extend activity

Compose activities

Vertical-specificactivities & workflowsBest-practice IP &Knowledge

Domain-SpecificWorkflow Packages

Compliance

RosettaNet

CRM

IT Mgmt

Page 20: Building Systems Using The Workflow Approach

Workflow Scenarios

• Document Life Cycle Management• LOB Application Workflow• Business Process Management• UI Navigation Logic

Page 22: Building Systems Using The Workflow Approach

Thank You