Adaptation Patterns for Client-Server Style
a) A Server that is being adapted; c) A Client in the substrate that depends on the adapted Server.
Note: Here we are modeling multiple layers of Clients and Servers. Therefore, the Client-Server relationship is defined relatively. A Component can be the Server to other Components while it is the Client of other Components. The middleware ensures that there is no loop in the Client-Server relationships.
[Fielding, R. 2000. Architectural Styles and the Design of Network-based Software Architectures. Doctoral Thesis #AAI9980887. Univ. of California Irvine.]