O'Reilly logo

Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development by Dave Ingram

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required