Building Workflow Applications With Microsoft Exchange 2000 - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Building Workflow Applications With Microsoft Exchange 2000

Description:

State-machine table; easy for tools to manipulate. Condition and action scripts ... Joint project with Microsoft Office Developer ('Grizzly') team ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 24
Provided by: jimr7
Category:

less

Transcript and Presenter's Notes

Title: Building Workflow Applications With Microsoft Exchange 2000


1
Building Workflow Applications With Microsoft
Exchange 2000 Jim ReitzProgram
ManagerExchange TeamMicrosoft Corporation
2
(No Transcript)
3
Different Kinds Of Workflow
  • Ad-hoc, unstructured
  • One-off document review, voting
  • Team process automation
  • Issue tracking, document approval
  • Line-of-business, production
  • Claims processing, Loan applications
  • Inter-Organization
  • E-commerce, supply-chain initiatives

4
BackOffice Workflow Strategy
  • Make it easy to add simple workflow to server
    apps
  • SQL Server
  • Exchange
  • Make it work with unmodified Office and Web
    applications
  • File.Save or Post triggers workflows
  • Focus on team process automation
  • Common scenarios approval, review, routing,
    tracking
  • Target Office developer skillset

5
Exchange 2000 Infrastructure
  • Underlying platform features for robust workflow
  • Single store - both documents and properties
  • Synchronous store events
  • Multi-object transactions
  • Document-level access control
  • Property-level write protection
  • OLE DB and ADO data access
  • Extensible CDO object model
  • Native Web access

6
Exchange 2000 Workflow
  • Extends Exchange 2000 Web Store for simple
    workflow
  • Add workflow to existing folder apps
  • Works with Outlook forms, Web forms, etc.
  • Declarative workflow definition
  • State-machine table easy for tools to manipulate
  • Condition and action scripts
  • Workflow event model
  • Based on Grizzly architecture

7
Components
  • Workflow Engine
  • Applies a table of state-transition rules
    (Action Table) against a document
  • Evaluates conditions
  • Executes actions on transitions
  • Workflow Event Sink
  • Traps all changes to items in a folder
  • Invokes workflow engine via Web Store events
  • Uses OnSyncSave, OnSyncDelete, OnTimer store
    events

8
Run-Time Architecture
Exchange Server
Event Sink Host Process
Store Process
Default Process Definition
Script Host
Workflow Engine
Workflow Event Sink
Process Instance
Client
Script
Action Table
Application Folder
9
Workflow Action Table
Reject
Submit
Approve
Pending
Approved
  • State transition row in recordset
  • Condition and Action scripts
  • WF Engine evaluates table executes matching
    row(s)

Current State
Name
EventType
Condition
Action
New State
Submit
OnCreate
---

IsValid(Session.Item)
script (notifyApprover)
Pending
Reject
OnChange
Pending
Session.Item.Approved False
script (notifySubmitter)
Pending
Approve
OnChange
Pending
Session.Ite
m.Approved True0
script (notify cleanup)
Approved
10
Actions
11
CDO Workflow Objects
  • Included with Exchange 2000
  • Design-time and run-time objects
  • Extends base CDO objects
  • Same DataSource interface

12
Design-Time Objects
  • Workflow design persisted as an item in a folder
  • CDO ProcessDefinition object
  • Programmatic creation of workflow process designs
  • Key property is ActionTable, an ADO Recordset
  • Optional URL to CommonScript file
  • CommonScript file can be a separate item, or a
    stream on ProcessDefinition

13
Design-Time Objects
  • CDO WorkflowFolder object
  • Allows for configuration of host folder
  • URL specifying default ProcessDefinition
  • Control whether Ad-Hoc workflow is allowed
  • Ad-Hoc Workflows
  • New items normally follow folders default
    ProcessDefinition
  • If ad-hoc allowed, new items can contain their
    own ProcessDefinition

14
Run-Time Objects
  • CDO WorkflowSession intrinsic object
  • Provides scripts with access to needed run-time
    data
  • Item triggering the workflow is provided as ADO
    Record object
  • Allows scripts to pass back errors
  • Provides access to audit logging

15
Run-Time Objects
  • CDO ProcessInstance object
  • Advanced use only, normally not required
  • Wraps the workflow engine around the item
    undergoing workflow
  • Uses
  • Calling workflow engine directly in middle-tier
  • Programatically creating ad-hoc documents that
    are workflow aware

16
Workflow Engine Security
  • Restricted Mode
  • Actions are script only
  • Script engine sandboxed for intrinsic objects
    only e.g. no CreateObject( )
  • Scripts execute under guest privilege NT
    account
  • What can Restricted Mode do?
  • Modify properties on triggering record
  • Send mail
  • Write to AuditTrail

17
Workflow Engine Security
  • Privileged Mode
  • Actions can be script or COM objects
  • Script engine allows CreateObject()
  • Actions execute under privileged NT account (in
    Exchange Servers group)
  • What can Privileged Mode do?
  • Almost anything

18
Workflow Engine Security
  • Who can use Privileged Mode?
  • Users or Groups listed in PrivilegedWorkflowAuthor
    s role
  • Workflow Event Sink is implemented as COM
    application package
  • The COM application contains this role
  • Managing role membership
  • Administrative Tools-gtComponent Services in
    Windows 2000
  • Role membership is per-machine

19
Creating A Workflow Steps
  • Create ActionTable recordset
  • Create CommonScript
  • Create ProcessDefinition
  • Attach ActionTable, CommonScript
  • Configure WorkflowFolder properties
  • DefaultProcessDefinition
  • Register Workflow Event Sink in folder
  • OnSyncSave, OnSyncDelete, OnTimer

20
Exchange Workflow Designer
21
Exchange 2000 Workflow Designer
  • Visual editor for Exchange 2000 workflows
  • Joint project with Microsoft Office Developer
    (Grizzly) team
  • Same UI and architecture as Grizzly designer
    for Access/SQL Server
  • Beta of designer in Exchange 2000 RC1 timeframe
  • Final packaging/naming TBD

22
Resources
  • Exchange 2000 Beta 3
  • Workflow engine, event sink, and CDO Workflow
    objects installed by default
  • Preliminary SDK documentation
  • EXCHSERV2K.CHM, in \support\CDO directory
  • See release notes for COM and NT account
    configuration

23
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com