Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

42
1 © 2004, The Trustees of Indiana Universi Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

description

Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS. Project Background. Kicked off at IU 2001 as OneStart Workflow First production install in 2003 Joined development forces with Cornell in 2005 and renamed to Kuali Enterprise Workflow - PowerPoint PPT Presentation

Transcript of Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

Page 1: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

1

© 2004, The Trustees of Indiana University

Kuali Enterprise Workflow (KEW) Basics

Brian McGough, Manager, Systems Integration, UITS

Page 2: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

2

© 2004, The Trustees of Indiana University

Project Background

• Kicked off at IU 2001 as OneStart Workflow

• First production install in 2003• Joined development forces with Cornell in

2005 and renamed to Kuali Enterprise Workflow

• Through 2006 incremental upgrades performed, and the project is now on its 2.2 release

Page 3: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

3

© 2004, The Trustees of Indiana University

Project Background

• Projects using workflow– Kuali– ERA– HR Edocs– Timekeeping– EPIC– Various eDoc lite projects

• Core Development Staff– Ryan Kirkendall (Lead Developer, IU)– Eric Westfall (Developer, IU)– Aaron Hamid (Developer, Cornell)

Page 4: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

4

© 2004, The Trustees of Indiana University

Agenda

• Workflow Offerings

• Core Concepts

• An example workflow

• Future technologies

Page 5: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

5

© 2004, The Trustees of Indiana University

Workflow Offerings

• Java API (for the java shops)– Easy to Use– Easy to setup– Client application in control– Requires client application written in java

• Web Services API (for other technology shops)– Fairly easy to use– Client application in control

• Edoc Lite (for departments without programmers)– Easy to use– XML document definition based– Small amount of technical expertise required

Page 6: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

6

© 2004, The Trustees of Indiana University

Core Concepts

• What is KEW?– KEW is a general-purpose electronic routing

infrastructure or "workflow engine” designed to facilitate the automation of mediated business processes

Page 7: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

7

© 2004, The Trustees of Indiana University

Core Concepts

• E-Doc– Individual business transaction – Holds transaction specific information

• Title

• Business data (xml)

– ‘Instance’ of a Document Type; behavior is dictated by its Document Type, sometimes referred to as a ‘Document’

– The ‘thing’ that travels through the Workflow System

Page 8: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

8

© 2004, The Trustees of Indiana University

Core Concepts

• Document Type – Brings Workflow components together into a

cohesive unit (routing configuration)• Post Processor• Doc Handler (access point into client application from

Action List)• Access Control for certain actions

– Defines E-Doc routing paths– Defines E-Doc routing policy– Defines E-Doc Rule configurations– Defines Searchable attributes

Page 9: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

9

© 2004, The Trustees of Indiana University

Core Concepts

• Action List– Each user has an Action List– E-Docs are delivered to the Action List when an E-

Doc requires action of a user– Configurable by user– Provides notifications through e-mail– Can view delegated E-Docs– Provides entry point into client application owning the

E-Doc• Defined as Doc Handler

– Provides link to Route Log– Limited customization through plugable java/xml

components

Page 10: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

10

© 2004, The Trustees of Indiana University

Core Concepts – Action List

Page 11: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

11

© 2004, The Trustees of Indiana University

Core Concepts

• Route Log– An aggregate view of an E-Doc’s relevant

routing state– Shows who the E-Doc has been routed to– Shows where in the route chain the E-Doc

currently is– Shows the E-Doc’s routing status– Shows the E-Doc’s future recipients– Provides capability to predict the E-Doc’s

routing path

Page 12: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

12

© 2004, The Trustees of Indiana University

Core Concepts – Route Log

Page 13: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

13

© 2004, The Trustees of Indiana University

Core Concepts – Route Log

Page 14: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

14

© 2004, The Trustees of Indiana University

Core Concepts

• Document Search– Find E-Docs based on various Workflow criteria and

optionally document specific criteria– Alternate entry point into client application owning the

E-Doc– Provides link to Route Log– Basic and Advanced search– Named Searches allows users to save a search for

later use– Provides Entrance into Super User Functionality

(Administrative Routing)

Page 15: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

15

© 2004, The Trustees of Indiana University

Core Concepts – Document Search

Page 16: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

16

© 2004, The Trustees of Indiana University

Core Concepts – Document Search

Page 17: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

17

© 2004, The Trustees of Indiana University

Core Concepts

• Client Application– Application using Workflow to route E-Docs– Uses Workflow through web services and java

components installed in Workflow– Users take actions on Workflow documents in

the client application. The client application calls Workflow on behalf of its users

