v3.5.0 #2737
Replies: 1 comment
-
MotivationThe separation of domain object from the data transfer object completely decouples the conductor state machine from the user-facing APIs. Some internal fields that are only used by the state machine (e.g. executed, subWorkflowChanged etc) are currently exposed to the users because the same object model is used by the state machine and the DTO layer. This separation allows the evolution of the state machine and features therewith, without impacting the user. It also helps abstract away any of the state machine complexities while providing a clean and lean object model for the user to work with. Additionally, because of the way the object models are intertwined currently, payloads stored in external storage need to be manipulated (uploaded/downloaded) depending on the call stack, either from state machine or api layer, so that large payloads are not sent over the wire and are only available for use within the state machine. The separation of object models enables the state machine to download the payload from external payload storage once during a given workflow evaluation without needing to examine the call stack. The API layer does not need to deal with the large payloads since the model mapper handles the mapping to the DTO. Changes to DAO
|
Beta Was this translation helpful? Give feedback.
-
What’s Changed
IMPORTANT
New
This discussion was created from the release v3.5.0.
Beta Was this translation helpful? Give feedback.
All reactions