packs to the video card on the desktop may be purchased from different vendors. The modern computing environment clearly shares the characteristics of today s diverse corporation doing business in today s diverse world. The challenges facing systems professionals tasked with developing enterprise applications are legion. How have today s systems folk risen to the challenge? Two powerful technologies developed over the past few decades have proven instrumental in developing applications that allow the modern corporation to conduct its business. These technologies are client-server architectures and object technologies. Client-server architectures describe how to partition the major functions of an application in layers. Object technologies deal with constructing software systems as groups of communicating objects; each object has a set of well-defined behaviors (called methods) and comes with its own data (called properties). Developing Applications in Layers In the days of bell-bottoms and disco music, companies used networks primarily to connect mainframes using dedicated hardware and proprietary software and protocols. In the 1980s, companies started to use UNIX servers and the TCP/IP protocol, which quickly became an industry standard. In response to servers not adequately scaling to meet the needs of ever-increasing numbers of users, those in charge of the shop began to shift processing power from centralized servers to the network. The era of client-server computing had begun. Developing client-server applications is different from developing applications that run on green-screen, glass house systems. The distributing of processing power between client and server demands that client-server software be developed to reflect this division. One strategy devised to develop client-server applications is to write the software in layers. A layer is a logical level that deals with related application tasks. The basic idea is to develop the software to implement the layer s functions independently of features in other layers. By partitioning software into layers, application developers could concentrate on the features and problems peculiar to a particular layer. Division of application features among layers meant division of development responsibility. In addition, the marketplace started to offer tools to support this software development strategy. The layers commonly used to abstract a software system these days are a presentation layer, an application logic layer, and a data layer. Each layer is responsible for functions not found in the other layers: . The presentation layer is responsible for user interface tasks. These tasks include accepting user input, performing various edit checks on input, and displaying relevant application output. . The application logic layer is responsible for tasks that execute the algorithms that solve business problems. These tasks include performing calculations, handling security, and accessing data. The application logic layer contains most of the code for the application. . The data layer is responsible for tasks that maintain permanent data stores in the form of one or more databases. These tasks include data locking, data integrity support, and transaction support. Code that implements tasks within a layer communicates with code in adjacent layers only. For example, code within the presentation layer communicates with code within the application logic layer but does not communicate with code within the data layer. To implement a layered application, you need an architecture that describes the physical boundaries between the above layers. The components that reside within the physical boundaries of the layers are called tiers. A summary of two common client-server architectures, called two-tier and three-tier (or n-tier) architectures, follows. Note The term architecture as used throughout this chapter refers to a partitioning strategy and a coordination strategy. The partitioning strategy leads to dividing the entire system in discrete, non-overlapping parts or components. The coordination strategy leads to explicitly defined interfaces between those parts.
If you need complete reliable cheap web hosting package, you come to right place. We offer all you need just check our cheap web hosting package section.