Workflow information extraction to EasySOA Core model - easysoa/EasySOA GitHub Wiki
This page is about technical solutions to extract workflow information from workflow editors to EasySOA Core. The goals, extracted from EasySOA and workflow build process, are the following:
- EasySOA shall automatically extract model information from the editors
- This informations includes:
- business process hierarchy
- service use by (technical) workflows
Solution #1: parse uploaded files
Idea
Workflow files are transfered to EasySOA using any [relevant solution](Import and export of workflow files from to EasySOA), and then parsed by EasySOA to extract information.
Risks/Drawbacks
Maintenance workload
If we target more than one file format, or file formats with editor-specific fields that are important to EasySOA, we will probably need to maintain several different modules, which might reveal too much work as the file formats or the editor evolve.
Solution #2: in-editor data transformation
Idea
Plugins are added to editors, which add an "export" feature in this editor allowing to:
- Transform the data from an internal format to a standard one (using Eclipse Mangrove, for example)
- Transfer this data to EasySOA Core, maybe along with the workflow diagram file.
Risks/Drawbacks
Genericity
Non-Eclipse-based editors can be Java-based but not OSGi-based, or even written in Python, C++, and so on. The point here is that such an approach is inherently not generic, from the architectural point of view.
If we only target Eclipse-based editors, though, we may split the code into a reusable, generic part (mostly point 2 above) and a more editor-specific part (mostly point 1). This would offer a good compromise between genericity (limited to the Eclipse world) and maintenance workload.