Page 18: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

18

© 2004, The Trustees of Indiana University

Core Concepts

• Workflow and Client Application Interaction

Page 19: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

19

© 2004, The Trustees of Indiana University

Core Concepts

• Rules– Application Routing Data Stored in Workflow

• Prevents client applications from writing screens and logic to maintain their routing data

• Routing data for multiple applications housed in a single location

• Routing for client applications can be managed from a single place

• Good for users that have responsibilities in multiple applications

– Determine to whom an E-Doc will go based on business data

– Will automatically reroute any affected documents when rule changes

Page 20: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

20

© 2004, The Trustees of Indiana University

Core Concepts

• Rule functionality driven by java/xml components that are reusable across client applications– Rule components represent an organizational routing “Tool box”

that can be used by any client application in the university to efficiently deliver standard routing behavior

– Routing behavior is sharable across applications and therefore more easily standardized

– Rule sets created using components not sharable – each client application has rules available only to their document types

– Components tell Rule framework how to draw rule data collection fields

– Components evaluate each rule against an E-Doc– Components tell client application developers how to attach

business data to E-Docs

Page 21: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

21

© 2004, The Trustees of Indiana University

Core Concepts – Rule Creation

• Circled area represents functionality exposed by reusable Workflow Rule java component

Page 22: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

22

© 2004, The Trustees of Indiana University

Core Concepts - Rules without java

– Drive rule/business data matching solely from xml technologies

– Only most complex cases will require java programmers

Page 23: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

23

© 2004, The Trustees of Indiana University

