Top Banner
Kuali Enterprise Workflow Kuali Days – November 2008 Scott Gibson, University of Maryland Bryan Hutchinson, Cornell University James Smith, University of Arizona
40

Kuali Enterprise Workflow

Jan 25, 2016

Download

Documents

seda

Kuali Enterprise Workflow. Kuali Days – November 2008 Scott Gibson, University of Maryland Bryan Hutchinson, Cornell University James Smith, University of Arizona. Kuali Enterprise Workflow. What is KEW? The Building Blocks of Workflow Developing a Workflow Document eDoc Lite - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Kuali Enterprise Workflow

Kuali Enterprise Workflow

Kuali Days – November 2008

Scott Gibson, University of Maryland

Bryan Hutchinson, Cornell University

James Smith, University of Arizona

Page 2: Kuali Enterprise Workflow

Kuali Enterprise Workflow

• What is KEW?

• The Building Blocks of Workflow

• Developing a Workflow Document

• eDoc Lite

• Deployment and Integration

Page 3: Kuali Enterprise Workflow

What is KEW?

Page 4: Kuali Enterprise Workflow

What is KEW?

• A module of Kuali Rice• Provides a content-based routing engine• Used for business transactions in the form of electronic

documents that require approval from multiple parties• Composed of a set of services, APIs, and GUIs

Page 5: Kuali Enterprise Workflow

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

• Basic User and Group supportCan be overridden and customized to plug into Institutional

user and group servicesGroups and Users will be managed by KIM

• Rules Engine• Email Notification

Page 6: Kuali Enterprise Workflow

KEW Core features

• Notes and attachments• Wide array of pluggable components to

customize routingWhere to route documentIndexing of document data for searchingEmail Notification CustomizationCustomization of Action ListCustomization of Routing Rules

• eDoc LiteFramework for creating simple documents quicklyWill see more of eDoc Lite later

Page 7: Kuali Enterprise Workflow

KEW Core features

• Plug-in ArchitecturePackaging and deployment of routing components to the

Rice Standalone Server at runtimeInstitutional Customization

• Transactional ProcessingJTA can be used for multi-datasource transactions

• Can run in J2EE appservers• Can run in Servlet Containers

In non-J2EE environment, can use JOTM or other JTA implementation to provide JTA transactions

Page 8: Kuali Enterprise Workflow

The Building Blocks of Workflow

Page 9: Kuali Enterprise Workflow

Document Type

• Document TypeContains identifying information

Also contains document policies

Defines the Route Path executed for a document of that type

Hierarchical - children inherit attributes from their parents

Defined in XML

Page 10: Kuali Enterprise Workflow

Route Node

• Route NodeA step in the routing process of a document typeDefines the behavior of the document when it reaches

that nodeExamples:

• Simple - do some arbitrary work• Requests - generate action requests using a Route

Module or the Rules engine• Split - split the route path into one or more parallel

branches• Join - join one or more branches back together• Sub Process - execute another route path inline• Dynamic - generate a dynamic route path

Page 11: Kuali Enterprise Workflow

Rule Attribute

• Rule AttributeEvaluates document data to determine whether or

not the rule should fireDefines what data is collected on a ruleTypically corresponds to one piece of data on a

document (i.e dollar amount, department, organization, account, etc.)

Can be written in Java or easily defined in XML

Page 12: Kuali Enterprise Workflow

Role Attribute

• Role AttributeResolves to a set of users and/or workgroups

who should receive action requests

Used to resolve Roles from external systems or databases for routing purposes

Examples: Fiscal Officer, Dean, Supervisor, etc.

KEW integration with KIM also does this…

Page 13: Kuali Enterprise Workflow

Rule Template

• Rule TemplateA bunch of Rule Attributes

Rules = Document Type + Rule Template

Can also be used to define various other rule properties (defaults, etc.)

Page 14: Kuali Enterprise Workflow

Routing Rule

• Routing RuleWho should receive action requests at a

particular node?

Created against a Rule Template.

Rule matching behavior is handled by the Rule Attributes

Defines the users, workgroups and/or roles who should receive action requests

Page 15: Kuali Enterprise Workflow

Post Processor

• Post ProcessorReceives events as the process is executedStatus ChangeNode TransitionAction Taken by UserUsually used to “commit” the business transaction

once all approvals have been gathered

Page 16: Kuali Enterprise Workflow

Searchable Attribute

• Searchable AttributeExtracts and indexes document data for searchingDefines custom fields for Document SearchCan be written in Java or defined in XML using

Xpath.

Page 17: Kuali Enterprise Workflow

Developing a Workflow Document

Page 18: Kuali Enterprise Workflow

KFS Routing Example

Let’s route a document…

and look at doc type

rule creation

route log

Page 19: Kuali Enterprise Workflow

KFS Routing Example - Summary

• SummaryCan be simple or complexProcess definition is definedRule Attributes and Templates are CreatedRules are ConfiguredFor more complex routing logic, routing

