Page 181 -
P. 181

164   Chapter 6   Architectural design




                            Architectural patterns for control

                     There are specific architectural patterns that reflect commonly used ways of organizing control in a system.
                     These include centralized control, based on one component calling other components, and event-based control,
                     where the system reacts to external events.

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




                                    those invoices that have been paid, a receipt is issued. For those invoices that have
                                    not been paid within the allowed payment time, a reminder is issued.
                                       Interactive systems are difficult to write using the pipe and filter model because
                                    of the need for a stream of data to be processed. Although simple textual input
                                    and output can be modeled in this way, graphical user interfaces have more complex
                                    I/O formats and a control strategy that is based on events such as mouse clicks or
                                    menu selections. It is difficult to translate this into a form compatible with the
                                    pipelining model.




                              6.4 Application architectures



                                    Application systems are intended to meet a business or organizational need. All busi-
                                    nesses have much in common—they need to hire people, issue invoices, keep
                                    accounts, and so on. Businesses operating in the same sector use common sector-
                                    specific applications. Therefore, as well as general business functions, all phone
                                    companies need systems to connect calls, manage their network, issue bills to
                                    customers, etc. Consequently, the application systems used by these businesses also
                                    have much in common.
                                       These commonalities have led to the development of software architectures
                                    that describe the structure and organization of particular types of software sys-
                                    tems. Application architectures encapsulate the principal characteristics of a
                                    class of systems. For example, in real-time systems, there might be generic archi-
                                    tectural models of different system types, such as data collection systems or
                                    monitoring systems. Although instances of these systems differ in detail, the
                                    common architectural structure can be reused when developing new systems of
                                    the same type.
                                       The  application  architecture  may  be  re-implemented  when  developing  new
                                    systems but, for many business systems, application reuse is possible without re-
                                    implementation. We see this in the growth of Enterprise Resource Planning (ERP)
                                    systems from companies such as SAP and Oracle, and vertical software packages
                                    (COTS) for specialized applications in different areas of business. In these systems,
                                    a generic system is configured and adapted to create a specific business application.
   176   177   178   179   180   181   182   183   184   185   186