Application development enhancements

Learn about the new features and functionality that is offered by WebSphere Commerce.

Introduced in Feature Pack 2

Management Center programming model enhancements

Before WebSphere Commerce Version 7 Feature Pack 2, OpenLaszlo classes were used to declare tool definitions, object definitions, search definitions, properties views, and list views. Each time a change was made to a class, the OpenLaszlo Project had to be rebuilt and compiled into the Management Center Flash binary file (ManagementCenter.swf). The OpenLaszlo compiler then compiled this binary file into Flash 8-byte code.

The OpenLazslo compiler is upgraded to compile the Management Center Flash binary file into Flash 10-byte code. This new byte code version offers improved performance and garbage collection in the Flash player, increasing productivity with a more responsive Management Center.

The Management Center programming model is enhanced to reduce the frequency with which you must rebuild the OpenLaszlo Project. OpenLaszlo classes that define configuration information are now converted into XML files that do not need to be compiled into the Management Center Flash binary file (ManagementCenter.swf). These new XML files replace the OpenLaszlo classes that declared tool definitions, object definitions, search definitions, properties views, and list views.

Introduced in Feature Pack 3The CatalogNavigationView noun is enhanced so that it can be used to retrieve data for the product display page.

Feature Pack 8The CatalogNavigationView noun is enhanced so that it can be used to retrieve only the merchandising associations that match a specific merchandising association type for the product display page. For more information about using the CatalogNavigationView noun to retrieve only specific merchandising associations for a catalog entry, see Customizing the catalog entry details page to retrieve specific merchandising associations.

Introduced in Feature Pack 1

Add new words to dictionary for spell check

You can customize the Management Center spell checker to add new words to the dictionary that are specific to your company, such as product names, so that these words are no longer flagged as misspelled words.

Introduced in Feature Pack 1

Automated testing framework for starter stores reduces implementation costs

The test assets package offers fully functional sets of test scripts for the Aurora, Madisons, and Elite starter stores. The design of the scripts encourages reusability and as such they can be easily customized to test either the Brazil or MayUJoy starter stores. The scripts are run with the Storefront Test Automation Engine; a configurable Java project that is also provided in the package. Using the test assets to automate your test cases eliminates the need to manually perform test cases step-by-step, thus decreasing the cost of implementation.

The Storefront Test Automation Engine is equipped with a set of build scripts to enable the additional option of running test scripts as a batch. This alternative to manually running each test script improves efficiency as it allows development work to continue as test scripts are run in the background. After the batch is complete, a report is generated that summarizes the results.

The test assets package also provides a template, how-to instructions, and sample documentation to reduce the effort that is needed to plan and design storefront tests.

The test assets package is provided in the following compressed files:
  • Feature Pack 1StorefrontTestAssets.zip
  • Feature Pack 2StorefrontTestAssetsFEP2.zip
  • Feature Pack 4Feature Pack 3StorefrontTestAssetsFEP3a.zip

Feature Pack 4Feature Pack 2Feature Pack 3Feature Pack 1Before you can download the test asset file, you must first browse to the Storefront Development and Test Assets page and complete the mandatory fields. To proceed to the downloads page, agree to the terms and conditions of the license by selecting the I agree option and clicking I confirm. On the downloads page, click the Download now link. A pop-up window with the download options is displayed. Click the Save option and specify a location where you can easily find the file upon download completion. Finally, extract the files to the TestAssets_tempDir directory.

Feature Pack 5 or laterSee Downloading the IBM WebSphere Commerce Starter Store Companion Assets package for details on how to download the Automated testing framework.

Introduced in Feature Pack 1

Customize starter store pages with ease

The HTML assets package contains a navigable set of static HTML store pages for the Madisons and Elite starter stores. The static HTML store pages can be modified to preview changes to the appearance, behavior or both before they are applied to the production environment. Previously, in order to preview changes, a web developer had to be familiar with the store JSP files. The benefit of using the HTML assets is the opportunity for a web developer to work directly with the HTML and CSS files for the store. Once their updates are complete, they can use the highlight feature to identify the corresponding JSP files and relay the updates to a JSP developer.

The HTML assets package also contains the tools necessary to generate your own set of navigable, static HTML store pages. You can preview your pages with a different language, currency, or both.

Introduced in Feature Pack 1

RESTful web service feed capability

