Application logic

Application logic is implemented as Java classes. This includes classes for representing the various containers (such as projects) and content types (such as documents), as well as managers for handling them, data access objects for interacting with the database, and classes to support services such as web services, feeds.

Developers can learn more about the classes exposed as part of the API by taking at look at the Javadoc API at https://developers.jivesoftware.com.

Dependency configuration

Java classes rely on many classes and libraries provided either by Jive or by third parties. These dependencies are resolved at run time by using a model called inversion of control, or IOC. IOC is supported by the Spring framework. Through the Spring framework, developers can replace default dependencies with their own implementations. For example, a developer could replace a particular security framework with their own.

Spring is an open source framework. For more information, see Spring framework portal at https://spring.io/.

Caching

Caching is provided by Cash server, including Cash and Voldemort Cash components.

Clustering

jgroups provides clustering subsystems.