This documentation is for WSO2 ESB version 4.5.1. View documentation for the latest release.

Templates

ESB configuration language is a very powerful and robust way of driving enterprise data/messages through ESB mediation engine. However, very large amount of configuration files in the form of sequences, endpoints, proxies and transformations can be required to satisfy all the mediation requirements of your system. In such cases a number of configuration files will be scattered all over and would be extremely hard to manage. What would be frustrating to note is that, most of the configurations of particular types are redundant in nature.

ESB templates (New in version 4.0) try to minimize this redundancy by creating prototypes that users can reuse and utilize as and when needed. This is very much analogous to classes and instances of classes where-as, a template is a class that can be used to wield instance objects such as templates and endpoints. Thus, ESB templates are an ideal way to improve reusability and readability of ESB configurations/XMLs. In addition to that, users can utilize predefined templates that reflect commonly used EIP patterns for rapid development of ESB message/mediation flows.

ESB templates comes in two different forms.

  • Sequence Templates - Defines a templated form of a ESB sequence. Sequence template has the ability to parameterize XPath expressions used within a sequence defined inside a template. We invoke a sequence template with the Call Template Mediator by passing parameter values.
<call-template target=”template” >
<parameter name=”name” value=”value”/>
.....
</call-template>
  • Endpoint Templates - Defines a templated form of an endpoint. Endpoint template has the ability to parameterize an endpoint defined within it. Invoking a template of this kind is achieved using a template endpoint.
<endpoint template=”name” ...>
<parameter name=”name” value=”value”/>
.....
</endpoint>