RAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0

Similar documents
26- April- 2010, Spring Member Mee4ng Chris Hyzer, Grouper developer

Oracle VM Workshop Applica>on Driven Virtualiza>on

Introduction to Kuali Rice 2.5.3

Component diagrams. Components Components are model elements that represent independent, interchangeable parts of a system.

Con$nuous Integra$on Development Environment. Kovács Gábor

Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service

Kuali Rice KEW Guide

1- Nov- 2010, Fall Member Mee2ng Chris Hyzer, Grouper developer

Get started with the IBM Alert Notification service. Author: Ray Stoner Senior Managing Consultant IBM Cloud Client Technical Engagement Lab Services

Direc>ons in Distributed Compu>ng

What were his cri+cisms? Classical Methodologies:

Admin Web Console. Training Guide. SmartPager Systems Inc. (TelmedIQ) Suite 1006, 1200 Westlake Ave N, SeaDle

The Role of Standards and Open Source Software in Student Information Systems

October 5 th 2010 NANOG 50 Jason Zurawski Internet2

Why Rails and Design for an Applica5on

TECHNICAL SESSIONS FORMS * WORKFLOW * FLOW * POWERAPPS

Design Principles & Prac4ces

Web Applica+on Development. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

System Modeling Environment

COSC 310: So*ware Engineering. Dr. Bowen Hui University of Bri>sh Columbia Okanagan

Con$nuous Deployment with Docker Andrew Aslinger. Oct

Kuali Rice KRAD Guide

Preliminary ACTL-SLOW Design in the ACS and OPC-UA context. G. Tos? (19/04/2016)

Automated UI tests for Mobile Apps. Sedina Oruc

Objec0ves. Gain understanding of what IDA Pro is and what it can do. Expose students to the tool GUI

Architectural Requirements Phase. See Sommerville Chapters 11, 12, 13, 14, 18.2

Tools to Develop New Linux Applications

August, HPE Propel Microservices & Jumpstart

Dynamic Web Development

KS CM 2.0 Implementation and Deployment Guide

Integrating Selenium with Confluence and JIRA

Chris Awre & Diane Leeson LLI Seminar 20 th November 2012

ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER

Securing Hadoop. Keys Botzum, MapR Technologies Jan MapR Technologies - Confiden6al

IMS Standards in Ac:on

From Continuous Integration To Continuous Delivery With Jenkins

<Insert Picture Here> The Latest E-Business Suite R12.x OA Framework Rich User Interface Enhancements

Database Machine Administration v/s Database Administration: Similarities and Differences

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons.

Care & Feeding of Programmers: Addressing App Sec Gaps using HTTP Headers. Sunny Wear OWASP Tampa Chapter December

Managed So*ware Installa1on with Munki

Tightly Integrated: Mike Cormier Bill Thackrey. Achieving Fast Time to Value with Splunk. Managing Directors Splunk Architects Concanon LLC

TECHNICAL SESSIONS OFFICE DEVELOPMENT

: Course : SharePoint 2016 Site Collection and Site Administration

Desktop Integrators You Mean I Can Load Data Straight From a Spreadsheet? Lee Briggs Director, Financials Denovo

Kaseya Service Desk Workshop DAY TWO

Welcome to the SIHO itransact portal.

REDCap Data Dic+onary

Object Oriented Design (OOD): The Concept

Phyllis Kaiden. Product Manager, Digital Collection Services. Project Client Server Catcher Website: End-User Experience Redesign

CORPORATE PRESENTATION

Oracle Applica7on Express (APEX) For E- Business Suite Repor7ng. Your friend in the business.

SHARE Lunch & Learn CICS Transac5on Server V5.1 open beta. Sophie McMonagle Geoff Pirie MaGhew Webster

Jenkins 2 UX Improvements. Keith Zantow Software Engineer, CloudBees, Inc.

Distributed Systems INF Michael Welzl

Rethinking Path Valida/on. Russ White

