Introduction to Kuali Rice
ITANA Screen2Screen: Kuali on Campus
May 2009
Eric Westfall – Kuali Rice Project Manager
Kuali Rice Vision
• Kuali Rice is a middleware framework• Support the needs of the Kuali Application Projects
−Foundational middleware components and services−Enhanced software development framework
• Leverage the middleware and development frameworks for building custom applications
• Achieve sustainability through community source development and adoption
• Iterate Rice architecture towards a Service Oriented Architecture
Kuali Rice Objectives
• To create standard APIs to Rice components• To design components which are modular• To provide a reference implementation based on
industry standards• To ensure intellectual property and open source
license compliance is maintained • To promote adoption by a wide variety of
institutions, primarily in higher education• To build a large community of interest with strong
sustainability
Kuali Rice Components – Version 1.0
• KNS Kuali Nervous System• KEN Kuali Enterprise Notification• KSB Kuali Service Bus• KEW Kuali Enterprise Workflow• KIM Kuali Identity Management
• We will now explore each of the components in more detail
KNS Overview
• Provides reusable code, shared services, integration layer, and a development strategy
• Provides a common look and feel through screen drawing framework
• A document (business process) centric model with workflow as a core concept
KNS Development Paradigm
CHART_TChart
(POJO)ORMMap
Data Dictionary
Lookups and
Inquiries
MaintenanceDocuments
TransactionalDocuments
Workflow(KEW)
Transactional Documents
• These are data-entry centric documents or “transactions” that model the business processes
• Examples include: Proposal Development, Journal Entry, Payment Reimbursement
• Built on a case by case basis using the Kuali Rice tag libraries (encompass snippets of UI behavior):−Notes and attachments−Workflow route log (audit log)
• Integrated with workflow
Maintenance Documents
• No GUI programming required, user interface is rendered by framework
• These are used for maintaining data• An easy way to maintain support tables in a
database• Supports creation of new records and editing of
existing records• Examples include:
−Budget rates−Project codes
Other KNS Features
• Data Dictionary• Question component• Notes and attachments• Pluggable business rules• KIM Integration for Authorization• System parameters
Ken Overview
• Works with the action list to provide a single place for all university 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
KEN Overview - Continued
• Provides a secure and controlled environment for notifying the masses
• Eliminate sifting through email• Communication broker which provides any
combination of action list, email, or custom notifiers−Controlled by user preferences
• Audit trail for all messages just as in KEW
KSB Overview
• A common registry of services−Lists all services on the bus and how they can be
connected−Through simple Spring configuration, Java based
services can be “exported” from a rice enabled application as SOAP or Java Serialization over HTTP services
• Common service locator paradigm - access services remotely or locally
• Other “Rice Clients” can consume services published on the KSB
KSB Communication Models
• Synchronous = P2P : waits for a response• Asynchronous = messaging : fire and forget :
possible callback• Queues = single service retrieved from
redundant set of services; only one invoked• Topics = all services retrieved from
redundant set of services; all invoked
KSB Security
• Bus level : option to digitally sign, WS-Security used for SOAP services
• Service level security through Acegi−Service level, method level−User proxying through standard security models
(i.e. CAS, Kerberos)−Security context passed along (user, authn
token, roles)−Services can call authn/authz authority to
validate context
KEW Overview
• 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 XML content of the Document
• Traditionally used for business transactions in the form of electronic documents that require approval from multiple parties. For example:− Transfer of Funds− 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
• Rules Engine• Email Notification
KEW – Core Features
• Notes and attachments• Wide array of pluggable components to customize
routing and other pieces of the system• eDoc Lite
−Framework for creating simple documents quickly• Plug-in Architecture
−Packaging and deployment of routing components to the Rice Standalone Server at runtime
KIM - Overview
• The Kuali Identity Management module will be included in version 1.0 of Rice
• Provides identity and access management services to Rice and other applications
• Includes a service layer as well as a set of maintenance screens
• Supported Concepts include:−Entities and Principals−Groups−Roles and Permissions−Authentication
KIM – Overview
• Shared identity and access management services that all Kuali projects can use
• Generic enough to be used by non-Kuali projects• Provide a rich and customizable permission-based
authorization system• All services available on the service bus with both
SOAP and Java serialization endpoints• Provide a set of GUIs that can be used to maintain
the data
KIM – Overview
• Provide a reference implementation of the services but allow for customization/replacement to facilitate integration with institutional services or other 3rd party IDM solutions
• Allow for the core KIM services to be overridden piecemeal−For example: override the Identity Service but not the
Role Service
Further Information about Kuali Rice
• The main Rice web site−http://rice.kuali.org−Sign up for our public mailing list−Access to our wiki