《安达信咨询方法与工具资料库CS.doc》由会员分享,可在线阅读,更多相关《安达信咨询方法与工具资料库CS.doc(12页珍藏版)》请在三一办公上搜索。
1、Inside This Issue2Understanding C/S8Marketplace Trends9Impact on our Practice10Futures11Sources of More InfoWritten by Bill Compton - BSC AtlantaLite BytesBSCs Topical Technology White PapersVolume 1 Issue 1 November 1994Understanding and Applying Client / Server TechnologiesClient / Server technolo
2、gy is making a significant impact on the packaged software and custom systems projects with which BSC is involved today, and that this trend will continue for the next 3 - 5 years. It is important that BSC seniors and managers understand the underlying concepts of this technology and its differences
3、 from traditional application architectures.Executive OverviewThe growing maturity of client/server technology is beginning to have significant impact on BSC projects. Our clients are asking us what it means to their business, and we in turn are recommending it for both packaged application software
4、 and custom developed solutions.Client / Server models and practices are the current state-of-the-art in creating flexible and powerful solutions. As an outgrowth of this new model, organizations can refocus their culture by providing users access to information whenever and wherever they need it, d
5、ynamic to their market demands. In doing so, they are no longer depending solely on the traditional “centralized” paradigm in which all of the processing in an application system occurs on a single computer. Instead, the processing is distributed to multiple computer systems, each of which is design
6、ed and optimized to perform a given component of the processing. This creates a scenario in which the server is not the computer, nor is the client. Rather, the combination of all the resources on the network is the “computer”.In a client/server system, the user interface (UI) processing is most oft
7、en performed by a client workstation or PC at which the user works. The more sophisticated processing of information, however, is performed by a specialized database or application server connected to multiple clients by a network.In some implementations of client/server architecture, the applicatio
8、n logic (or business rules) in the system may be placed on either the client or the server, depending on the business characteristics of the application. The application logic is often placed on the client workstation for relatively simple applications and prototypes; on-line transaction processing
9、applications usually spread the application logic between the client and the server depending on the functionality of the specific logic and the breadth of data on which it acts.Generally speaking, organizations address client/server in one of two modes - Downsizing from mainframe or proprietary mid
10、range platforms, or “upsizing” to a new level of systems sophistication. In the downsizing scenario there are some opportunities to reduce expenditures on technology by negotiating between multiple vendors as well as increasing application development efficiency. However, cost savings based on clien
11、t/server systems usually appear only in the long-term; start-up training and implementation costs usually overshadow initial savings. In “upsizing” projects deploying client/server to implement new, more sophisticated solutions, there are four main benefits:Incremental or Spiral methodologies promot
12、e continuous users involvement with multiple usability check points.Client/server development tools provide a significantly more efficacious environment for analysis, design, and implementation teams.Client/server hardware, software, and tool sets have a much lower entry cost structure; and,The arch
13、itecture allows efficient scalability for the systems from the entry point.Client/Server technology has certainly arrived in todays marketplace. BSC is actively integrating C/S into everything from our core training to client projects. The next challenge is to make our experiences and best practices
14、 available to all BSC professionals to best leverage this technology.Understanding and Applying Client/Server TechnologiesClient / Server has matured into the dominant driving force in new and ongoing computer application development. According to Gartner Group predictions, 70 percent of all new app
15、lications developed through 1995 will make use of some form of C/S technology. By 1998, 60 percent of all existing applications will have been migrated to client/server though either a partial rewrite or total replacement.Some of the larger BSC offices began experimenting with developing and impleme
16、nting C/S based systems as early as 5 years ago. These projects were in the “forefront of technology.” In todays market, however, almost every BSC professional is faced with questions from our clients concerning this technology. Our software selection matrices are increasingly filled with C/S packag
17、es from such vendors as Platinum, Great Plains, Adage, and Oracle. Our systems development projects have moved away from using products such as Lotus 1-2-3, FoxPro, and Paradox to such products as Visual Basic, SQLWindows, PowerBuilder, and SQLServer.This “Lite Byte” provides an overview of client/s
18、erver technology for the experienced BSC professional who has not been actively exposed to C/S development. It begins with a general and broad definition of client/server and then moves to a description of the architecture which is common to the packaged applications and custom development managed b
19、y BSC. This architecture will exist as several different models depending on the business characteristics of the application. Finally, the trends in the marketplace which are driving the move to this architecture, as well as their impact and implications on our business, will be discussed.What is Cl
20、ient/Server?Client/Server architecture is often defined at two different levels: the abstract and the technical. The abstract level describes a cultural shift in the way in which companies view the use of computers and the ownership and access to information. The old culture was dominated by central
21、 computer rooms, or “glass houses,” with large legacy mainframe systems. The companys DP department owned the information contained in these systems and provided access to it - usually in the form of printed reports - only at the specific request of users. The new culture is characterized by many in
22、terconnected systems existing throughout the organization. The information in these systems is under the stewardship of the users themselves, who may collect it at the source and access it through ad-hoc queries and reports whenever and wherever the information is needed. This represents a democrati
23、zation of information access - not constrained by the organizations actual structure or reporting hierarchy.The technical level of client/server describes the physical way in which application software is designed. Application software has traditionally been designed as a primary process which runs
24、on a single computer - the “monolithic” model. In a client/server environment, the application software is divided into two or more processes, each of which is distributed across separate computers. The Client process is typically responsible for providing the user interface and application logic. I
25、t controls the display of information to the user and the functionality that occurs based on user inputs. The Server process manipulates information in a database or application process based upon inputs and requests from the client.In fact, the client/server concept can be used to describe a variet
26、y of applications we use on a day-to-day basis. For example, when you log onto a Novell network at the office to edit a word processing file off of the network, the PC client is issuing a request for disk file services, to which the Netware server responds. This is, however, a pretty simplistic exam
27、ple. Most people use client/server technology to describe an application in which the server process employs significant intelligence to select and manipulate the data before sending it to the client process, which then presents it to the user. Such a server process is often referred to as a Databas
28、e Management System. Other servers which are included in the client/server paradigm include communication servers, video and multi-media servers, etc. For the purposes of this paper, we will focus on those applications which use servers with database management systems. Other application and resourc
29、e servers operate similarly.The Evolution to Client/Server Database Management ApplicationsHistorically, many BSC systems development projects have used relatively simple PC based database systems, such as Paradox and FoxPro. These were often single-user systems performing functions such as sales re
30、porting and analysis. Although the system might import information from a financial system on another computer, the application and all of its data files existed on a single computer or a single local area network.If the application needed to support multiple users, the data would be moved to a cent
31、ral file server where multiple computers running the application could access the data files. In this example, there is no intelligent database management system on the server. The application manipulates the files on the server as if the file were stored on a local hard disk. The network serves mer
32、ely as a resource to allow several applications to access the same files.Consider some examples of how this might work using a software package with which many of us are familiar:Figure 1 - Non Client/Server based Platinum softwarePlatinum - Example 1Platinum - Example 2Workstation with Platinum App
33、lication and all data filesWorkstation with Platinum applicationFile server with all data filesIn example 1, Platinum is a single-user application in which the program and all files exist on a single computer. In example 2, Platinum exists on one or more computers, and directly manipulates entire da
34、ta files on a separate network file server.More recent BSC systems development projects have focused on using newer client/server based tools such as Visual Basic and PowerBuilder. The Visual Basic application would be installed on a Microsoft Windows based PC (the client) somewhere on a network. Al
35、l of the data for the system might exist within an Oracle based Relational Data Base System (“RDBMS”) on a UNIX based database server. The Visual Basic application would send a request to the database server for specific information to present to the user. This request is sent to the server using co
36、mmands in a “dialect” called Structured Query Language (“SQL”). The Oracle server would select that specific information from its database, sort it and manipulate it as necessary, and then send it back to the Visual Basic application for presentation to the user.Platinum has also released a client/s
37、erver version of its software that works in this manner:Figure 2 - Client/Server based Platinum softwareSequel to Platinum - Example 3Workstation with Platinum ApplicationDatabase server with SQLServer databaseIn this example, SeQueL to Platinum exists on one or more computers and queries specific i
38、nformation from the server. The Database Server returns the specific result of that query back to the application.Two-Tiered Client/Server Design ModelsThese examples have simplified the technology by showing the applications as having only two distinct processes. In a more robust C/S environment, h
39、undreds of processes could be distributed across many client workstations and database servers across enterprise networks. These processes are grouped into one of three categories based upon their functionality:User Interface - processes that control the presentation of information and the interacti
40、on with the user.Application Logic - processes that determine the functionality of the application. This application logic is often divided, at least at the conceptual level, between those processes which deal with business rules and those processes that deal with validation and computation of infor
41、mation entered by the user.Data Management - processes that physically manages the data, usually in a relational database. Example requests might be “add a record”, “delete a record”, “evaluate a query and return a result set”.In a client server system, the user interface processes almost always exi
42、st on the client workstation and the data management processes exist on the database server. The application logic, however, can be designed to exist on either the client workstation, the database server, or shared across the two. The placement of the application logic depends on the business goals
43、of the organization and is implemented using different client/server design models.Figure 3 - Client/Server Design ModelsSource: Gartner GroupServer Application ModelThe server application model is typically used to provide greater user access to information which is contained in legacy systems. The
44、se applications are often decision support systems which provide ad-hoc query and report functionality to a server based RDBMS. Any application logic that may be used to summarize information into more meaningful form has already been performed by a server based application and stored in the RDBMS.C
45、lient Application ModelThe client application model is typically used by developers who are building rapid prototypes. In this model, all application logic exists on the client workstation. This model works well for applications that are as follows:prototypes that must be up and running quicklyinten
46、ded for a relatively small user communityonly going to be used for a short time period and then discardedThis model is common for BSC systems development projects.Distributed Application ModelThe distributed application model is most often used for on-line transaction processing systems. In this mod
47、el, any application logic that is directly related to a specific procedure that a user is performing occurs on the client workstation. However, application logic that relates to multiple procedures that may have been performed by multiple users occurs on the database server. For example, an applicat
48、ion process that summarizes the amounts for all of the line items on a purchase order and adds values for shipping & handling and tax would best be performed at the client workstation. However, application logic that processes all of the mail order transactions that were entered for a given day and schedules those items to be picked and shipped in the warehouse the next day would be best performed at the database server.There are 3 clear advantages to this design model:The developer controls the efficiency of communication between the