Microservices with Red Hat. JBoss Fuse

This is an important a-empt (one of the first in the US) to rebalance the rela8onships between publishers, academic ins8tu8ons, funders, and

Open Data Kit. A set of open source tools to help organiza3ons collect, aggregate and visualize their rich data.

Net.info. A proposal for making network service informa6on easily available. Steven Bauer Slides from 2010 MIT

Integra(ng an open source dynamic river model in hydrology modeling frameworks

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

Assessing Medical Device. Cyber Risks in a Healthcare. Environment

Selenium Testing Training

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Code Genera*on

Kaseya Fundamentals Workshop DAY TWO. Developed by Kaseya University. Powered by IT Scholars

Stream and Complex Event Processing Discovering Exis7ng Systems: esper

Working with the ArcGIS Viewer for Flex Application Builder

LibraryTrac Updated August 3, 2017

ENTANDO 4.3 IN SUMMARY

Social Networking. A video sharing community website. Executive Summary. About our Client. Business Situation

April 17, Ronald Layne Manager, Data Quality and Data Governance

Mastering Enterprise Metadata with Seman2c Modeling

Best Practices and Pitfalls for Building Products out of OpenDaylight

Web- Technologies for the desktop with chameria. Daniel Bremer- Tonn akquinet AG

Scaling the Wholesale Interconnect Market. Gastón Cu0gnola Senior Sales Engineer Telco Systems

CSE Opera+ng System Principles

IBM Rational Developer for System z Version 7.5

FP Sizing of SOA applications made easy!

Oracle Service Cloud Integration for Developers Ed 1

Oracle ADF 11gR2 Development Beginner's Guide

hashfs Applying Hashing to Op2mize File Systems for Small File Reads

IRODS USER GROUP 2014 CAMBRIDGE,MA John Burns. 6/25/14 Archive Analy3cs Solu3ons 1

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

Towards a NaFonal Database of ScienFfic PublicaFons

Grenville Whelan High- Availability.com. Copyright, High- Availability.Com Limited, 2014

Etanova Enterprise Solutions

Building Effective ASP.NET MVC 5.x Web Applications using Visual Studio 2013

Oracle Fusion Middleware 11g: Build Applications with ADF I

Enterprise Architecture CS 4720 Web & Mobile Systems

Oracle Service Cloud Integration for Developers Ed 1

Objec&ves. Servlets Review JSPs Web Applica&on Organiza&on Version Control. May 3, 2016 Sprenkle - CS335 1

Quality - The Key to Successful SOA. Charitha Kankanamge WSO2 February 2011

Elas%c Load Balancing, Amazon CloudWatch, and Auto Scaling Sco) Linder

AD105 Introduction to Application Development for the IBM Workplace Managed Client

Managing Installations and Provisioning of OSGi Applications. Carsten Ziegeler

Drupal 8 THE VIDER ITY APPR OACH

Faster Splunk App Cer=fica=on with Splunk AppInspect

Provenance Manager: PROV-man an Implementation of the PROV Standard. Ammar Benabadelkader Provenance Taskforce Budapest, 24 March 2014

Transcription:

software development simplified RAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0 Eric Westfall - Indiana University JASIG 2011

For those who don t know Kuali Rice consists of mul8ple sub- projects which provide: Middleware Services Applica8on Development Framework These different pieces are integrated into a cohesive sofware stack This provides a common plahorm for Enterprise applica8on development and integra8on

Kuali Rice Vision Support the needs of the Kuali Applica8on projects Kuali Financial System (KFS) Kuali Coeus (KC) Kuali Student (KS) Kuali Open Library Environment (OLE) Kuali People Management for the Enterprise (KPME) Support the crea8on of non- Kuali projects Local projects at an ins8tu8on or organiza8on

