Eric Westfall KUALI ENTERPRISE WORKFLOW OVERVIEW.

Slides:



Advertisements
Similar presentations
Overview and Demonstration of declarative workflows in SharePoint using Microsoft SharePoint Designer 2007 Kevin Hughes MCT, MCITP, MCSA, MCTS, MCP, Network+,
Advertisements

Introduction to Kuali Rice ITANA Screen2Screen: Kuali on Campus May 2009 Eric Westfall – Kuali Rice Project Manager.
Process Patterns in BizAGI. Slide 2 Overview Types of events Types of gateways Design patterns list.
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?
Kuali Rice at Indiana University Important Workflow Concepts Leveraged in Production Environments July 29-30, 2008 Eric Westfall.
Introduction to BizAgi. Slide 2 User Interface (Summary) The user interface for BizAgi resembles Office It uses a similar ribbon The Palette contains.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
Microsoft ® Official Course Interacting with the Search Service Microsoft SharePoint 2013 SharePoint Practice.
© 2005 EMC Corporation. All rights reserved. Module 9 Workflows.
EmpowHR EmpowHR Security Overview. 2 Application Security Administration Permission List Roles User Profiles Row level security Distributed Security Administration.
Employee Central Presentation
1 Advanced Topics XML and Databases. 2 XML u Overview u Structure of XML Data –XML Document Type Definition DTD –Namespaces –XML Schema u Query and Transformation.
© 2004, The Trustees of Indiana University 1 Kuali Enterprise Workflow (KEW) Basics Brian McGough, Manager, Systems Integration, UITS.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
UIS EDEN Workflow Engine Overview of workflow engine for IU’s OneStart portal.
Workflow Framework There are many open-source workflow frameworks available such as: –OS Workflow -
Rapid Development of Workflow-enabled Forms using eDocLite
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
® IBM Software Group © 2006 IBM Corporation How to read/write XML using EGL This Learning Module shows how to utilize an EGL Library to read/write an XML.
UNIT-V The MVC architecture and Struts Framework.
Kuali Enterprise Workflow Eric Westfall (Indiana University) Andrew Hollamon (University of Arizona)
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
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.
Sage CRM Developers Course
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.
Syteline Workflow WORKFLOW OVERVIEW What is Workflow? Knowledge management Document management Collaboration All terms referring to a WORKFLOW.
Kuali Enterprise Workflow Kuali Days – May 2008 Eric Westfall - Indiana University.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.
Parsley Introduction Kui Huang Oct. 13, Topics Background Dependency Injection Object Lifecycle Message Bus Sample FW Extensions.
Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea.
Kuali Enterprise Workflow Eric Westfall (Indiana University) Aaron Hamid (Cornell University)
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.
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.
Introduction to RtReports – Tony Fenn & Chris Nelson Introduction to RtReports Chris Nelson - Senior Developer Tony Fenn - Product Manager.
Kuali Rice eDocLite UC Davis, Information & Educational Technology.
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.
Kuali Identity Management Overview. Why did we write KIM? Common Interface for Kuali Applications Provide a Fully-Functional Product A Single API for:
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.
Configuring Workflows Module 4. Overview  Understanding Workflows  Using Default Workflows  Creating Workflow Instances.
© 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.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
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.
Object Oriented Analysis and Design Class and Object Diagrams.
Working with XML Schemas ©NIITeXtensible Markup Language/Lesson 3/Slide 1 of 36 Objectives In this lesson, you will learn to: * Declare attributes in an.
KEW Definitions Document Type The Document Type defines the routing definition and other properties for a set of documents. Each document is an instance.
Designing Classes CS239 – Jan 26, Key points from yesterday’s lab  Enumerated types are abstract data types that define a set of values.  They.
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.
Copyright © 2007, Oracle. All rights reserved. Using Document Management and Collaboration Appendix B.
SharePoint Workflow Prepared By: Eng. Rasha Farouk.
Building KFS using KNS Presented by James SmithJustin Beltran University of ArizonaUniversity of California, Irvine.
© Arbela Technologies Accounts Payable + Procurement & Sourcing Workflows.
Studio modeling basics
Packages, Interfaces & Exception Handling
Product Training Program
Presentation transcript:

Eric Westfall KUALI ENTERPRISE WORKFLOW OVERVIEW

ANATOMY OF A WORKFLOW ENGINE What is a Workflow Engine? Orchestrates business process workflow It accomplishes this via: routing content through a variety of routing nodes What must it be capable of doing? Modeling both simple and complex processes Interacting with multiple entities (both humans and services) Running asynchronously Transactional operation

KEW OVERVIEW Composed of a set of services APIs and User Interfaces Routes documents based on type, where the associated Document Type definition declares a route path for the document. Based on this route path, various behaviors will be performed based on the document content. Often, this behavior consists of interacting with one or more parties in the form of approval requests. For example: Transfer of Funds Timesheet Drop Course

KEW – CORE FEATURES Action List (User’s Work List) Document Searching Document Audit Trail (Route Log) Flexible Process Definition (Document Types) Simulation Engine Notes and Attachments – All workflow documents get them, even if they don’t want them Programmatically extensible Wide array of pluggable components to customize routing and other pieces of the system

DOCUMENT TYPES Document Types allow you to specify content that can be initiated using KEW They are specified using XML markup They identify this content by a type name Can also include policies and other attributes Hierarchical, can inherit attributes from parents Most importantly, they define the route path for initiated content

PROCESS DEFINITION - ROUTE NODES Some of the primary types of Routing Nodes include: Split Nodes Join Nodes Simple Nodes Request Nodes Dynamic Nodes Sub Process Nodes You can also implement custom Nodes

