This container will replace the AQ_Dashboard_FlowWidget and AQ_Dashboard_ProjectWidget.
See also external flow for detailed information.
Architecture
The architecture of the External Flow Container looks like the following:
Elements
To be able to use this functionality a new container type is to be used: the Container type: AQ_ExternalFlow and a new type of flow , see Flow type: external
Also the concept of a contract is needed: see Module type: Contract module.
Considerations
This new functionality is great, but it should be used as intended. Here some pros and pitfalls are stated to keep in mind when choosing this functionality.
Pros
The pros of this functionality are:
- It is possible to split up large applications into some smaller, autonomous parts.
- This autonomous way causes deploying only sub-parts.
- Additionally this can make release cycles short
- The target host (where a part of the application is running) can be scaled as needed.
- Since R17 we support Life Cycle Management on External flow applications. Which means that the host and target runtimes used for external flows may differ one major Blueriq version.
Cons
There are however also some pitfalls which you should avoid.
- This construction should not be used as a purpose on its own. Don't use this for neatness reasons for example. This way has an impact on feedback to the user (network communication).
- There is a chance of circular reasoning. It is possible to use this functionality in a way that the target host is also calling the source host. This should be prevented in any way.
- There is a possibility that sessions will break. You are using different runtimes which are called at another point in time. So you should be aware that this may happen.
- This mechanism uses a contract with data mappings. This is OK, but it brings extra complexity in the application (it is also not part of the business domain). Keep this in mind.
Limitations
- Running the external flow using host and target runtimes with different major and minor versions is not supported for Blueriq 16 and earlier versions.
- Running the external flow using different versions of the contract module on host and target runtime is not supported.
Configuration
For configuring this functionality see External Flow.
Example project
For an example project see ExternalFlow