Developing 3-tier Architectures

The decoupling of application logic, as started with the two-tier system shown in Figure 1.2, can be continued with the separation of the Business and Presentation Logic. By housing the separated Business Logic in another tier, the thick client becomes thinner, as Figure 1.3 shows.

Figure 1.3. 3-tier scenario.


Separating the Presentation Logic into its own tier means that different types of Presentation Logic, such as HTML-based and GUI-based user interface code, can all access the same Business Logic on the middle tier. The separation into more layers makes systems more flexible so that parts can be changed independently. An example of this would be creating a presentation layer specifically targeted at mobile devices. Given the separation of business and presentation functionality, this should not require any changes to the data access logic.

With the logic now separated into different tiers, it is far easier to develop code that is tailored to a particular task. For example, developers who are skilled in the use of Java Web components, such as servlets (see Day 12, “Servlets”) and JavaServer Pages (JSPs) (see Day 13, “JavaServer Pages”) can write the code for this layer. These developers do not need to know about the technologies used in the business or data access code.

Separation of functionality allows each tier to be written by separate programming teams working to a common interface specification. These teams can work concurrently, potentially reducing project delivery time scales and enabling Rapid Application Development.

Introducing more layers into the software architecture potentially introduces additional complexity in managing the interface boundaries between the layers. Well-designed modular systems reduce this complexity to manageable levels.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.17.18