Kuali Enterprise Workflow Kuali Days – May 2008 Eric Westfall - Indiana University.

Slides:



Advertisements
Similar presentations
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Advertisements

Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Kuali Technology Mark Norton – Nolaria Consulting Zachary Naiman – Member Liaison, Kuali Foundation.
Introduction to Kuali Rice ITANA Screen2Screen: Kuali on Campus May 2009 Eric Westfall – Kuali Rice Project Manager.
Kuali Enterprise Workflow Damon Dorsey, Indiana University Kymber Horn, University of Arizona Vince Schimizzi, Michigan State University.
KUALI ENTERPRISE WORKFLOW OVERVIEW Eric Westfall.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Kuali Rice at Indiana University Important Workflow Concepts Leveraged in Production Environments July 29-30, 2008 Eric Westfall.
University of California, Irvine All Rights Reserved UCI Kuali Day Access and Workflow August 21, 2012 U niversity of C alifornia, I rvine Accounting.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
1 Classification: Genpact Internal.  Tool From Oracle  Works with Oracle Database  PL/SQL Based  Widely Used with Oracle Applications  Can be Used.
1 Flowing Through EDEN: Delivering Business Transactions Online to the University CUMREC 2004 Track 1: Web Development Monday 17 May :30 am John.
© 2004, The Trustees of Indiana University 1 Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS.
Rapid Development of Workflow-enabled Forms using eDocLite
Open source administration software for education software development simplified KRAD Kuali Application Development Framework.
Kuali Enterprise Workflow Eric Westfall (Indiana University) Andrew Hollamon (University of Arizona)
Contracts & Grants Functionality Paul Sandoval, University of Arizona Jim Becker, Indiana University.
Introduction to Kuali Rice Presented at Internet2 April 2009 Eric Westfall – Kuali Rice Project Manager Bill Yock – Vice Chair, Kuali Rice Board of Directors.
Technical Overview of Kuali Rice UC Davis, Information & Educational Technology January 2009.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Architecting and Building KRA using Kuali Rice Terry Durkin, KRA DM/Lead Developer (Indiana University) Bryan Hutchinson, KRA DM/Lead Developer (Cornell)
Kuali Rice Technical Overview February Components of Rice  KEWKuali Enterprise Workflow  KNSKuali Nervous System  KRADKuali Rapid Application.
1 Kuali Identity Management Advanced CAMP: Identity Services Summit for Higher Ed Open / Community-Source Projects.
Kuali Rice at Indiana University Rice Setup Options July 29-30, 2008 Eric Westfall.
Technical Overview for “Functionals” (Kuali-eze…It’s a Foreign Language!) Ailish Byrne, Indiana University Barbara Sutton, Cornell University.
Kuali Enterprise Notification Tell Me What I Want And Need To Know Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst,
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Rice Status Update University of California July 20, 2009 Eric Westfall – Kuali Rice Project Manager.
Eric Westfall – Indiana University James Bennett – Indiana University ADMINISTERING A PRODUCTION KUALI RICE INFRASTRUCTURE.
Kuali Nervous System Aaron Godert, Cornell University Jonathan Keller, University of California, Davis.
RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.
Oracle Workflow Directions Atlanta OAUG Brenda Carlton, KPMG Peat Marwick June 19, 1998.
Kuali Enterprise Notification Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst, Cornell University)
Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea.
Kuali Enterprise Workflow Eric Westfall (Indiana University) Aaron Hamid (Cornell University)
Implementing Kuali Rice JA-SIG - April 30, 2008 Eric Westfall.
Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager.
KUALI IDENTITY MANAGEMENT Provides services for Identity and Access Management in Kuali Integrated Reference Implementations User Interfaces An “integration.
Contracts & Grants Functionality Paul Sandoval, University of Arizona Lori Schultz, University of Arizona.
Building Applications with the KNS. The History of the KNS KFS spent a large amount of development time up front, using the best talent from each of the.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Eric Westfall – Indiana University James Bennett – Indiana University ADMINISTERING A PRODUCTION KUALI RICE INFRASTRUCTURE.
Kuali Enterprise Workflow Kuali Days – November 2008 Scott Gibson, University of Maryland Bryan Hutchinson, Cornell University James Smith, University.
M ODELING B USINESS P ROCESSES IN K UALI E NTERPRISE W ORKFLOW Eric Westfall – Indiana University Claus Niesen – Iowa State University.
1 Kuali Nervous System (KNS) Part 2 Presented by: Jerry Neal – KFS Development Manager Geoff McGregor – KC Lead Developer Brian McGough – KRice Project.
Kuali Enterprise Workflow Ryan Kirkendall (Indiana University) Brian McGough (Indiana University)
M ODELING B USINESS P ROCESSES IN K UALI E NTERPRISE W ORKFLOW Eric Westfall – Indiana University Claus Niesen – Iowa State University.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Kuali Rice Evolving the Technology Framework for Kuali Applications Brian McGough (Indiana University) Aaron Godert (Cornell University) Warner Onstine.
Kuali Rice A basic overview…. Kuali Rice Mission First and foremost to provide a consistent development framework and common middleware layer for Kuali.
Office Business Applications Workshop Defining Business Process and Workflows.
Kuali Rice at Indiana University From the System Owner Perspective July 29-30, 2008 Eric Westfall.
© 2006, The Trustees of Cornell University © 2006, The Trustees of Indiana University Kuali Nervous System Aaron Godert, Kuali Development Manager Brian.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
Kuali Rice: General Overview Brian McGough Kuali Rice Project Manager Kuali Lead Architect Director, Enterprise Software, IU May 13, 2008.
Kuali Nervous System Nate Johnson, Indiana University Jonathan Keller, University of California, Davis.
KEW Definitions Document Type The Document Type defines the routing definition and other properties for a set of documents. Each document is an instance.
KIM: Kuali Abstraction Layer for Identities, Groups, Roles, and Permissions.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Kuali Enterprise Workflow Damon Dorsey, Indiana University Kymber Horn, University of Arizona.
Open source administration software for education next generation student system I Did Not Know You Could Do That With An SIS: How To Make Kuali Student.
Eric Westfall KUALI ENTERPRISE WORKFLOW OVERVIEW.
Kuali Rice Evolving the Infrastructure for Kuali Applications Brian McGough (Indiana University) Aaron Godert (Cornell University)
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Building KFS using KNS Presented by James SmithJustin Beltran University of ArizonaUniversity of California, Irvine.
Kuali Enterprise Notification Tell Me What I Want And Need To Know Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst,
Kuali Enterprise Notification Tell Me What I Want And Need To Know Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst,
Contracts & Grants Functionality
Presentation transcript:

