Case Study On WCEM – PART 1: Introduction
4.1) Technical Skill
5 Technical Overview
5.1) Architecture of WCEM
5.2) Web channel Core Framework
5.3) Module Management
5.4) Configuration Data Management
5.5) Module Configuration
8 Future Scope
9 Future Versions
10 SDN Links
SAP Web Channel Experience Management (WCEM) is the latest E-Business Suite by SAP. It is a state-of-the-art web solution that was re-architechtured from scratch using the latest Web 2.0 and Java standards to allow a pixel perfect UI. It delivers end-to-end processes for E-Commerce, E-Marketing, E-Service, and Web Channel Analytics on a robust and easily extensible Web Channel platform, including 3rd party solutions.
The document can be used by the Technical Consultants as a startup material, for those who have who have a knowledge of SAP ABAP, SAP CRM, Web 2.0 Technologies and Servlet Architecture in JAVA Environment ( Especially JSF 2.0 ), for starting development in SAP CRM Web Channel Experience Management.
SAP Web Channel Experience Management allows us to create and deploy Web shops – a form of electronic commerce which allows consumers to directly buy goods or services from a seller over the Internet using a web browser. Thus, enabling us to turn the Web into a profitable sale, service and interaction channel. The solution offers a full range of e-marketing, e-commerce and e-service functions to your Web shop customers.
4. Prerequisite :
4.1. Technical Skills:
Following are the Technical skills needed to deploy and run a Web channel management application.
- JSF 2,
- CSS3 / HTML5,
- Velocity (for generating the HTML),
- GenIL and a another Search Framework (SAP specific for backend interactions),
- O Data (for Web-Services) using ATOM or JSON as the output,
4.2. Softwares :
Following are the Softwares needed to deploy and run a Web channel management application.
- Netweaver Development Infrastructure (NWDI) – 7.3
- Netweaver Developer Studios (NWDS) – 7.3
- Web Channel development workbench plug-in
- MDM Connector
- MDM Java API
- WCEM MDM Repository (Predifned Rep. Structure for WCEM)
5. Technical Overview:
5.1. Architecture of WCEM
The SAP Web Channel Experience Management platform is based on a typical 3-layer architecture:
- UI and interaction layer
- Business object layer
- Back-end object layer
The intention of the 3-layer architecture is the logical process separation of a Web-based application. All 3 layers communicate with each other through well-defined interfaces. This allows a high degree of extensibility and reusability. That means, for example, that a particular business object can be replaced or extended by a custom implementation,without adjusting the dependent UI and interaction layer or the back-end object layer.
Besides this, flexible configuration data and module management are available to support extensibility and reuse of already implemented business processes. To enable business users and administrators to easily manage the deployed application with their modules, a Web-based application, called Web Channel Builder is available. In addition, several common services such as search framework and user management are part of the framework and can be used in each implemented module.
5.2. Web Channel Core Framework
The Web Channel framework is built on the Web Container of SAP NetWeaver Application Server (AS) Java. Web Container allows clients to execute request/response-oriented programming code based on the servlet technology, so that a servlet receives a request in the form of an HTTPServletRequest and returns a response in the form of an HTTPServletResponse. This technology is the basis for Java Server Faces (JSF), which is a Java standard framework for building server-side Web applications. By using JSF, the UI development is driven by Facelets, which apply a component-driven pattern.
The UI and interaction layer is based on JSF 2.1 and represents the highest level of the Web application with a focus on the user interface to render the requested content. Several extensions were implemented by SAP on top of JSF to provide suitable functionality for state-of-the-art Web applications. Because the framework integrates deeply the JSF technology, we recommend strongly to get familiar with the standard JSF to get a better understanding of this layer and the programming model.
The architecture of JSF implements the model-view-controller design pattern, where the views and controllers are contained in the UI and interaction layer, but the model is contained in the business object layer. That means that the business object layer represents and holds the processed business data within a user session, and provides business functionality that is not connected to any back-end system details. If business objects have to communicate with a back end, they will never access them directly from their level but instead using well-defined interfaces provided by corresponding back-end objects.
The back-end object layer implements these interfaces to provide multi-back-end functionality. Although these implementations are backend-specific, the interfaces themselves are not. The back-end objects are mainly responsible for exchanging data from/to a back-end system like SAP ERP or SAP CRM. At this level only, specific logic related to these back-end systems is implemented, for example, the call of an ABAP function module.
To summarize, the UI and interaction layer typically communicates with the business object layer to receive the requested data. Then the business object layer communicates with the back-end object layer to access business data that is not yet available, the backend layer then accesses the data that is persisted in an underlying back-end system. All the intercommunications between the layer occur through the standard SAP built interfaces.
5.3. Model Management
All business functionality built upon the Web Channel framework is based on the modularization paradigm. Modules, as encapsulated building blocks of SAP WCEM, provide reusable units of functionality, which can be assembled into an application at runtime using the Web Channel Builder tool.
Technically, the module concept provides an encapsulated development approach at design time and a decoupled deployment model at runtime.
The main advantages are –
- High degree of interchangeability and technical decoupling
- Improvement of maintainability
- Optimized development-deployment cycle
- Well-defined usability parts
Each module has a unique module ID and a standardized structure modeled by module parts. Each part contains different aspects of a module, and each part contains certain information or pieces of functionality that are available to other modules or the runtime framework. The following parts are available:
MD part (metadata)
Metadata related to the entire module is stored within the MD part. As well as some fundamental data like a module ID or module type, references to other configuration files and dependencies on other modules are also defined in this part.
UI part (UI implementation)
The UI and interaction layer of a module is developed in the UI part, and certain view components and pages can be made public to other modules. The UI part itself does not contain business functionality, but only implements the presentation layer and uses view component handlers that are defined in the UI repository and managed by the Web Channel framework.
Technologies used: JSF 2.1, Web Content Management.
BO part (business and back-end implementation)
All the modules business and back-end object layer functionality is developed within the BO part. Business objects can be made available to other modules by defining and implementing interfaces.
INTF part (interfaces)
The INTF part owns all module interfaces related to the functionality offered by a module that can be used by other modules. Other modules may only define references to the INTF parts, but never directly reference the UI part or the BO part.
DPU part (deployment unit)
Each module has its own deployment unit, which is achieved by the DPU (deployment unit) part. As a build result, an EAR or SDA file will be created that contains one JAR file per module part (MD, UI, BO, INTF). Since each module has its own deployment unit, modules can be deployed decentrally and independently of each other.
5.4. Configuration Data Management
Configuration data management (CDM) is a framework component that provides the functionality of creating, maintaining, reading, and persisting Web Channel-related settings. CDM is used by the administration tool Web Channel Builder to create and store settings, and it is also accessed by the modules during runtime to read the module settings.
The following CDM entities have a 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 configuring 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:
5.5 Module Configuration
Web Channel Builder
It is used to set up Web Channel applications and function as Web sites. Web Channel Builder allows us to combine various modules and configure them in one application. You can create various configurations of Web Channel applications, which allows us to make changes to the functions that are available in your Web Channel application and to change the appearance of the application by, for example, changing the theme or the page layout.
The following picture shows a Web Channel Builder setup for configuring a WCEM application.
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:
- A great user experience with a pixel perfect UI, with a UI technology based on the latest web standards like Web 2.0, AJAX, Java Server Faces
- Scenarios are now simply configured by non-IT staff with many options with a web tool “Web Channel Builder”. All available modules from E-Sales, E-Marketing and E-Service can be used in a scenario without disruption. And we can have as many scenarios as we want to. Test new scenarios and UI variants upfront on your local PC, and schedule the release time of new scenarios.
- A great search and navigation experience. Especially, when using the Multi Channel Catalog based on SAP MDM.
- State-of-the-Art E-Commerce and E-Marketing features like advanced realtime product recommendations based on BI data, gift cards and wish lists, loyalty management.
- Integrated E-Service features like a “My Support” Home Page, ticket based service management, installed base management, contract determination, contact users, Guided Flows, Community Management, Knowledge Management with eGain.
- Multi channel features like physical store integration with a graphical map-based Store Locator, In-Store Availability,
- Generic Article support for SAP Retail customers, structured article, sets, lots, etc.
- Enhanced Payment Methods (e.g. PayPal), Quick Check Out and others which can be easily implemented via the Payment module.
- A powerful, well described and easy applicable extension concept to build partner and/or customer extensions based on standard shop modules or to create your own modules. The modularization concept is designed to use ALL modules and their extensions in any scenario without additional project effort, just by configuration in a new web tool called “Web Channel Builder”.
- Simple integration of 3rd party solutions like a Content Management system, knowledge management, web analytics, image server, PIM, Social Media platforms, … by leveraging the new extension concept.
- You cannot search at any time for any Sold-To and then switch from it, then continue with other operation on a webshop.
- After selection you have to Logout and login again to be able to switch to another Sold-To.
- The Version WCEM 2.0 can support complete B2C Scenario and only some features of the B2B scenarios. Greater support for the B2B scenario is provided by WCEM 3.0.
8. Future Scope:
The WCEM 3.0 has been fully functional and is globally available from the date May 29, 2013.WCEM 3.0 is developed to provide a complete support to both the B2C and B2B Scenarios.
9. Future Versions:
Presently WCEM 3.0 is now available. Till to date, there has been no official announcement on any future versions of WCEM.
10. SDN Discussion Links:
Getting started with WCEM.
Setting up and Debugging a WCEM Application
Version of the software needed to develop WCEM Application.