Demystifying Kuali Rice – Presenters: Jessica Coltrin, Eric Westfall, Bill Yock Panelists: Dave...

Post on 27-Dec-2015

213 views 0 download

Tags:

Transcript of Demystifying Kuali Rice – Presenters: Jessica Coltrin, Eric Westfall, Bill Yock Panelists: Dave...

Demystifying Kuali Rice –

Presenters: Jessica Coltrin, Eric Westfall, Bill YockPanelists: Dave Keiffer, Michael Oatley, Tony Potts, Hampton Sublett

Date: Wednesday, Nov. 16th, 2011Time: 10:00am – 12:15pm

Executive Overview, Introduction to Rice,and Panel Discussion

Executive Overview of Kuali Rice

• What is Kuali Rice• The Value of Kuali Rice• Who is Using Kuali Rice• How is Kuali Rice Used• Governance of Kuali Rice• Strategic Directions for Kuali Rice

Agenda

What is Kuali Rice?

Kuali Rice – Serving the Other Projects

Kuali Rice Components

eDocLite Applications

KIM/KEW/KEN/KRMS Connectors

Kuali Service Bus (KSB)

KNS Enabled Applications(KFS, KC, Custom Rice Apps, Etc.)

Service 1 Service 2 Service 3

KIM/KEW/KEN/KRMS Connectors

KRAD Enabled Applications(KS, OLE, Custom Rice Apps, etc.)

Service 1 Service 2 Service 3

KIM/KEW/KEN/KRMS Connectors

Legacy Application Integrations

KSB Connector

KNS KRAD

Kuali EnterpriseWorkflow (KEW)

Kuali EnterpriseNotification (KEN)

Kuali IdentityManagement (KIM)

Kuali Rules Management (KRMS) Enterprise Portal

Middleware Services

Application Development Frameworks

Why Rice?

Kuali Rice is the only application development framework and middleware suite developed by a higher education community. The advantages include no vendor lock-in, a robust, innovative and active co-creation development model focused on the needs of higher education, and the potential for a significantly lower total cost of ownership.

TCO of Kuali Rice?

Source: http://www.netc.org/openoptions/pros_cons/tco.html

The Kuali community has dramatically rallied to reduce implementation and support costs!

Who is Using Kuali Rice?

• Over 32 Higher Education Institutions! kuali.org/rice/implementations

• 1 City Municipality• All institutions implementing KFS, KC, KS, OLE• Several institutions implementing custom Rice

Applications

How is Kuali Rice Being Used?

Extending ERP Systems:• Timekeeping system• HR hire, terminate • HR pay raise, additional pay• HR Leave requests• Travel authorizations• Travel reimbursements, etc.• Add/Drop courses • Faculty annual reporting• Schedule of classes • Grade changes • Access card requests• Health center appt requests • Data access requests

Custom-built systems:• Merit and Promotions• Inventory control workflow• Motor pool request • College request for absence• Supplier registration forms• Tuition change requests

Flexible IntegrationsInnovative SolutionsRapid DevelopmentEnterprise Scope

Kuali Rice is on FIRE

The Kuali Rice Charter Includes

• Vision, Objectives, Key Success Factors• Implementation Considerations (Licensing,

documentation, QA approaches, etc.)• Project Delivery Approaches (major / minor

releases, etc.)• Project Management Practices (planning,

communications, change requests, etc.)• External Marketing and Communication• Project Organization and Governance

Kuali Rice Values and Principals

Development Ease of Use - quick references and lookups, templates and scaffolds, auto code generation

Ease of Implementation – standard configuration files, global parameters, parsers and ingesters, wrappers and API integrations

Modularity – loosely coupled components, reusability, swappability

Industry Standards – leverage Java standards, tools and conventions

Project Standardization – standard naming conventions, documentation, messaging and error handling

Version Compatibility – backward compatibility, cross product compatibility with other Kuali software

Service Orientation – technology neutral APIs, standard service operations, standard message protocols

Kuali Rice Project Governance

Kuali Foundation Board

