In this chapter I discuss integration design—the placing of tasks into applications and services and the placing of data tables into databases. Recall that in Chapter 2, “A Hierarchy of Designs,” I defined applications as separately implementable projects in the sense that each project produces new versions of working code out of sync with other projects. Recall too that I defined three kinds of applications:
• Online applications or simply applications
• Batch applications—typically applications that are run on a regular basis such as every evening
• Service applications or simply services—applications called by other applications
The design for each of these can proceed relatively independently ...