Page 232 - DCAP307_PLANNING_AND_MANAGING_IT_INFRASTRUCTURE
P. 232

Planning and Managing IT Infrastructure




                    Notes          Component types may also be distinguished by their packaging of the ways they interact with
                                   other components.



                                     Did u know?  Packaging is usually implicit, which tends to hide important properties of the
                                     components.
                                   To choose an appropriate style, two kinds of information are required:
                                   1.  careful discrimination among the candidate architectures and
                                   2.  design guidance on how to make appropriate choices.
                                   Architectural styles have also been referred to as architectural patterns. Eight such patterns have
                                   been identified. We shall discuss them now, highlighting their merits and demerits and their
                                   specific areas of use.
                                   14.2.1 Pipeline


                                   This style is suitable for applications that require a defined series of independent computations
                                   to be performed on ordered data. This pattern attempts to decompose the problem into a set of
                                   computations, or filters, with operations, called pipes to stream the data from one process to
                                   another. The filters interact only via pipes. The Block Builder architecture can be modelled as a
                                   pipeline, as seen in figure 14.1. Each of the four components can be represented by filters, with
                                   the pipe between any two successive filters taking the intermediate output of the first filter and
                                   feeding it into the next filter.
                                                     Figure 14.1:  Pipeline Architecture  for  Block  Builder

                                                                     evaluated
                                                                                        block
                                                    sentence         sentence
                                          Sentence          Sentence          Block Tree   tree  Block Code
                                           Builder          Evaluator          Builder          Displayer

                                   Source:  http://etd.lsu.edu/docs/available/etd-07082004-152330/unrestricted/Banerjee_thesis.pdf

                                   14.2.2 Data Abstraction

                                   This style  is suitable for applications in which a central  issue is identifying and protecting
                                   related bodies  of information, especially representation  information. When the solution  is
                                   decomposed to match the natural structure of the data in the problem domain, the components
                                   of the solution can encapsulate the data, the essential operations on the data, and the integrity
                                   constraints, or invariants, of the data and operations.

                                   14.2.3 Communicating Processes

                                   This process is applicable for applications that involve a collection of distinct, largely independent
                                   computations whose  execution should  proceed  independently. The computations  involve
                                   coordination of data or control at discrete points in time. As a result, correctness of the system
                                   requires attention to the routing and synchronisation of the messages. We can see clearly that
                                   the Block Builder system does not have architecture of this style, because every next module
                                   depends on the output of the previous module.







          226                               LOVELY PROFESSIONAL UNIVERSITY
   227   228   229   230   231   232   233   234   235   236   237