Kuali Rice Board Technical Roadmap CommitteeApplication Roadmap Committee

Kuali Application Integration Working Group

Rice Project Manager

Kuali Technical Integration Working Group

Configuration ManagementKuali Infrastructure

Rice Software Development

Kuali Rice Investing Partners Kuali Rice Investing Partners Kuali Rice Investing Partners

Kuali Application Project Partners Kuali Application Project Partners Kuali Application Project Partners

Infrastructure Director

Support Specialist

Lead Configuration Manager

Configuration Managers

Rice Lead Architect

Business Analyst/QA Lead

UX Architect

Development Managers

Developers

Kuali Rice Strategic Directions

• Continue to serve strategic needs of Projects• Improve Integrate-ability of Rice• Leverage Existing Open Source Communities• Embrace Industry Standards• Remove Barriers to Entry and Adoption• Improve Marketing to Interested Parties• Leverage Expertise from other Projects and

Communities• Encourage Contributions and New Partnership Models

Proposed Partnership Models

• Investing Partners – Project Dues plus 1 FTE for 2 yrs (voting rights on board, ARC, TRC)

• Contributing Partners – Project Dues plus .5 FTE for 1 yr (Allow staff to get in depth knowledge of Rice to support implementations)

• Joint Venture Partners – Dues and contributions as agreed upon (Allows targeted development of major components or functionalities)

Current Partnerships

• Investing Partners– Clemson University– Cornell University– Iowa State University– Indiana University– UC – Davis– UC – San Diego– University of Maryland– University of Washington– Kuali Financial System– Kuali Student– Kuali Coeus– Kuali OLE

• Contributing Partners– Naval Post Graduate School– Kuali Foundation

• Joint Venture Partners– Kuali Student

Introduction to Kuali Rice

• Rice Software Overview– Middleware Services– Application Development

Frameworks

• Project Development Methodology

• Technical Services for Kuali Community

Agenda

• Middleware Services– Kuali Service Bus (KSB)– Kuali Identity Management (KIM)– Kuali Enterprise Workflow (KEW)– Kuali Enterprise Notification (KEN)– Kuali Rule Management System (KRMS)

• Application Development Frameworks– Kuali Nervous System (KNS)– Kuali Rapid ApplicationDevelopment (KRAD)– eDocLite (EDL)

Digging into Rice – The Alphabet Soup

Middleware Services

• Kuali Rice is a service-oriented platform• What’s a “Service”?

OASIS defines a service as…

“A mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description.”

Point to Point Service Calls

Service Service Service Service

Consumer Consumer

Kuali Service Bus

Service Service Service Service

Consumer Consumer

Service Bus ServiceRegistry

Kuali Service Bus

• Service Registry• Service Location and Discovery• Synchronous Service Invocation• Asynchronous Reliable Messaging

– Message “Queues” and “Topics”• Failover and Load Balancing• Security• SOAP, REST, Java Serialization

Kuali Identity Management

• Identity and Access Management Services• Identity Registry, Groups, Roles, Permissions• IAM service integration “platform”• Reference implementations of services• Services shared across all Kuali applications• General enough to be used outside of Kuali

Authorization as a Service

GroupsPerms

Application Code

Perms

Application CodeWho has access to what?

Authorization as a Service

GroupsPerms

Application Code

Application CodeWho has access to what?

Kuali Identity Management

Kuali Enterprise Workflow

• Content-based routing and approval engine• Action List• Route Log• Document Search• Notification• Pluggable Frameworks for Building Workflow

Components

Kuali Enterprise Notification

• Processes and dispatches notifications• Works in conjunction with the Action List

– Unified notification channel

• Examples:– Overdue library book– A concert on campus– Graduation checklists for seniors

• Has ability to build and plug in other “delivery” types– Email– SMS– IM

Kuali Rule Management System

• Implements a Business Rule Management System (BRMS) for Kuali

• 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

• Consists of a rule repository and a rules execution engine• Can be integrated and used with other modules of Rice

