Previous     Contents     DocHome     Index     Next     
iPlanet Trustbase Transaction Manager 2.2.1 Developer Guide



Chapter 4   Configuration Management


There are two elements to the Configuration Manager sub-system, the Configuration Manager itself and its Configuration Store. The Configuration Manager is the central access point for all configuration requests and is responsible for maintaining Configuration Objects in a store. The Configuration Manager co-ordinates access to these objects for both read and update purposes.


Configuration Objects



Configuration Objects hold persistent data for Services and their Configuration Services. A given Service may reference any number of Configuration Objects, and any number of Services or Configuration Services may reference a given Configuration Object. Note that iPlanet Trustbase Transaction Manager components themselves use Configuration Objects. A Configurable Entity is any Service or component that uses Configuration Objects and the Configuration Manager. A Configuration Service is a Service that implements a read-write interface to the Configuration Object, which usually involves some graphical or HTML based interface allowing a user to change the values stored in the configuration object.

All configuration objects must implement the ConfigurationObject interface to ensure that the ConfigurationManager can manipulate them correctly. Configuration Objects are indexed in the store by ConfigUID objects.



Note Further details of the interface that a ConfigurationObject must present can be found in the API documentation for uk.co.jcp.tbase.config.ConfigurationObject.




Configuration Manager



A Service uses the SingletonConfigManager class to gain a reference to the Configuration Manager.

The Configuration Manager allows callers to get readable or writeable versions of Configuration Objects identified by ConfigUID objects.

There are two methods for getting a Configuration Object:

  • The first returns a readable deep copy of the Configuration Object that can be used to set up a Service or for populating Configuration Service views. Configuration Objects gained by this method cannot have their changes applied back to the Configuration Store - this is because the returned Configuration Object does not contain a valid ConfigurationLock object. This form of Configuration Object will always be provided, regardless of whether there is an outstanding lock on the requested object, i.e. requests for read-only copies of ConfigurationObjects are never refused by the ConfigurationManager.

  • The second method provides a deep copy of the Configuration Object that contains a configuration lock valid for a fixed period of time. This lock period will, itself, be configurable. After this period the lock will become invalid and any attempt to apply a change to the Configuration Store will be denied. The lock expires to provide a simple solution to deadlocking issues caused by developers not releasing allocated locks.

Updates and deletions of Configuration Objects can only be performed with a Configuration Object that contains a valid lock object.



Note A Service can only register a Configuration Object with a given ConfigUID if one does not already exist with that ConfigUID.



Configurable Entities may register for notification when a Configuration Object changes. When a change occurs, registered entities receive an event object that contains a read-only copy of the changed Configuration Object.



Note Further details of the methods that the ConfigurationManager. provides to manipulate ConfigurationObjects can be found in the API documentation for uk.co.jcp.tbase.config.SingletonConfigManager uk.co.jcp.tbase.config.ConfigManager.




Configuration Store



The Configuration Store is responsible for maintaining persistent storage of Configuration Objects. The version supplied with iPlanet Trustbase Transaction Manager uses an underlying JDBC implementation to store data. Alternative Configuration Stores may be implemented to store Configuration Objects in any given format.

The Configuration Store implements only primitive read, write and delete methods to access Configuration Objects via their ConfigUID key - the Configuration Manager handles higher level semantics such as locking.

The default JDBC store implementation cannot be replaced by developers and its interface is not public.


Configuration Services



A Configuration Service is the element that knows of the configurable attributes of a ConfigurationObject. It provides the functionality to present these attributes to an administrator via user interface, iPlanet Trustbase Transaction Manager itself uses HTML forms to present configuration data.

The Configuration Services supplied with iPlanet Trustbase Transaction Manager use the HTTP Reader and ScriptWriter classes to generate HTML pages/forms that allow information to be changed by the administrator. The Configuration Service is capable of configuring all the individual iPlanet Trustbase Transaction Manager components, including protocol analysers, message analysers, readers and writers, router and services. Upon receipt of updated attributes the Configuration Service is responsible for registering the changes with the Configuration Manager that will in turn notify other interested parties.

At least one Configuration Service will exist for each Configurable Entity registered in the platform. Note that there will only be a single runtime instance of any given Configuration Service per deployment, no matter how many instances of the actual entities that it configures are in existence.



Note There are no API classes associated with a Configuration Service, it is a normal iPlanet Trustbase Transaction Manager service and therefore must implement the uk.co.jcp.tbase.service.Service interface.




Previous     Contents     DocHome     Index     Next     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.

Last Updated April 19, 2001