Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "JWT Databinding"
(→Thoughts) |
(→Thoughts) |
||
Line 15: | Line 15: | ||
** XPath | ** XPath | ||
** Expression Language | ** Expression Language | ||
− | ** | + | ** OCL (for EMF models) |
** ''Anything else?'' | ** ''Anything else?'' | ||
* We don't need to be able to evaluate complex (mathematical) expressions. Smart dereferencing is what we are looking for. However, it could be interesting to statically evaluate the type of guard conditions. (check whether a comparison is valid...). It could also facilitate the transformation of boolean expressions. | * We don't need to be able to evaluate complex (mathematical) expressions. Smart dereferencing is what we are looking for. However, it could be interesting to statically evaluate the type of guard conditions. (check whether a comparison is valid...). It could also facilitate the transformation of boolean expressions. |
Revision as of 03:43, 9 May 2008
Aim
The aim of databinding is to provide to JWT the ability to:
- Deal with orchestration
- Deal with complex types
- Deal with type checking
- To be continued
Thoughts
- Is a workflow action equivalent to a (mathematical) function? That means, is it a component that takes some input, and computes some output?
- We need to be able to know the context (with different scopes?) for any entry of action to make the binding.
- We need to be able to introspect the action to get input and output types. It is easy with WSDL and Java.
- We need a structured databinding to deal with complex types (classes, records, ...). What we specially require is the ability to browse the context and the variables
- XPath
- Expression Language
- OCL (for EMF models)
- Anything else?
- We don't need to be able to evaluate complex (mathematical) expressions. Smart dereferencing is what we are looking for. However, it could be interesting to statically evaluate the type of guard conditions. (check whether a comparison is valid...). It could also facilitate the transformation of boolean expressions.
- We wouldn't like to use BPEL, however we need something that can easily ve transformed into BPEL.
- It could be good to be able to do static type checking one a binding.
- May be difficult since the same data type is not the same programmatic type (eg: String for Java, xs:string for XML...)
- XPath may not be very helpful for this task
- Iterations may be problematic to define a context. Should we be only able to bind on the latest result of an iterated action, or should we be able to bind with the result of a specific iteration?
- Is there a bijection between databindings? If yes, it reduces the risk of making a choice.
- It could be cool to integrate a Talend-like UI for binding:
- see http://www.talend.com/img/Talend-Open-Studio-v1/tmap.gif
- Where Left column would be the context, containing all available variables for the current action
- Database rows would be fields, according to variables' types.
- Right column would be the set of arguments of the action.
- Should action results automatically global variables, or should they stay "under" the action?