Migration from Mule to Apache Camel - apache-camel

I am trying to explore is there any tools or any document is available in order to do the Migration from Mule into Apache camel.
please share if anything is available.
Thanks
Arun K

After a quick Internet search I suspect the answer is no. Probably their models are two different. You will need to rewrite from scratch the integrations. Note that Camel.appears to favor a Java DSL approach while Mule uses an XML DSL to configure flows.
However if you have a significant number of integrations in Camel XML DSL it might make sense to create a translator at least to get some base translation that will need to be completed manually.

Related

Programmatically getting Apache Camel components operations, parameters, options decriptions

Is there a way to get any Apache Camel component "metadata" using Java code, like the list of options and other parameters and their types? I think some automatic help builder was mentioned somewhere that might be of use for this task without using reflection.
A way to get the registered components of all types (including data formats and languages) with java code is also sought. Thanks
Yeah take a look at the camel-catalog JAR which includes all such details. This JAR is what the tooling uses such as some of the Maven tooling itself, or IDE plugs for IntelliJ or Eclipse etc. The JAR has both Java API and metadata files embedded in the JAR you can load.
At runtime you can also access this catalog via RuntimeCamelCatalog which you can access via CamelContext. The runtime catalog is a little bit more limited than CamelCatalog as it has a view of what actually is available at runtime in the current Camel application.
Also I cover this in my book Camel in Action 2nd edition where there is a full chapter devoted on Camel tooling and how to build custom tooling etc.
This is what I've found so far
http://camel.apache.org/componentconfiguration.html

Can I use Camel and WMQ without JMS?

I am currently learning Camel, and have a specific project in mind that requires a Websphere MQ back-end, but I can't use JMS components, since I need a lot of non-jms headers, like MQIIH.
I found the camel-wmq project.
Is it the recommended solution ? Is it any good ?
You don't need to use jms. WMQ has a client API. Just download the wmq client jars and put them in your project and use them together with your Camel routes. You will probably put the wmq client code in a processor class or something similar. Off course best to test to put a message on a queue manually via RFHUTIL or something similar as a client so you are sure the environment setup is correct.
The suggested way of working with WMQ has always been through the JMS component since it enables you to painlessly switch to other providers if the need arises.
However, if you need to use some WMQ-specific function then my suggestion would be to extend the camel-wmq library - it contains only a subset of features supported by WMQ and does not support MQIIH headers that you need. Adding functionality to a component would probably involve more work than the solution Souciance Eqdam Rashti suggested but it would be a cleaner solution and more in line with Camel's philosophy. Also, you'd be giving back to the community and thus help make Camel a better tool for everyone :)
I would also suggest you go through the IBM MQ discussions on the Camel's official user group mailing list and see if you can salvage anything.

Difference between camel-jbpm and jboss jbpm?

What is the difference between Apache camel-jbpm and jboss jbpm ?
Since Apache camel(2.16.3) is having one component as camel-jbpm.
I am confused which one I should use ? I am integrating with karaf. please suggest.
JBoss BPM (business process - a.k.a human workflow) is a project you can find and read more about here:
http://www.jbpm.org/
Apache Camel is an integration library that allows to integrate with a lot of different system. Doing so by using Camel components. One of these components is camel-jbpm that makes it possible/easier to use JBPM from Camel users.
http://camel.apache.org/jbpm
So if you have an existing BPM system and need to integrate with that from a Camel application or Java application, then using the camel-jpmn can make that (much) easier.

Is it possible to use camel/jbpm with slurm computational grid?

In HPC we use often SLURM as workload manager. I would like to know if camel or jbpm-camel can to communicate to SLURM ?
I found apache spark but nothing about slurm.
I am interested by any documentation on this subjects.
Thanks for your help
This question is more about-- what API/RPC options are available for SLURM? If it is completely proprietary, than there probably isn't an available Camel component, but one could be put together using one of the low-level socket camel components, such as mina / netty / etc.

How can I process http responses with XSLT in Apache webserver?

I have a PHP application that I want to also publish with a different look and feel. We've chosen to do that using XSLT. That way we don't have to touch the PHP application and run risk introducing instability in the original. That's important since we're close to production.
I've looked into ways of doing XSLT processing in Apache webserver. And it seems that the only available xslt module hasn't been updated since 2005. I was hoping to use an xslt mod in a filter chain to accomplish what I want. But an unsupported module won't do.
Another option I can think of is to do the XSLT processing using a servletfilter in a java application server. It seems rather roundabout to have an http request arrive at apache webserver, be forwarded to a java application server to be forwarded back to the apache webserver to do the PHP processing, and the reverse way back for the response...
So my question is: Is there a way to do XSLT processing in apache webserver? Is there another way to do this?
Thank you in advance.
I do not know of a good way to do that in apache. You could do it with PHP using its XSL(T) module, though.

Resources