– KEW for defining routing rules– KRAD for validation rules

Application Development Frameworks

• KNS, KRAD, and eDocLite• Utilize the Rice middleware services• KNS is the legacy development framework

– Used to develop KFS and KC• KRAD is the eventual replacement

– First phase released with Rice 2.0• eDocLite is for form-based application

development

Kuali Rapid Application Development

• An effort to “modernize” the Kuali development platform• Why KRAD? What’s wrong with the KNS?

– Struts 1.x based, KRAD is Spring MVC-based– Very little built-in rich user interface support– User experience is targeted to administrative users– Only has built-in support for a small set of screen types

• However, most of the core architectural concepts and frameworks from KNS are still relevant in KRAD

• Powered by the “Data Dictionary”• Phase 2 of KRAD to be delivered with Rice 2.1

eDocLite

• Quickly take paper-based forms online• Backed by the power of KEW• Small amount of development effort• eDocLite applications are “hosted” within the

Rice server• Great for projects in departments who don’t

have development resources• Uses XML Stylesheet technology

Project Release Cycles

• Road Map for major/minor releases prioritized by ARC, consists of Kuali project and institution partners– Major releases every 2-3 years– Minor releases approximately every 6 months

• Milestone releases every 2-4 weeks

Kuali Rice Road Map

View full Roadmap at https://wiki.kuali.org/x/KXxyEgRice Road Map Session at 1:15 in Room 209

Project Development Methodology

• Agile-like development methodology with automation wherever possible• Frequent, time-based, usable release iterations of 2-4 weeks• High level roadmap items broken down into chunks that fit a milestone timeframe• Design occurs in iterations with constant re-evaluation of priorities• Daily standups for development teams• Continuous integration environment runs nightly, over 3000 unit, integration, and

functional tests using jUnit and Selenium• Manual acceptance testing run before a milestone is complete

Rice 2.0 Development Timeline

Technical Services & Standards

• In addition to the Rice software, the Rice project manages some cross-project technical services

• Some are more developed, i.e. Infrastructure and Configuration Management

• UX: Kuali Student has developed a strong set of User Experience (UX)standards and Rice UX is working with them to share these standards

• QA and Documentation standards are possible future areas for expansion of services

Kuali Infrastructure• Team of 2 supports common infrastructure for all 8 Kuali applications and Kuali

Foundation administrative team• Includes:

– administration and support of development & collaboration tools, i.e. Jira, Confluence, Google Docs, kuali.org website, svn source control, fisheye, etc.

– development of Kuali Information System (KIS) directory of community members and group/account management

– development of standards around use of tools like Amazon EC2 cloud infrastructure for test servers and svn directory structure and training projects on using them

– manages IP practices via access for contributors and software licenses for purchased software

– manages accounts for mobile app stores, inCommon membership, Amazon billing, SSL certificates, domain registration, etc.

– provides backup for Kuali Ready SaaS service• Always more work than available resources, but the necessary things are always

addressed

Configuration Management Service• Goal: Pool CM resources to form a

service that provides dedicated technical management, effective processes and tools to build, package, and deploy code for all Kuali projects.

• Currently contains Rice and Kuali Student, but will soon include Mobility and OLE

• Other projects will join as they can afford & fit into their project schedules

• Achieve economies of scale by using the same resources to implement common CM processes

Community Involvement & Support

• Collaboration list for support questions and other discussion: rice.collab@kuali.org

• Bi-monthly collaboration/user’s group meeting • Contribution Process

– Bug fixes handled through project JIRA queue– Contribution JIRA queue to manage larger

contributions, cross-project contributions, others

Panel Discussion

• Dave Keiffer – Ohio State University

• Michael Oatley – University of Connecticut

• Tony Potts – rSmart• Hampton Sublett – UC

Davis• Eric Westfall – Indiana

University

More Information

• Kuali Rice website: http://kuali.org/rice• Kuali Rice wiki page:

https://wiki.kuali.org/display/KULRICE/Home

• Questions? Email rice.info@kuali.org