Java Emitter Template (JET) Component Projects pattern

The release of version 7.5 of the Rational Software Delivery Platform provides users of the Design Pattern Toolkit (DPTK) with equivalent functionality built into the IBM Rational modeling products. The new version of the Rational Software Delivery Platform includes new code-generation technology based on the Eclipse Modeling Framework Technologies Java Emitter Template (JET) open-source project. JET includes many technologies first demonstrated in the Design Pattern Toolkit (DPTK).

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 based on customizable, model-driven architecture transformations. WebSphere Commerce uses the JET plug-in for creating WebSphere Commerce service modules from a simple XML file. By describing the service module in a specialized XML syntax, the service modules can be generated. This allows you to start directly with the service module implementation without having to spend hours with the setup and configuration of a service module.

Note: The DPTK pattern provided in WebSphere Commerce Version 6 generated a sample Delete command for a new service. However, the JET-based pattern does not generate a sample Delete command, only a Create. This update seeks to simplify what the pattern generates. If you require a Delete command, you must create a new class that extends the AbstractProcessDeleteActionUsingBusinessObjectMediatorCmdImpl class.

Component Projects Pattern Input Definition

Component Projects Pattern Input Definition

Component Projects Pattern Input Definition

Element Attribute Remark
commerceComponent The root node of a service module definition.
name The service module name (Project).
packagenameprefix The package name for generated class (com.mycompany.commerce).
namespace The name space for the new services.
nlsprefix The namespace prefix that associates an element with a particular namespace. The value is generally a four-character string.
type Either SOI or BOD

SOI: using existing task command and access beans.

BOD: using new commands and DSL.

internal Reserved for IBM internal use.
noun May define 1 to n of nouns under the Commerce-component element.
name The noun's name.
get Either true or false

True: The noun provides get services.

False: The noun does not provide get services.

process Either true or false.
change Either true or false.
sync Either true or false.
nounpart May define 0 to n noun parts under each noun.
name The name of the noun part.
xpath The XPath of the noun part. For example, if a noun part name is Description, the XPath would be /Description[]

Generated files

The following files are generated when running the pattern, where:
The file is generated for either the BOD or SOI programming models. If no value is specified, the file is always generated.
The file will be generated when a noun is specified. If no value is specified, the file is always generated.
The file requires user implementation or modification.
The file will always be regenerated when running the pattern.
List of generated files for ServiceModule-Client.

The following table shows a list of generated files for ServiceModule-Client.

SOI/BOD Verb Implement Regenerated
ServiceModule-Client Y Y Y Y Y
ExternalServiceNameFacadeConstants Y
AbstractExternalServiceNameFacadeClient Y
ExternalServiceNameClient Y
List of generated files for ServiceModule-DataObjects.

SOI/BOD Verb Implement Regenerated
BOD and Noun XSD files Y
ServiceModuleServices.wsdl Y
genmodel Reload
ecore Reload
List of generated files for ServiceModule-Server.
SOI/BOD Verb Implement Regenerated
GetNounCmd Get
GetNounCmdImpl Get
ComposeNounCmd SOI Get
ComposeNounCmdImpl SOI Get Y
FetchNounCmd Get
FetchNounCmdImpl Get Y (SOI)
InsertMoreNounCmd Get
InsertMoreNounCmdImpl Get Y
ChangeNounCmd Change
ChangeNounCmdImpl Change
ChangeNounNounPartCmdImpl BOD Change Y
ChangeNounNounPartPostActionCmdImpl BOD Change Y
ChangeNounPartCmd BOD Change
ChangeNounPartPostActionCmd BOD Change
ProcessNounActionCmd BOD Process
ProcessNounCreateActionCmdImpl BOD Process Y
ProcessNounCmd Process
ProcessNounCmdImpl Process
ProcessNounDeleteActionCmdImpl BOD Process Y
SyncNounCmd Sync
SyncNounCmdImpl Sync
ReadNounMediator BOD Get Y
ReadNounNounPartMediator BOD Get Y
ChangeNounMediator BOD Process Change Sync Y
ChangeNounBasePartMediator BOD Process Change Sync Y
ChangeNounNounPartMediator BOD Process Change Sync Y BOD Y Y Y Y Y Y Y Y Y Y
ServiceModuleServices_mapping.xml Y
ServiceModuleServices.wsdl Y
ibm-webservices-ext.xmi Y
ServiceModule-cmdreg.xml Y
Noun-Access-Control.xml BOD Y
CmdReg.xml Y
List of generated configuration files for the WC project (WC/xml/config/packageNamePrefix.ServiceModule)
SOI/BOD Verb Implement Regenerated
Service module configuration Y Y
wc-component-client.xml Y
wc-component.xml Y
wc-business-object-mediator.xml BOD Y
wc-object-relational-metadata.xml BOD Y
wc-query-noun-get.tpl BOD Y
wc-query-noun-update.tpl BOD Y
List of generated files for ServiceModuleServicesHTTPInterface.
SOI/BOD Verb Implement Regenerated
Note: Generally, you should not need to modify the ServiceModuleServicesHTTPInterface project or its generated files.
List of generated files for ServiceModuleServicesJMSInterface.
SOI/BOD Verb Implement Regenerated
Note: Generally, you should not need to modify the ServiceModuleServicesJMSInterface project or its generated files.