Kuali Enterprise Workflow Kuali Days – May 2008 Eric Westfall - Indiana University

Kuali Enterprise Workflow What is KEW? The Building Blocks of Workflow Developing a Workflow Document eDoc Lite Deployment and Integration IU’s Kuali Rice Implementation Moving Forward

What is KEW?

Kuali Enterprise Workflow is a module of Kuali Rice which 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 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 Composed of a set of services, APIs, and GUIs

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 support –Can be overridden and customized to plug into Institutional user and group services –Will be replaced by KIM in the future Rules Engine Notification

KEW Core features Notes and attachments Wide array of pluggable components to customize routing by process, including: –Where to route document –Indexing of document data for searching – Notification Customization –Customization of Action List –Customization of Routing Rules eDoc Lite –Framework for creating simple documents quickly –Will see more of eDoc Lite later

KEW Core features Plug-in Architecture –Packaging and deployment of routing components to the Rice Standalone Server at runtime –Institutional Customization Transactional Processing –JTA 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

The Building Blocks of Workflow

Document Type –Specification for a document that can be created in KEW –Contains identifying information as well as policies and other attributes –Defines the Route Path executed for a document of that type (Process Definition) –Hierarchical - children can inherit certain attributes from their parents –Defined in XML

Route Node –Represents a “step” in the routing process of a document type. –Defines the behavior of the document when it reaches that node –Examples: 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

Rule Attribute –Defines how a Routing Rule evaluates document data to determine whether or not the rule should fire. –Also defines what data is collected on a rule. –An attribute typically corresponds to one piece of data on a document (i.e dollar amount, department, organization, account, etc.) –Can be written in Java or defined using XML

Role Attribute –A special type of Rule Attribute which allows for routing to a “Role” –When executed, resolves 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.

Rule Template –A composition of Rule Attributes –When a Routing Rule is created, it is created for a specific Rule Template and Document Type. –Defines what data should be collected and stored in the rule (via it’s Rule Attributes) –Also used to identify the set of rules to evaluate at a “Requests” Node –Can also be used to define various other rule properties (defaults, etc.)

Routing Rule –Evaluated against a document to determine who should receive action requests at a particular node. –Created against a Rule Template. –Rule matching behavior is handled by the Rule Attributes when the rule is executed. –Defines the users, workgroups and/or roles who should receive action requests should the rule fire. –Examples: If dollar amount is greater than $10,000 then send an Approval request to Joe. If department is “HR” request an Acknowledgment from the HR.Acknowledgers workgroup.

Post Processor –Receives events as the process is executed –Status Change –Node Transition –Action Taken by User –Usually used to “commit” the business transaction once all approvals have been gathered

Searchable Attribute –Responsible for extracting and indexing document data for searching. –Allows for custom fields to be added to Document Search for documents of a particular type. –Configured as an attribute of a Document Type. –Can be written in Java or defined in XML using Xpath.

Developing a Workflow Document

KFS Routing Example We’ll discuss an example of a document routing in the Kuali Financial System Using Disbursement Voucher document –Used to disburse funds (i.e., pay someone) –Since its real money, there are a lot of approvals and checks needed But first, let’s look at the steps required to build and configure a document that uses KEW

Steps Build the document –KFS uses Rice and the KNS to build their documents –Beyond the scope of this discussion –Can learn more about this at the KNS session Create Document Type and Process definition in KEW –Identifies the route path of the document Define Rule Attributes and Rule Templates –Defines what data will be used for routing and how rules can analyze that data to make routing decisions Create Routing Rules

Building the Document

