Recently in a project we needed to unbound an orchestration receive port from a physical port.
We had to have a common application with all components ,orchestration included and we needed to create other applications that had all ports for a particular integration environment.In this way we were not limited to use a single receive port with a receive location for different environments.
So we used Message Box direct bound ports that allows for publish-subscribe design pattern.Messages sent on a message box direct bound are published to the message box directly.
We promoted BTFlow input parameter into receive pipeline. In this property we specified the flow type that we needed to call.
For example if we needed to execute a simple publish-subscribe flow, we used BTFlow=”Messaging” and we set a filter on send port to get that kind of messages.
We did the same thing for the orchestration flows, instead of configuring filter on send port you can configure it within the orchestration.
First thing that you have to do is changing the binding property into orchestration receive port. You have to set it to Direct and magically when you will deploy it into your application your receive port will disappear.
Second thing you have to do is setting the filter on Receive Shape in the orchestration . If you click on receive shape you can see Filter Expression field and there u are going to set your filter.
The biggest advantage that you can get from this operation is to be able to use all different kinds of flows without bounds.