cancel
Showing results for 
Search instead for 
Did you mean: 

Best practices for property exchange using ProcessDirect Adapter in SAP Cloud Integration

anoukvandenengel
Explorer
0 Kudos
171

Hello SAP Cloud Integration experts,

I’m currently working on decomposing a large integration flow into smaller, modular flows that communicate via the ProcessDirect adapter. My goal is to make the consumer integration flows as dynamic as possible for reusability purposes. Given that the ProcessDirect adapter doesn’t support property propagation, I’m looking for best practices to pass properties between iFlows.

One option I’m considering is passing the properties as message headers, though I doubt that using headers for this is ideal. Another option is temporarily storing the properties in a datastore and using a correlation ID to retrieve them in the target flow, but would require some additional steps.

Is there a simpler or more efficient approach? Any recommendations or best practices would be greatly appreciated.

 

Ryan-Crosby
Active Contributor
For propagation of properties the headers would be your go to. The option of datastore is a LOT of overhead for managing exchange of properties. When appropriate use properties and when necessary go with headers... that would be my advice.
AshGoyal
Participant

Processdirect call and execeution is done within the same JAVA thread as the calling program, therefore it's not really an external call.

If your concern is performance, it should not really matter due to the same thread being used.

The reason they may not allow propogation of properties is that they are completely separate iFlows and properties are private to a iFlow. It's like calling a method but the callee method's internal variables remain private to it.

If they allow property propagation, it can:

1. Break the API like nature of processdirect as the internal state of calling iFlow will be shared with the called iFlow.

2. Cause a mess within the called iFlow as it'll have access to lot of stuff which it doesn't really need.

Accepted Solutions (0)

Answers (0)