Upload
kerrie-lewis
View
220
Download
0
Embed Size (px)
DESCRIPTION
BackOffice ® Workflow Strategy Simplify adding workflow code to Simplify adding workflow code to SQL Server ™ Exchange 2000 Work with off-the-shelf applications Work with off-the-shelf applications File.Save or Post can trigger workflows Focus on team process automation Focus on team process automation Approval, Review, Routing, Tracking Target “Office developer” skill set
Citation preview
Building Workflow Building Workflow Applications With Applications With MicrosoftMicrosoft®® Exchange 2000 Exchange 2000
Jim ReitzJim ReitzProgram ManagerProgram ManagerExchange Enhanced Platform Exchange Enhanced Platform Product UnitProduct UnitMicrosoft CorporationMicrosoft Corporation
Different Kinds Of Different Kinds Of “Workflow”“Workflow” Ad-hoc, unstructuredAd-hoc, unstructured Team process automationTeam process automation Line-of-business, productionLine-of-business, production Inter-OrganizationInter-Organization
BackOfficeBackOffice®® Workflow Workflow StrategyStrategy Simplify adding workflow code toSimplify adding workflow code to
SQL ServerSQL Server™™
Exchange 2000Exchange 2000 Work with off-the-shelf applications Work with off-the-shelf applications
File.Save or Post can trigger workflowsFile.Save or Post can trigger workflows Focus on Focus on team process automationteam process automation
Approval, Review, Routing, TrackingApproval, Review, Routing, Tracking Target “Office developer” skill setTarget “Office developer” skill set
Exchange 2000 Exchange 2000 InfrastructureInfrastructure Platform enhancements for Platform enhancements for
robust workflowrobust workflow Single store for documents and propertiesSingle store for documents and properties Synchronous store eventsSynchronous store events Multi-object transactionsMulti-object transactions
Exchange 2000 Exchange 2000 InfrastructureInfrastructure Platform enhancements for robust Platform enhancements for robust
workflow cont.workflow cont. Document-level access controlDocument-level access control OLE DB and ADO data accessOLE DB and ADO data access Extensible CDO object modelExtensible CDO object model Supports both Web-based and Supports both Web-based and
mail-based appsmail-based apps
Exchange 2000 WorkflowExchange 2000 Workflow Extends Exchange 2000 Web Store Extends Exchange 2000 Web Store
for simple workflowfor simple workflow Add workflow to existing folder appsAdd workflow to existing folder apps Works with OutlookWorks with Outlook®® forms, forms,
Web Store forms, etc.Web Store forms, etc.
Exchange 2000 WorkflowExchange 2000 Workflow Declarative workflow definitionDeclarative workflow definition
State-machine tableState-machine table Easy for tools to manipulateEasy for tools to manipulate
ComponentsComponents Workflow Engine Workflow Engine
Applies state-transition rules Applies state-transition rules (Action Table) to a document(Action Table) to a document
Evaluates conditionsEvaluates conditions Executes actions on transitionsExecutes actions on transitions
ComponentsComponents Workflow Event SinkWorkflow Event Sink
Traps changes to items in a folderTraps changes to items in a folder Uses Uses OnSyncSaveOnSyncSave, , OnSyncDeleteOnSyncDelete, , OnTimerOnTimer store events store events
Validates user/author securityValidates user/author security Calls workflow engineCalls workflow engine
Exchange Workflow Exchange Workflow DesignerDesigner WF Designer product familyWF Designer product family
Access Workflow Designer Access Workflow Designer for SQL Server for SQL Server
NEW!NEW! Workflow Designer for Workflow Designer for Exchange 2000Exchange 2000
Exchange Workflow Exchange Workflow DesignerDesigner Visual editor for workflow codeVisual editor for workflow code
Targets Visual BasicTargets Visual Basic®® Script developers Script developers Exchange WF Designer betaExchange WF Designer beta
in Exchange 2000 RC1in Exchange 2000 RC1 Final packaging TBDFinal packaging TBD
Workflow Process DefinitionWorkflow Process Definition Persists a “workflow” as a Persists a “workflow” as a
documentdocument WF Designer creates/editsWF Designer creates/edits
ProcessDefinition documentsProcessDefinition documents
Workflow Process DefinitionWorkflow Process Definition Process Definition Elements:Process Definition Elements:
Action TableAction Table CommonScriptURL CommonScriptURL Mode (security)Mode (security) AuditTrailProviderAuditTrailProvider
Workflow Action TableWorkflow Action Table Table of valid state-transitionsTable of valid state-transitions Conditions and actions are VBScripts Conditions and actions are VBScripts WF Engine evaluates conditionsWF Engine evaluates conditions WF Engine executes actionsWF Engine executes actions
SubmitSubmit ApproveApprovePendingPending ApprovedApproved
RejectReject
ActionsActionsOnCreateOnCreate Document was createdDocument was created
OnChangeOnChange Document was modifiedDocument was modified
OnDeleteOnDelete Document was deletedDocument was deleted
OnEnter / OnExitOnEnter / OnExit New state is entered, old New state is entered, old state is exitedstate is exited
OnExpiryOnExpiry Document has been in Document has been in current state too longcurrent state too long
OnReceiveOnReceive Received e-mail response Received e-mail response correlating to documentcorrelating to document
Writing ScriptsWriting Scripts CDO CDO WorkflowSessionWorkflowSession intrinsic intrinsic
objectobject Provides scripts with access to Provides scripts with access to
run-time datarun-time data Provides Provides FieldsFields collection on collection on
workflow itemworkflow item
Writing ScriptsWriting Scripts CDO CDO WorkflowSessionWorkflowSession intrinsic intrinsic
objectobject Set item-level ACLs on workflow itemSet item-level ACLs on workflow item Send mail; manage received Send mail; manage received
responsesresponses Provides access to audit loggingProvides access to audit logging
Runtime Object ModelRuntime Object ModelWorkflowSessionWorkflowSession
.StateTo.StateTo
.StateFrom.StateFrom
.Sender.Sender
.ErrorNumber.ErrorNumber
.ErrorDescription.ErrorDescription
.ActiveConnection.ActiveConnection
.Domain.Domain
.Server.Server
.TrackingTable.TrackingTable
.ReceivedMessage.ReceivedMessage
.AddAuditEntry().AddAuditEntry()
.GetNewWorkflowMessage().GetNewWorkflowMessage()
.DeleteWorkflowItem().DeleteWorkflowItem()
.DeleteReceivedMessage().DeleteReceivedMessage()
.IsUserInRole().IsUserInRole()
.GetUserProperty().GetUserProperty()
PropertiesPropertiesGetGetPutPut
ItemReaders, ItemAuthorsItemReaders, ItemAuthors
FieldsFields
AddAddDeleteDeleteClearClearCountCount
Same as ADO RecordSame as ADO Record
Workflow Engine SecurityWorkflow Engine Security Restricted ModeRestricted Mode
Actions are VBScript onlyActions are VBScript only Script engine “sandboxed”,Script engine “sandboxed”,
no CreateObject()no CreateObject() Only use WorkflowSession objectOnly use WorkflowSession object
Workflow Engine SecurityWorkflow Engine Security What can Restricted Mode do?What can Restricted Mode do?
Modify properties on triggering itemModify properties on triggering item Send mail (WorkflowMessage)Send mail (WorkflowMessage) Set item-level ACL on triggering itemSet item-level ACL on triggering item Write to AuditTrailWrite to AuditTrail
Workflow Engine SecurityWorkflow Engine Security Privileged ModePrivileged Mode
Actions can be script or COM objectsActions can be script or COM objects Script engine allows CreateObject()Script engine allows CreateObject() Actions execute under privileged Actions execute under privileged
Windows NTWindows NT®® account (in Exchange account (in Exchange Servers group)Servers group)
What can Privileged Mode do?What can Privileged Mode do? Almost anythingAlmost anything
Workflow Event SinkWorkflow Event Sink WF Designer automatically WF Designer automatically
registers WF Event Sink in your registers WF Event Sink in your folderfolder
WF Event Sink as COM+ ApplicationWF Event Sink as COM+ Application Manage from Windows 2000 Manage from Windows 2000
Administrative Tools->Component Administrative Tools->Component ServicesServices
Workflow Event SinkWorkflow Event Sink WF Event Sink enforces security WF Event Sink enforces security
via COM+ Rolesvia COM+ Roles CanRegisterWorkflowCanRegisterWorkflow PrivilegedWorkflowAuthorsPrivilegedWorkflowAuthors
Configure runtime accountConfigure runtime account
ResourcesResources Exchange 2000 RC1Exchange 2000 RC1
Default Exchange 2000 Setup installs Default Exchange 2000 Setup installs WF Engine, WF event sink, CDOWF WF Engine, WF event sink, CDOWF objectsobjects
WF Designer beta included on CDWF Designer beta included on CD \support\workflow directory\support\workflow directory
ResourcesResources Exchange 2000 SDKExchange 2000 SDK
SDK setup on RC1 CDSDK setup on RC1 CD \support\sdk directory\support\sdk directory
Important! Follow SDK doc Important! Follow SDK doc instructionsinstructions
Concepts & Architecture\Workflow\Concepts & Architecture\Workflow\DeploymentDeployment
Call To ActionCall To Action Build entire application in the Build entire application in the
Web StoreWeb Store Navigate, query, and manipulate the Navigate, query, and manipulate the
Web Store using CDO, ADO 2.5 and Web Store using CDO, ADO 2.5 and OLEDB 2.5OLEDB 2.5
Navigate, query and manipulate the Navigate, query and manipulate the Active DirectoryActive Directory™™ with ADSI with ADSI
Call To Action Call To Action Add Store Events and Workflow to Add Store Events and Workflow to
Build Powerful and Reliable Server-Build Powerful and Reliable Server-Side LogicSide Logic
Build rich Web-Based applications Build rich Web-Based applications using Web Store Forms and OWA using Web Store Forms and OWA componentscomponents
Add enhanced collaboration Features Add enhanced collaboration Features to applications to applications Instant Messaging, Wireless, Exchange Instant Messaging, Wireless, Exchange
Conferencing Server and Content IndexingConferencing Server and Content Indexing