Kuali Rice Components Most recent release of Kuali Rice is 1.0.3.1 Version 1.0.x KSB - Kuali Service Bus KIM - Kuali Iden8ty Management KEW - Kuali Enterprise Workflow KEN - Kuali Enterprise No8fica8on KNS - Kuali Nervous System Version 2.0.x (Q3 2011) KRMS Kuali Rule Management System KRAD Kuali Rapid Applica8on Development

Kuali Rice 2.0 Deliverables Modularity To more loosely decouple different components Version Compa8bility Provide deployment and upgrade flexibility Kuali Rule Management System (KRMS) Business Rule Management Requirements for Kuali Coeus and Kuali Student Kuali Rapid Applica8on Development (KRAD) Modernize the KNS Requirements for Kuali Student user experience

Modularity Kuali Rice has a lot of different pieces But in the past, components have not always been well organized!

Modularity In the Past Level of coupling between components has not been given as much aeen8on as it deserves Code base overly monolithic Difficult for a client of the sofware to understand which apis and services they should be using (as opposed to internal ones)

Modularity Making it Beeer In Rice 2.0: Working to separate out different conceptual modules of Rice into mul8ple- maven modules with our Maven- based build Maven can enforce dependencies (both internal and external) and help with documen8ng them Upda8ng package names such that it should be clear which classes cons8tute apis and which are for internal use only

Typical Module Breakdown api framework implementa8on web app

Why Do This? Decrease the complexity of rice Isolate external dependencies Reduce coupling in rice Allow modules of rice to be developed and tested in isola8on Improve the quality of the rice codebase Make it explicit what code client apps can use which helps rice make guarantees on releases make client upgrades easier Provide more deployment and integra8on flexibility Version Compa8bility

Version Compa8bility Concerned primarily with client- server communica8on with Kuali Rice services We call this middleware compa8bility Applica8ons wrieen 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 8me

Current Situa8on

Desired Situa8on Lifespan Summary: Patch Release as needed Minor Release every 6 months Major Release every 2-3 years

Exis8ng Compa8bility Challenges Service contracts not always well defined Difficult for clients to know which code cons8tutes apis that they should be using Using Java Serializa8on over HTTP in many places Direct connec8ons from client applica8ons into the Kuali Rice database Project moving quickly the last few years, lots of change Verifying and enforcing compa8bility

Path to Compa8bility Reduce amount of direct database integra8on with Rice database from clients Can t be totally eliminated for 2.0 Move public services apis to api modules Create package structures that reflect modularity Use SOAP for service integra8on Design message formats to allow for extensibility and compa8bility across versions Add support for version informa8on to KSB service registry

Enforcing Compa8bility Define a set of rules for evolving services Only add opera8ons and data elements Never remove, but can deprecate If major changes needed, a new service must be created Implement automated tests against various services which can be run against later versions Opera8onalize a governance process for service apis

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 opera8onal systems within an organiza8on or enterprise

Mo8va8ons Kuali Coeus Func8onal equivalence with MIT Coeus Workflow Rules No8fica8on Rules Valida8on Rules Ques8onaire Rules GUI for maintaining rules Integrates with data in Coeus database Supports custom KC Func8ons

Mo8va8ons Kuali Student Kuali Student also has needs for a BRMS Course Prerequisites Student needs courses <course list> Student needs a minimum GPA of <average> Student must have permission from advisor Etc. Workflow Rou8ng Already implemented a repository for rules, but needed an execu8on engine

Overall Requirements for KRMS General enough to be used in many different cases But must sa8sfy at least KC and KS requirements Rule Repository Execu8on Engine Must be able to track execu8on plan and provide informa8on back to caller for decision support Maintenance GUI Extensible and Pluggable

Terminology Proposi8on a func8on that resolves to true or false amount > $1000 Compound Proposi8on a kind of proposi8on that groups other proposi8ons joined by AND or OR operator ((amount > $1000) AND (category = other ) AND ) Ac8on - Executed if a rule evaluates to true No8fy unit coordinater Route an approval request Generate a valida8on error

