Building a Swing application with JDO is straightforward. After requirements are gathered and analyzed, the architect designs the application data classes. Next, the architect designs an application data service that concentrates on the simple issues of finding, creating, deleting, and updating the persistent objects. For most Swing applications, it is appropriate to expose the transactional boundaries in the application data service. The final step is to design the Swing user interface while defining the application data model that will present fine-grain persistent information in the correct logical relationship as required by the Swing widgets that the application uses. The application data model also has the responsibility to completely isolate the Swing widgets from possible runtime JDO exceptions.
The next chapter will examine a Web application architecture for the same set of requirements. Instead of using Swing, the Web app will use JavaServer Pages, servlets, Tomcat, and a Web browser.