Introducing scopes
As we observed in the previous chapters, when the amount of the <invoke>
activities increases, the amount of variables and partner links that requires to handle the runtime status of those <invoke>
activities also grows. In synchronous invocations, each <invoke>
activity has to have two variables in order to hold input and output of the external web service invocation. Additionally, it may need to keep another variable to maintain fault data. So, it is inevitable that the number of activities in a business process grows when the complexity of business process logic grows. As a consequence, a developer has to spend more time on implementing and verifying the business logic.
Hence, it is advantageous to have some structural activities that encapsulate the blocks keep this complexity to a minimum level. The <scope>
activity enables us organize the WS-BPEL 2.0 process into hierarchical organized parts. In other words, a <scope>
activity can maintain...