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 WebSphere Commerce Server from different types of clients such as a rich client, kiosk or as a browser request.
WebSphere Commerce Version 7 runtime framework

WebSphere Commerce Version 7 framework

In previous releases of WebSphere Commerce the framework was designed for web-based transactions. In this release, 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.

Struts

In this release, the WebSphere Commerce web application uses the struts open source implementation. Struts, industry standard for deploying model-view-controller applications, is a well-documented framework for J2EE web application development. Struts enforce best practices and design patterns, boasts a large developer community, and is supported by IBM development tools such as Rational Application Developer, and 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 extends the base Struts configuration model to provide the traditional WebSphere Commerce function that is seen in previous releases. For more information, see WebSphere Commerce Struts framework.

Web services

A web service is a series of open protocols and standards that are 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.

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 start 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 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.

WebSphere Portal

WebSphere Portal is a J2EE application that runs on WebSphere Application Server. 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.