I suggest you to first expose your single indipendent components as service throught the web (I didn't understand if you already have webservices for this).
After that..the best choice depends on your system workload/complexity.
Basically you can choose between service Orchestration vs Choreography. Service Orchestration, made with BPM/BPEL/ESB is an architectural choice where a single component (the service orchestrator/service composer) knows which steps needs to be executed and it's responsible for invoking services in the right order (configured on the orchestrator itself). It also handle transaction management (if needed).
The opposite is Choreography where in fact each single service composing the whole system knows how to act when it recieve a specific message. In fact it's a matter of aggreement between the various component. Service Choreography it's a decentralized approach to service composition problem.
In case you have lot of services, complex rules and so on...probably it will be easier to use a service orchestrator like jBPM or something like this.