Template is term used for re-usable component. When we talk about templates in SOA these refers to re-useable stuff related to services, project and component. In earlier version of Oracle SOA Suite (11g) there were no provision of templates so every time we need to build same code again and again, this was very time consuming and error prone. To avoid this Oracle introduced templates in SOA 12c.
Oracle SOA 12c has couple of new features, one of it is Templates. It means that we can generate templates and re-use them to create projects in SOA 12c. This reduces development efforts as developer need not to create same code again or simply need to use pre-built template. We can also share these templates between different teams so that they can follow same standards. We can also store these templates in MDS and reuse from there. These templates are discoverable in Oracle Jdeveloper. Once the template is saved, it is displayed in the Components window. There is no inheritance in templates that means that if in future we do changes in template that change will not reflect in application i.e. these changes to the source template will not be visible to current user of the template.
There are three types of templates available in Oracle SOA 12c. Below is the brief introduction of each of the template. These templates are discussed in later posts.
Project Template: This template contains full project along with all the artifacts, components and references. We can create project template from Jdeveloper 12c, when we create this template from Jdeveloper 12c then template location gets added to the Jdeveloper preferences automatically but when we need to use external templates then we need to add external template location in the Jdeveloper. We can build new application from this project template, this new application imports all the artifacts, components and references which are there in project template.
Click here to see how to create and use project template.
Component Template: This template contains service components. We can create template from any composite component. It also contains all reference components and resources which are there inside that component. You can find this template in the SOA composite application's Components window and it appears as a custom service component.
E.g. a BPEL process which calls database adapter can be used as component template. Once we build template from this BPEL, that template contains all the components, references and artifacts which are inside that BPEL process. Please note that this BPEL need not to be complied and need not to be complete.
Custom activity Template: This template contains an activity of a BPEL process which may include assign, transform, invoke, and receive and partnerlink. We can use this template in the same BPEL or in any other BPEL. This template also contains all the variables, references and artifacts which are related to that activity. Custom activities will be available in the BPEL palette.
Click here to see how to create and use custom activity template.