安达信咨询方法与工具资料库CS_第1页
安达信咨询方法与工具资料库CS_第2页
安达信咨询方法与工具资料库CS_第3页
安达信咨询方法与工具资料库CS_第4页
安达信咨询方法与工具资料库CS_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Lite Bytes BSCs Topical Technology White Papers Volume 1 Issue 1 November 1994 Understanding and Applying Client / Server Technologies lient / Server technology 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 from traditional application architectures. Executive Overview The 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 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, dynamic 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 designed 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”. Inside This Issue 2 Understanding C/S 8 Marketplace Trends 9 Impact on our Practice 10 Futures 11 Sources of More Info C Written by Bill Compton - BSC Atlanta 2 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 In a client/server system, the user interface (UI) processing is most often 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 application 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 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 midrange 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 client/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: 1. Incremental or Spiral methodologies promote continuous users involvement with multiple usability check points. 2. Client/server development tools provide a significantly more efficacious environment for analysis, design, and implementation teams. 3. Client/server hardware, software, and tool sets have a much lower entry cost structure; and, 4. The architecture 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 available to all BSC professionals to best leverage this technology. 3 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 Understanding and Applying Client/Server Technologies Client / 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 applications 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 implementing 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 packages 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/server 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 by 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 Client/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 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 interconnected 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 democratization 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 on a single computer - the “monolithic” model. In a client/server environment, the application 4 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 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. It 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 variety 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 example. 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 Database 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 resource servers operate similarly. The Evolution to Client/Server Database Management Applications Historically, 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 reporting 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 central 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 merely 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: 5 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 Figure 1 - Non Client/Server based Platinum software Platinum - Example 1 Platinum - Example 2 Workstation with Platinum Application and all data files Workstation with Platinum application File server with all data files In 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 data 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. All 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 commands 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/server version of its software that works in this manner: 6 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 Figure 2 - Client/Server based Platinum software Sequel to Platinum - Example 3 Workstation with Platinum Application Database server with SQLServer database In this example, SeQueL to Platinum exists on one or more computers and queries specific information from the server. The Database Server returns the specific result of that query back to the application. Two-Tiered Client/Server Design Models These examples have simplified the technology by showing the applications as having only two distinct processes. In a more robust C/S environment, hundreds 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: 1. User Interface - processes that control the presentation of information and the interaction with the user. 2. 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 information entered by the user. 3. 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 exist 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 of the organization and is implemented using different client/server design models. 7 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 Figure 3 - Client/Server Design Models Source: Gartner Group Server Application Model The server application model is typically used to provide greater user access to information which is contained in legacy systems. These 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. Client Application Model The 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 quickly intended for a relatively small user community only going to be used for a short time period and then discarded This model is common for BSC systems development projects. Distributed Application Model The distributed application model is most often used for on-line transaction processing systems. In this model, 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 application 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: 1. The developer controls the efficiency of communication between the client and server by moving the application logic to the most effective location. 8 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 2. It allows application functions which are shared by many clients to be performed and maintained in a single location. 3. It allows batch processes which require little or no user interaction to reside on the system which is best optimized to perform them. This model is common in packaged application software that BSC is beginning to select and implement for our clients. 9 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 Three-Tiered Client Server Design Model The three client/server models discussed above are referred to as two-tiered models. That is, each of the processes (client, application, and database) must exist either on the client or on the server. A new trend which is now maturing is a three-tiered model in which an additional server, usually UNIX based, is placed between the client workstation and the database server to act as an application server. All application business logic processes occur on this intermediate system. Figure 5 - Three-Tiered Client Server Design Model Client workstation with user interface logic Application server with business logic Database server with RDBMS Several advantages are driving this trend. First, the architecture allows further segmentation and specialization of resources. Second, three-tier architectures can provide benefits in a geographically-distributed environment - centralizing data repositories without constraining placement of application servers. This can reduce the sizing and cost of wide-area network pipes and eliminate the complexities of distributed databases. Finally, three-tier architectures represent just-in-time use of Application Servers allowing effective code image management, with the most current or most recently-requested application code image being sent from the DB server to the Application Servers on demand. This can also provide the benefits of a centralized code repository. The main vendors investing in this approach are the high-end transaction systems designed for large companies with complex enterprise networks. A good example of this is SAPs R/3 client/server manufacturing system targeted towards Fortune 1000 type companies. However, middle-market vendors such as Platinum are beginning to incorporate portions of three-tiered C/S technology into their products. 10 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 Marketplace Trends - Why Client/Server? According to a recent Information Week article, organizations are citing a variety of reasons for moving to client/server application design. Figure 4 - Why Client Server? 错误!链接无效。 Source: Information Week 25 July, 1994 Organizations see the primary benefit of client/server technology as the ability to enhance decision making by improving end-user access to strategic information. Once the information has been distributed throughout the organization, users can employ a variety of packaged “off-the-shelf” and custom-developed applications to access it Client/Server technology also offers cost efficiencies for the organizations technology operations. By moving from the proprietary to the “open systems” that are normally associated with C/S technology, organizations can choose their hardware and software from a larger variety of vendors. Furthermore, these systems are typically much more “scaleable” than the ones that they are replacing. This means that a company can purchase a system which fits their current performance needs with an upgrade path that only requires incremental investment in the future. The other key benefit is increased application development efficiency. The sophistication of C/S development tools supports great improvements in developer productivity and allows applications to be more flexible in the face of rapidly changing market requirements. To achieve this improvement, companies must first invest in significant training and allow their developers to “get up to speed” on the learning curve with the new development tools. We must recognize, however, that the technical implementation of client/server systems presents a number of significant challenges: 1. Significant investment in training for analysis, design, and implementation skills is required. 2. Adoption of new development methodologies such as Prototyping or Spiral Development is common. 3. Complex integration of client, server, and local- and wide-area network components is unavoidable. 4. A multi-vendor environment implies more complex integration, but also more sophisticated support personnel. 5. Management of distributed systems is an order of magnitude more difficult than centralized. 6. Telecommunications costs and capacities become a prime defining characteristic of the architecture. 7. Many, if not most of the tools and technologies are “young”, with all of the uncertainties thereof. 11 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 Impact on Our Practice The growing importance of the client/server architecture has already had a significant impact on BSCs business - from our core competency training to the projects we perform: The BSC Middleware school has been redesigned to incorporate the event-driven programming paradigm important in C/S. The new school, referred to as System Development/1 (“SD/1”), uses Microsofts Visual Basic - a commonly used client/server application development tool. The BSC Technology Team is currently working with TMAC on revising the Custom Systems Development methodology and estimating guidelines to reflect the Spiral Development methodology needed to implement client/server systems. Many BSC offices are selling projects to design and implement integrated voice/data wide area networks (“WANs”). These technologies provide the infrastructure for enterprise client/server networks. The distribution of information collection and access presents an area of opportunity for BSC engagements. We can help clients understand the delicate balance between accessibility and control, and design their environments accordingly. While decision support systems are a good first project for client/server, the next set of opportunities are in the areas of performance measurement and executive information systems. Futures Advances in Client / Server technology will come in terms of development tools, methodologies, management tools, etc. Some of the more immediate advances should come as follows: 1. Better development tools with integrated design, code, test, and deployment 2. Better systems management leveraging SNMP (Simple Network Management Protocol) infrastructures to provide visibility of important systems events across the network 3. Emergence of standards from standards committees (de jure ) as well as the marketplace (de facto) 4. Wider selection of C/S architected packaged software 5. Better methodologies and estimating guidelines and parameters 6. More sophisticated methods for distributing and controlling functions across servers 7. Object-oriented concepts and capabilities 8. New high-speed and/or low-cost telecommunications options such as ATM, SMDS, 100BaseVG LAN segments, and broadband digital delivery 12 Lite Bytes - Client / Server Technologies Revision 1.0 Last Update November 1994 The implications of this are clear. In order to participate in the success of Client / Server technology in the market place, BSC practices must invest now in developing the skills and competencies implied above. Over the next 12 to 18 months, clear messages will emerge from the market regarding specific application packages and application architectures that will lead the pack. BSC can try to predict and anticipate those leaders - SAP with R/3, Oracle with Oracle Manufacturing rel. 10, Platinum with SeQueL to Platinum. In the interim, it is important to invest in the infrastructural tools and skills - database servers such as Oracle and Sybase, server operating systems such as Windows NT and Unix, networking and connectivity engineering such as ATM and internetworking, and support technologies such as Microsoft Hermes (System Management Services) and Computer Associates CA-Unicenter. The dynamic nature of this technology topic requires ongoing review and examination of our strategy and tactics. The Tech Team will continue to collect and distribute information through projects, research, and industry contacts. We expect to revise this Lite Byte during the first half of 1995 Sources of Additional Information References AA OnLine - Contains several presentations that can be used to discuss C/S concepts with clients BSC Professionals - With experience in implementing custom and packaged C/S solutions Bill Compton - Atlanta Randy Green - Dallas Jimmy Meadows - Atlanta Greg Moran - Columbus Clay Perry - Charlotte David Price - Washington D.C. Mark White - Atlanta Engagements CGR Advisors - Custom Decision Support System Implementation CGR Advisors, an asset management company which manages a portfolio of commercial real estate properties, engaged Arthur Andersen & Co. to design and de

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论