XML Rule Attribute Example• <ruleAttribute>• <name>DepartmentAttribute</name>• <className>edu.iu.uis.eden.routetemplate.xmlrouting.StandardGenericXMLRuleAttribute</className>• <label>Department Routing</label>• <description>Department Routing</description>• <type>RuleXmlAttribute</type>• <routingConfig>• <fieldDef name="department" title="Department" workflowType="RULE">• <display>• <type>select</type>• <values title="COAS-African American/African Diaspora Studies">AAAD</values>• <values title="COAS-African Studies">AFRI</values>• <values title="COAS-American Studies">AMST</values>• <values title="COAS-Ancient Studies">ANCS</values>• <values title="COAS-Animal Behavior">ABEH</values>• <values title="COAS-Anthropology">ANTH</values>• <values title="COAS-Apparel Merchandising/Interior Design">AMID</values>• </display>• <validation required="false" />• <fieldEvaluation>• <xpathexpression>normalize-space(substring-before(//department, ' ')) =

wf:ruledata('department')</xpathexpression>• </fieldEvaluation>• </fieldDef>• <xmlDocumentContent>• <department>%department%</department>• </xmlDocumentContent>• </routingConfig>• </ruleAttribute>

Page 24: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

24

© 2004, The Trustees of Indiana University

Core Concepts - EDoc Lite

– Workflow renders the UI– Single xml file configures Document Type and

UI– UI Configurable across universities and

applications using XSLT– Lowers barriers of entry to doing Workflow

Page 25: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

25

© 2004, The Trustees of Indiana University

EDL XML• <?xml version="1.0" encoding="UTF-8"?>• <data xmlns="ns:workflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ns:workflow resource:WorkflowData">• <edoclite xmlns="ns:workflow/EDocLite" xsi:schemaLocation="ns:workflow/EDocLite resource:EDocLite">• <edl name="NewCourseRequest" title="New Course Request">• <security></security>• <eventNotificationURL>http://localhost:8080/en-dev/snoop.jsp</eventNotificationURL>• <createInstructions>** Fill out the new Course Request.</createInstructions>• <instructions>** Review the Course Request.</instructions>• <fieldDef name="department" title="Department" attributeName="DepartmentAttribute">• <value></value>• <display>• <type>select</type>• <values title="African American/African Diaspora Studies">AAAD COAS</values>• <values title="African Studies">AFRI COAS</values>• <values title="American Studies">AMST COAS</values>• <values title="Ancient Studies">ANCS COAS</values>• </display>• <validation required="false" />• </fieldDef>• <fieldDef name="creditType" title="Check Appropriate Boxes">• <value>undergraduateCredit</value>• <display>• <type>radio</type>• <values title="Undergraduate credit">undergraduateCredit</values>• <values title="Graduate credit">graduateCredit</values>• <values title="Professional credit">professionCredit</values>• </display>• </fieldDef>• <fieldDef name="academicSubjectCode" title="Academic Subject Code">• <display>• <type>text</type>• </display>• <validation required="true" />• </fieldDef>

Page 26: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

26

© 2004, The Trustees of Indiana University

EDL Screen Shot

Page 27: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

27

© 2004, The Trustees of Indiana University

Core Concepts

• Route Modules– Tell Workflow to whom an E-Doc will route– Route based on data maintained by client applications

(Workflow has no knowledge of data)– Accomplishes same thing as Rules – Workflow doing

less work for you

• Post Processors– Client application code contacted throughout the

routing process– Simple notification mechanism to allow client

applications to do operations based on their E-Docs progression through routing

Page 28: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

28

© 2004, The Trustees of Indiana University

Core Concepts

• Delegation– Allows users to delegate their authority to other users– A user that I delegate to can take action on my behalf– Done on an E-Doc by E-Doc basis and controlled by

Rules or Route Modules• This means delegation can be based on business data (i.e.

delegate to Sally if E-Doc total dollar amount > $100)– 2 kinds of delegation

• Primary – the person who delegates their authority never sees their E-Docs in their Action List. The E-Docs go directly to the delegate’s Action List

• Secondary – the delegate only sees the E-Docs if they check for E-Docs delegated to them.

Page 29: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

29

© 2004, The Trustees of Indiana University

Core Concepts - Delegation

Page 30: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

30

© 2004, The Trustees of Indiana University

Example Workflow

• Show how the pieces fit together using a sample workflow– Document Type routing chains are assembled

using “Route Nodes”– A route node is a pointer to a collection of

Workflow Rule Components in the Rule system or a Route Module with a name

– Policies can be applied at the node level that affect how E-Docs travel though Workflow

Page 31: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

31

© 2004, The Trustees of Indiana University

Example Workflow

• Workflow with an E-Doc passing through three route nodes

Page 32: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

32

© 2004, The Trustees of Indiana University

Example Workflow

• Each route node connects reusable routing components with specific Document Types

• Policies and behaviors can be configured through route nodes

• Each node uses different business data attached to the E-Doc to determine where to send the E-Doc

• Lets examine a single node up close and see how it interacts with all the core workflow concepts to form a cohesive route

Page 33: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

33

© 2004, The Trustees of Indiana University

Example Workflow

• Workflow’s interaction with a single node in routing a document

Page 34: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

34

© 2004, The Trustees of Indiana University

Example Workflow

• E-Doc comes into the system– Workflow is a service available to the client

application via web services– Workflow is user action driven - a client application

must tell Workflow that user X has taken action on E-Doc Y

– When E-Doc comes into system Workflow determines which route node to send the document to for further processing

• Route Node configuration determines which set of Rules the document will be evaluated against

Page 35: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

35

© 2004, The Trustees of Indiana University

Example Workflow

• Rule System Compares document content to rules and creates action requests

Page 36: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

36

© 2004, The Trustees of Indiana University

Example Workflow - Rules

• E-Doc is evaluated against rule set for node. • If document business data matches rule

business data the people and workgroups associated with the rules are sent a request

• Java/XML components ‘plug’ into the rule system and are ultimately responsible for evaluating the business data contained in the document against the rule data

• Route Module could do the same job with data outside the workflow system

Page 37: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

37

© 2004, The Trustees of Indiana University

Example Workflow

• Document is sent to appropriate Action Lists with a link back to the client application

Page 38: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

38

© 2004, The Trustees of Indiana University

Workflow Example - Action List

• Action List has a link back to the Client Application

• Client Application draws screen and informs Workflow of any E-Doc actions taken by the user

• When user takes action on E-Doc the E-Doc is removed from the users Action List

Page 39: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

39

© 2004, The Trustees of Indiana University

Workflow Example – Post Processor

• The Document Type’s Post Processor is notified as the E-Doc transitions through routing

Page 40: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

40

© 2004, The Trustees of Indiana University

Workflow Example – Post Processor

• Post processor is Client Application’s ‘hook’ into routing process

• Notified during transition from one node to the next

• Notified when document routing status changes• Notified when user takes action on document• Can prevent any transition from occurring• Generally, sanity checks are done here and

client application data is updated as necessary

Page 41: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

41

© 2004, The Trustees of Indiana University

Wrap Up

• Covered a lot of ground in the last 5 years• Wrapping up some needed functionality in 2.3• Moving towards industry standards for 3.0

release– BPEL (Business Process Execution Language)– ESB (Enterprise Service Bus)

• Moving fast with 3 fte, but could move faster with additional resources devoted to the effort

Page 42: Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS

42

© 2004, The Trustees of Indiana University

Wrap up

• Check out our website– http://kew.indiana.edu

• Contact us– [email protected]