Table of Contents Previous Section Next Section

2.2 The Architectural Paradigm Shift

The nature of information systems is changing from localized departmental application to large-scale global and dynamic systems. This trend is following the change in business environments toward globalization. The migration from relatively static and local environments to highly dynamic information technology environments presents substantial challenges to the software architect (Figure 2.1).

Figure 2.1. Virtual Enterprise Paradigm Shift

graphics/02fig01.jpg

A majority of information technology approaches are based upon a set of traditional assumptions (Figure 2.2). In these assumptions, the system comprises a homogeneous set of hardware and software that is known at design time. A configuration is relatively stable and is managed from a centralized system management configuration. Communications in traditional systems are relatively predictable, synchronous, and local. If the state of the system is well known at all times and the concept of time is unified across all the activities, another key assumption is that failures in the system are relatively infrequent and, when they do occur, are monolithic. In other words, either the system is up or the system is down.

Figure 2.2. Traditional and Distributed Systems Assumptions

graphics/02fig02.gif

In the building of distributed application systems, most of the assumptions are reversed. In a distributed multiorganizational system, it is fair to assume that the hardware and software configuration is heterogeneous. The reason is that different elements of the system are purchased during different time frames by different organizations, and many of the decisions are made independently. Therefore, a typical configuration is a collection of heterogeneous information technology. Additionally, hardware and software configurations are evolving. Occurring within any organization is employee turnover and the evolution of business processes. The architecture of the organization has an impact on the architecture of the information technology. As time progresses, new systems are installed, systems are moved, new software is acquired, and so on. When multiple organizations are involved, these processes proceed relatively independently, and the architect must accommodate the diverse evolving set of configurations.

In distributed systems, the assumption is that there is remote processing at multiple locations. Some of this remote processing is on systems that were developed independently and therefore have their own autonomous concept of control flow. This reverses the assumption of localized and unified processing resources. There are some interesting implications for the concepts of state and time. The state of a distributed system is often distributed itself. The state information may need to be replicated in order to provide efficient reliable access at multiple locations. It is possible for the distributed state to become nonuniform in order to get into error conditions where the replicated state does not have the desired integrity and must be repaired. The concept of time-distributed systems is affected by the physics of relativity and chaos theory. Electrons are traveling near the speed of light in distributed communication systems. In any large system, there is a disparity between the local concepts of time, in that a system can only have an accurate representation of partial ordering of operations in the distributed environment. The total ordering of operations is not possible because of the distances between information processes. In addition, distributed communications can get quite variable and complex. In a distributed system, communications systems can provide various qualities of service. The communications can vary by such factors as timeliness of delivery, throughput, levels of security and vulnerability to attack, and reliability of communications. The communications architecture must be explicitly designed and planned to account for the variability in services.

Finally, the distributed system has a unique model of failure modes. In any large distributed system, components are failing all the time. Messages are corrupted and lost, processes crash, and systems fail. These kinds of failures happen frequently, and the system must be designed to accommodate them.

    Table of Contents Previous Section Next Section