Work Flow in Camel vs BPM

Leo Prince picture Leo Prince · Oct 21, 2013 · Viewed 9.7k times · Source

We have used Apache camel as a Workflow engine.First Wehave WebService One and wait for the response and based on the response call WebService 2 or WebService 3.Its a pure WorkFlow and have couple of WorkFlow Steps like this.I have got less chances to work on a BPM product , like JBOSS BPM etc. Other than long running and support for human task any other good reason we have to choose a BPM product ? If both long running and human task support are not needed in our project can we use Camel or JBOSS FUSE to orchestrate business processes ?

Thanks, Leo.

Answer

salaboy picture salaboy · Oct 21, 2013

Yeah.. as Antoine mention, from the technical perspective it might sounds similar, but if you are using Camel as a state machine to move data you are not doing BPM at all, you are extremely far away for BPM.

BPM adds a lot more on top of just a simple state machine. Just starting from the language that you use to model business scenarios to the tooling that is provided along with a BPM you will be loosing a lot if you just use camel. I can understand your question from a technical point of view, but from a more company wide perspective you cannot compare solutions.

I think that you need to ask yourself the following questions:

1) Are you going to be interested in sharing which web services (your camel routes at this point) are called with non technical people?

2) are you going to be interested in getting audit logs and dashboard like screens to analyze what is going on with the services that you are calling to make business decisions?

3) Are your routes changing a lot based on business decisions? Like for example calling different web services because your company is changing providers based on partnerships or costs?

4) How big is going to be your systems interactions (and camel routes) in 5 years?

5) Do you need to fulfil a standard or legal regulations?

If the answers for the last 5 questions are no, using camel and keeping the web services orchestration in a camel route is fine, because it's just a way to keep your code clean and maintainable, but it will be always hidden from the rest of your company.