15.1 Ten Important Points about Software Fortresses
Let's start by reviewing the basics of the software fortress model. This much of the model should be familiar to everybody in your organization, from the CTO to the end user :
The software fortress is a trust boundary . Everybody in the fortress trusts everybody else in the fortress, and nobody in the fortress trusts anybody outside the fortress.
The software fortress consists of many close-knit systems , machines , and processes . These systems, machines, and processes work together to solve a significant business problem, such as accounts payable.
Every fortress has one or more places where fortress-critical data is stored. These are collectively referred to as data strongboxes .
Every fortress is protected by one or more systems that prevent communications from being received from the outside world except through approved channels. These protective systems are collectively referred to as walls .
Fortresses always regard each other with suspicion, but sometimes they must work together despite this suspicion. Fortresses that work together to accomplish a mutual goal are called allies .
When one fortress makes a request of an ally, it does so over a formal communications channel known as a drawbridge . A request passing over a drawbridge is referred to as an infogram .
When a fortress wants to communicate with an ally, it does so using an internal system called an envoy .
When a fortress receives a communication from an ally, that communication is subjected to inspection and possibly other security measures (such as auditing) by a specialized system called a guard . The guard decides whether to accept the request on behalf of the fortress.
Ally relationships are defined by all-encompassing agreements called treaties .
Fortresses can be characterized by the kind of work they do. There are at least six major types of fortresses: business application fortresses, presentation fortresses, Web service fortresses, treaty management fortresses, service fortresses, and legacy fortresses.