One of the new features in Service Bus 12c is the ability to use pipeline templates. Usually the Oracle Service Bus pipelines in an environment have many common steps. Think of the re-use of logging, error handling, alerts and pattern + naming convention for your stages. In practice with OSB 11g we often used a “template” or existing OSB project which we then copied and modified. With the “clone” option of 12c this task is already easier, but the use of pipeline templates is even better. Since templates and concrete pipelines (generated pipelines from a template) remain linked we can update our services easier with new insights. For example, when you want to change your default logging or fault handling behavior.
- How to create a Service Bus 12c pipeline template
- How to generate and use a concrete pipeline from a template
- How to customize your Service Bus 12c pipeline templates
We can generate a new concrete pipeline on an existing service bus overview, or generate a new service. In this example we will generate a whole new service which implements the concrete pipeline. The concrete pipeline is linked to the original pipeline template and will also change automatically when the template is updated. Since the earlier generated “PipelineTemplate_soap12_entity” will be used, we will create a basic entity service named getEmployeeService in this blogpost.
Generate a concrete pipeline
Use the wizard to generate a new Service Project and drag a Pipeline to the service bus overview. We select the “From Template”.
We then need to select a SOAP 1.2 WSDL since this is the transport used in the template.
The result is a proxy service with a concrete pipeline. The grey background color indicates reminds us that we are dealing with a concrete pipeline here. When you select an Action you can notice 2 important facts:
- We can not delete the action since the concrete pipeline actions are inherited from our template.
- The action contains the default configuration from the original template. In this case we did not modify the template yet after the generation..
So however the templates help us to quickly generate basic message flow patterns, we still should make sure we check our actions..
How to break the template link
If we want to edit the concrete pipeline beyond the scope of the pipeline template we can break the template link. By doing so the concrete pipeline becomes a normal pipeline. However this break can not(!) be undone. Right-click on the concrete pipeline and select Service Bus -> Break Template Link.
Then select YES regarding the warning about the irreversibale action.