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. 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 us 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, we must create a new class that extends the AbstractProcessDeleteActionUsingBusinessObjectMediatorCmdImpl class.
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:
- 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.
List of generated files for ServiceModule-Client.
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
List of generated files for ServiceModule-DataObjects.
SOI/BOD Verb Implement Regenerated ServiceModule-DataObjects 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 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
List of generated configuration files for the WC project (WC/XML/config/packageNamePrefix.ServiceModule)
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
List of generated files for ServiceModuleServicesHTTPInterface.
SOI/BOD Verb Implement Regenerated ServiceModuleServicesHTTPInterface .websettings website-config Manifest.mf ibm-web-bnd.xmi ibm-web-ext.xmi web.xml
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 ServiceModuleServicesJMSInterface ejb-jar.xml ibm-ejbext.properties ibm-ejb-jar-bnd.xmi Manifest.mf
Note: Generally, you should not need to modify the ServiceModuleServicesJMSInterface project or its generated files.
Related concepts
Nouns
Related tasks
Working with WebSphere Commerce SOI services