Chapter 14. Error Handling
Handling errors or faults is an important consideration for service-oriented architecture (SOA) based applications, especially if you consider that a solution is likely to be a loose assembly of independent components, each with varying levels of resilience, throughput, and availability.
How faults are handled depends on a number of factors: whether it's a business or system fault, was the service where the fault originated called synchronously or asynchronously, and whether the interaction between the client and the component detecting the fault is synchronous or asynchronous.
A business fault is loosely defined as one we know about in advance. It is defined as part of the service contract, and thus represents a legitimate state within the business process. How we handle a fault of this type is largely driven by business requirements, and so it makes sense to handle these within the context of the process.
A system fault conversely is one that is...