Having look at the API of JBPM, i see that while triggering a process via engine session, it is possible to parse variables
StatefulKnowledgeSession session = ...
Map<String, Object> params = ....
session.startProcess("process_id", params)
Objects stored on that map, which is associated with a process instance, are somehow accessible via contextual process instance.
My question is: What is the canonical way to read/write those variables during process instance lifecycle (ex: in order to communicate with external systems)