Page 175 -
P. 175

158   Chapter 6   Architectural design


                     Name           Layered architecture

                     Description    Organizes the system into layers with related functionality associated with each layer.
                                    A layer provides services to the layer above it so the lowest-level layers represent core
                                    services that are likely to be used throughout the system. See Figure 6.6.
                     Example        A layered model of a system for sharing copyright documents held in different libraries, as
                                    shown in Figure 6.7.

                     When used      Used when building new facilities on top of existing systems; when the development is
                                    spread across several teams with each team responsibility for a layer of functionality; when
                                    there is a requirement for multi-level security.

                     Advantages     Allows replacement of entire layers so long as the interface is maintained. Redundant
                                    facilities (e.g., authentication) can be provided in each layer to increase the dependability
                                    of the system.
                     Disadvantages  In practice, providing a clean separation between layers is often difficult and a high-level
                                    layer may have to interact directly with lower-level layers rather than through the layer
                                    immediately below it. Performance can be a problem because of multiple levels of
                                    interpretation of a service request as it is processed at each layer.




                                    management and providing user authentication and authorization, with the top layer
                   Figure 6.5 The layered
                   architecture pattern  providing user interface facilities. Of course, the number of layers is arbitrary. Any
                                    of the layers in Figure 6.6 could be split into two or more layers.
                                       Figure 6.7 is an example of how this layered architecture pattern can be applied to a
                                    library system called LIBSYS, which allows controlled electronic access to copyright
                                    material from a group of university libraries. This has a five-layer architecture, with the
                                    bottom layer being the individual databases in each library.
                                       You can see another example of the layered architecture pattern in Figure 6.17
                                    (found in Section 6.4). This shows the organization of the system for mental health-
                                    care (MHC-PMS) that I have discussed in earlier chapters.




                                                                 User Interface


                                                            User Interface Management
                                                          Authentication and Authorization

                                                     Core Business Logic/Application Functionality
                                                                System Utilities


                                                         System Support (OS, Database etc.)
                  Figure 6.6 A generic
                  layered architecture
   170   171   172   173   174   175   176   177   178   179   180