15.1. Component Responsibility Modeling

The previous chapter looked at the high-level transaction flow, showing the web page, web service, business-processing manager, and the business processor. It included placeholders for the specific functionality that each component performs. Before starting to define classes, methods, parameters, and return values, it is a good idea to go through a very basic modeling exercise to highlight any gaps and/or potential inconsistencies. It will also help to solidify some architectural decisions and further patterns.

I quite like things to be simple. Before diving into a full-on modeling tool, it is amazing what you can do with a simple table and a set of use-case steps. The idea is to draw a simple table that contains each of the component types in a row, as shown in Figure 15-1

Figure 15.1. Figure 15-1

Note that Figure 15-1 omits the web services, as they are simply pass-through components and take up unnecessary space. If they were performing activities and processing, they would be listed in the table. The web services determine the appropriate business manager to forward the request to and do not need to be included in the tables at this point.

The next task is simply to place the steps listed in the use cases under the components that are going to be responsible for the step. Figure 15-2 shows a sample of this for the Create New Account ...

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.