Defining the Disbursement Voucher Routing Process for Disbursement Voucher is defined as follows Ultimately defined in XML and imported

Rule Attributes and Rule Templates Rule Attributes and Templates are defined for each of the “Nodes” in the defined Process Account Review - a special Role attribute which decides who the Fiscal Officer is based on accounts attached to document Org Review - an attribute which climbs the Org hierarchy when evaluating rules Employee Indicator, Tax Control Code, Payment Method, etc. are defined in XML and use XPath to analyze document content and evaluate rules

Using XPath for Rule Evaluation The KNS handles serializing documents to XML and making XML available to KEW XPath expressions can be configured on attributes in KEW to evaluate rules based on this XML Example: Campus Code //document/campusCode = wf:ruledata('campusCode')

Creating Rules For all Nodes except Account Review, we create rules to define who the document should route to

Creating Rules Screenshot of DV Rules

Account Review Configuration There is a special type of rule which points to the Fiscal Officer Role for Account Review Resolution of responsible parties is handled by Java code which looks at the account numbers on the document

Route Log of a Disbursement Voucher Route Log

KFS Routing Example - Summary Summary –Can be simple or complex –Process definition is defined –Rule Attributes and Templates are Created –Rules are Configured –For more complex routing logic, routing components may need to be implemented –For simpler routing logic, out-of-the-box components can be used (i.e. XPath eval.)

eDoc Lite

Sometimes you need integration to a big client app, with a sophisticated interface. Sometimes you need simple documents, with simple routing. The latter is where eDoc Lite comes in. eDoc Lite is a simple, form-based system that runs entirely within a Standalone Rice Server, and can be created with no java, just XML.

eDoc Lite - Details Simple form creation and presentation –XML definition of form fields –Use your own custom XSLT for presentation Simple validation rules –Regular Expression –Custom Validators –Required/Not-Required –JavaScript Validation Security –Achieved through XSLT integration with KEW APIs

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 user –Document Type – defines the workflow process for the EDL –EDL Association – associates each of the 3 pieces above to form an eDoc Lite

eDocLite – EDL Form

eDocLite – Summary Makes creating a workflow-enabled application based on a simple form easy No Java development required No application to deploy

Deployment and Integration

There are multiple ways to deploy and integrate applications with Kuali Rice –Bundled – Kuali Rice software is “bundled” into your application –Standalone – a standalone server is deployed In addition, when deploying a standalone server, the following client integration options are available, most relate to the KEW module –Embedded KEW – workflow engine is embedded into your application –KEW Java Thin Client –Web Services – for KEW and, eventually, KIM –eDoc Lite

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

Bundled Mode Diagram

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 Client –Embedded KEW –Web Services

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

KEW Java Thin Client Diagram

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 database –No need for application plug-ins on the server –Still a single KEW web app but scalability is increased because of multiple Workflow Engines

Embedded KEW Diagram

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

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 Clients –Some clients leveraging code deployed in plug-ins on the standalone server –Multiple servers deployed in a cluster for scalability –Some clients integrating directly with web service endpoints –Some clients running in Embedded Mode –Numerous eDoc Lite applications

The Whole Picture

In Practice: Indiana University’s Kuali Rice Implementation

Indiana University’s Kuali Rice Implementation KEW Thin Clients –HR –ERA –EPIC –TK –SIS KEW Embedded Clients –IUF –Travel (coming soon) –KFS (coming soon)

Indiana University’s Kuali Rice Implementation eDoc Lite clients –Office of Affirmative Action –Grad and Undergrad Course Remonstrance –Safeword Card Requests –OVPR Internal Funding –OVRPA Conflict of Interests –Purchasing Conflict of Interests –Student Information Systems - Special Credit –IU Health Center –UITS Unit Change Request –…and more on the way!

Indiana University’s Kuali Rice Implementation Institutional Customizations –Integration with our LDAP-based User Repository (EDS) –Integration with Active Directory for reading group and role information –Integration with our CAS installation for authentication –Custom component for authenticating with our servers (requires SSL) –Various shared routing components deployed in a plug-in

Statistics 24 x 7 x 365 (minus maintenance) HTTP Requests per Month - 45,084,367 Users – 156,675 Document Types – 96 Workgroups – 1,610 Rules – 9,097 During The Last Year: Documents Routed1,164,870 Requests Generated6,012,216 Actions Taken2,913,709 Route Nodes Processed5,405,701

Moving Forward

Upcoming Work Version of Kuali Rice is currently under development Following changes are planned for KEW Refactoring to forward all notifications to KEN Remove legacy package names (edu.iu.*) Add support to the KNS for defining workflow processes in the Data Dictionary Laying groundwork for tasks (module refactoring)

Upcoming Work, cont. Version of Kuali Rice will concentrate of reducing internal duplication and consolidating services KEW will be retrofitted to use KIM Numerous changes will be made to have KEW leverage the KNS –Remove duplicate Lookup framework –Rewrite Document Search as a Lookup –Rewrite Rule document to use KNS –Remove duplicate Notes/Attachments system –and more…

Questions? Questions from the audience. Rice web site: Eric Westfall