Interfaces with external systems should be consistently handled throughout the system, so markers need to be identified
in the architecture to make sure that the team develops the coherant software. The architecture need not include a
specific, detailed design for each system interface. It is often enough to simply identify the existence of the
interface as a significant part of the architecture and create a Component to encapsulate the detail, so that it can be developed later.
The Entity-Control-Boundary Pattern provides the basis for a useful technique to
support this. Specifically, if the system communicates with another system, define one or more components to
describe the communication protocol. The use of a component allows the interface to the external system to be
defined and stabilized, while leaving the design details of the system interface hidden as the system evolves.
|