Separate the specs into 2 - control & data #572
Replies: 2 comments 6 replies
-
Yes completely agree that we do need to come up with conformance levels. It's not only about simplicity of adoption but as DSLs are often used as means for customers/end-users to define orchestrations, I think we should look into much deeper subsets (even maybe on a state level) as far as comformance goes. Ontop of my head i can think of subset of things like "events", "functions" and "state-level" conformances. wdyt? We could structure our json schemas that define the dsl in ways that can fit the different conformance levels. |
Beta Was this translation helpful? Give feedback.
-
I am all for setting up dedicated community meetings for this topic as its really something that we have on the radar for a long time, but were never able to get started. |
Beta Was this translation helpful? Give feedback.
-
I was thinking that maybe the specs should be broken into 2 separate layers. The first is the Control layer (or Core layer) which deals strictly with control flow only, no data specification nor manipulation - specifically, no need json, just any type that can be serialized and sent over the wire; also no filters, no jq (or other) expressions etc. This layer will deal with various states flows, errors and transition. Implementations can be certified for control layer alone.
On top of this Control layer, there can be the additional Data manipulation layer. Here json is required, also openapi, etc support. Here filter jq (& other) expression is supported. Implementations can also be certified at this 'higher' level
This may make adopting the specs easier as it's a stage process - conform to Control layer first, then later add on Data layer. Or for simpler engines just the control layer.
Not sure if it's possible, just a thought.
Beta Was this translation helpful? Give feedback.
All reactions