Architecture


The presentation layer is implemented using Struts/Servlets/JSP, DWR for AJAX requests and JAX-RS for REST services.  This layer is responsible for transforming a user's request into service calls in the Business Logic layer.

The Business Logic layer is responsible for most of the business processing.  Components of this layer are called services, and they contain methods called by the presentation layer and/or other services.  Services are deliberately agnostic of the underlying hardware/software.  For example, the Business Logic layer should not contain code specific to a particular DBMS system or other storage system.  All storage operations are handled by the Datamodel layer.

The Datamodel layer consists of components called Data Access Objects (DAOs).  It is responsible for defining a set of elementary operations specific to an underlying storage system.  This layer of abstraction (theoretically) allows developers to decouple business logic code from platform-specific code, leading to easier maintenance.

All DAOs and Services are managed with Spring.  Besides the configurability afforded by Spring's Inversion of Control, it also manages transactions within KFS.

 

 

Kuali documentation is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. 

Kuali software is licensed for use pursuant to the Affero General Public License, version 3.

 Copyright © 2014 Kuali, Inc. All rights reserved. 

Portions of Kuali are copyrighted by other parties as described in the Acknowledgments screen. 

Kuali ® is a registered trademark of the Trustees of Indiana University.