Terminology Rule a proposi8on linked with a list of ac8ons to execute if proposi8on evaluates to true Agenda execu8on plan for a set of rules Controls the execu8on flow of rules in the agenda when it is executed Can op8onally contain condi8onal branching Term a pieces of business data that can be used in the construc8on of proposi8ons Fact an instance of a term Context a domain in which rules run

KRMS UI: Rule Editor

KRMS - Architecture

Integra8on Kuali Student KRMS has it s own remotely accessible repository, but KS will be integra8ng with their pre- exis8ng Statement Service Kuali Coeus will build custom integra8on with their ques8onnaire component KRMS will integrate with other por8ons of Rice via custom rule ac8ons KEW KEN KRAD (for valida8on)

Kuali Rapid Applica8on Development (KRAD) KRAD is intended to be a replacement for the Kuali Nervous System (KNS) KNS was created by the Kuali Financial System team early on in the project to create a development framework to build func8onality quickly Extracted and included as part of the first release of Kuali Rice

Legacy KNS Provides reusable code, shared services, integra8on layer, and a development strategy Provides a common look and feel through screen drawing framework Promotes a document (business process) centric model with workflow as a core concept Built- in integra8on with KEW Provides built- in integra8on with Kuali Iden8ty Management for authoriza8on

KNS Core Concepts Business Objects represents the data model for the applica8on Lookups allows for performing searches against business object data Inquiries displays detailed informa8on about business objects Documents data entry (create and edit, can interact with workflow) Data Dic8onary defines metadata about business objects, lookup, inquiries, and documents

Sample KNS Screen

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

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

KRAD Features Rich UI Lightbox support for Inquiries, Lookups, Confirma8ons, and expanded Text Areas

KRAD Features Rich UI Constraint Message displays field restric8ons Watermark displays in text field (ex. date format)

KRAD Features Rich UI Growls no8fica8ons about events Built in growls for Save & Route Other Messages: Roll over field level help Always displayed field Summary Page submit/load no8fica8on

KRAD Features Rich UI Progressive Disclosure Show informa8on when needed Show/Hide Sec8ons (Tabs) Groups (Parts of Tab) Fields Field Group (Grouping of fields) Server & Client side support

KRAD Features Rich UI Client side valida8on Automa8c transla8on of dic8onary valida8on to client valida8on script Improved Naviga8on (breadcrumbs) Text based bueon genera8on Auto- complete Fields Improved Calendar widget

KRAD Technology Spring MVC as the model- view- controller framework for KRAD Apache Tiles as the templa8ng engine Fluid Skinning System for CSS jquery as the javascript library Including jquery UI And other plugins providing func8onality like AJAX

Sample KRAD Screens KNS Look and Feel

Sample KRAD Screens KS Look and Feel

Sample KRAD Screens Admin Look and Feel

KRAD Views Full- working user interface func8onality solu8ons that can be modified as needed Encompasses much of the exis8ng KNS func8onality such as lookups, inquiries, and maintenance Defined declara8vely in Spring configura8on as part of KRAD Component Framework Backed by Spring MVC Integrated with other Rice modules such as KEW, KIM, and KRMS

AFer Rice 2.0 Kuali Rice has a roadmap commieee which works with project investors to assemble and maintain the Kuali Rice Roadmap Kuali Rice 2.1 Con8nued work on KRAD features XML Data Import and Export tools KEW workflow engine escala8on

AFer Rice 2.0 Kuali Rice 2.2 Implement KEW GUI for designing workflow processes Kuali Rice 2.3 Addi8onal RAD Tools for applica8on development Update of Accessibility Standards Kuali Rice has a dedicated UX Architect now Batch Scheduler and Monitor

Ques8ons? Thanks for Coming! Ques8ons??? hep://rice.kuali.org Kuali Days 2011 November 14-16 - Indianapolis, IN Call for proposals open now! hep://www.kuali.org