Chapter 3. Foundation
Enough talk—it’s finally time to get on with some implementation. If you’re much of a developer this is probably exciting news; all developers must take part in application design, and may even grow to enjoy it, but there’s nothing like getting your hands dirty with some actual code. However, it isn’t quite time to open your favorite IDE or editor and start punching out Java code. In fact, we’ll get through this entire chapter without looking at a single line of Java. Instead, this chapter focuses on the data stores, creating the medium for holding the application’s data. There’s plenty of technical material, though, so don’t get too worried just yet.
As mentioned in the first two chapters, the design of an application is its blueprint, and is crucial to its success. Now that you have this blueprint, you need to lay the foundation of the application with the data storage. Literally everything else in the application (as well as in other applications that may potentially use the Forethought data) depends on the decisions made here. I’ll begin by discussing the overall design of the data. This involves defining the schema for the data without worrying about whether the data will be stored in a database, directory server, or any other specific technology.
Once you’ve determined how the information for the entire application will be laid out, you can begin to decide where specific data needs to be stored. In the case of the Forethought application, it has already ...