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. Requests can enter the Transaction Server from different types of clients such as a rich client, kiosk or as a browser request. WebSphere Commerce runtime framework
WebSphere Commerce is multichannel-enabled, meaning that WebSphere Commerce can support transactions across various sales channels. The framework enhancements support multiple presentation layers, responsible for showing results, which decouple control logic from business logic.
Task commands, controller commands, access beans, and entity beans continue to function as in previous releases.
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 that range from simple requests to complicated business processes. After a web service is registered, other applications can discover it. In this release, the WebSphere Commerce web services framework has the following capabilities:
- Uses the WebSphere web service runtime infrastructure and Rational tools
- Promotes the use of industry-standard service definitions
- Allows top-down and bottom-up creation of web services
- Uses 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 web services framework uses the existing command pattern to represent the business logic. The framework allows for the existing URL-based controller commands to also be used by the web services channel.
We can allow WebSphere Commerce to be the service provider by enabling its business functions as web services that can be accessed by external systems. We can also allow WebSphere Commerce to be the service requester by enabling it to start web services 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, a new infrastructure provides 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
- Extend WebSphere Commerce out session attributes with custom information
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 that it was not updated concurrently since it was read. If it was updated concurrently, then the transaction is rolled back and the command can be restarted from the beginning in a new transaction. 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. 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. Pessimistic locking avoids the more expensive process of rolling back and restarting from the beginning in a new transaction.
Related concepts
Optimistic locking
WebSphere Commerce Web services with JSP pages
Related reference
Use of EJB 2.x entity beans