
The basic purpose of Knowledge Management (KM) is to enable central, uniform management of content that is located in distributed, heterogeneous repositories. When a repository is integrated in KM, its content can be processed and manipulated with services. User-centric services offer functions to access, edit and publish content. System-oriented services enable, for example, administration, monitoring and processing of data.
From a developer's perspective, KM consists of the repository framework layer, the KM layer and extensions. The figure shows the layers with their extensions.
Repository Framework (RF) Layer
This layer contains the fundamental components of KM. It provides the runtime environment for applications and an infrastructure for integrating extensions. Although extensions are not part of the framework, but additions to the framework, some play such a central role that they are considered to be core extensions. Such extensions, which are closely related to the framework, are called framework extensions.
The Knowledge Management (KM) Layer
This layer is built on top of the repository framework. It extends the framework with services to handle resources and provides the flexible UI framework for rendering resources. For end users, the layer is visible as the KM application that supports tasks related to documents like accessing, creating, approving and publishing documents.
The services implemented for the layer are primarily user-centric. A service that plays a particularly important role is the index management service. It performs search and classification operations within repositories, using the functions provided by the standalone engine Search & Classification (TREX).
A further prominent feature of the layer is the flexible UI framework. This enables the navigation through hierarchies in repositories to be rendered in many different ways. It is referred to as a framework because it enables the integration of extensions like collection and resource renderers.
Extensions
As already mentioned, the repository framework provides an infrastructure for building extensions. Extensions can be developed either to enhance the framework or to enhance applications. Those that enhance the framework, like repository managers and system-centric services, are framework extensions. Those that enhance the Knowledge Management or other applications are application extensions. Examples of application extensions are user-centric services like subscriptions, content-exchange, and state management. Examples of framework extensions are repository managers and system-centric functions like scheduling, caching and generation of URLs. In the figure above, the colors indicate whether extensions are primarily associated with the framework or applications.
Extensions that can be built and plugged into the framework fulfill different purposes. The most common extensions are:
The repository framework includes default implementations of different types of repository managers and services.
Search and Classification (TREX)
Search & Classification (TREX)is a standalone engine that provides search and classification functions. The knowledge management index management service is based on TREX. It uses the functions exposed by TREX to implement search and classification operations for resources that are accessible within the framework. TREX itself has no public API and can therefore only be accessed via the APIs of the index management service.