Skip to end of metadata
Go to start of metadata

KFS data access objects (DAOs) utilize OJB for most database operations. OJB has built-in support for several different database platforms, so we start by leveraging that. There are places, though, where we need functionality not provided by OJB (or that OJB does not perform quickly or easily enough). We tagged DAOs that contain direct SQL with a marker interface (RawSQL) for easy identification and kept the goal of platform independence in mind when developing them.

KFS has the concept of the database platform for those cases where we were unable to rely on OJB and the supported databases deviate. This is represented by the KualiDBPlatform interface. There are currently two implementations of this interface: KualiDBPlatformOracle and KualiDBPlatformMySQL. These classes provide information and functionality used by other parts of the application to compensate for differences between the two platforms. As you are developing your own DAOs, you may need to use the KualiDBPlatform methods. As long as your DAO subclasses PlatformAwareDaoBaseOjb or PlatformAwareDaoBaseJdbc as the KFS DAOs do, you can use the getDbPlatform method of the super class to obtain the configured instance of KualiDBPlatform.

KFS can be adapted to work with other databases by adding appropriate KualiDBPlatform implementations. Adding support for other databases may uncover the need for additional methods on this interface. The KualiDBPlatform interface and implementations, along with the RawSQL marker interface are part of Rice (see the org.kuali.core.dbplatform package). Kuali Enterprise Workflow (KEW) was originally a separate product. As such, it has its own, separate concept of a database platform (edu.iu.uis.eden.database.platform.Platform). KEW provides several other implementations of this interface, in addition to those for Oracle and MySQL. But, you may also need to create your own implementation of this second interface, if one is not already provided.

If you use Oracle or MySQL, platform-related settings will be taken care of for you at build time, based on the value of the datasource.ojb.platform property in kuali-build.properties. The build script uses this property to configure OJB and determine the appropriate driver, JDBC URL, KualiDBPlatform implementation and workflow Platform implementation to use. If you choose to add support for another database platform, you will also want to review and supplement this build logic.

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

Kuali software is licensed for use pursuant to the Educational Community License v.1.0.

Copyright © 2005-2007 The Kuali Foundation. 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.
  • No labels