kuali enterprise workflow

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

Upload: seda

Post on 25-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

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

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