WebSphere Commerce offers a framework that retrieves feeds from WebSphere Commerce web services. You can display feed content to customers in remote widgets that are embedded on websites external to WebSphere Commerce. This is a great way to extend your brand reach and drive traffic back to your site. Without customization, the framework retrieves feeds for e-Marketing Spots, wish lists, and gift registries. If you have other ideas for web services that would make compelling feeds for customers, you can customize the framework.

Reduce design time with use case documentation

During a customization project, you must perform architectural design even when you use a WebSphere Commerce starter store. To reduce the time that is required to document use cases for your store, a modifiable use case document is provided. The document clearly describes the functionality provided with a starter store.

Improved performance and functionality with DB2 JCC type 4 connection type

In WebSphere Commerce Version 6, WebSphere Commerce used the DB2 legacy type 2 connection type. In WebSphere Commerce Version 7, WebSphere Commerce has upgraded to the DB2 JCC type 4 connection type.

This new connection type provides improved performance and functionality for WebSphere Commerce. This change includes both the run time data source connections and the utilities connections, such as staging utilities, loading utilities, dbclean, and acpload.

The type 2 connection type database name syntax has been deprecated for most utility command interfaces in WebSphere Commerce Version 7. For example, the syntax of the following database names in the sourcedb and destdb parameters are deprecated:
stagingprop.sh –dbtype DB2 - sourcedb stagingDBName –destdb productionDBName
Instead, use the following type 4 connection type database name syntax:
stagingprop.sh –dbtype DB2 - sourcedb host:port/stagingDBName –destdb host:port/productionDBName

Although you can still use the type 2 connection type database name syntax, this syntax is converted internally to type 4 syntax and a type 4 database connection is created. This naming conversion is completed using the DB2Administrator class provided by the DB2 JCC driver. To avoid a potential performance impact due to the conversion, it is recommended that you use the type 4 connection type database name syntax.

If you choose to use the type 2 connection type database name, ensure that the database is cataloged properly on the local machine. The DB2Adminstrator class requires the DB2 catalog information to convert the host name and port number from the type 2 connection type name syntax.

Transition to SOA with Business Object Document (BOD) programming model

As part of the WebSphere Commerce transition to an SOA architecture, three different layers of the application are identified. The interactions between the layers are defined by consistent interfaces. In previous versions of WebSphere Commerce, there are implementation dependencies between the presentation layer, business logic layer, and persistence layer. The new architecture in WebSphere Commerce version 6, Feature Pack 3.0.1 and later addresses this issue by using OAGIS messages to interact with the business logic. The business logic command framework provides the capability of processing business object documents.

The interaction between the business objects and persistence layer is isolated in an object that is called the Business Object Mediator. Business object document (BOD) commands interact with the Business Object Mediator to handle the interaction with the logical objects and how they are persisted. The interactions represent the key differences between the SOI framework and the framework that is introduced in WebSphere Commerce.

The application is divided into three layers:
Presentation layer
Acts as the interaction service that aggregates business components to form an application. The presentation layer interacts with business logic through the OAGIS defined services; it does not contain any business logic. The presentation layer cannot query the database directly to retrieve business data. It interacts with business components. The IBM Management Center for WebSphere Commerce is an example of a presentation layer.
Business logic layer
The business logic layer is the business components that provide OAGIS services to return data or start business processes. The presentation layer uses these OAGIS services to display data, or to invoke a business process. The business logic provides data that is required by the presentation layer. The business logic layer exists because more than just fetching and updating data is required by an application; there is also more business logic independent of the presentation layer. The SOI implementation of the business logic layer is fronted by services, which transform the OAGIS messages (BODs) to name-value pairs for processing. This makes for easy integration with existing WebSphere Commerce or customized commands. The BOD processing pattern for OAGIS requests uses the persistence layer to accept structured data objects (SDOs) and handle the mapping between these logical structured objects and how they are persisted. The business logic layer is independent of the technology that is used to interact with how data is persisted. By interacting with the Business Object Mediator object, the business logic layer passes SDOs to the persistence mechanism without binding itself to the persistence technology. There are four processing patterns:
  • Business Object Document Get processing pattern
  • Business Object Document Process processing pattern
  • Business Object Document Change processing pattern
  • Business Object Document Sync processing pattern
