The following subsections describe the integration points of the process engine and Spin. For specific documentation on data formats like XML and JSON, please refer to the and the JSON section.

Expression Language Integration

The Spin engine plugin registers the Spin API entry functions in the context used for expression evaluation. It can therefore be used at all points where the engine allows expression language.

Scripting Integration

Native JSON and XML Variable Values

When working with JSON or XML payloads it wouldn’t be convenient to treat the payload as strings because then features like path-expressions and accessing properties couldn’t be used. Additionally, you do not always need or want a class in your system to represent the JSON/XML.

That is why Spin provides native variable values to work with JSON and XML. The Spin API enables access and manipulation of the data in an easy way. Parsing and serialization can be done with a single command.

Serializing Process Variables

Extending Serialization

Spin offers two interfaces that can be implemented to and to configure serialization. Every process application may provide a different set of data format providers and configurators. The BPM platform then instantiates process-application-specific data formats and ensures that they are only accessible when code is executed within the process application’s context. See the section on to understand when the process engine operates in the context of a process application and how a context switch can be enforced.

Data formats provided or configured on process application level currently only apply to the serialization of Object-type variables. Native Spin variables and the Spin standalone API (e.g. ) only use globally configured data formats.