The SOA concept is easy to grasp, but I am not familiar at all with enterprise service integation architectures and technologies like BPEL and Apache Camel.
I know that BPEL helps orchestrating services, and that Camel is an implementation of Enterprise Integration Patterns. I am currently reading the well known Enterprise Integration Patterns book.
But the border between EIP and orchestration seems very thin for me. In my mind, Camel also orchestrates services in its own way. Moreover, Camel provides lots of connectors so different protocols can be easily used.
Is Camel better than BPEL?
Or is it possible to do things with BPEL that you cannot do with Camel?
Which ones?
About what I read, it seems Camel is better than BPEL to orchestrate REST services: is it true?
Bpel is more of a language/standard for bpm and service orchestration implementations. Its a bit like apple and pears, since camel is an integration engine implementation. You probably want to look more at bpel (or bpmn) for high level business automation (like inplement a purchase flow with multiple systems, long running processes, and business logic). In Camel, you typically handle more technical aspects such as routing and wire protocol conversion. Typically in a rather stateless fashion.
Of course, there is something in between - such as routing between homogenous protocols where any solution would do. Such as your rest example. Also note that Camel can be run together with Orchestration engiens such as activti and apache ode.