In this blog you get an overview about the configuration capabilities in Web Channel Experience Management environment. After this introduction you should understand how the configuration data is handled and how it can be administrated.
The Web Channel Experience Management framework needs to support an extendible environment to fulfill the requirements for flexible setup of module based runtime and additionally to support multi-level extension capabilities. The Configuration Management is a technical service which is responsible to provide such environment with sufficient configuration flexibility on global and module level. Additionally it supports extensibility by overwriting or adding data upon standard configuration based on needs in a particular customer project.
Because of the largely adopted modularization capabilities, the Configuration Management is part of this area as well so that each module can provide its own configuration information. While a Web Channel web site is running, several customizing activities by non-technical users are required to adjust the relevant global and module-related configuration data. These tasks will be done in “Web Channel Builder” which is a central administrative tool that is used to configure Web Channel web sites, as well as customize them, and manage their look and feel.
Configuration Management is a framework component that provides the functionality of creating, maintaining, reading, and persisting Web Channel-related settings. Logically this area is divided into
- Configuration Data Management which focus on configuration data reading and maintenance at runtime
- Configuration Files Management which supports handling of XML-based configuration files
Configuration Data Management
Configuration Data Management acts as a generic service for all kinds of configuration data that can be maintained through the administration tool Web Channel Builder. During runtime it is also accessed by the Web Site to get this modules and global configuration data.
The following data entities are introduced which have hierarchical relationship to each other:
An application represents a long-term-focused frame with only a few global settings, such as back-end type (SAP CRM or SAP ERP) or user storage system. Each application has a stable ID, which is used when accessing the Web site to determine the current active configuration.
Each application contains one or more configurations. One of the most important pieces of information on configuration header level is the “valid on” date and time, where the starting point of productive availability is defined. Additionally, each configuration has its own settings such as UI themes, pages with layouts, and most importantly, the selected modules as a basis for the available business functionality.
In general there are three groups of configurations:
Either configurations in preparation which are not yet completely set up, or already completed configurations that are not yet approved or not yet active (relating to the “valid on” entry).
Completely set up configuration that is active (relating to the “valid on” entry). Only one configuration may be active at one time.
Completely set up configurations that were displaced by another active configuration, and therefore expired.
- Module Configuration
Each configuration defines which modules are part of it. Each module can have again module-specific settings, which contain all the Customizing data for a specific customer scenario.
The following picture illustrates the hierarchical CDM entities: application (“B2C Shop”), configuration (“Easter”), and module configuration (“Marketing”, “Catalog”, …). Additionally, the three kinds of configurations are shown: pending, active, and expired:
Configuration Files Management
Configuration Files Management is a framework service responsible for configuration files storage with the target to provide flexible way for configuring the application behavior. This data will be stored in XML-based configuration files which are part of the modules introduced by the Module Management concept. You have the option to either register a new, independent configuration file, or add and define a file as an extension of an already existing one. Mainly the second option requires to model relations between several files and their data.
Especially the following functionality supports dynamic aspects of data access and content merging:
- XInclude mechanism
Based on XPointer xmlns() Scheme standard (http://www.w3.org/TR/xptr-xmlns/) it’s possible that an XML file can include other XML file or parts of an XML file (XML nodes).
- Parameter support mechanism
An XML file can reference parameter data from other modules or from global level. By using placeholders within the XML structure, this will be replaced at runtime with the current values.
- IF mechanism
A special tag “ifValue” allows to enclose areas in an XML file that will be available at runtime only if a given logical condition become valid.
- Merging of configuration files
The merge mechanism allows the combing of XML files from different sources. It is possible to merge files from different namespaces within the same module, as well as files from different modules. The result of this extension mechanism is a copy of the base XML node with extended or added XML elements.
Web Channel Builder
The Web Channel Builder is a central administrative tool that is used to configure Web Channel web sites. This tool allows a business user or an administrator to combine various modules and configure them in one application. Technically the already introduced entities Application, Configuration and Module Configuration allows here to make changes to the functions that are available in the Web Channel application and to change the appearance of the application by, for example, changing the theme or the page layout. Additionally, the business-related settings can be configured within the Module Configurations.
The following screenshot shows a typical Web Channel Builder interface:
An extensive configuration guide of all module parameters of WCEM 2.0 can be downloaded here.
After a setup of a Configuration was finalized and verified, it can become an Active Configuration which can be set online and thereby it’s available within the Web Site to the end-users. At runtime the Web Site accesses the Configuration data and binds it to the deployed modules, which allows rendering of the available module functionality. A Web Site itself is a Java enterprise container that makes it possible to access all available online applications using HTTP protocol.
The following picture shows the relation between Web Channel Builder and Web Site:
At runtime the Configuration Management environment ensures that the files structure will be accumulated, the current configuration data read and the data replacement and merging applied. Finally the modules with their business functionality, running in scope of a Web Site, are able to access this data in a consistent and easy way through well defined interfaces.
For configuration purposes the tool “Web Channel Builder” is available which ease the needed setup tasks made by an administrator or a business user. Besides the core configuration functionality, Web Channel Builder offers additional features related to Configuration processes, like preconfigured templates or approval processes. These features together with a more detailed introduction into the Web Channel Builder area will be covered in one of the next blogs.