Super cool. As someone that is also developing hl7 integrations using quarkus, camel, openshift and AMQ Artemis as our broker. This gives me a few new ideas on how to include new routing methods.
very informative video. thanks a lot. i was trying to look at the code in github, but I still cannot understand how all this is "glued" together. I was trying to send JSON message instead of HL7. can you please explain the RouteBuilderBean more ? and how it is reading the dmn file to make the decision ? One last auestion, isn"t camel DYNAMIC ROUTER doing the same thing ? thanks
Hi Ahmed, thank you for the feedback!🙏 Glad to hear you found it informative. > I was trying to send JSON message instead of HL7 In that case you should follow Quarkus standard JAX-RS and RestEasy to provide an alternative REST github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/example/HL7v2Resource.java#L15-L26 and then, the routebuild would need to be removed of the HL7 specifically marshalling bits github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/example/RouteBuilderBean.java#L39 > how it is reading the dmn file to make the decision ? That is done by Kogito on Quarkus it will provide CDI beans of the DMN models, so you don't have to manually read files. As a developer you just inject the github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/utils/camel3/KogitoProcessorFactory.java#L20-L21 and it provides access to the model evaluation. > isn"t camel DYNAMIC ROUTER doing the same thing I believe in Camel you have many ways to approach the same problem, to provide different effective solutions :) In ANOTHER demo I was using a Router + Claim Check: github.com/tarilabs/kafka-msg-routing-with-quarkus-kogito-dmn-camel/blob/2940bf041872d59ecd4d4178878d774f932ddc76/src/main/java/org/drools/demo/IDAASDREAMRouteBuilder.java#L38-L45 because the requirement was also there to give explicit logic _in the routes_ and easily accessible and modifiable in the Camel Routes. So it really depends on a case-by-case with your specific requirements. I hope this address at least in part your questions, feel free to send a message about this video/demo and any further or remaining detailed question on the Kogito mailing list, maybe easier to delve into details over there! :) See: groups.google.com/g/kogito-development Hope this helps, let me know or hope to read more from you on the mailing list!
Super cool. As someone that is also developing hl7 integrations using quarkus, camel, openshift and AMQ Artemis as our broker. This gives me a few new ideas on how to include new routing methods.
Thank you for the feedback Nick, I'm glad to hear this helps with additional considerations and ideas for your use-case too! 🚀
Great video, thank you
Thank you for the feedback! Always much appreciated 🙏
very informative video. thanks a lot.
i was trying to look at the code in github, but I still cannot understand how all this is "glued" together. I was trying to send JSON message instead of HL7. can you please explain the RouteBuilderBean more ? and how it is reading the dmn file to make the decision ?
One last auestion, isn"t camel DYNAMIC ROUTER doing the same thing ? thanks
Hi Ahmed, thank you for the feedback!🙏 Glad to hear you found it informative.
> I was trying to send JSON message instead of HL7
In that case you should follow Quarkus standard JAX-RS and RestEasy to provide an alternative REST github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/example/HL7v2Resource.java#L15-L26
and then, the routebuild would need to be removed of the HL7 specifically marshalling bits
github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/example/RouteBuilderBean.java#L39
> how it is reading the dmn file to make the decision ?
That is done by Kogito on Quarkus it will provide CDI beans of the DMN models, so you don't have to manually read files. As a developer you just inject the github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/utils/camel3/KogitoProcessorFactory.java#L20-L21
and it provides access to the model evaluation.
> isn"t camel DYNAMIC ROUTER doing the same thing
I believe in Camel you have many ways to approach the same problem, to provide different effective solutions :) In ANOTHER demo I was using a Router + Claim Check: github.com/tarilabs/kafka-msg-routing-with-quarkus-kogito-dmn-camel/blob/2940bf041872d59ecd4d4178878d774f932ddc76/src/main/java/org/drools/demo/IDAASDREAMRouteBuilder.java#L38-L45
because the requirement was also there to give explicit logic _in the routes_ and easily accessible and modifiable in the Camel Routes. So it really depends on a case-by-case with your specific requirements.
I hope this address at least in part your questions, feel free to send a message about this video/demo and any further or remaining detailed question on the Kogito mailing list, maybe easier to delve into details over there! :)
See: groups.google.com/g/kogito-development
Hope this helps, let me know or hope to read more from you on the mailing list!