Publish-subscribe, client-server, and other call-and-return styles all involve interactions between producers and consumers of data or services. If an architect is not careful when using one of these styles, he or she will produce a C&C view that simply shows a request flowing in one direction and a response flowing in the other. What means are at the architect's disposal to distinguish among these styles?
Some forms of publish-subscribe involve runtime registration; others allow only pre-runtime registration. How would you represent each of these cases?
If you wanted to show a C&C view that emphasizes the system's security aspects, what kinds of properties might you associate with the components? With the connectors? (Hint: This topic is discussed in Chapter 9.)
Suppose that the middle tier of a three-tier system is a data repository. Is this system a shared-data system, a three-tier system, a client-server system, all of them, or none? Justify your answer.