RAD, RULES, AND COMPATIBILITY: WHAT'S COMING IN KUALI RICE 2.0 Eric Westfall – Indiana University Travis Schneeberger – Dechen Consulting Group Peter Giles.

Slides:



Advertisements
Similar presentations
ARC and TRC Update to All Boards. Evolution of Rice.
Advertisements

Evolution of the Kuali Rice Project Charter, Governance and Roadmap.
Kuali Technology Mark Norton – Nolaria Consulting Zachary Naiman – Member Liaison, Kuali Foundation.
Introduction to Kuali Rice ITANA Screen2Screen: Kuali on Campus May 2009 Eric Westfall – Kuali Rice Project Manager.
Open source administration software for education software development simplified RAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0 Eric Westfall.
The Developer Perspective Michelle Osmond. Design – Requirements Gathering Sales & Research projects –Prototypes/Demos User group meetings Usability workshops.
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.
Evolution of the Kuali Rice Project Charter, Governance and Roadmap
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Kuali Student Architecture Overview February 2011
UNIT-V The MVC architecture and Struts Framework.
ENTERPRISE JOB SCHEDULER SAJEEV RAMAKRISHNAN 29 AUG 2014.
Open source administration software for education software development simplified KRAD Kuali Application Development Framework.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Technical Overview of Kuali Rice UC Davis, Information & Educational Technology January 2009.
Architecting and Building KRA using Kuali Rice Terry Durkin, KRA DM/Lead Developer (Indiana University) Bryan Hutchinson, KRA DM/Lead Developer (Cornell)
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.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Kuali Enterprise Workflow Kuali Days – May 2008 Eric Westfall - Indiana University.
Kuali Rice at Indiana University Rice Setup Options July 29-30, 2008 Eric Westfall.
KRAD. 2 What is KRAD KRAD is the codename for the next generation of KNS It will be a rapid application development framework for use by many Kuali Foundation.
Technical Overview for “Functionals” (Kuali-eze…It’s a Foreign Language!) Ailish Byrne, Indiana University Barbara Sutton, Cornell University.
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Rice Status Update University of California July 20, 2009 Eric Westfall – Kuali Rice Project Manager.
Eric Westfall – Indiana University James Bennett – Indiana University ADMINISTERING A PRODUCTION KUALI RICE INFRASTRUCTURE.
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.
Kuali Rice and Enterprise Workflow May 22, 2008 David Elyea.
Kuali Enterprise Workflow Eric Westfall (Indiana University) Aaron Hamid (Cornell University)
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
An overview of changes.  Rice 1.1 is now Rice 2.0 ◦ communicates the level of changes being made in the rice codebase.
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.
Kuali Rice – ARC / TRC Update May 18, 2010 Eric Westfall – Kuali Rice Project Manager.
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.
Kuali Enterprise Workflow Kuali Days – November 2008 Scott Gibson, University of Maryland Bryan Hutchinson, Cornell University James Smith, 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 Rice Evolving the Technology Framework for Kuali Applications Brian McGough (Indiana University) Aaron Godert (Cornell University) Warner Onstine.
Kuali Rice A basic overview…. Kuali Rice Mission First and foremost to provide a consistent development framework and common middleware layer for Kuali.
Kuali Rice at Indiana University From the System Owner Perspective July 29-30, 2008 Eric Westfall.
© 2006, The Trustees of Cornell University © 2006, The Trustees of Indiana University Kuali Nervous System Aaron Godert, Kuali Development Manager Brian.
KS configuration application workshop Kuali Days :: Chicago May 13-14, 2008.
Kuali Rice: General Overview Brian McGough Kuali Rice Project Manager Kuali Lead Architect Director, Enterprise Software, IU May 13, 2008.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
RAD, RULES, AND COMPATIBILITY: WHAT'S COMING IN KUALI RICE 2.0 Eric Westfall – Indiana University Travis Schneeberger – Dechen Consulting Group Peter Giles.
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.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
RAD, RULES, AND COMPATIBILITY: WHAT'S COMING IN KUALI RICE 2.0 Eric Westfall – Indiana University Travis Schneeberger – Dechen Consulting Group Peter Giles.
Eric Westfall KUALI ENTERPRISE WORKFLOW OVERVIEW.
Kuali Rice Evolving the Infrastructure for Kuali Applications Brian McGough (Indiana University) Aaron Godert (Cornell University)
Evolution of the Kuali Rice Project Charter, Governance and Roadmap.
De Rigueur - Adding Process to Your Business Analytics Environment Diane Hatcher, SAS Institute Inc, Cary, NC Falko Schulz, SAS Institute Australia., Brisbane,
Kuali Enterprise Notification Tell Me What I Want And Need To Know Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst,
Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008.
Replacing Legacy Bank Account Management System Using Business Rules
NIEM Tool Strategy Next Steps for Movement
Presentation transcript:

