How does referenced process work?

Hi All

I have a small process (2 steps) that will be used at several points in main process. I am trying to create a referenced process but somehow could not get it to work correctly.

I have created small process with a receive and a reply step. Receive step is configured as Simple Service (For Synchronous Reply) and receive docuemnts is Document2. Reply step has same document as reply document and reply to points to receive step.

When parent process runs and reaches at referenced process step, it does not create referenced process instance (cannot drill down) and task is not listed either. Also, IS server log give following error

no step matching (model ReferencedProcess/ReferencedProcess, frag Default)

If I change receive step type to Subscription (For Broker Documents), and remove reply step, things seem to work and I can drill down to referenced process from referenced process step in main process. Also, the task in referenced process is listed/queued.

Problem with subsription based model is how can I get a reply document back from referenced process into main process to get any data changes.

I need your suggestions/comments


I did not try the synchronous way, but if you want to use Subscription document then in the reference process, keep the last step as publish step. In the main parent process configure subprocess start and return documents. This will work.

thanks for your message.

I needed to call sub process synchronously and have done it. i will post a detailed reply later for everyone’s benefit.

Since the small process is so small, what’s the point of keeping is as process. Why not just create a wrapper service which call both, so you can directly use it in the process model. So you can avoid getting into the business of sub-process.
Just some thought. HTH,

if my small process involved only system steps, i would have done it through service ages ago. but as user interaction is involved, i cannot do it that way.

also, by having referenced process, i can drill down when monitoring the running instance.

thanks for suggestion anyways.

Referenced processes are indeed the best way to reuse logic, and they work flawless.

Version 8 is awesome on this area where you now can have dynamic referenced processes-

You can follow BPM Designer process development guide , follow from page 150.

What is the problem you face with this kind of processes? Aside from the dynamic processes wM 7 follow the same implementation, how did you add the refrenced process in the parent?