The information contained in this section applies to IBM WebSphere Commerce Version 7.0.0.9 and Feautre Pack 8. The documentation also applies to all subsequent releases and modifications until otherwise indicated in new editions.
The topics in the Developing section describe tasks performed by an application developer.
WebSphere Commerce uses Java Server Pages (JSP) to implement the view layer of the Model-View-Controller (MVC) design pattern. The view layer is in charge of retrieving data from the database through the use of data beans and formatting it to meet the display requirements. The view layers determines whether the request is sent to a browser or streamed out as XML. JSP files present a clean separation between data content and presentation.
The Management Center framework is the foundation for business user tooling. The business objects are defined by the individual components that make up the Management Center. The framework uses those definitions to provide all of the features that you can use to find, create, modify, and delete the defined business objects. If you plan to customize the Management Center, it is important to understand the framework and the components that make up the Management Center.
Customize the Management Center user interface by adding, changing, or removing elements within the user interface.
You can customize the Management Center Catalogs, Marketing, Promotions, Store Management, Catalog Filter and Pricing, and Assets tools to meet your business needs.
You can customize some aspects of the Assets tool to suit your business needs.
Creating a custom implementation of a WebSphere Commerce store requires a significant amount of planning. From gathering client needs, to deploying the live solution, much work is needed to successfully deploy a custom client store. Use the resources in here to help you plan every phase of store creation.
Review this section for information about installing the WebSphere Commerce product, associated maintenance, and WebSphere Commerce enhancements.
Before you migrate WebSphere Commerce, review this information for an overview of the migration process.
WebSphere Commerce provides many tutorials.
Functional architecture provides both the set of patterns used to implement the business functionality and the frameworks in which these business functions execute.
WebSphere Commerce deals with a large amount of persistent data. There are numerous tables defined in the current database schema. Even with this extensive schema, however, you might need to extend or customize the database schema for your particular business needs.
A business model, a representation of the business processes used throughout the site, provides a sample commerce solution which includes an organization structure, default user roles and access control policies, one or more starter stores, administration tools, and business processes that demonstrate best practices. A business model can be customized to support business requirements and scenarios. WebSphere Commerce provides sample business models that show some common commerce solutions. These business models are created by setting up an organization hierarchy structure, access control policies, stores, and contracts that help satisfy the necessary business requirements.
Before starting to develop your site with WebSphere Commerce, you need to determine the business model supported by WebSphere Commerce that best represents the purpose of your site. Usually sites created with WebSphere Commerce will be implemented based on of one of these business models.
Store data is the information that is loaded into the WebSphere Commerce Server database, which allows your store to function. The URL Registry Entries and View Registry Entries packages are included in the diagram, but they are not database assets. These entries are presentation configuration (that is, struts actions and forwards) that must be deployed. URL registry entries are shown in the diagram to illustrate the entire store data information model. To operate properly, a store must have the data in place to support all customer activities. For example, in order for a customer to make a purchase, your store must contain a catalog of goods for sale (catalog data), the data associated with processing orders (tax and shipping data), and the inventory to fulfill the request (inventory and fulfillment data).
WebSphere Commerce Developer is the development toolkit for customizing a WebSphere Commerce application.
Struts is a well documented, mature and popular framework for building front ends to Java applications. To address concerns in software applications, it uses a Model-View-Controller (MVC) architecture: The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code.
The Management Center framework uses configuration information that is called definitions to display all of the features available in Management Center, such as tools, business objects, properties views, and list views. Definitions are stored in definition (.def) files that are in the LOBTools/WebContent/config directory.
Instances of business objects that have been loaded or created by the Business Object Editor are managed by the client side model (that is, the Management Center user interface).
The Management Center user interface consists of the shell that aggregates all of the individual tools. The shell and each tool further consist of several elements.
The Management Center framework includes user interface views that a business user can use within the Management Center work area. For each Management Center object, work with its information using any of three views: a list view, a properties view, and a calendar view. The content and view in the work area is controlled by whatever is selected in the explorer view.
Each tool within the Management Center is a Business Object Editor, which allows a business user to create and maintain business objects using the tool.
A business object is an entity that is stored on the WebSphere Commerce Server, but is represented in the Management Center user interface in a way that a business user can understand. This can be a different representation than you would see in the WebSphere Commerce Server itself. A business user can create, update, and delete a business object using the Management Center. For example, a product is a business object which a Product Manager or Category Manager authors and maintains, using the Management Center.
A property is a named value that is associated with a business object, such as the partnumber of a product object. You can use a property definition to describe a specific property to the framework.
A navigation list definition is a binding between an object type and a list view that displays a list of related objects. When you select an object in the explorer view, the navigation list definitions associated with that object type are used to determine which list views can be displayed in the main work area. For example, the default navigation list definition for a master catalog category displays the list of catalog entries that belong to the selected category.
Search definitions are defined within a Business Object Editor to allow a business user to find business objects within a tool. The Management Center find area and the utilities view use search definitions to locate objects. A search is performed using search conditions such as object type and keyword.
The Management Center framework uses different types of services to communicate with the WebSphere Commerce Server.
Once you are familiar with the Management Center user interface, its views, definitions, and services used, it is also useful to understand how a business user interacts with the most common elements within the Management Center, and how the Management Center framework manages each flow.
Creating a new instance of the Business Object Editor primarily involves declaring the objects that are to be authored (that is, created, changed, or removed). To ensure that the Business Object Editor can consume object definitions and provide an effective authoring tool for different object domains, the objects must be declared consistently.
Each of the Management Center tools is modeled with support for extended sites. These guidelines describe how to model object definitions within an extended sites-enabled tool.
Management Center files include OpenLaszlo source files, definition files, images, HTML pages, properties files, Struts action classes, JSP files, and the ManagementCenter.swf file. Any files that you customize within the Management Center should follow the same directory structure as the default files provided with the Management Center. Keeping a consistent directory structure is important if you plan to migrate to a later release, or if you require assistance from IBM support with your customizations.
All Management Center files follow a consistent naming syntax or convention. Any files that you add to the Management Center should follow the same naming conventions as the default files provided with the Management Center. Keeping consistent file and class naming conventions is important if you plan to migrate to a later release, or if you require assistance from IBM support with your customizations.
Developers can use object paths to instruct the Management Center framework to use an object that is located by searching through the child objects of the selected object, instead of the selected object itself. An object path is a list of object types separated by a forward slash (that is, the / character). The framework searches recursively for child objects that match the specified object types.
Language-sensitive objects are business objects that contain translatable information. Translatable information is information that can be translated into multiple languages. For example, product names and descriptions that are offered in multiple languages are language-sensitive objects.
Some objects that are loaded by the Management Center framework should not be edited by a business user. Mark these objects as read-only by adding readonly="true" to the serialized object. For example, active promotions can be viewed, but not changed.
readonly="true"
Before you customize Management Center, consider how WebSphere Commerce will apply maintenance or upgrades to a later release of WebSphere Commerce. By following the correct approach, you can ensure that you will not lose any of your customizations when upgrading to a later release.
You can customize the Management Center shell, which encompasses all of the common (non-tool-specific) aspects of the Management Center. The shell includes the Management Center menu, banner, tool tabs, and status area.
Widgets are Management Center user interface elements that display and edit business object properties. A widget refers to any Management Center user interface element, such as a check box or a radio button.
The Management Center framework uses the display name of a business object when that business object is shown in the Management Center user interface.
The Management Center framework uses the display name of a business object when that business object is shown in the Management Center user interface. You can change the text style (such as the color or font style) used for business object display names in the explorer tree so that business users can see key information about a business object without looking at the list view or properties view.
You can add a new table column to an existing Management Center list view.
Change the column heading of an existing Management Center list view.
Add or change a list option used in an existing list within a Management Center properties view. Management Center business users can select your customized option from the list.
You can rearrange the contents within a Management Center properties view. For example, you can move tabs, sections, or widgets within a properties view to suit your business needs.
You can add a new tab to an existing Management Center properties view. The Management Center framework includes properties views to allow a business user to create and update business objects.
You can move the contents from an existing tab, within a Management Center properties view, to a new tab. The Management Center framework includes properties views to allow a business user to create and update objects.
You can group information under collapsible sections within a Management Center properties view. You can change the section name to meet your business needs. For example, you can change the name of a General Information section to Basic Properties.
You can include various widgets within a Management Center properties view, such as a field, a rich text editor, a radio button, and so on. You can customize a properties view with a new or changed widget label. For example, you can change a field called Name to Description.
You can change the search definition for a business object.
You can add folder support to any Management Center tool to provide business users with the ability to group store objects for that tool. By grouping store objects, business users can improve the organization and management of those store objects in Management Center. By default, folder support is available for promotions in the Promotions tool.
You can include client-side validation logic for the Management Center. Create validation rules for information that users provide using the user interface. For example, validate that users have entered text, not numbers; that a start date is not later than an end date; or that a mandatory field is not empty).
You can define a custom service and associate it with a Management Center business object definition. Use a custom service to perform a processing action on a business object. For example, to activate a promotion. Do not use a custom service to perform the basic business operations: Create, Update, and Delete.
If you plan to use only the attribute dictionary in Management Center to manage attributes, you can hide all attributes that are not contained within the attribute dictionary in the Management Center catalogs tool.
You can change existing messages and labels within the Management Center tools. Rather than hardcoding UI text in the OpenLaszlo class files, include all message text in resource properties files, and associate the files with resource keys. This way, you maintain the UI code in one area (the OpenLaszlo file) and the messages in another (properties file). This method is useful if you have messages that change often or require translation.
If you create new OpenLaszlo library files as part of your Management Center customization, include them in the extensions library for the tool you are changing.
The Management Center spell checker checks the spelling of text in a text editor or rich text editor that is embedded into a Management Center properties view or editable list view. The spell checker opens the Spell Check dialog to display each misspelled word within the text that a business user is editing. The business user can use the dialog to replace each misspelled work with one of the suggested words or skip the misspelled text. You can customize the spell checker to add new words to the dictionary so that these words are no longer flagged as misspelled words. You cannot add new dictionaries.
You can configure the maximum size limit allowed for uploaded files.
When you create multiple managed files from a compressed file, you can change the size limit of the compressed file.
You can change the types of file formats that are supported for users to upload as managed files. By changing the supported file formats, you can add or restrict the file formats that users can upload.
A compressed file can contain up to 500 managed files. You can change the number of files in a compressed file.
The Management Center offers the Catalogs, Marketing, Promotions, Installments, Store Management, Catalog Filter and Pricing, Assets, and Tasks tools, ready to use. As part of your Management Center customization, you can create a new custom tool.
By default, the Management Center loads catalog images from the store directory within the Stores web application. If your store retrieves images from a different location, you must configure this custom location so that the Management Center can locate your images.
You can customize catalog filters to suit the business needs of your site. For example, you can create a new condition or action for business users to add to price rules. Customization is supported for user interface in the Catalog Filter and Pricing tool, and for the catalog filter services.
You can customize the Catalogs tool by adding a new merchandising association type so it is available to the merchandising association grid. In this example, it is assumed that the MASSOCTYPE table contains a merchandising association type called NEWMATYPE as a massoctype_id.
To change any properties in the subscriptions component configuration file (SubscriptionConfigurationImpl.xml), you must create a customized version of the file in a new folder. The customized version of the file must contain only the changed properties. You can modify the subscriptions component configuration file to change the name of attributes you want to use with subscriptions or to adjust the cancel grace period.
You can use the GetSearchTermAssociation service in WebSphere Commerce search to evaluate synonyms and replacements, instead of using the default Solr synonym and replacement expansion implementation.
By default, Management Center does not automatically select a store when a tool is opened unless a business user specifies a default store in the Preferences dialog. A developer can predefine a store to use as the default preferred store for all business users.
A developer can predefine a store address and a store alias as options in the Management Center Store Preview dialog. This way, a business user does not have to know the address or the name of the store.
By default, a maximum of 10 stores are listed in the Select Store list in Management Center, and a maximum of 10 store URLs are listed in the Store Preview Options window. You can change the maximum to a different number by updating the maximumStoresInList attribute in the ConfigProperties.lzx configuration file for Management Center. This attribute controls the length of both lists.
You can use the test automation framework to write test cases that validate the Management Center model, services, and object definitions; this test framework is not intended to validate Management Center user interface widgets, such as properties views and list views.
The content versioning feature is enabled for some objects in the Catalogs tool in Management Center. You can add or remove content versioning support for existing objects and custom objects by customizing both Management Center and WebSphere Commerce server.
Customizing promotions can involve the customization of the promotion business user tools and the underlying promotion engine, which features a clean architecture supporting rich functionality, as well as a wide array of customization possibilities.
You can customize price rules to suit the business needs of your site. For example, you can create a new condition or action for business users to add to price rules. Customization is supported for both the Price Rule Builder tool user interface in the Catalog Filter and Pricing tool, and for the pricing services.
You can customize store preview to add enhancements that help business users work more efficiently. These enhancements include the click-to-edit function and in-context preview function.
Customizing the infrastructure component provides you the ability to change configurable properties for Management Center and Search Engine Optimization (SEO) functionality.
The WebSphere Commerce browser-based tools (WebSphere Commerce Accelerator, Organization Administration Console, Administration Console) can be extended or changed. In addition to customizing the tools you can also create a new browser-based tool that uses the same underlying framework. A new tool based on the tools framework is referred to as a WebSphere Commerce tools user interface center.
To create JSP pages for WebSphere Commerce, you should have Rational Application Developer skills and JSP skills. You should also be familiar with JSTL.
WebSphere Commerce Accelerator provides tools to change various elements of the storefront, such as the store or site's logo, flow, text, and style. WebSphere Commerce starter stores, showcase many such configurable elements. Depending on the needs of the store or site, the store developer can make additional choices for flow, text, and style available to the WebSphere Commerce Accelerator tools by modifying the store or site's storefront assets.
This section offers the following selection of JSP programming best practices, which promote development of reusable and easily maintainable JSP pages within the WebSphere Commerce store development framework:
The useBean tag instantiates a WebSphere Commerce data bean and automatically populates it for you. A new programming direction has also been undertaken with our starter stores that now use the JavaServer Pages Standard Tag Library (JSTL) to perform view logic, instead of Java code. At the same time, business logic has been moving into data beans. The combination of these steps allows for less Java code in a JSP page.
Facebook integration relies on several Facebook plugins to add the Connect to Facebook, Like and Send buttons to the Aurora and Madisons starter stores.
Depending on the feature pack level of your store, you can use one of the following solutions to optimize your store for search engine results.
In the IBM Sales Center for WebSphere Commerce there is a set of user interface panels, views and dialogs that contain the most commonly used features. You can add to or configure the user interface to suit your needs, as well as changing the content and format of the data that is passed between the client and the server.
The purpose of double-click handling in WebSphere Commerce is to prevent processing the same request twice to ensure data integrity within the system. When processing certain URL requests, such as OrderItemAdd, the double-click feature of WebSphere Commerce will identify whether the request from the online shopper is currently being processed and blocks the current request if that is the case.
You can integrate WebSphere Commerce, a Business Application Service with WebSphere Portal, an Interaction Service. The Interaction Service provides core portal services (WebSphere Portal) that aggregate applications and content and deliver them as role-based applications. The Enterprise Service Bus (ESB) pattern is used for communication, mediation, transformation and integration with external systems. Using an ESB to integrate the Web services exposed from WebSphere Commerce to the WebSphere Portal promotes a loosely coupled design where the ESB manages the interactions styles between the WebSphere Commerce services and the presentation layer. You do not need to alter your presentation layer to support the protocol and format used by the WebSphere Commerce services. Instead, you rely on the ESB to perform tasks such as message transformation and protocol mediation. Neither WebSphere Commerce nor WebSphere Portal needs to change in order to communicate with one another. The ESB is used to act as an interpreter between the two systems and will translate the messages into a format the receiving system understands.
To integrate WebSphere Commerce and an external content management system, such as IBM Web Content Manager, ensure that you understand the JSTL tags for the integration. The JSTL tags are used on store pages to retrieve content and resolve links from the external system.
WebSphere Commerce provides a framework that you can configure to integrate your store with an external Web analytics solution. This framework includes a tag library that you can use in store page JSP files to provide appropriate analytics information to the external analytics system.
IBM Product Recommendations is an IBM Digital Analytics solution that you can subscribe to that automatically generates personalized product recommendations on the storefront. The recommendations are based on the browsing, shopping, and purchasing behavior of individual customers. If your site is integrated with IBM Digital Analytics, you can display recommendations from IBM Product Recommendations on your store pages.
You can integrate Management Center with IBM Marketing Center, a cloud-based, all-in-one solution that combines customer analytics with real-time marketing. To integrate with IBM Marketing Center, you must configure the WebSphere Commerce biConfig.xml file to enable the integration. You can also configure single-sign on between Management Center and IBM Marketing Center.
To simplify the process of collecting and sending customer shopping behavior data to analytics providers, integrate WebSphere Commerce with IBM Digital Data Exchange (DDX)
The Controller layer is the conductor of operations for a request. It controls the transaction scope and manages the session related information for the request. The controller first dispatches to a command and then calls the appropriate view processing logic to render the response.
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 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 additional business logic independent of the presentation layer.
The interaction between the business objects and persistence layer is isolated in an object 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.
You can extend the WebSphere Commerce product to fit your business needs. This topic describes the prerequisite skills and required knowledge that you need to customize business logic. After you have the required knowledge, use WebSphere Commerce Developer to take tutorials that guide you step-by-step through various customization scenarios.
A web service is an interface that describes a collection of operations that are accessible through the network by using standardized XML messaging.
WebSphere Commerce search provides enhanced search functionality in starter stores by enabling enriched search engine capabilities such as automatic search term suggestions and spelling correction, while influencing store search results by using search term associations, and search-based merchandising rules.
The following section describes how you can leverage WebSphere Commerce features and functionality to help your site be compliant with different privacy and security standards.
These topics describe the security features of WebSphere Commerce and how to configure these features.