HCL Commerce application layers

Now that you have seen how the various software components related to HCL Commerce fit together, it is important to understand the application architecture. This understanding can help you to understand which parts are foundation layers and which parts you can modify.

The following diagram shows the various layers that compose the application architecture:
Image illustrating the layers in the HCL Commerce application
Business models
In HCL Commerce, a business model represents a sample business situation in which the HCL Commerce product might be used. A business model describes a scenario in which various parties use HCL Commerce to achieve their needs. The business models that are provided by HCL Commerce are:
  • B2B
  • B2C

Within each business model, HCL Commerce provides starter stores, which might be used as a starting point to develop online sites. You can create other business models to suit your business needs.

Business processes
Represent the processes available in HCL Commerce divided by business model. The business processes are divided into three areas:
Administrative processes
Processes that are used to administer a site, a store, or an organization. Administrative processes are described generically. These processes are generally used as-is. That is, a change to or an addition of an additional administrative process usually entails customizing HCL Commerce.
Starter stores
Starter stores contain sample processes that would be followed by customers of the store. Many different kinds of stores, satisfying a wide range of business needs can be created with HCL Commerce. Use the processes that are described in starter stores as a guideline, or a starting point, for site development. Changing or adding a process to a starter store process requires changes to the site design. Frequently, this type of change does not require customizing the underlying infrastructure.
A solution describes the high-level view of how all the administrative processes and starter store processes fit under the overall business model. A solution combines processes into a coherent picture which explains the relationship between the various process groups.
Presentation layer
The presentation layer is responsible for displaying results. By default, there are two supported types of presentation layers supported: Web and rich client. For the Web presentation layer, the display is rendered using JSP files, whereas, for the rich client the presentation is rendered with Eclipse views and editors implemented using SWT components.
Service layer
The service layer, implemented using OAGIS messages, is a channel-independent mechanism that can access HCL Commerce business logic. The service layer segregates the implementation of business logic such as order and catalog. This segregation permits the underlying implementation to change without requiring that the caller change. All clients, including Web clients and back-end services, go through the service layer to run business logic. The service layer supports two transport mechanisms: local Java binding and Web services.
Business logic
The business logic layer is where business rules are implemented independent of the presentation layer. Business logic is implemented using the command pattern. Two types of commands are implemented.
controller commands
Accessible by the presentation layer and used as a coordinator of tasks.
task commands
Not accessible by the presentation layer but called from the controller commands. This command type is used to implement business rules.
Persistence layer
The persistence layer records the data and operations of the HCL Commerce system. The persistence layer represents entities within the commerce domain and encapsulate the data-centric logic that is required to extract or interpret information that is contained within the database. These entities comply with the Enterprise JavaBeans specification.

These entity beans act as an interface between the business components and the database. In addition, the entity beans are easier to comprehend than complex relationships between columns in database tables.

Database schema
HCL Commerce database schema, which includes over 600 tables, is designed specifically for e-commerce applications and their data requirements. The database schema supports persistence requirements for the HCL Commerce subsystems (Order, Catalog, Member, Marketing, Trading). HCL Commerce supports both DB2 and Oracle relational databases.