Create the design model
The PiggyBank online banking system is based on an architecture with several layers that communicate with each other by using transfer objects and delegate interfaces. The PiggyBank design model is organized into a set of layers, where each layer represents a different component of the implementation. The following figure provides a general overview of the PiggyBank online banking system architecture:
This tutorial describes the components of each layer. Each layer contains the classes, interfaces, and subsystems that were derived from the PiggyBank analysis model that you created in the previous module. As the following figure illustrates, the PiggyBank application contains a presentation layer, a business layer, an integration layer, and a common-elements layer:
Each layer represents a package in the PiggyBank design model.
- The Presentation package contains the PiggyBank user-interface
design elements such as the HTML user interface, the Java Swing user-interface
elements, as well as any servlets and JavaServer Pages (JSP) files. Note: The Presentation layer is not implemented in this tutorial.
- The Business package contains the main business logic for the PiggyBank system. The business package, called itso.ad.business, contains the EJB, EJB delegate, and Framework subpackages. Each subpackage is modeled on the PiggyBank architecture.
- The Integration package, called itso.ad.CityBank, contains the design elements that describe the integration between the external CityBank system and the PiggyBank business layer. The CityBank is an external bank that processes all PiggyBank transactions. The PiggyBank system communicates with the CityBank system by using a Data Access Object.
- The Common package contains the design elements that are common
to all layers in the system. The Common layer contains utility classes,
such as the log wrapper, that perform common tasks. Note: The Common layer is not implemented in this tutorial.
Learning objectives
The lessons in this module explain how to complete the following tasks:- Create a new UML model and explore the design model template
- Create the business layer and integration layer domain models
- Apply a profile to a class
- Create a package diagram