14
Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

Embed Size (px)

Citation preview

Page 1: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

Kuali Enterprise Workflow

Presented at ITANA

October 2009

Eric Westfall – Kuali Rice Project Manager

Page 2: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW Overview

• Provides a content-based routing engine.− Documents created from process definitions (Document Types) and

submitted to the workflow engine for routing− Routing decisions made based on the XML content of the Document

• Traditionally used for business transactions in the form of electronic documents that require approval from multiple parties. For example:− Transfer of Funds− Hire/Terminate Employee− Timesheet− Drop Course

• Composed of a set of services, APIs, and GUIs• KEW is just one piece of the Kuali Rice architecture

Page 3: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

Kuali Rice Architecture

Page 4: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW – Core Features• Action List (User’s Work List)• Document Searching• Document Audit Trail (Route Log)• Flexible process definition (Document Type)

−Splits, Joins, Parallel branches, Sub processes, Dynamic process generation

• Rules Engine• Email Notification

Page 5: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW – Core Features

• Wide array of pluggable components to customize routing and other pieces of the system

• eDocLite−Framework for creating simple documents quickly

• Workflow Engine can be embedded into client application or used remotely as a service

• Plug-in Architecture−Packaging and deployment of routing components to the

Rice Server at runtime

Page 6: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

Document Search Screen

Page 7: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

Action List Screen

Page 8: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

Route Log Screen

Page 9: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW Service Architecture

• KEW provides 2 main services that client applications can interact with− Document Actions – allows for creation of documents, submission to the

workflow engine, approving documents, taking other actions, etc.− Workflow Utility – the service provides read-only operations including

querying about document state, running simulations against the workflow engine and much more

• Most document actions that are invoked in the system result in the document getting submitted to the workflow engine for processing (processing happens asynchronously)

• The workflow engine orchestrates the document through a series of nodes and transitions it’s status from state to state

• The engine also calls out to a Post Processor which can react to node transitions and status changes− Commonly used to “commit” the business transaction after all approvals have been submitted

Page 10: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW Service Architecture

Page 11: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW Process Definitions

• In KEW, Document Types are defined which are used to identify a specific type of business transaction

• The Document Type has a business process definition associated with it

• This process definition is defined in XML and specifies the various nodes that the process should be orchestrated through. I also defines the configuration for those nodes

• There are standard node implementations available, by they are also pluggable

Page 12: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW Process Definitions

• One of the main goals of the Kuali workflow engine is to generate action requests which go into user’s Action List for review

• The requested actions will typically be requesting approval, acknowledgement or will just be an FYI

• The process definitions for KEW allow for various ways to accomplish this. We will look at a couple examples of document type XML definitions for these:− Integration with the KEW Routing Rules engine− Integration with Kuali Identity Management roles and responsibilities

Page 13: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW – Example Process Definition• One of the main goals of the Kuali workflow engine

is to generate action requests which go into user’s Action List for review

• The requested actions will typically be requesting approval, acknowledgement or will just be an FYI

• The process definitions for KEW allow for various ways to accomplish this. We will look at a couple of these.

<documentType> <name>PreTravelAuthorization</name> … <routePaths> <routePath> <start name="PreRoute" nextNode="DestinationApproval" /> <requests name="DestinationApproval" nextNode="TravelerApproval" /> <requests name="TravelerApproval" nextNode="SupervisorApproval" /> <requests name="SupervisorApproval" nextNode="AccountApproval" /> <requests name="AccountApproval" /> </routePath> </routePaths> <routeNodes> … <requests name="DestinationApproval"> <ruleTemplate>TravelRequest-DestinationRouting</ruleTemplate> </requests> <requests name="TravelerApproval"> <ruleTemplate>TravelRequest-TravelerRouting</ruleTemplate> </requests> … </routeNodes></documentType>

Page 14: Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager

KEW – Example Process Definition• One of the main goals of the Kuali workflow engine

is to generate action requests which go into user’s Action List for review

• The requested actions will typically be requesting approval, acknowledgement or will just be an FYI

• The process definitions for KEW allow for various ways to accomplish this. We will look at a couple of these.

<documentType> <name>KFSM</name> <parent>KFS</parent> <label>FinancialSystemComplexMaintenanceDocument</label> <routePaths> <routePath> <start name="AdHoc" nextNode="OrganizationHierarchy" /> <role name="OrganizationHierarchy" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc" /> <role name="OrganizationHierarchy”> <qualifierResolverClass>DataDictionaryQualifierResolver<qualifierResolverClass> </role> </routeNodes></documentType>