This podcast from David Chappell tries tries to address a though question: what is SCA? What makes this challenging is that the terms assembly, composition and orchestration are abstract concepts which do not really have clear boundaries in peoples minds.
So what is the difference between orchestration and assembly?!?
Orchestration defines a set of steps/activities which represent a business process (step 1: verify the user account, step 2: verify inventory, step 3: process credit card, step 4: send email to the user). Some of these steps can be performed sequentially, some of them in parallel, exceptions can occur, manual intervention might be required, etc… Some orchestrations can be simple, some can be very sophisticated. Orchestrations are modeled using a standard language called BPEL. [ (Updated based on the comment from Greg Pavlik) Note: Orchestration logic is not usually captured in one monolitic business process. It can include subprocess steps (which can be distributed physically across the enterprise or across enterprises). The process itself or some of it steps can be implemented in Java or C.]
But what is assembly then?
As part of step 1, the BPEL process needs to integrate with an LDAP service. As part of step 2, the BPEL process need to integrate with an SAP system. As part of exception processing, it needs to integrate with a workflow sub-system. These integration points (links between BPEL processes and external systems) are called bindings. Bindings usually include location of the different services, protocols to use, security, logging and reliability requirements. The SCA Assembly spec defines a language for modeling these bindings.
[(Updated based on the comment from Greg Pavlik) Note: In the case where a process include subprocess or other component written in a variety of languages, the binding problem extends beyond linking to external systems to the need for linking to internal parts.]
The benefit of SCA is that is makes bindings much easier to monitor, manage and change – not super sexy but the potential for a significant step forward in terms of deployment and change management.