Title: Designing Processes using HWSBizTalk 2004
1Designing Processes using HWS/BizTalk 2004
Serge Lenbet slenbet_at_microsoft.com Business
Solutions Specialist Microsoft South Gulf
2Outline
- Why would I use HWS instead of writing a regular
orchestration? - Designing a Process in HWS
3HWS vs. Orchestrations
- Human oriented
- Regular orchestrations are based on machine
interaction (eg. Loan processing) - Ad-hoc features
- Many human-based processes have random deviations
- Discoverable
- Humans beings arent good at keeping track of
tasks or messages - Re-use
- HWS Actions are intended to be created as small,
re-useable pieces - Constraints
- Different people have different levels of
authority
4Designing a Process in HWS
- What is a predefined process in HWS?
- What is the design process?
- Demo
5Functional Architecture
Activity Model Designer API
HWS Web Service
Administration (MMC and API)
Activity Flow Queries
Model Discovery
Workflow Guidance
Workflow Activation
Composition Service (Actions and Activity Models)
Activity Flow Tracking Service
Administration DB
AD (Role, Org., )
Tracking DB (Activity Flow)
Orchestration Engine
6Workflow Building Blocks
Action
Activity Model
Task
- WF Servicesfeature
- Composableat runtime
- WF Servicesfeature
- A priori composition
- of Actions
Action
Activity Model
Task
Activity Flow
7Action Development Experience (VS.NET)
Business Logic that an Action executes at runtime
8HWS web service API
- Web Service API enables
- Workflow Composition
- AddActionToActivityFlow, AddActivationBlockToActiv
ityFlow, - Workflow guidance
- GetTargetList, GetActionParameters,
- Workflow viewing
- GetActivityFlowInfo, GetTaskInfo,
GetAllTasksForUser, - Workflow Interrupt
- InteruptAction
9Activity Model API
- ActivityModel class
- Represents an activity model that is being
designed, and contains the steps, transitions,
and constraints. - DesignManager class
- Manages activity models and can be used to
discover, deploy and retrieve information about
activity models.
10Activity Model Design Process
- Define the process
- Determine the Actions required
- Develop the missing Actions
- Develop the Activity Model
- Deploy the solution
11Define The Process
- What is the process I want to model?
- What are the individual steps involved in the
process - Who is involved at each of those steps?
12Determine The Actions Required
- Always think generically about actions
- If the action name describes the step, most often
its too specific - Specific Action Conduct Phone interview
- Generic version Approval
- The more generic an action, the less work you
will have to do the next time around
13Actions for Interview Process
- Approval
- Sends a message to multiple people, asking for a
yes or no answer - Communicate
- Sends a message to one or more users, and may
wait for a response from the users - Route
- Decides on a branch of the workflow based on a
previous action
14Developing A New Action
- Define the Action messages (Schemas)
- Define the Action Logic (Orchestration)
- Add the action to the HWS system (Deployment)
- There is a VS.NET project template used to
develop new actions. - Current the Approval Action
15The HWS Web Service
- Centralized point of communication for all
workflow users - Greatly simplifies UI creation
- Web based
- Discoverable
- A user does not need any prior knowledge to
access the Web service - The Web service can be queried for all context
information about the user, any possible next
steps, and the information required to start
those next steps.
16Executing Dynamic Workflows
- The only HWS surface a client UI needs to
interact with is the Web Service - Example code
_HwsService new Hws.HwsService() _HwsService.Cr
edentials CredentialCache.DefaultCredentials /
/ Start a new activity flow Guid FlowId
_HwsService.GetNewActivityFlowID() // What can
I dot in this new activity flow Activity
activities _HwsService. GetActivityList(FlowId,
Guid.Empty, Guid.Empty, null, null)
17Demo
18InfoPath and BizTalk
- InfoPath is to BizTalk Server
- as Outlook is to Exchange
19Project Proposal Demo
- Rick Product Planner for Contoso
- Jane Claudio Management
- John East Asian Marketing Lead
- Scenario Rick proposes a project idea to
management. Management must approve before
funding for the proposal.
20Introducing InfoPath
- What does InfoPath provide?
- Easy rapid design of rich forms
- User-friendly environment for entering data
- Ready-to-use sample forms
- Built natively on top of XML
- What customer scenarios does it address?
- Organizational processes
- Workgroup collaboration
21Start wherever you like
- Starting from InfoPath
- Create a template and save it out
- Hint InfoPath often has multiple schema files
(schema1.xsd, schema.xsd) - Hint Open both inside the BizTalk Editor
- Starting from BizTalk Editor
- Create schema, maps, orchestrations and make
available to InfoPath - Hint Use fields for data, not records (ie. good
schema design)
22Project Proposal Rick
Rick opens the InfoPath Project Proposal form.
He sees on the taskpane the Actions that are
associated to the project proposal feedback and
approval.
23Project Plan Claudio
The xml document opens in InfoPath. In the
taskpane, he sees that he is requested to respond
to the task from Rick.
24Project Proposal Claudio
Claudio receives a notification via email that he
has a task assigned to him. Claudio opens the
attached xml file.
25Integration Approach
- Biztalk has two approaches for entertaining a
Customers Human Workflow needs - 1. Building the Human Workflow in .Net
- 2. Integrating easily into another Human Workflow
Solution like Ultimus
26HWS-BizTalk 2004 and partners
Over time when Jane completes her task, the
approval is complete.
27Ultimus and Biztalk
- Biztalk allows you to integrate into another
World Class workflow solution - Build an orchestration to talk to ultimus in
Biztalk -
28Ultimus and Biztalk
- 2. Configure ultimus Biztalk flobot Easy to
configure and all graphical - 3. Deploy
HWS URI
Process Variables
BizTalk Action Parameters
Linked Data
Error Variable
29Ultimus and Biztalk
- Advantages
- Getting a world Class Human Workflow Solution
- Being able to build your processes faster and
more robust - Being able to Launch Ultimus process from Biztalk
and vice versa - Getting 250 out-of-the-box features from Ultimus
(such as dynamic routing of incidents, parallel
routing, generating emails, being able to read /
write from databases) - LOWEST TOTAL COST OF OWNERSHIP for their
Enterprise Solutions
30Thanks for attending this session