WebSphere Commerce common architecture

Before examining how the Transaction Server functions, it is useful to look at the larger picture of the software components that relate to WebSphere Commerce. The following diagram shows a simplified view of these software products:

The Web server is the first point of contact for incoming HTTP requests for our e-commerce application. In order to interface efficiently with the WebSphere Application Server, it uses the WebSphere Application Server plug-in to manage the connections between the two components.

The Transaction Server runs within the WebSphere Application Server, allowing it to take advantage of many of the features of the application server. The database server holds most of your application's data, including product and customer data. In general, extensions to your application are made by modifying or extending the code for the Transaction Server. In addition, you may have a need to store data that falls outside of the realm of the WebSphere Commerce database schema within the database.

Developers use Rational Application Developer to perform the following tasks:

The WebSphere Commerce development environment uses a development database. Developers can use their preferred database tools (including Rational Application Developer) to make database modifications. WebSphere Commerce supports a one to one mapping between the WebSphere Commerce instance and the WebSphere Commerce database. Running multiple WebSphere Commerce instances against the same database is not supported.

New to this release is the further decoupling of the presentation tier from the business logic tier to better enable support for multiple sales channels. A sales channel is a method that a customer can use to purchase merchandise for example, in-store, from an online store, or from a call center. As shown in the following diagram, requests can enter the Transaction Server from different types of clients such as a rich client, kiosk or as a browser request.

WebSphere Commerce is multichannel-enabled, meaning that WebSphere Commerce can support transactions across various sales channels. The framework enhancements in this release support multiple presentation layers, responsible for displaying results, which decouple control logic from business logic.

The preceding diagram depicts how WebSphere Commerce supports two channels: the Web channel and the sales channel. For the Web channel the presentation is rendered using JSP pages and the Web controller layer uses Struts. For the sales channel, the display uses the Eclipse rich client technology. The presentation is rendered with Eclipse views and editors implemented using SWT components. Regardless of the channel, the business logic facade, a generic interface implemented as a stateless session bean, is used by controller calls to invoke controller commands. The command layer is implemented as WebSphere Commerce commands. The persistence layer provides JPA support.


Related concepts
WebSphere Commerce development environment
WebSphere Commerce Developer tools, plug-ins, and utilities
WebSphere Commerce application layers
WebSphere Commerce framework interaction
WebSphere Commerce framework overview
WebSphere Commerce business policy framework