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? • 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 • • • • 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 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 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 • 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.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) • 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.x) 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) • 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.x) 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) • 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.x) 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 • 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 Flexible Topologies 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.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 • 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 • 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 Definition • XML Definition eDoc Lite – XML Definition • XML Field Defs w/ Validations eDoc Lite – Form Demo • XML Embedded Style (XSL) eDoc Lite – Route Log • Screenshot of eDoc Lite Route Log 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 • 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 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 Example • Screenshot of DV Routing Config KFS Routing Example • Screenshot of filled-in DV document 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 Example • Screenshot and Explanation of Account Review Configuration KFS Routing Example • Screenshot and Explanation of Org Review Configuration KFS Routing Example • Screenshot and Explanation of Employee Indicator KFS Routing Example • Screenshot and Explanation of Tax Control Code Configuration KFS Routing Example • Screenshot and Explanation of Alien Indicator Configuration KFS Routing Example • Screenshot and Explanation of Payment Reason Configuration KFS Routing Example • Screenshot and Explanation of Campus Code Configuration KFS Routing Example • Screenshot of Route Log of Completed Doc 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? Questions from the audience. Eric Westfall [email protected] Andrew Hollamon [email protected]
© Copyright 2026 Paperzz