Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Execution of composite applications may fail. There can be various reasons for exceptions to occur. Bugs in the software, either the infrastructure or the custom developed code, are one option. Much more common are system and infrastructure failures or unavailability of components such as database, queue, or remote services that may lead to errors and full disks or tablespaces that may prevent successful completion of composite instances. At a higher level, business exceptions may occur that cause a composite to deviate from the happy flow. These can range from request messages that do not contain correct information or are sent at the wrong moment, to attempts to book or buy something that is (currently) not available.
Some exceptions are recoverable; that is, they are caused by a temporary issue that can be resolved after which the composite could continue to run and complete successfully. This is the case, for example, when the instance faulted because a remote service is unavailable. Once the service is up again, the error condition has ceased to exist and the instance can continue processing. Another example of a recoverable exception is a request message that does not pass validation and that with a simple manual correction can be made to comply and be put forward for continued processing.