pecific log files, the log filename, maximum number of lines to be printed in a file and log- ging levels can be configured using the configuration file and APIs Persistence Helps in moving Java objects from memory to the database and in controlling the number of Java objects in memory Backup Backup service can be used to backup and restore the CMS database. It can also be configured to get executed at specified intervals. The backup and restoration process is supported for different databases, for example the backup data from Oracle can be restored to mySQL Module Module service provides support for adding custom modules or user-specific modules, in addition to supporting the starting of the modules in different configurations. Communication Communication service facilitates the communication between the Front-end (FE) and Back-end (BE) servers and also the communication between the client and the FE server. Custom modules can make use of this service via the API Transaction API This comprises the ability to define multiple object updates in a single operation with the ability to roll back. This feature is basic to any large scale system in order to guarantee data integrity. User applications involving a sequence of multiple object updates can access the Transaction API to perform operations such as commit, rollback and the transaction timeout UserStorage API User-defined objects or custom objects which do not implement DBInterface or extend ManagedObject or any of its derived classes can be stored to, and retrieved from, the product database using the UserStorage API Back End Server Front End Client 1 (Primary) Server Database Back End Server Front End Client n (Standby) Server Before Fail-over After Fail-over Figure 11.14 CMS framework fail-over. process does not affect the clients connected to the FE servers, except during the brief fail-over interval when they may receive timeouts. Clients are not required to restart when fail-over occurs. An e-mail notification regarding the fail-over can be sent to a speci