Page 182 -
P. 182

6.4   Application architectures  165




                               Application architectures

                        There are several examples of application architectures on the book’s website. These include descriptions of
                        batch data-processing systems, resource allocation systems, and event-based editing systems.

                                      http://www.SoftwareEngineering-9.com/Web/Architecture/AppArch/


                                       For example, a system for supply chain management can be adapted for different
                                       types of suppliers, goods, and contractual arrangements.
                                         As a software designer, you can use models of application architectures in a num-
                                       ber of ways:

                                       1.  As a starting point for the architectural design process If you are unfamiliar with
                                          the type of application that you are developing, you can base your initial design
                                          on a generic application architecture. Of course, this will have to be specialized
                                          for the specific system being developed, but it is a good starting point for design.
                                       2.  As a design checklist If you have developed an architectural design for an appli-
                                          cation system, you can compare this with the generic application architecture.
                                          You can check that your design is consistent with the generic architecture.
                                       3.  As a way of organizing the work of the development team The application archi-
                                          tectures identify stable structural features of the system architectures and in
                                          many cases, it is possible to develop these in parallel. You can assign work to
                                          group members to implement different components within the architecture.

                                       4.  As a means of assessing components for reuse If you have components you
                                          might be able to reuse, you can compare these with the generic structures to see
                                          whether there are comparable components in the application architecture.
                                       5.  As a vocabulary for talking about types of applications If you are discussing a spe-
                                          cific application or trying to compare applications of the same types, then you can
                                          use the concepts identified in the generic architecture to talk about the applications.


                                         There are many types of application system and, in some cases, they may seem to
                                       be very different. However, many of these superficially dissimilar applications actu-
                                       ally have much in common, and thus can be represented by a single abstract applica-
                                       tion architecture. I illustrate this here by describing the following architectures of
                                       two types of application:

                                       1.  Transaction processing applications Transaction processing applications are
                                          database-centered applications that process user requests for information and
                                          update the information in a database. These are the most common type of inter-
                                          active business systems. They are organized in such a way that user actions can’t
                                          interfere with each other and the integrity of the database is maintained. This
   177   178   179   180   181   182   183   184   185   186   187