Processing Management Center services

Processing Management Center services involves transforming URL requests into process BODs and change BODs.

It is sometimes difficult to determine whether a URL will be transferred to a process service or a change service. In general, when the Management Center web application is working with primary objects, such as a product, URLs are transferred to a process service. Secondary objects, such as a product description, URLs are generally transferred to a change service. For example, adding a product transfers to a process service with an actionCode of Add. Adding a product description is a change service with an actionCode of Add and an actionExpression that points to the description.

An actionExpression is an element that represents a processing instruction that pertains to the request. The actionCode attribute indicates the operation. An actionCode is a URL parameter that indicates the type of action to be performed on the Noun or Noun part. Valid action codes include Add, Change, Delete, and more.

If you need to define a custom Spring bean definition, include the definition within the Spring-extension.xml configuration file to register the defintion within the Spring framework. For more information, see WebSphere Commerce Spring framework.

The following sample code shows an example of a Spring bean definition for a change BOD and a process BOD.
  • Change BOD
    
    <bean id="/CreateCatalogEntryDescription" class="com.ibm.commerce.foundation.client.facade.bod.servlet.spring.BusinessObjectDocumentController">
      <property name="urlObject" value="CatalogEntryDescription"/>
      <property name="contextParameters">
        <props>
          <prop key="storeId">storeId</prop>
          <prop key="langId">langId</prop>
          <prop key="masterCatalogId">catalogId</prop>
        </props>
      </property>
      <property name="verb" value="Change"/>
      <property name="documentRootFactory" value="com.ibm.commerce.catalog.facade.datatypes.CatalogFactory"/>
      <property name="clientLibrary" value="com.ibm.commerce.catalog.facade.client.CatalogFacadeClient"/>
      <property name="clientLibraryMethod" value="changeCatalogEntry"/>
      <property name="actionCode" value="Change"/>
    </bean>
  • Process BOD
    	
    <bean id="/CreateCatalogEntry" class="com.ibm.commerce.foundation.client.facade.bod.servlet.spring.BusinessObjectDocumentController">
      <property name="urlObject" value="CatalogEntry"/>
      <property name="contextParameters">
        <props>
          <prop key="storeId">storeId</prop>
          <prop key="langId">langId</prop>
          <prop key="masterCatalogId">catalogId</prop>
        </props>
      </property>
      <property name="verb" value="Process"/>
      <property name="documentRootFactory" value="com.ibm.commerce.catalog.facade.datatypes.CatalogFactory"/>
      <property name="clientLibrary" value="com.ibm.commerce.catalog.facade.client.CatalogFacadeClient"/>
      <property name="clientLibraryMethod" value="processCatalogEntry"/>
      <property name="actionCode" value="Create"/>
      <property name="var" value="catalogEntries"/>
      <property name="successView" value="/jsp/commerce/catalog/restricted/RespondCreateCatalogEntry.jsp"/>
    </bean>

The class com.ibm.commerce.foundation.client.facade.bod.servlet.spring.BusinessObjectDocumentController is used to transfer objects between Management Center and WebSphere Commerce nouns. If you need to transfer objects, include this class in your definition. After your registering the Spring bean definition, you must configure the mapping between the URL parameters and the BOD Nouns.