Java Emitter Template (JET) Component Projects pattern
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. HCL Commerce uses the JET plug-in for creating HCL 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.
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 HCL 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 False:
The noun does not provide |
|
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:- SOI/BOD
- The file is generated for either the BOD or SOI programming models. If no value is specified, the file is always generated.
- Verb
- The file will be generated when a noun is specified. If no value is specified, the file is always generated.
- Implement
- The file requires user implementation or modification.
- Regenerated
- The file will always be regenerated when running the pattern.
SOI/BOD | Verb | Implement | Regenerated | |
---|---|---|---|---|
ServiceModule-Client | ||||
ServiceModuleFacade.java | Y | |||
NounException.java | Y | |||
AbstractServiceModuleFacadeClient.java | Y | |||
ServiceModuleFacadeConstants.java | Y | |||
ServiceModuleFacadeClient.java | Y | |||
ExternalServiceNameFacadeConstants | Y | |||
AbstractExternalServiceNameFacadeClient | Y | |||
ExternalServiceNameClient | Y |
SOI/BOD | Verb | Implement | Regenerated | |
---|---|---|---|---|
ServiceModule-DataObjects |
||||
BOD and Noun XSD files | Y | |||
ServiceModuleServices.wsdl |
Y | |||
genmodel |
Reload | |||
ecore |
Reload |
SOI/BOD | Verb | Implement | Regenerated | |
---|---|---|---|---|
ServiceModule-Server |
||||
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 | |
NounTypeProtectableProxy.java |
BOD | Y | ||
ServiceModuleFacade.java |
Y | |||
ServiceModuleFacadeBeanImpl.java |
Y | |||
ServiceModuleFacadeImpl.java |
Y | |||
ServiceModuleLocalFacade.java |
Y | |||
ServiceModuleServicesImpl.java |
Y | |||
ServiceModuleServicesPortType.java |
Y | |||
ServiceModuleServicesPortType_RI.java |
Y | |||
ServiceModuleServicesPortTypeHome.java |
Y | |||
ServiceModuleApplicationException.java |
Y | |||
ServiceModuleServices_mapping.xml |
Y | |||
ServiceModuleServices.wsdl |
Y | |||
ejb-jar.xml |
||||
webservices.xml |
||||
ibm-ejb-jar-bnd.xmi |
||||
ibm-ejb-jar-ext.xmi |
||||
ibm-webservices-bnd.xmi |
||||
ibm-webservices-ext.xmi |
||||
Manifest.mf |
||||
WcServiceModuleMessages.properties |
Y | |||
ServiceModule-cmdreg.xml |
Y | |||
ServiceModule-Server/sampleData |
||||
Noun-Access-Control.xml |
BOD | Y | ||
CmdReg.xml |
Y |
SOI/BOD | Verb | Implement | Regenerated | |
---|---|---|---|---|
Service module configuration | Y | |||
SDO.properties |
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 |
SOI/BOD | Verb | Implement | Regenerated | |
---|---|---|---|---|
ServiceModuleServicesHTTPInterface | ||||
.websettings |
||||
website-config |
||||
Manifest.mf |
||||
ibm-web-bnd.xmi |
||||
ibm-web-ext.xmi |
||||
web.xml |
SOI/BOD | Verb | Implement | Regenerated | |
---|---|---|---|---|
ServiceModuleServicesJMSInterface | ||||
ejb-jar.xml |
||||
ibm-ejbext.properties |
||||
ibm-ejb-jar-bnd.xmi |
||||
Manifest.mf |