Introduction to the Product Catalog
Internet-savvy consumers today have high expectations about their online shopping experience. They love the convenience of finding just about any product item for sale on the Web. They expect that an e-commerce Web site's pages will load quickly in their browser, and do not care if there happen to be a thousand other concurrent users accessing the site's servers. They want to be able to pay for the items securely with their credit card, and have the items delivered directly to their home or business.
In the Web application development industry, we are all familiar with the model for an e-commerce Web site. One goal is to attract consumers who might have purchased items in a retail store, and instead get them to buy the items online, on your Web site. The companies that want to exploit the Web more effectively include:
Both types of companies are attempting to succeed in a highly competitive environment. Some already have the trained programming staff with the expertise in the J2EE APIs to create from scratch the Enterprise Java Beans and JavaServer Pages (JSPs) that will support the Web site's computing model. Many firms, however, need to get a jump on their competition as they work to go live with their e-commerce Web site as soon as possible. They cannot afford to wait six months or a year to develop the standardized database resources, EJB programming expertise, and JSP templates that together will provide the commonly expected Web site functions shown in Figure 1-1.
Figure 1-1 Simple View of E-commerce Web Site Functions
Of course, writing the code to create, build, deploy, and maintain all the processing shown in Figure 1-1 would require a lot of time and effort. In addition to the front-end presentation layer that you see in the previous diagram, high-volume Web sites also require an underlying software infrastructure that makes it possible to support peak usage of their commerce site by eager consumers.
So how can a company get a jump on the competition and implement a scalable e-commerce Web site? The answer is: by using the pre-built features that come with BEA WebLogic Commerce Server!
What Does the Product Catalog Provide?
The WebLogic Commerce Server product catalog provides the following features:
The schema establishes a CATEGORY_ID field as the unique, primary key of the category metadata, which uses the WLCS_CATEGORY database table. The schema also establishes the SKU field (an acronym for "Stock Keeping Unit") as the unique, primary key of the product item metadata, which uses the WLCS_PRODUCT database table.
The schema is described in The Product Catalog Schema, of this document.
The DBLoader program and third-party data loader utilities are described in Using the Product Catalog Database Loader, of this document.
Figure 1-2 Sample Administration Screen
Figure 1-2 Sample Administration Screen
In addition to finding, adding, editing, and deleting product items and categories, you can also use the administration screens to tune the performance of your product catalog. You can adjust the in-memory cache of items and categories, a feature that can significantly improve the satisfaction level of customers shopping on your Web site.
Web site administrators should read Catalog Administration Tasks, in this document.
For example, Figure 1-3 shows the running output of a sample browse.JSP file provided by WebLogic Commerce Server.
Figure 1-3 Running Output of a Sample JSP Template
For details about the JSPs used with the product catalog, see The Product Catalog JSP Templates and Tag Library, in this document. For related details about the JSPs used with order processing (shopping cart, shipping, tax, checkout, and so on), see BEA WebLogic Commerce Server Order Processing Package. For related details about the JSPs used to register users, see BEA WebLogic Commerce Server Registration and User Processing Package in the online documentation.
Using the API to Extend the Product Catalog, describes the various options available for extending, customizing, or writing third-party integrations for the WebLogic Commerce Server product catalog. The API is also described in the WebLogic Commerce Server online Javadoc for the com.beasys.commerce.ebusiness.catalog.* packages.
Product Catalog Internationalization Support, describes how you can internationalize your product catalogs in more detail.
Categories in the product catalog exist in a hierarchy, as illustrated in Figure 1-4.
The example shown in the figure deviates from the sample data that is seen when you run the WebLogic Commerce Server templates. However, the following example illustrates a point about how items can reside in more than one category.
Figure 1-4 Sample Product Catalog Hierarchy
Note that any given category needs to be aware of the following:
Also note that an individual item can reside in more than one category. For example, a hardcopy book about the works of paleoanthropologist Dr. Richard Leaky in Kenya might reside in a Books --> Bibliographies category and also in a subcategory of Books --> Science --> Paleoanthropology.
If you delete the instance of an item in one category, it continues to reside in any other categories in which it might exist. Also, if you delete all the categories that an item belongs to, the item is moved to a separate, "uncategorized items" category in the catalog. Sometimes these uncategorized items are referred to as "orphaned items."
Unlike items, categories cannot reside outside of their hierarchical path. In other words, a category that resides in one path of the hierarchy cannot also reside in another path of the hierarchy.
Product Catalog Development Roles
Given the goal of building a Web-based product catalog, what are the roles of the people on the development team? The product catalog development would most likely be done by a team of people in your organization who collaborate to deliver an e-commerce Web solution. While the roles that are summarized in the following list describe the types of tasks involved in building the site, it is recognized that people often have job assignments that span multiple roles.
How Are the Product Catalog Features and Other Commerce Features Linked?
The WebLogic Commerce Server product catalog is only a portion of the features provided in this release. Related features, of course, are implemented by the order processing and user registration packages. When a user of your Web site decides to click the Add to Cart button (or equivalent) on one of the catalog pages, by default the user is directed to the shopping cart portion of the order processing package.
Once the user clicks Add to Cart, a series of JavaServer Pages under the control of background processing are employed to step the user through the process of entering the information required to complete the order.
You can modify the actual sequence of pages, or Webflow, by editing a configuration file called webflow.properties. A default Webflow file is provided by WebLogic Commerce Server. The advantage here is that the flow of the website (that is, what page to go to next) is not hardwired into each page, but is managed by an external flow manager. Rather than having to edit HTML and JSP files to change the page sequence, the administrator simply modifies webflow.properties. Also, you do not have to restart the WebLogic Server instance in which your WebLogic Commerce Server applications is running, allowing for dynamic site management.
Underlying all this processing for both catalog management and order management is another important feature called the WebLogic Commerce Server pipeline. The pipeline is a mechanism for binding together a sequence of services into a single named service. While the JavaServer Pages and tags manage the presentation layer of the catalog and order fulfillment site, the pipeline manages the processing of the business data. A pipeline configuration file, pipeline.properties, contains properties that describe the execution of a series of business methods.
By modifying the pipeline.properties file, it is easy to change a business process (such as checking an order status) by adding or removing steps in the pipeline configuration, without any programming.
Figure 1-5 shows the link between the product catalog processing and the order processing package. The diagram illustrates conceptually the Webflow (arrows) and the pipeline that is processing the business data. For instance, it is the pipeline that passes the data about the item(s) the consumer has selected for purchase to the Order Fulfillment services that will process the order.
Figure 1-5 Link Between Catalog and Order Fulfillment
For details about configuring the site's Webflow and pipelines, see BEA WebLogic Commerce Server Webflow and Pipeline Management. For details about the order processing, see BEA WebLogic Commerce Server Order Processing Package. For details about user registration, see BEA WebLogic Commerce Server Registration and User Processing Package.
Using Commerce Server and Personalization Server Features in an Application
You can use WebLogic Commerce Server and WebLogic Personalization Server features in an application. For example, you may want to have a portal as the entry point for your users, but you wish to build e-commerce functionality into your application. For more information, please see the topic "Using the Catalog Application in a Portal" in the online documentation.
We suggest you read The Product Catalog Schema, which explains the structure of the product catalog's tables in the Commerce database. Understanding the product catalog schema is essential to moving your existing data into the database, or adding new data to the catalog.
Copyright © 2000 BEA Systems, Inc. All rights reserved.