kuali enterprise workflow n.
Skip this Video
Loading SlideShow in 5 Seconds..
Kuali Enterprise Workflow PowerPoint Presentation
Download Presentation
Kuali Enterprise Workflow

Loading in 2 Seconds...

play fullscreen
1 / 43

Kuali Enterprise Workflow - PowerPoint PPT Presentation

  • Uploaded on

Kuali Enterprise Workflow. Eric Westfall (Indiana University) Andrew Hollamon (University of Arizona). Overview. What is KEW? KEW Core Features KEW Roadmap 2.2, 2.3, 2.4 EDoc Lite Overview & Example KFS Workflow Overview & Example. What is KEW?.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

Kuali Enterprise Workflow

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
kuali enterprise workflow

Kuali Enterprise Workflow

Eric Westfall (Indiana University)

Andrew Hollamon (University of Arizona)

  • What is KEW?
  • KEW Core Features
  • KEW Roadmap
    • 2.2, 2.3, 2.4
  • EDoc Lite Overview & Example
  • KFS Workflow Overview & Example
what is kew
What is KEW?
  • Kuali Enterprise Workflow is 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 content of the Document
  • It has traditionally been used for business transactions in the form of electronic documents that require approval from multiple parties. For example:
    • Transfer of Funds
    • Requisition
    • Hire/Terminate Employee
    • Timesheet
    • Drop Course
  • Can also be used to orchestrate business processes.
    • “Nodes” in the route path can execute custom code
  • Composed of a set of services, APIs, and GUIs
