It is possible to expose Talend jobs as services in Petals ESB.
|
Exporting a Talend job for Petals ESB
The export is the same in both Talend Open Studio and Talend Integration Suite.
The generated artifacts are the same in both of them. And the content of the jbi.xml is (almost) the same in both of them.
The only differences are the job's content (which Talend components have been added into the job) and the generated WSDL (which depends on the job content and the export options).
The export result is a service assembly, containing a service-unit for the Talend service engine.
The service-unit contains a JBI descriptor, a WSDL and the job resources.
This section only introduces the export options and their impact on the result.
Here is a snapshot of the Talend export for Petals.
The target file is the location of the service-assembly to generate.
The job version meaning is explicit.
The export options are the following:
Export Option | Description |
---|---|
Singleton job | True to make the job singleton. A singleton job can have only one instance running at once on a given Petals-SE-Talend component. |
Generate the end-point | True to let Petals generate the end-point at deployment time. If false, the end-point name is the job name with the suffix "Endpoint". |
Validate Petals messages | True to validate all the messages / requests against the WSDL. Be careful, enabling this option reduces the performances (disk access). |
User routines | Embed the user routines in the service-unit. |
Source files | True to embed the source files in the generated service-unit. |
Jobs contexts | Select the context that will be used by default by the job. |
Eventually, there is the edition link to specify how contexts should be exposed in the generated WSDL.
When this link is clicked, a dialog shows up.
It lists all the context variables from the job, with their name, the type they will be associated with if exported, and the way they are exported.
By default, no context is exported. Said differently, the export mode for all the contexts is Not exported.
Here is a small description of the export modes.
Export Mode | Description |
---|---|
Not exported | The context is not exported (not visible as a parameter). But the context can still be overridden using the native parameters (options) of the job. |
Parameter | The context is exported as a parameter in the WSDL's operation. |
In-Attachment | The context will be passed the location of a temporary file whose content was attached in the input message. |
Out-Attachment | The context will be read after the job was executed.
|
Parameter and Out-Attachment | A mix between the Parameter and the Out-Attachment modes.
|
Updating a Talend service assembly
Clearly, this should almost never happen.
The result of a job export for Petals ESB is a valid service assembly for the Talend service engine of Petals.
However, it already happened in a use case involving both Talend and BPEL: the generated WSDL definition had to be slightly changed.
In such a situation, it is possible to import the exported service assembly in the workspace, edit it and repackage it.
The transformation is transparent and only takes few minutes.
Creating a service consumer for a job
One common task involving a Talend service is to create a service consumer for it.
The studio eases such a creation.
What you have to do is to add a new service source in the Petals Services view.
Add a new SA folder and select the folder where the job was exported for Petals.
You should then see the service end-point in the view.
To create a service consumer, you then only have to follow one of the wizards to create a service consumer and select the Talend service.