WebSphere Commerce runtime framework enhancements
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 WebSphere Commerce Server from different types of clients such as a rich client, kiosk or as a browser request.
v6.0.2
In previous releases of WebSphere Commerce the framework was designed for Web-based transactions. Now 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.
Although there have been enhancements in the WebSphere Commerce runtime, task commands, controller commands, access beans, and entity beans should continue to function as in previous releases.
Struts
As of WebSphere Commerce V6.0, the WebSphere Commerce Web application has moved from a proprietary model-view-controller implementation to the struts open source implementation. Struts is a well-documented framework for J2EE Web Application development, which has become an industry standard for deploying model-view-controller applications. Struts enforces best practices and design patterns, boasts a large developer community, and is supported by IBM development tools such as Rational Application Developer, as well as by third-party tools. Among key benefits of Struts are its support for dynamic action forms, form validation, versatile tag libraries, and Tiles. WebSphere Commerce has extended the base Struts configuration model to provide the traditional WebSphere Commerce function seen in previous releases. For more information on struts, see WebSphere Commerce Struts framework.
Web services
A Web service is a series of open protocols and standards used in communication between two systems. In WebSphere Commerce, Web services perform functions ranging from simple requests to complicated business processes. After a Web service is registered, other applications can discover it. In this release, WebSphere Commerce has a new Web services framework. This new framework has the following capabilities:
- Leverages the WebSphere Web Service Runtime Infrastructure and Rational tooling
- Promotes the use of industry-standard service definitions
- Allows top-down and bottom-up creation of Web services
- Leverages the JSP page composition service to generate the Web service response, allowing dynamic caching to be optimized (for either full-page or fragment caching).
The new Web services framework uses the existing command pattern to represent the business logic, and allows for the existing URL-based controller commands to also be used by the Web services channel.
You can allow WebSphere Commerce to be the service provider by enabling its business functions as Web services that can be accessed by external systems. You can also allow WebSphere Commerce to be the service requester by enabling it to invoke Web services that are hosted by external systems.
Business context service
In previous versions of WebSphere Commerce, runtime infrastructure was designed to serve customers from the Web channel. As WebSphere Commerce moves towards a service-oriented architecture (SOA) based infrastructure that exposes our business functions to new channels, such as Sales Center, a new infrastructure has been created to solve the issue of providing contextual information to the business logic independent of channel. Business Context Service solves these problems by providing the following capabilities:
- Tracks user session information from different channels by using different types of business contexts
- Provides a pluggable interface where custom context information can be defined
- Provides the ability to extend WebSphere Commerce out of the box session attributes with custom information
J2EE 1.4
In this release WebSphere Commerce changed to J2EE 1.4 which includes the following functions:
- EJB 2.x modules with a combination of 1.1 and 2.x beans.
- Servlet 2.4
- JSP 2.0
This new functionality allows you to take advantage of the J2EE 1.4 Enterprise Edition.
Optimistic locking
Optimistic locking allows the isolation level in database transactions to be lowered from "repeatable read" to "read committed." In an optimistic locking scheme, database rows that are not normally accessed concurrently are not locked with an intent to update when they are read. Instead, when the update is eventually made, the row is checked to make sure it has not been updated concurrently since it was read. If it has been updated concurrently, then the transaction is rolled back and the command can be re-started from the beginning in a new transaction, if appropriate. In such a scheme, performance is improved when concurrent updates do not normally occur, because the relatively expensive process of obtaining the database locks with intent to update is avoided. On the other hand, for those operations where concurrent updates are more likely to occur, then pessimistic locking, whereby intent to update locks are obtained when the row is read, continues to be used to avoid the more expensive process of rolling back and re-starting from the beginning in a new transaction.
WebSphere Portal
WebSphere Portal is a J2EE application that runs on WAS. Its main function is to serve the WebSphere Portal framework to the desktops and mobile devices of portal users. WebSphere Portal creates an environment that provides the connectivity, administration, and presentation services that are required. WebSphere Portal includes several new functions and enhancements that make it easier to design, administer, and use.
Portlets are a central part of IBM WebSphere Portal. Portlets are small portal applications that are independently developed, deployed, managed, and displayed. Administrators and users compose personalized portal pages by choosing and arranging portlets, resulting in customized Web pages.
Related concepts
Optimistic locking
WebSphere Commerce Web services with JSP pages
WebSphere Commerce Struts frameworkRelated reference
Use of EJB 2.x entity beans