kuali rice and enterprise workflow may 22, 2008 david elyea
TRANSCRIPT
![Page 1: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/1.jpg)
Kuali Rice and Enterprise Workflow
May 22, 2008
David Elyea
![Page 2: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/2.jpg)
Outline
1. Kuali Rice Overview2. Kuali Enterprise Workflow
1. What is KEW?2. Building Blocks of Workflow3. Developing a Workflow Document4. eDoc Lite5. Institutional Customization
3. Deployment and Integration4. Example: IU’s Kuali Rice Implementation5. Moving Forward6. Questions & More Examples
![Page 3: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/3.jpg)
Kuali Rice Overview
![Page 4: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/4.jpg)
What is Kuali Rice?
• Kuali Rice is a suite of middleware and framework components
• Made up of several, possibly standalone and swappable, components
• Applications become a “Rice Client Application” by easily integrating with this middleware
![Page 5: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/5.jpg)
Goals of Kuali Rice
• The vision for Kuali is a plug and play module by module approach to software
• Kuali started as financials, but has evolved into a suite of administrative software (KFS, KRA, KS)
• A lot of functionality in Kuali systems– Keeping the Kuali code base as small as possible
without impacting quality is key
• Highly productive development environment– For Kuali projects– For non-Kuali projects
![Page 6: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/6.jpg)
Goals continued
• A common and consistent architecture– Allow developers to understand other rice-enabled
projects– Infrastructure would not need to be reinvented on
each project - focus on functionality!– Rice team can focus on IT standards, like SOA, that
will benefit the entire Kuali software suite– Adoption of other Kuali modules feasible
• Generic enough for non-Kuali applications
![Page 7: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/7.jpg)
Technologies Used
• Struts• Spring• JTA (JOTM)• OJB• Quartz• XFire (old version of CXF)• Groovy• XML
![Page 8: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/8.jpg)
Version Introduction
• Latest Stable Release: 0.9.2.1– Discussion focused on this version– Used by KFS TestDrive example– Used by several institutions currently
implementing Rice
• Current IU Implementation: 0.9.1.3
• Current Development: 0.9.3
• Next Development Version: 0.9.4
![Page 9: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/9.jpg)
Kuali Rice Components
• KNS Kuali Nervous System• KIM Kuali Identity Management• KOM Kuali Organization Management• KEN Kuali Enterprise Notification• KSB Kuali Service Bus• KEW Kuali Enterprise Workflow
![Page 10: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/10.jpg)
Kuali Nervous System
• Web-based Application Framework• Data Model Driven (Data Dictionary) • Provides reusable code, shared services,
integration layer, and a development strategy• Provides a common look and feel through a
screen drawing framework• A document-centric (business process) model
with workflow as a core concept
![Page 11: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/11.jpg)
Kuali Nervous System, Cont.
• More Core Concepts / Features– Transactional documents– Maintenance documents– Inquiries– Lookups– Business Rules– Data Dictionary
![Page 12: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/12.jpg)
Kuali Identity Management
• Still under development• Once development is complete, will retrofit
existing Kuali Rice modules to take advantage of it– Replace current user and workgroup services that are
currently implemented as part of KEW– Replace authentication/authorization which is
currently part of KEW
• Keeping it simple to start• Will maintain information about persons, groups,
roles, etc.
![Page 13: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/13.jpg)
Kuali Identity Management, cont.
• Goals:– Clean and consistent service interfaces used by all
Kuali apps; generic enough for non-Kuali apps– Leverage KNS to provide a reference implementation
for services; workflow-enabled management application
– Flexibility for dynamic attributes associated with IdM entities (persons, groups, roles, etc)
– Pluggable integration with other IdM products
![Page 14: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/14.jpg)
Kuali Organization Management
• Still under development• Provide a common set of service APIS for
Organization and Unit Hierarchy Management• Provide an out-of-the-box reference
implementation for managing these data structures
• Goal of becoming the shared infrastructure application for managing organizations and their hierarchies for all Kuali applications
![Page 15: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/15.jpg)
Kuali Enterprise Notification
• Works with the Action List to provide a single place for all institution-related communications– Workflow items come from KEW– Non-workflow items from KEN
• Non-workflow example items– Overdue library book– A concert on campus– Graduation checklists for seniors
• Provides a secure and controlled environment for notifying the masses
![Page 16: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/16.jpg)
Kuali Enterprise Notification, cont.
• Eliminate sifting through email
• Communication broker which provides any combination of action list, text messages, email, etc...
• Audit trail just as in KEW (Route Log)
• User preferences for notification types
• End user interfaces
– Viewing notification details
– Maintaining the system (admin)
– Sending messages (admin)
![Page 17: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/17.jpg)
Kuali Service Bus
• Service Registry to enable applications and services on the bus to interact with other applications and services
• Provides synchronous service invocation
• Provides asynchronous messaging
• Provides flexible security
• Provides Quality of Service (QoS)
• Light Weight – keep it simple
![Page 18: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/18.jpg)
Kuali Enterprise Workflow
![Page 19: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/19.jpg)
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
![Page 20: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/20.jpg)
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• Email Notification
![Page 21: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/21.jpg)
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– Email 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
![Page 22: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/22.jpg)
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
![Page 23: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/23.jpg)
The Building Blocks of Workflow
![Page 24: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/24.jpg)
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
![Page 25: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/25.jpg)
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
![Page 26: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/26.jpg)
Rule Attribute
• Defines how a Routing Rule evaluates document data to determine whether or not the rule data matches the document data
• 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 (with matching done by XPath)
• Can have multiple GUI fields defined in a single attribute
![Page 27: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/27.jpg)
Role Attribute
• A special type of Rule Attribute which allows for routing to a “Role”
• Used when data on users or workgroups that must be routed to is stored in an external system
• Examples: Fiscal Officer, Dean, Supervisor, Professor, etc.
• Already Existing Role Attributes in KEW– Initiator Role: used to retrieve the user defined as
the initiator on the document– Routed By User Role: used to retrieve the user who
physically routed the document (may not be the initiator)
![Page 28: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/28.jpg)
Rule Template
• A composition of Rule Attributes• Adding a ‘Role’ attribute to a template allows for
the use of the Role on any rules created against the template
• When rule attributes are used for matching on rules, each attribute is associated with the other attributes on the template using an implicit ‘and’ logic qualifier
• Can be used to define various other aspects to be used by the rule creation GUI such as rule data defaults (effective dates, ignore previous, available request types, etc)
![Page 29: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/29.jpg)
Routing Rules
• Configured via a GUI (or imported from XML)• Created against a Rule Template and a Document
Type• The Rule Template and it’s list of Rule Attributes define
what fields will be collected in the Rule GUI• Rules define the users, workgroups and/or roles
who should receive action requests• Available Action Request Types that Rules can route
– Complete– Approve– Acknowledge– FYI
![Page 30: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/30.jpg)
Routing Rules
• During routing, Rule Evaluation Sets are “selected” at each node. Default is to select by Document Type and Rule Template defined on the Route Node
• Rules match (or ‘fire’) based on the evaluation of data on the document and data contained on the individual rule
• 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.
![Page 31: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/31.jpg)
Post Processors
• Associated with a Document Type• Often used to “Finalize” the business
transaction represented by the workflow process
• Sends events to clients at various points in the document routing process– KEW status changes– Node transitions– Actions taken by users
![Page 32: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/32.jpg)
Searchable Attributes
• 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 by using Xpath to facilitate matching
![Page 33: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/33.jpg)
Plug-ins
• A plug-in is a packaged set of code that can be deployed into the standalone server method of deploying Rice
• Usually contain classes only used in routing such as custom rule or searchable attributes but can contain client application specific services
• Usually used only by clients being implemented by the ‘Thin Client’ method
![Page 34: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/34.jpg)
Workflow Document Example
![Page 35: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/35.jpg)
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
verifications needed
• But first, let’s look at the steps required to build and configure a document that uses KEW
![Page 36: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/36.jpg)
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
![Page 37: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/37.jpg)
Building the Document
![Page 38: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/38.jpg)
Defining the Disbursement Voucher
• Routing Process for Disbursement Voucher is defined as follows
• Ultimately defined in XML and imported
![Page 39: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/39.jpg)
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
![Page 40: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/40.jpg)
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
<fieldEvaluation> <xpathexpression> //document/campusCode = wf:ruledata('campusCode') </xpathexpression></fieldEvaluation>
![Page 41: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/41.jpg)
Creating Rules
• For all Nodes except Account Review, we create rules to define who the document should route to
![Page 42: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/42.jpg)
Creating Rules
Screenshot of DV Rules
![Page 43: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/43.jpg)
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
![Page 44: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/44.jpg)
Route Log of a Disbursement Voucher
• http://www.kualitestdrive.org• Route Log
![Page 45: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/45.jpg)
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.)
![Page 46: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/46.jpg)
eDoc Lite
![Page 47: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/47.jpg)
eDoc Lite
• A simple, form-based system that runs entirely within Workflow, and can be created with no java, just XML.
• Typically used for simple documents with simple route paths
• Can be integrated with larger applications usually with a database layer post processor component
![Page 48: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/48.jpg)
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
![Page 49: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/49.jpg)
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
![Page 50: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/50.jpg)
Handling EDL Data
• Since EDL uses KEW for it’s routing. You can implement Post Processors to write your EDL data to a database.
• There is one already available which can be used out of the box to write to:– EN_EDL_DMP_T– EN_EDL_FIELD_DMP_T
• This data can then be replicated or extracted to other environments to be used by reporting or user processes
![Page 51: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/51.jpg)
eDoc Lite Architecture
![Page 52: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/52.jpg)
eDocLite – EDL Form
![Page 53: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/53.jpg)
eDocLite – Summary
• Makes creating a workflow-enabled application based on a simple form easy
• No Java development required
• No application to deploy
![Page 54: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/54.jpg)
Institutional Customization
![Page 55: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/55.jpg)
Customizing Kuali Rice at your Institution
• There are many ways to customize your Standalone Rice installation, including but not limited to:– Integration with institution’s identity services– Integration with institution’s authentication
mechanisms (i.e. CAS)– Development and deployment of shared
routing components
![Page 56: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/56.jpg)
KEW Institutional Plug-in
• Uses already existing Plug-in architecture in KEW to allow Institution wide customizations
• Can be used to override services using a custom Resource Loader implementation
• Only one institutional plug-in can be defined
![Page 57: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/57.jpg)
Deployment and Integration
![Page 58: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/58.jpg)
Deployment and Integration
• Rice Deployment Options– Bundled – Kuali Rice software is “bundled” into your
application– Standalone – a standalone server is deployed
• Standalone Server Client Integration Methods– Embedded KEW – workflow engine is embedded into
your application– KEW Java Thin Client– Web Services – for KEW and, eventually, KIM– eDoc Lite
![Page 59: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/59.jpg)
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 60: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/60.jpg)
Bundled Mode Diagram
![Page 61: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/61.jpg)
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
![Page 62: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/62.jpg)
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 63: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/63.jpg)
KEW Java Thin Client Diagram
![Page 64: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/64.jpg)
Embedded KEW
• Embedded KEW allows you to configure a workflow engine embedded in your application but still use a standalone rice server
• Allows for the following 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– Still a single KEW web app but scalability is
increased because of multiple Workflow Engines
![Page 65: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/65.jpg)
Embedded KEW Diagram
![Page 66: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/66.jpg)
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 67: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/67.jpg)
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
![Page 68: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/68.jpg)
The Whole Picture
![Page 69: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/69.jpg)
In Practice:Indiana University’s Kuali Rice
Implementation
![Page 70: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/70.jpg)
Indiana University’s Kuali Rice Implementation
• KEW Thin Clients– HR (PeopleSoft)– ERA– EPIC– TK– SIS (PeopleSoft)
• KEW Embedded Clients– IUF– Travel (coming soon)– KFS (coming soon)
![Page 71: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/71.jpg)
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!
![Page 72: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/72.jpg)
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
Email servers (requires SSL)– Various shared routing components deployed
in a plug-in
![Page 73: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/73.jpg)
PeopleSoft Integration - SIS
• Uses Thin Client Integration with a Plug-in
• Integration Points– Direct database table manipulation– PeopleSoft Enrollment engine is called using
PeopleSoft Component Interface
• Largest used document types are ‘Add Course’ and ‘Drop Course’
![Page 74: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/74.jpg)
PeopleSoft Integration – HR
• Uses Thin Client Integration with a Plug-in• Integration Points
– Java client integrating with KEW uses a custom database (no direct application connection)
– Users view screens in HR java client and when PeopleSoft data must be updated users are redirected to PeopleSoft screens which have buttons to pull in data from custom database
• PeopleSoft Component Interface was not used as the SIS group used it due to CI being buggy back when HR first integrated with KEW at IU
![Page 75: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/75.jpg)
PeopleSoft Integration – HRApplication in Development
• Will be a fully Rice Enabled Application (including use of the KNS module of Rice)
• Will run Embedded KEW connecting with IU’s Standalone Rice Server and using KSB exposed Services from IU Institutional Plug-in
• Redesign Features/Enhancements– Will use KNS to read PeopleSoft database tables directly– Custom KNS Lookup implementations to leverage
PeopleSoft effective dating in some objects– All documents will be Transactional Documents to allow for
custom GUI control (no Maintenance)– Developers are attempting to design custom automation of
the currently manual user screen redirection
![Page 76: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/76.jpg)
![Page 77: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/77.jpg)
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 Routed 1,164,870
Requests Generated 6,012,216
Actions Taken 2,913,709
Route Nodes Processed 5,405,701
![Page 78: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/78.jpg)
Moving Forward
![Page 79: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/79.jpg)
Upcoming Work
• Version 0.9.3 of Kuali Rice is currently under development
• Changes 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 0.9.4 tasks (module refactoring)
![Page 80: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/80.jpg)
Upcoming Work, cont.
• Version 0.9.4 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…
![Page 81: Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea](https://reader034.vdocuments.us/reader034/viewer/2022051416/56649e7e5503460f94b820fe/html5/thumbnails/81.jpg)
More Information
Rice web site: http://rice.kuali.org
KEW web site: http://kew.kuali.org
Rice Message List: