Software Architecture and
The Challenges of New Technologies
We see a trend from a centralized computational model to a diversity of scenarios, all subsuming distribution of computation. These new scenarios and the technologies involved have to be reflected in the architecture of the respective software systems.
One key example is the Internet in general, and the Web services technology in particular. Whereas a few years ago the dominant model was software systems as closed systems totally under control of individual institutions, the new Web services paradigm fragments a software system in components that are made available by and run under the control of several distinct institutions, having the Internet as the communication media. (A typical example is the authentication service provided by "Liberty Alliance" or "Microsoft Passport").
In this new world, much of traditional architectural description will apply (e.g. Web services follow the remote call-return style), but the architect should be aware of details of the technologies to specify consistent and feasible architectures and be able to reason about quality attributes.
Another aspect of Internet technologies that poses a challenge to architects is the instability and dynamics of services, which is reflected in the stateless (or connection-less) property of interactions – typically a called service does not retain the state of the caller component, and the caller cannot assume that the same service will answer a subsequent call or remember the previous call.
Other highly distributed model that defies the architects is peer-to-peer, where a simple desktop can offer data and services world-wide, establishing an unprecedented collaborative environment – as powerful it is, as complex becomes traceability and security.
Lastly, pervasive computing and wireless technologies will challenge the architects to make a multitude of devices speak in an understandable manner, in a scenario where features such as UI, communication capabilities, memory and computing power vary immensely.