Page 87 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 87

Unit 4: Introduction to Validation, Metrics



                                    Figure 4.12: Client-server Model                              Notes






                                               Server

                                  Requests Responses









                              Client            Client           Client




            in the long run. We have outlined an approach that results in “loosely-coupled SOA” software,
            and can indeed unleash the full potential of SOA.
            The  client/server architectural  style describes  distributed  systems that  involve  a  separate
            client and server system, and a connecting network. The simplest form of client/server system
            involves a server application that is accessed directly by multiple clients, referred to as a 2-Tier
            architectural style.
            Historically,  client/server  architecture  indicated  a  graphical  desktop  UI  application  that
            communicated  with a database server  containing much  of  the business  logic  in the form  of
            stored procedures, or with a dedicated file server. More generally, however, the client/server
            architectural style describes the relationship between a client and one or more servers, where
            the client initiates one or more requests (perhaps using a graphical UI), waits for replies, and
            processes the replies on receipt. The server typically authorizes the user and then carries out
            the processing required to generate the result. The server may send responses using a range of
            protocols and data formats to communicate information to the client.
            Today,  some  examples  of  the  client/server  architectural  style  include  Web  browser  based
            programs running on the Internet or an intranet; Microsoft Windows operating system based
            applications that access networked data services; applications that access remote data stores (such
            as e-mail readers, FTP clients, and database query tools); and tools and utilities that manipulate
            remote systems (such as system management tools and network monitoring tools).
            Other variations on the client/server style include:
               •  Client-Queue-Client Systems: This approach allows clients to communicate with other
                 clients  through  a  server-based  queue.  Clients  can  read  data  from  and  send  data  to  a
                 server that acts simply as a queue to store the data. This allows clients to distribute and
                 synchronize files and information. This is sometimes known as passive queue architecture.
               •  Peer-to-Peer (P2P) Applications: Developed from the Client-Queue-Client style, the P2P
                 style allows the client and server to swap their roles in order to distribute and synchronize
                 files and information across multiple clients. It extends the client/server style through
                 multiple responses to requests, shared data, resource discovery, and resilience to removal
                 of peers.
               •  Application Servers: A specialized architectural style where the server hosts and executes
                 applications and services that a thin client accesses through a browser or specialized client
                 installed software. An example is a client executing an application that runs on the server
                 through a framework such as Terminal Services.


                                             LOVELY PROFESSIONAL UNIVERSITY                                    81
   82   83   84   85   86   87   88   89   90   91   92