RAD, RULES, AND COMPATIBILITY: WHAT'S COMING IN KUALI RICE 2.0 Eric Westfall – Indiana University Travis Schneeberger – Dechen Consulting Group Peter Giles – University of Washington

KUALI RICE COMPONENTS Version 1.0.x KSB - Kuali Service Bus KIM - Kuali Identity Management KEW - Kuali Enterprise Workflow KEN - Kuali Enterprise Notification KNS - Kuali Nervous System Version 2.0.x – (Beta available now!) KRMS – Kuali Rule Management System KRAD – Kuali Rapid Application Development

KUALI RICE 2.0 DELIVERABLES Improved Modularity Version Compatibility Kuali Rule Management System (KRMS) Kuali Rapid Application Development (KRAD)

MODULARITY

MODULARITY – IN THE PAST High level of coupling Code base overly “monolithic” Client perspective Which apis and services should I use? Which ones are internal?

MODULARITY – MAKING IT BETTER Leverage Maven separate out different conceptual modules of Rice into multiple Maven modules Enforce internal and external dependencies Packaging Make it clear from package names which classes constitute “apis” and which are for internal use only

TYPICAL COMPONENT BREAKDOWN web app implementation framework api

THE VISION

WHY? Decrease complexity Isolate external dependencies Reduce coupling Allow modules of rice to be developed and tested in isolation Improve the quality of the Rice codebase

WHY? Make it explicit what code client apps can use Helps Rice make guarantees on releases Make client upgrades easier Provide more deployment and integration flexibility Version Compatibility

DEPENDENCY UPGRADE 2.0: impacting release, time to update dependencies Each dep has been analyzed/upgraded/changed Removed unused/dead deps (oscache, bsf, concurrent backport, htmlunit, oro, standard…) Introduced deps (joda-time, groovy, selenium, jackson, tiles, guava…) Java 6+ and Servlet 2.4+ container

CACHING Spring 3.1’s Caching abstraction, ehcache, and the KSB OSCache is gone! alternatives can be used – no code dep on ehcache! jsr 107 with rice via Spring 3.1 Designed to be used by Rice Clients Unofficial documentation

DEPENDENCY UPGRADE OldNew spring 2.5spring 3.1 servlet 2.4servlet 2.5 jsp 2.1jsp 2.2 cxf 2.2cxf 2.3 oscache 3.2ehcache 2.4 xapool* 1.5 (kuali)bittronix 2.1 *xapool can still be used if desired

Group.Cache.NAME, key="'id=' + #p0") Group getGroup(String id) throws Group.Cache.NAME, key="'principalId=' + #p0 + '|' + 'namespaceCode=' + #p1") List getGroupsByPrincipalIdAndNamespaceCode(String principalId, String namespaceCode) throws GroupMember.Cache.NAME}, allEntries = true) Group updateGroup(Group group) throws RiceIllegalArgumentException;

CRITERIA API Rich API for constructing queries Used for Services, Lookups, etc. Predicate apiAuthors = and( like("display", "*Eric*"), greaterThan("birthDate", gtBirthDate), lessThan("birthDate", ltBirthDate), or(equal("name.first", "Travis"), equal("name.last", "Schneeberger"))) QueryByCriteria.Builder.fromPredicates(apiAuthors);

VERSION COMPATIBILITY Concerned primarily with client-server communication with Kuali Rice services We call this “middleware” compatibility Applications written against different versions of the Rice middleware services need to be able to interoperate Should be able to upgrade middleware services without requiring every client to upgrade at the same time

CURRENT SITUATION

DESIRED SITUATION Lifespan Summary: Patch Release – as needed Minor Release – every 6 months Major Release – every 2-3 years