kew core features
KEW Core features
  • User Work Queue (Action 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 support
    • Can be overridden and customizable to plug into Institutional user and groups solutions
  • Routing Rules
  • Email Notification
kew core features1
KEW Core features
  • Notes with attachments
  • Wide array of pluggable components to customize routing by process
    • Where to route document
    • Indexing of document data for searching
    • Email Notification Customization
    • Customization of Action List
    • Customization of Routing Rules
  • EDocLite
    • Framework for creating simple documents quickly
    • Will see more of EDocLite later
kew core features2
KEW Core features
  • Plug-in Architecture
    • Packaging and deployment of routing components to the KEW Server at runtime
    • Institutional Customization
  • All processing is Transactional
    • JTA used for multi-datasource transactions
  • Can run in J2EE appservers
  • Can run in Servlet Containers
    • In non-J2EE environment, can use JOTM to provide JTA transactions
kew 2 3 x
KEW 2.3.x
  • Release 2.3 of KEW focused on architecture enhancements
  • Embedded Mode
    • Integration using a standard JAR library
    • Client+KEW Transaction Integration via JTA
    • Routing Components deployed locally (no server-side plugin-ins required)
    • KEW web app can also be bundled
    • Improved Performance
kew 2 3 x1
KEW 2.3.x
  • Kuali Service Bus (KSB)
    • Service Registry
    • Service Discovery and Invocation API
    • Reliable Messaging
    • Scalability and Failover
    • Synchronous/Asynchronous Messaging
    • Queue/Topic Style Messaging
    • http://ksb.kuali.org
  • Support for multiple deployment topologies
    • Let’s look at some examples
thin client 2 2 x
Thin Client (2.2.x)
  • Only model available in past versions of KEW
  • KEW Deployed to central server
    • Either a single server or clustered
  • Java clients integrate via web services using a thin Java client API that wraps web service calls
  • Non-Java clients communicate directly with web service endpoints
  • Institutions plug custom user and/or workgroup services into KEW using an institutional plug-in
  • Applications deploy routing components (Post Processors, Rule Attributes, Custom Route Nodes, etc.) as application plug-ins on the server(s).
thin client 2 2 x2
Thin Client (2.2.x)
  • Advantages
    • “Simple” web services API used for communication
    • Relatively simple configuration
  • Disadvantages
    • No transaction support over web services
    • Web services can be slow
    • Cumbersome plug-ins must be deployed to the server(s) in order to execute Post Processors and other routing components
    • All processing burden is placed on the central server
      • Can be alleviated by clustering
embedded mode 2 3 x
Embedded Mode (2.3.x)
  • Client Applications run embedded workflow engine pointing to KEW database
  • All routing components are deployed in the client application (no plug-ins required)
  • A KEW server is deployed that hosts Action List, Document Search, Route Log and other KEW screens
  • Institution user and workgroup services deployed to KEW server using an institutional plugin
  • Client application and embedded engine access user and workgroup services over the KSB
  • KEW server accesses client application services needed by Action List, Rule Entry, etc. via the KSB
embedded mode 2 3 x2
Embedded Mode (2.3.x)
  • Advantages
    • Integration of database transactions between client application and embedded KEW (via JTA)
    • Fast - Embedded client talks directly to database
    • No need for application plug-ins on the server
    • Great for Enterprise deployment, still a single KEW web app but scalability is increased because of multiple Workflow Engines
  • Disadvantages
    • Can only be used by Java clients
    • More library dependencies than the Thin Client model
    • Requires client access to KEW database
bundled mode 2 3 x
Bundled Mode (2.3.x)
  • Same as Embedded Mode except that the entire KEW application is embedded into client application, not just the engine
    • Web Application (Action List, Doc Search, Rules, Workgroups, etc.)
    • Workflow Engine
    • User and Workgroup Services
    • Application Routing Components (no plug-ins required)
  • Can bundle an app like this for convenience but still retain the ability to seamlessly deploy in Embedded Mode in a “production” environment
bundled mode 2 3 x2
Bundled Mode (2.3.x)
  • Advantages
    • All the advantages of Embedded Mode
    • No need to deploy a standalone KEW server
    • Ideal for development or “quickstart” applications
    • Application can be bundled with KEW for ease of development/distribution but can switch to Embedded Mode for deployment in an Enterprise environment
  • Disadvantages
    • Not desirable for Enterprise deployment where more than one application is integrated with KEW
    • More library dependencies than the Thin Client model and Embedded Mode (additional web libraries)
flexible topologies
Flexible Topologies
  • Leveraging the KSB and the previous examples, it’s possible to utilize multiple strategies for KEW integration and deployment
  • Examples:
    • Some clients running as Thin Clients
    • Some clients leveraging code deployed in plug-ins on the KEW server
    • Multiple KEW servers deployed in a cluster for scalability
    • Some clients integrating directly with web service endpoints
    • Some clients running in Embedded Mode
kew 2 4 x
KEW 2.4.x
  • Upcoming Release - Fall 2007
  • Workgroups
    • Decentralized Routing
    • Nested Workgroups
  • Delegation
    • More Natural Delegation Model
  • Global Removal/Replacement of Users in Workgroups and Rules
  • Roles
    • Associate Users with business data in a Role (i.e. Dean for School “X”, Bursar for Campus “Y”)
    • KEW can route to these Roles
kew 2 4 x1
KEW 2.4.x
  • Document Search Enhancements
    • Improved customization of Document Search
      • Search execution
      • Validation
      • Result set processing
      • Visual layout of fields
  • Rice
    • KEW is a component of Rice
    • Some useful portions of KEW extracted into Rice core
      • KSB
      • Configuration system
      • Resource Loading
      • JTA support
    • http://rice.kuali.org
edoc lite overview
eDoc Lite – Overview
  • Sometimes you need integration to a big client app, with complicated and dynamic routing.
  • Sometimes you need simple 1-2 page documents, with simple routing.
  • The latter is where eDoc Lite comes in.
  • eDoc Lite is a simple, form-based system that runs entirely within workflow, and can be created with no java, just XML.
edoc lite details
eDoc Lite – Details
  • Simple form creation and presentation
    • Using XML against a Schema for form fields layout
    • Using your own custom XSLT for presentation
  • Simple validation rules
    • Regular Expression
    • Validate Against List
    • Custom Validators
    • Required/Not-Required
    • JavaScript Validation
edoc lite xml definition1
eDoc Lite – XML Definition
  • XML Field Defs w/ Validations
edoc lite form demo
eDoc Lite – Form Demo
  • XML Embedded Style (XSL)
edoc lite route log
eDoc Lite – Route Log
  • Screenshot of eDoc Lite Route Log
edoc lite why
eDoc Lite – Why?
  • Integrating with an ERP system is hard.
  • Sometimes you have simpler needs.
  • Particularly outside of central IT.
    • ie, a point solution to some unit’s need
    • or just a simple business process
  • Doesn’t require Java programmers !!!!
  • Can be modified at runtime
  • Can be built and modified by someone outside of Central IT (if trained a bit)
kfs routing example
KFS Routing Example
  • Picture is worth a thousand words, and a live demo is worth a thousand power point slides.
  • We’ll show here a concrete (and relatively complex) example of a document routing in KFS (Kuali Financial System)
kfs routing example1
KFS Routing Example
  • Using Disbursement Voucher document
    • Used to disburse funds (ie, pay someone)
    • Since its real money, there is a lot of approvals and checks needed
kfs routing example2
KFS Routing Example
  • Screenshot of DV Routing Config
kfs routing example3
KFS Routing Example
  • Screenshot of filled-in DV document
kfs routing example4
KFS Routing Example
  • Explanation of routing types
    • Account Review (ie, Fiscal Officer)
    • Org Review
    • Employee Indicator
    • Tax Control Code
    • Alien Indicator
    • Payment Reason
    • Payment Reason + Campus Code
    • Campus Code
    • Alien Indicator + Payment Reason
    • Payment Method
kfs routing example5
KFS Routing Example
  • Screenshot and Explanation of Account Review Configuration
kfs routing example6
KFS Routing Example
  • Screenshot and Explanation of Org Review Configuration
kfs routing example7
KFS Routing Example
  • Screenshot and Explanation of Employee Indicator
kfs routing example8
KFS Routing Example
  • Screenshot and Explanation of Tax Control Code Configuration
kfs routing example9
KFS Routing Example
  • Screenshot and Explanation of Alien Indicator Configuration
kfs routing example10
KFS Routing Example
  • Screenshot and Explanation of Payment Reason Configuration
kfs routing example11
KFS Routing Example
  • Screenshot and Explanation of Campus Code Configuration
kfs routing example12
KFS Routing Example
  • Screenshot of Route Log of Completed Doc
kfs routing example13
KFS Routing Example
  • Conclusions
    • Can be simple or complex
    • Can always fire or can conditionally fire
    • Can be complex java routing, or simple field/value based routing logic
      • Latter can be updated by a non-technical user
    • Unlimited potential, but can also be simple where that’s all that is needed

Questions from the audience.

Eric Westfall


Andrew Hollamon