Since the computer systems are doing a import role in the today's
business world, the need for maintaining the application in active
state, becomes very crucial, if you look at why our systems fails, they
are designed to operate in a sequence, as a sequence of steps, from
booting sequence, to complex business logics, we are following the same
logic, if any thing gets failed in the middle, everything gets failed.
Multiple routing should be implemented in every aspect of the system,
we already achieved this multi routing options, in server level,
especially, load balancing web and application servers, cascading,
replicated databases and application servers.
We have to follow the same approach in writing business logic also,
failures in the business logic should be considered as partial success,
the options to resume/continue the sequence once, the raised failure is
resolved.