Introduction to Kuali Rice

hedgebornabaloneSoftware and s/w Development

Dec 2, 2013 (4 years and 29 days ago)

88 views

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_T

Chart

(POJO)

ORM

Map

Data
Dictionary

Lookups
and
Inquiries

Maintenance

Documents

Transactional

Documents

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 3
rd

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