Bruno Meseguer created CAMEL-18740:
--------------------------------------
Summary: Automatic encapsulation of outgoing invocations
Key: CAMEL-18740
URL: https://issues.apache.org/jira/browse/CAMEL-18740
Project: Camel
Issue Type: New Feature
Components: camel-core
Reporter: Bruno Meseguer
In pursuit of better useability of Camel and future UI tooling, it would be
ideal for implementing in Camel an automatic encapsulation of in/out data when
invoking endpoints.
The following scenario is a typical processing flow in the enterprise:
1) receive client request
2) call system A
3) call system B
4) call system C
5) compose response (A'+ B'+ C')
6) reply to client
Camel is today 100% capable of letting the developer implement such workflow.
If the developer wants to compose a response (step 5), then the sequence of
calls above (A/B/C) require to manually keep responses in exchange properties.
It requires from the developer to be well familiar with Camel to code the right
actions. New users would find it very challenging at first to find the right
approach.
Additionally, the current Camel mechanics of handling properties/headers/body
do not provide a good enough level of support for UI tooling. A GUI user would
still require a good understanding of Camel to accomplish such workflow.
This ticket proposes to provide Camel the ability to automatically handle
external calls in such a way that response data is inmediately available for
developers to easility compose the response data.
An example Exchange structure that Camel could self-populate is the following:
(config/inputs could be defined at design time, in code or GUI)
(outputs would be resolved at runtime)
Exchange
- Consumer (1)
- configuration
- message (received) or (output)
- headers
- body
- Producer (2)
- configuration
- message (sent) or (input)
- headers
- body
- message (response) or (output)
- headers
- body
- Producer (3)
- configuration
- message (sent) or (input)
- headers
- body
- message (response) or (output)
- headers
- body
- Producer (4)
- configuration
- message (sent) or (input)
- headers
- body
- message (response) or (output)
- headers
- body
- Mapping (5)
- configuration
- message (input)
- headers
- body
- message (output)
- headers
- body
- Response to client (automatic)
In the structure above, Camel has automatically created multiple objects inside
the Exchange, where each endpoint interaction has been encapsulated. At design
time, the Camel route could provide all the metadata (config/inputs) necessary
to allow a GUI to easy present to the user information that can be used to
configure other inputs.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)