components may need to be implementedFor simpler routing logic, out-of-the-box

components can be used (i.e. XPath eval.)

Page 20: Kuali Enterprise Workflow

eDoc Lite

Page 21: Kuali Enterprise Workflow

eDoc Lite

• Sometimes you need integration to a big client app with a sophisticated interface

Page 22: Kuali Enterprise Workflow

eDoc Lite

• Sometimes you don’t.

• …this where eDoc Lite comes in.

Page 23: Kuali Enterprise Workflow

eDoc Lite

• eDoc Lite is a simple, form-based system that runs entirely within a Standalone Rice Servercan be created with no java, just XML

Page 24: Kuali Enterprise Workflow

eDoc Lite - Details

• Simple form creation and presentationXML definition of form fieldsUse your own custom XSLT for presentation

• Simple validation rulesRegular ExpressionCustom ValidatorsRequired/Not-RequiredJavaScript Validation

• SecurityAchieved through XSLT integration with KEW APIs

Page 25: Kuali Enterprise Workflow

Building Blocks of an eDoc Lite

• Every eDoc Lite consists of 4 pieces:Field Definitions – defines what fields the EDL

has, what type, validations, etc.Stylesheet – an XSLT stylesheet that renders

the EDL for the userDocument Type – defines the workflow

process for the EDLEDL Association – associates each of the 3

pieces above to form an eDoc Lite

Page 26: Kuali Enterprise Workflow

eDocLite – EDL Form

Page 27: Kuali Enterprise Workflow

eDocLite – Summary

• Makes creating a workflow-enabled application based on a simple form easy

• No Java development required

• No application to deploy

Page 28: Kuali Enterprise Workflow

Deployment and Integration

Page 29: Kuali Enterprise Workflow

Deployment and Integration

• There are multiple ways to deploy and integrate applications with Kuali RiceBundled – Kuali Rice software is “bundled” into your applicationStandalone – a standalone server is deployed

• In addition, when deploying a standalone server, the following client integration options are available, most relate to the KEW moduleEmbedded KEW – workflow engine is embedded into your

applicationKEW Java Thin ClientWeb Services – for KEW and, eventually, KIMeDoc Lite

Page 30: Kuali Enterprise Workflow

Bundled Mode

• All Kuali Rice modules are embedded into the client application, including the Web Application

• Does not require the deployment of a standalone Rice server

Ideal for development or “quickstart” applications

This is not desirable for Enterprise deployments of Kuali Rice

Page 31: Kuali Enterprise Workflow

Bundled Mode Diagram

Page 32: Kuali Enterprise Workflow

Standalone Rice Server

• The Standalone Rice Server allows you to run a central Kuali Rice application that can be integrated with multiple clients

• Facilitates a single KEW Action List, Document Search, etc.

• Allows for a shared KSB Service Registry• Supports multiple integration options for

clients:KEW Java Thin ClientEmbedded KEWWeb Services

Page 33: Kuali Enterprise Workflow

KEW Java Thin Client

• Allows for a Java client application to integrate with the KEW module of Rice

• Uses Java Serialization over HTTP• All workflow processing happens on the

standalone server• If the workflow processing requires custom

code (i.e. Post Processors), then plug-ins need to be developed and deployed to the server

Page 34: Kuali Enterprise Workflow

KEW Java Thin Client Diagram

Page 35: Kuali Enterprise Workflow

Embedded KEW

• Embedded KEW allows you to configure a workflow engine embedded in your application but still use a standalone rice server

• This allows for the following:Integration of database transactions between client

application and embedded KEW (via JTA)Fast - Embedded client talks directly to databaseNo need for application plug-ins on the serverStill a single KEW web app but scalability is

increased because of multiple Workflow Engines

Page 36: Kuali Enterprise Workflow

Embedded KEW Diagram

Page 37: Kuali Enterprise Workflow

KEW Web Services

• There are a few web service endpoints that are exposed from Kuali Rice

• KEW has a subset of it’s API available using this integration method

• The KSB allows for exporting of services onto the bus using SOAP Web Services

• In the future, we hope to add more web service endpoints to Kuali Rice

• For example, KIM is being designed with web service remoting in mind

Page 38: Kuali Enterprise Workflow

Bringing it all Together

• Leveraging the KSB and the previous examples, it’s possible to utilize multiple strategies for Kuali Rice/KEW integration and deployment

• Examples:Some clients running as Thin ClientsSome clients leveraging code deployed in plug-ins on

the standalone serverMultiple servers deployed in a cluster for scalabilitySome clients integrating directly with web service

endpointsSome clients running in Embedded ModeNumerous eDoc Lite applications

Page 39: Kuali Enterprise Workflow

The Whole Picture

Page 40: Kuali Enterprise Workflow

Questions?

Questions from the audience.

Rice web site: http://rice.kuali.org