EXISTING COMPATIBILITY CHALLENGES Service contracts not always well defined Difficult for clients to know which code constitutes apis that they should be using Use of Java Serialization over HTTP Direct connections from client applications into the Kuali Rice database Project moving quickly the last few years, lots of change Verifying and enforcing compatibility

PATH TO COMPATIBILITY Reduce client interaction with Rice database Move public services apis to “api” modules Create package structures that reflect modularity Use SOAP for service integration Design message formats to allow for evolution across versions Version information in KSB service registry

ENFORCING COMPATIBILITY Define a set of rules for service evolution Only add operations and data elements Deprecate, don’t remove Create new services for major changes Automated testing against different versions Operationalize a service governance process

KUALI RULE MANAGEMENT SYSTEM (KRMS) KRMS is a new module in Rice 2.0 Implements a Business Rule Management System (BRMS) BRMS - a system used to define, deploy, execute, monitor and maintain business rules Business Rules – decision logic that is used by operational systems within an organization or enterprise

MOTIVATIONS – KUALI COEUS Functional equivalence with MIT Coeus Workflow Rules Notification Rules Validation Rules Questionaire Rules GUI for maintaining rules Integrates with data in Coeus database Supports custom KC “Functions”

MOTIVATIONS – KUALI STUDENT Kuali Student also has needs for a BRMS Course Prerequisites Student needs courses Student needs a minimum GPA of Student must have permission from advisor Etc. Workflow Routing Already implemented a repository for rules, but needed an execution engine

REQUIREMENTS General enough to be used in many different cases But must satisfy at least KC and KS requirements Rule Repository Execution Engine Must be able to track execution plan and provide information back to caller for decision support Maintenance GUI Extensible and Pluggable

TERMINOLOGY Proposition – a function that resolves to true or false amount > $1000 Compound Proposition – a kind of proposition that groups other propositions joined by AND or OR operator ((amount > $1000) AND (category = “other”) AND …) Action - Executed if a rule evaluates to “true” Notify unit coordinater Route an approval request Generate a validation error

TERMINOLOGY Rule – a proposition linked with a list of actions to execute if proposition evaluates to “true” Agenda – execution plan for a set of rules Controls the execution flow of rules in the agenda when it is executed Can optionally contain conditional branching Term – a pieces of business data that can be used in the construction of propositions Fact – an instance of a term Context – a domain in which rules run

KRMS UI: RULE EDITOR

KRMS - ARCHITECTURE

INTEGRATION Kuali Student KS will be integrating with their pre-existing “Statement Service” Kuali Coeus will build custom integration with their questionnaire component Integrate KRMS with other Rice components via custom “actions” KEW KEN KRAD (for validation)

KUALI RAPID APPLICATION DEVELOPMENT (KRAD)

WHY KRAD? KNS is Struts 1.x based Very little built-in rich user interface support User experience is designed more for administrative users Only has built-in support for a small set of screen types Note however, most of the core concepts from KNS are still relevant in KRAD

WHY KRAD? Kuali Student has a wider variety of UX (user experience) requirements Need better support for “self-service” screens for which the KNS is not well suited A need for Web 2.0 and other Rich Internet Application features Support for more complex types of screens and layouts

KRAD – RICH UI LAUNDRY LIST

KRAD TECHNOLOGY Spring MVC as the model-view-controller framework for KRAD Apache Tiles as the templating engine Fluid Skinning System for CSS jQuery as the javascript library Including jQuery UI And other plugins providing functionality like AJAX

SAMPLE KRAD SCREENS – KNS LOOK AND FEEL

SAMPLE KRAD SCREENS – KS LOOK AND FEEL

SAMPLE KRAD SCREENS – ADMIN LOOK AND FEEL

KRAD IN ACTION! For more information on KRAD, an in-depth session will be held tomorrow from 2:30 – 4:45 Will include a demonstration on how to build KRAD applications

AFTER RICE 2.0 Kuali Rice has a roadmap committee which works with project investors to assemble and maintain the Kuali Rice Roadmap Kuali Rice 2.1 More KRAD!

AFTER RICE 2.1 Data Migration Tools Workflow engine escalation Graphical workflow process designer Additional RAD Tools for application development Much more! Attend the Kuali Rice Roadmap session tomorrow at 1:15 PM