Question between invoking a service directly and calling it inside a map transformers

Hello,

I have a question please :
Do you know the difference between :

  • Invoking a service directly into a flow
  • Invoking a service into a transformer of MAP component

is it the same thing? or there is a difference in performance?

Thanks & regards.

Hi Yassine,

when invoking a service as a transformer in a Map step the following is true:

  • It will only be executed when the output (at least one variable from it) is mapped to the out pipeline of the step
  • Only pipeline variables declared as input and output to the services are available inside the service (scoping).

When invoking directly using Invoke step, scoping (if neccessary) needs to be defined manually and all variables present in the pipeline are available inside the service even if this might not be intended as the variables can be modified by the service and this will not be obvious to the calling service as they are not declared as input/output.

About the performance:
Invoking as transformer will be a little bit faster than invoking direclty, but this also depends on the complexity of the service being called.

Regards,
Holger

1 Like

I suggest, if the service which you want to use as a transformer contains calls to complex systems like Mainframes then go with normal flow call, if it is a normal flow service then you can opt even it as a transformer. Before using it as transformed please read more on it.

Thanks,

Thanks guys for you replies.
Now it’s more clear for me.

@MR as173d : the called services are always mainframe calls, so as you said, in this case i use the normal call

Great :). Go ahead.

Thanks,

Transformers, as the name implies, are meant to transform data. That’s why they exist within the context of a MAP step, which is meant to map data from one structure to another or to assign data. Unless you’re actually mapping and transforming data, do NOT use a transformer. Use a standard INVOKE. They are more self-documenting and they will make your services easier to read and understand.

Percio

2 Likes