Data service layer
The business logic layer interacts with the data service layer through the Business Object Mediator (BOM) object. The persistence layer maps these structured objects to the persistence implementation to perform the data retrieval or updates. The persistence layer accepts structured data objects (SDOs) which are transformed (mediated) into objects called physical SDOs. Physical SDOs are stored in the data service layer. All persistence-specific assets, such as SQL queries, are isolated within the data service layer. For simplify maintenance, the query template file stores SQL.

BOD style web services integration

Back-end integrating using Business Object Document-style (BOD-style) Web services provides a common programming pattern for external client enablement that does not depend on a specific workflow implementation.

Web services support for back end integration

WebSphere Commerce Version 6 Feature Pack 1 exposed numerous web services to provide easier integration to back-end systems. The exposed web services include Member, Order, and Inventory integration. The supported protocol for these web services is either SOAP over HTTP or SOAP over JMS. To bridge the integration from WebSphere Commerce to your back-end system, it is recommended that you use an enterprise service bus (ESB).

Easier mappings for contract terms and conditions

Before WebSphere Commerce Version 6 Feature Pack 2, you needed to create a term EJB bean by extending the base term EJB bean. After you created the term EJB bean, you had to store it back into the same Java archive (JAR) file as the base term EJB bean. This meant redeployment to the application server. Any fix packs that affected the terms files overwrote the JAR file, and the changes were lost. With the release of WebSphere Commerce Version 7, it is no longer necessary to create a term EJB bean. Now, you make the term mappings in an XML file, rather than hard coding them in a term EJB bean. When the contract page is opened, any displayable extended terms are shown on separate tabs. On those tabs, you can set the values for these terms. Depending on the definition of the term, values are verified as well.

API changes

WebSphere Commerce API information leverages and extends the new capabilities of WebSphere Commerce Version 7 and provides improved interaction with existing capabilities.

IBM Sales Center errorHandler extension point

The IBM Sales Center error handlers extension point is the mechanism for defining a new error handler. This can improve the user experience of Sale Center when a user encounters an error.

DSL enhancements

The data service layer (DSL) provides an abstraction layer for data access that is independent of the physical schema.

You can customize the data service layer to create and modify schemas and queries.

Code generation with the Java Emitter Template (JET) in Rational Application Developer 7.5 saves time

The Java Emitter Template (JET) is the Rational Application Developer upgrade to the Design Pattern Toolkit (DPTK). It is an Eclipse-enabled template engine for generating applications that are based on customizable, model-driven architecture transformations.

WebSphere Commerce Version 7 uses the JET plug-in to create WebSphere Commerce service modules from a simple XML file. By describing the service modules in a specialized XML syntax, the service modules can be generated. After a service module is generated, you can implement it without spending hours setting up and configuring the service module.

New JDBC drivers provide richer set of functions

WebSphere Commerce now uses the ojdbc6.jar JDBC driver for the Oracle database and the db2jcc4.jar DB2 JCC JDBC driver for the DB2 UDB database. These upgraded JDBC drivers provide WebSphere Commerce with a richer set of functions for creating database connections. The Oracle driver file supports JDK 1.6. The DB2 driver file supports JDK 1.6 and JDBC 4.0.

Management Center uses OpenLaszlo open source technology

The Management Center user interface is a rich graphical web-based tool that business users interact with to manage their catalog, promotion, and marketing assets. Beginning with WebSphere Commerce Version 6 Feature Pack 3.0.1, the Management Center uses OpenLaszlo open source technology, which involves writing declarative XML files with embedded JavaScript.

Quickly index your site with sitemaps

Before WebSphere Commerce Version 6 Feature Pack 2, a search engine spider crawled through your website to index your store pages. With sitemap integration, you can create a sitemap XML file, site map_storeID.xml, that contains a list of URLs for your site. The sitemap xml file significantly increases the speed of indexing. This way, customers are able to easily find your site when they perform a search, driving activity to your site and increasing revenue opportunities.

The WebSphere Commerce integration with sitemaps is made up of two parts:
  • A sample sitemap JavaServer Pages (JSP) file that can be used to generate the content of a search engine sitemap XML file. The content is the URLs that you want to index such as the catalog, contact us, and help pages.
  • A command that compiles the JSP file, optionally validates, and saves the search engine sitemap XML file. The command can be scheduled to run regularly. For example, it can be scheduled to run at night based on your catalog update schedule.

