Hi Kishan, some thoughts inline On Thu, May 14, 2020 at 12:58 PM Kishan Gajjar <[email protected]> wrote: > Route Management: Our usecase is to cater various kinds of orchestration > flows which needs to be executed on their trigger event. In Camel’s term we > need capability to capture the multiple routes which can be used as a > centralised place for managing them.
Are you aware of Hawt.io (https://hawt.io/) it's often used to provide graphical UI to manage Camel. About your last remarks, I'm not exactly clear what you mean by "capture", if you mean ability to run multiple routes within one deployment -- you can have as many as you need routes in a single Camel context, there are EIPs for routing and splitting the payload if you need to pass them to other routes. > Route Versioning: Any new change in the existing Route will be > rolled-out in the gradual fashion, which means there will be multiple > versions of a route which needs to be supported and executed in A/B manner. Your best option here is to version the artefact you deploy, if that's a Camel route definition have two of them with different IDs. Naming conventions come in handy. > Data exchange control across the processor: Camel exchanges generic data > across the processors, which can lead to change of data in unexpected > processor boundaries. To restrict the data access boundary needs a > type-safe way of data sharing across the processors. If you need strong typing define a Java domain model defined and put only objects from that domain model into the message body. If using a Java model is not what you want you can enforce schema checks for many common data formats. > Data driven routing. Camel provides the way to route control based on > static and dynamic across the processors. We need additional capability to > route processors based on the data dependency. I'm not really clear on what you mean with data dependency, but have a look at content based router EIP and see if that fits your use case. > Mapping with Json DSL: Mapping the route definition with JSON DSL. So > far Camel supports XML and java DSL for route definition. I think there's an effort for a YAML based DSL, not sure if either JSON or YAML is expressive enough to achieve fidelity you can have with the XML and Java DSLs, the effort needed to put another DSL on par with XML and Java DSLs is substantial and I (personally) don't see much benefit in having one. zoran -- Zoran Regvart
