WebSphere Commerce service module
Overview
The WebSphere Commerce service module contains all the assets used by the WebSphere Commerce service. If you are creating new WebSphere Commerce services, create a new service module for each logical grouping of nouns you plan to support.
The Design Pattern Toolkit and the ComponentProjects design pattern generate the base code for the new service module from a simple XML file. The service modules can be generated by describing the service module in a specialized XML syntax. This allows one to start directly with the service module implementation without having to spend hours with the setup and configuration of a service module.
After you generate a new service module, it contains the following projects:
Data objects project
The data objects project contains the XSDs, the WSDL, the EMF generated model, and the generated SDO code. The purpose of the data objects project is to contain the data objects that make up the service. The data objects project should refer only to the Foundation-DataObjects.jar and should include and extend only objects contained in that project.
The project contains the following folders:
- bin
- The compiled classes.
- ecore
- The EMF generated model
- src
- The source of the generated SDO code.
- wsdl
- The WSDL files.
- xsd
- The XSD files.
When you use the pattern generator, a shell for the noun is created and all other assets are created based on the noun. After you run the pattern, the remaining steps are to define the content of the noun and regenerate the genmodel and SDO after each noun changes.
After generating the module, follow the steps in
Create the SDO genmodel file.
Client library project
The client library is a set of APIs that are exposable to any client, regardless of whether that client is WebSphere Commerce or some other application.
The client project contains the following resources:
- Interfaces of the service provided for each noun
- A constant file that is sharable between client and server
- A client package that contains these classes:
- The abstract client java class that contains common methods and methods required by the foundation framework
- A programming-friendly and Web-enabled Java class that extends from the abstract class to implement the Java-friendly and Web-enabled methods
- Noun-specific exceptions to represent client errors and server errors
After generating the module, follow the steps in
Create the client library.
Component facade project
The component facade project contains the WebSphere Commerce controller commands that implement the services along with other commands to provide the tasks associated with the service implementation.
After generating the module, follow the steps in
Create the component facade.
Unit test project
After the pattern is applied, there is one JUnit Test class that is created to send and receive empty service messages. After applying the pattern and adding the projects to the WebSphere Commerce application, the Test case should run successfully where empty Services messages are sent and received.
After generating the module, follow the steps in
Testing a WebSphere Commerce service.
Web service enablement modules for JMS and HTTP
These projects contain the transport enablement of the service module for HTTP and JMS. The component facade project uses these projects to enable Web service support for both transports.
Related Concepts
Command framework
WebSphere Commerce services
Service Data Objects (SDO)
Client library for WebSphere Commerce services
Component facade interfaces
WebSphere Commerce services functional architecture
6.0.0.1WebSphere Commerce use of Open Applications Group (OAGIS) messaging