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:
- Create and customize storefront assets such as JSP and HTML pages
- Create and modify business logic in Java
- Create and modify JPA entities
- Test code and storefront assets
- Create and modify Web services
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.
- WebSphere Commerce runtime framework enhancements
The runtime framework enhancements better enable support for multiple sales channels by further decoupling the presentation tier from the business logic tier. 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.- WebSphere Commerce application layers
Now that you have seen how the various software components related to WebSphere 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 we can modify.- WebSphere Commerce functional overview
WebSphere Commerce functional architecture is based on a loose coupling of the presentation and business logic layers.
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