260 likes | 417 Views
Kuali Technology. What is Kuali Rice?. Kuali : a humble kitchen wok (Malaysian origin) Rice : a food staple Sits on the bottom of a dish Not a very tasty meal by itself Better with some cuisine on top KFS (Kuali Financial System) - Beef
E N D
What is Kuali Rice? • Kuali: a humble kitchen wok (Malaysian origin) • Rice: a food staple • Sits on the bottom of a dish • Not a very tasty meal by itself • Better with some cuisine on top • KFS (Kuali Financial System) - Beef • KC (Kuali Coeus, Research Administration) - Chicken • KS (Kuali Student) - Seafood • Rice is the foundation to hearty meals (aka enterprise software products)
Historic Origins • Rice was originally a set of foundation services in Kuali Financial System (KFS). • These were broken out and made generic. • After more than a year of work, the 1.0 release is being made available. • Rice is now a full Kuali project with it’s own board and community.
Kuali Rice Vision • Support the needs of the Kuali Application Projects • Foundational middleware components and services • Enhanced software development framework • Leverage 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 • Design modular, re-usable components • Create standard component API’s • Provide a reference implementation based on industry standards • Ensure intellectual property and license compliance is maintained • Promote adoption by a wide variety of institutions • Build a large, sustainable community of interest
Kuali Rice Components – Version 1.0 • KNS Kuali Nervous System • KEW Kuali Enterprise Workflow • KSB Kuali Service Bus • KEN Kuali Enterprise Notification • KIM Kuali Identity Management
KNS Overview • The Kuali Nervous System is a collection of kernel services that support other Rice modules and Kuali applications. • Provides a common look and feel through screen drawing framework • Creates Kuali’s document (business process) paradigm with workflow as a core concept • Batch Management • Business Rules • Document Management • Custom Attributes • Data Dictionary • Help Framework • Inquiries • Lookups • Notes and Attachments • Question and Dialogs • Security and Encryption • System Parameters
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
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
KNS Chart Architecture CHART_T Chart(POJO) Data Dictionary ORMMap Lookups and Inquiries MaintenanceDocuments TransactionalDocuments Workflow(KEW)
KEW Overview • Enterprise workflow using 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 • Includes 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, cont. • Notes and attachments • eDocLite • Framework for creating simple documents quickly • Plug-in Architecture • Packaging and deployment of routing components to the Rice Standalone Server at runtime
KEN Overview • A secure, auditable notification system that feeds the Action list with non-workflow messages • Notification of an overdue library book • Announcing a concert event on campus • Sending graduation checklists for senior • Acts as a communication broker which handles any combination of action list, email, or custom notifiers • Controlled by user preferences
KSB Overview • An enterprise service bus that: • Lists all services on the bus and how they can be connected • Uses a simple Spring configuration, to export Java based services 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 Security • Bus level : option to digitally sign, WS-Security used for SOAP services • Service level security through Spring Security (formerly 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
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 • One-time institutional customization of identity services for all Kuali projects • Includes a service layer as well as a set of maintenance screens • Supported Concepts include: • Entities and Principals • Groups • Roles and Permissions • Authentication
KIM – Design Goals • 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 – Design Goals • 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
KIM – Services • KIM consists of the following services which encompass it’s API • IdentityService • GroupService • PermissionService • RoleService • ResponsibilityService • AuthenticationService • These are read-only, there are also “update” services which allow for write operations
KIM – Internal Usage • Many permissions exist that are used by KNS, examples: • Edit Document • Look Up Records • Use Screen • Create / Maintain Records • KEW uses KIM permissions as well: • Administer Routing for Document • Blanket Approve Document • Route Document • Even KIM uses permissions internally • Assign Role • Grant Permission
What’s Next for Kuali Rice? • Release 1.0 coming very soon! • Enhanced Documentation • Standards • JPA for data persistence • Easier configuration and turnkey upgrades • Better compatibility between different Rice versions • KOM – Kuali Organization Management • And much more!
Further Information about Rice • The main Rice web site • http://rice.kuali.org • Sign up for our public mailing list • Access to our wiki: roadmap, project plans, documentation, etc
Thank You! Any Questions? Contacts: Zach Naiman – zach@kuali.org Eric Wesfall – ewestfal@indiana.edu Special thanks to Eric Westfall and Bill Yock for contributing slides