Logical groupings for web services supports front and back-end integration

WebSphere Commerce now provides logical groupings of services to standardize communication to support front and back-end integration.

The logical groupings include presentation-oriented services for front-end integration. This includes customer interaction with the storefront or Sales Center and marketing and merchandising services support for back-end integration.

Catalog
Catalog services enable an external system, such as WebSphere Portal, to search for catalog-related information in WebSphere Commerce. The following nouns are defined:
  • Introduced in Feature Pack 2AttributeDictionaryAttribute
  • Catalog
  • CatalogEntry
  • Introduced in Feature Pack 2CatalogFilter
  • CatalogGroup
Catalog nouns use the get, process, and change verbs.
Content
Content services enable users to create and manage assets in the Management Center. The following nouns are defined:
  • Attachment
  • ManagedDirectory
  • ManagedFile
Content nouns use the get, process, and change verbs.
Contract
Contract services retrieve all entitled contracts for a user in a store and retrieve the contract content by the contractId. The following nouns are defined:
  • Introduced in Feature Pack 2BusinessAccount
  • Contract
Contract nouns use the get verb.
Introduced in Feature Pack 1GiftCenter
Introduced in Feature Pack 1GiftCenter services list gift items that are requested by the customer and contain information about the gift event. This includes: the registrants who own the gift list, a description of the gift list, access options, items that are purchased, event announcements that are made, and so on. The following noun is defined:
  • GiftList
The GiftList noun uses the get, change, and process verbs.
Infrastructure
Infrastructure services describe general store information, and store-related information such as language, currency, fulfilment center, and inventory system for the store. Two nouns are defined:
  • Configuration

    The Configuration noun is deprecated in Version 7 Feature Pack 2.

  • OnlineStore
Infrastructure nouns use the get and process verbs.
Introduced in Feature Pack 1Installment
Introduced in Feature Pack 1Installment services provide functionality to charge for items and services with installment payments. The following nouns are defined:
  • CatalogEntryInstallmentPrice
  • InstallmentRule
  • OrderInstallmentPrice
Installment nouns use the get, change, and process verbs.
Introduced in Feature Pack 1Inventory
Introduced in Feature Pack 1Using Inventory services you can load ATP inventory information with the Data Load utility. The following nouns are defined:
  • ExpectedInventoryRecord
  • InventoryAvailability
  • InventoryReceipt
  • InventoryRequirement
Inventory nouns use the get, synch, and process verbs.
Marketing
Marketing services provide functionality to create marketing campaigns, customer segments, advertising; and email activities. Several nouns are defined:
  • Activity
  • Campaign
  • CampaignElementTemplate
  • MarketingContent
  • MarketingEmailTemplate
  • MarketingSpot
  • MarketingSpotData
  • MarketingTrigger
Marketing nouns use the get, process, and change verbs.
Member
Member services support with an external system, such as WebSphere Portal, to create, update, and search for members (organizations, users, and member groups) in WebSphere Commerce. Three nouns are defined:
  • MemberGroup
  • Organization
  • Person
Member nouns use the get, process, and change verbs.
Order
Order services enable order-related business flows such as adding and removing order items, adding, and removing payment instructions, changing an order. One noun is defined:
  • Order
  • Quote
Order nouns use the get, process, and change verbs.
Price
Price services manage and calculate prices for products in the store. The following nouns are defined:
  • Introduced in Feature Pack 2DisplayPrice
  • Introduced in Feature Pack 2PriceConstant
  • Introduced in Feature Pack 2PriceEquation
  • PriceList
  • Introduced in Feature Pack 2PriceRule
Price nouns use the get, process, and change verbs.
Promotion
Promotion services enable creating promotions in Management Center. One noun is defined:
  • Promotion
The Promotion noun uses the get, process, and change verbs.
Store
  • GeoNode
  • PhysicalStore
Store nouns use the get verb.
Introduced in Feature Pack 2Subscription
Introduced in Feature Pack 2Subscription services provide functionality to manage subscriptions and recurring orders.
  • Subscription
The Subscription noun uses the get and process verbs.
Introduced in Feature Pack 1Wallet
Introduced in Feature Pack 1Wallet services provide functionality to store, access, manage, and organize the digital coupons for each shopper. Two nouns are defined:
  • Wallet
  • WalletItem
Wallet nouns use the get and process verbs.