ROUTE NODES - SPLIT A split node is one that is capable of splitting the routing path into multiple branches Branches are executed concurrently

ROUTE NODES - JOIN Join nodes complement a split node by allowing the multiple branches of the routing path to converge

ROUTE NODES – SIMPLE NODE Simple nodes are a base type that allows a developer to implement behaviors based on their own particular processing requirements

SIMPLE NODE EXAMPLES Node: Allows sending of messages LogNode: Sends messages to Rice’s logging stream SetVarNode: Allows setting of document variables RequestsNode: Generates action requests

ROUTE NODES - REQUEST NODES Generates ActionRequests that are fed into the action list(s) of a user, workgroup, or role Requires user action to proceed Include: approve, disapprove, acknowledge, etc… Have an associated Activation Type: S (Sequential): An ActionRequest is sent and must be acted upon before sending the next ActionRequest P (Parallel): Multiple ActionRequests are sent at once Requests can be generated by a custom Route Module or by the Rules engine

ROUTE NODES – DYNAMIC NODES Dynamic nodes are a more advanced form of developer-implemented node They allow for the dynamic modeling of a route path This is done by instantiating a set of node instances that will then be fed to the routing engine

ROUTE NODES – SUB-PROCESS Sub Process Nodes are named route paths that can be included in a document type’s primary route path. They allow the workflow author to create a route path that can be reused

CUSTOM NODE IMPLEMENTATION Making an example of the Node public class Node implements SimpleNode { public SimpleResult process(RouteContext context, RouteHelper helper) throws Exception { if (context.isSimulation()) { // no side-effects! } else { // send off the } return new SimpleResult(true); }

KEW API Consists of two main services: 1.WorkflowDocumentActions All operations related to a workflow document 2.WorkflowUtility Implements various query operations

WORKFLOWDOCUMENTACTIONS Create Route Approve Save Blanket Approve Return to Previous Node Super User Actions Attach XML to document Set document title

WORKFLOWUTILITY getRouteHeader getDocumentType getAllActionItems isUserInRouteLog routingReport (executes the Simulation Engine) performDocumentSearch ruleReport getActiveNodeInstances getDocumentStatus

RULE ROUTING Four key components used for Rule Routing Document Type (specifically the Route Nodes) Rule Attributes Rule Templates Routing Rules

DOCUMENT TYPE (ROUTE NODES) Sample Route Node using ‘Rule Template’ Method … DocumentRuleTemplate Sample Route Node using ‘Named Rule’ Method … Named TestRule1

RULE ATTRIBUTES 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

RULE TEMPLATES 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 RULES 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 principals (users), groups 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.

KIM RESPONSIBILITY ROUTING New to Rice 1.0.x Leverages Kuali Identity Management module to allow routing to KIM Roles via KIM Responsibility objects Allows for both KIM Permissions and workflow routing to use same KIM Roles Can be used with ‘Rule Routing’ on a single document type but not single node

DOCUMENT TYPE CONFIGURATION Node must be defined using xml tag rather than tag used for ‘Rule Routing' tag identifies to KEW engine that node will use KIM Responsibility Routing xml tag is used in and elements

QUALIFIER RESOLVERS Used to find qualification data for matching to KIM Role Members Data can be located anywhere including external systems Defined on Node using fully qualified class name Single class can be used on multiple document types and multiple nodes

QUALIFIER RESOLVERS (CONT) Can be custom coded java class implementing QualifierResolver interface Some provided options included in Rice NullQualifierResolver (Match All Role Members) XPathQualifierResolver (User provided XPath Expression) DataDictionaryQualifierResolver (KNS Specific)

KIM ‘RESPONSIBILITY’ BUSINESS OBJECT KIM specific object Very similar to KIM Permission object Usually one or more KIM Roles are assigned to a Responsibility Each Responsibility has a Namespace value (KR-SYS, KFS-AR, KS-LUM) but these are not used by KEW routing Responsibility has data values associated with it via ‘Detail Value’ elements

RESPONSIBILITY DETAIL VALUES KEW uses specific Responsibility Detail Values to find matching Responsibility objects Document Type Name Route Node Name Responsibility create/edit UI is designed to collect this information Can be viewed from the Responsibility Lookup

RESPONSIBILITY DETAIL VALUES (CONT) documentTypeName – The KEW document type name that the responsibility applies to routeNodeName – Specific Node Name to use this particular Responsibility for actionDetailsAtRoleMemberLevel – Tells KEW where to find Action Info (request type, priority, etc) required – Notifies KEW if this Responsibility is required to generate at least one Action Request

KIM ROLES Qualification values returned by node’s Qualifier Resolver class are used to fully qualify Role Members The Responsibility Detail Value ‘actionDetailsAtRoleMemberLevel’ determines how Role collects Responsibility ‘Action Info’ True: Each Role Member will have it’s own ‘Action Info’ data False: The ‘Action Info’ data will be set at the Role Level and every Role Member uses it

Eric Westfall DESIGNING WORKFLOW PROCESSES

ANATOMY OF A DOCUMENT TYPE DEFINITION

DEFINING ROUTE PATHS P...

DESIGNING WORKFLOW PROCESSES Next, we’re going to take a look at some Document Type definitions in XML. We will look at some of the Document Type definitions you will work with in the next exercise: Simple Document Type with Ad-Hoc Routing Routing Rules using Simple Rule Templates Parallel Branching using Split Nodes Using Conditional Split Nodes Using a PostProcessor

DIFFERENT TYPES OF NODES P P DepartmentCodeQualifierResolver P FinalApproversTemplate initiator Confirmation .Stylesheet edu.iu.uis.eden.mail. Node