Input Mapping
When you build BTT BPEL Process, you need a input message named BTTSystemData as defined in the figure below:
string sessionId and string subsessionId are not used by BTT BPEL, but they are still defined here for the compatibility with BTT version 5.1.
Below is the semantic of BTTSystemData:
1.) if context != null, use Local Context 2.) if context == null && instanceId != null, use Remote Context 3.) if context != null && instanceId != null, use Local Context runInSession, and the Remote Context identified by instanceId as Session Context. 4.) if context == null && instanceId == null, failed.
When using Local Context, BTT Snippet abstract layer will deserialize Context from byte[] to Context Object instance, and then you can use Context and other BTT Component in BTT Snippet code.
When using Remote Context, BTT Snippet abstract layer will get Remote Context through Context Facade with instanceId.
When using run in session mode, BTT Snippet layer will act according to BTT Session Management mechanism.
Output Mapping
BTTSystemData will always be updated by BTT Snippet. You can decide if the BTTSystemData is returned or not.