首页 理论教育 软件架构与开发工具优化方案

软件架构与开发工具优化方案

时间:2023-06-26 理论教育 版权反馈
【摘要】:4.3.2.2B/S架构及其开发工具由于C/S架构存在的种种问题,因此人们又在它原有的基础上提出了一种具有三层模式的应用系统结构浏览器/服务器 (B/S)架构。

软件架构与开发工具优化方案

对于通常软件设计而言,C/S架构和B/S架构是两种经常采用的软件结构,下文将对这两种结构的概念、工作模式、优缺点和开发环境分别进行介绍。

4.3.2.1 C/S架构及其开发工具

C/S架构,即广为人知的客户端 (Client)和服务器 (Server)结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务端来实现,降低了系统的通信开销。目前大多数应用软件系统都是形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和C/S应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统,这也是目前应用系统的发展方向。

1.C/S架构的工作模式

C/S架构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用 “功能分布” 原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS (数据库管理系统)的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。

Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。其基本工作流程示意如图4-7所示。

2.C/S架构的优点

C/S结构的优点是能充分发挥客户端PC机的处理能力,很多工作可以在客户端处理后再提交给服务器,对应的优点就是客户端响应速度快。具体表现如下:

(1)应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。两者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。

图4-7 C/S架构工作流程示意图

(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的 (不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立订单的规则。所有这些,对于工作在前台程序上的最终用户,是 “透明” 的,他们无需过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序也承担一定的数据处理功能,而复杂任务交由服务器处理。在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

3.C/S架构的缺点

随着互联网的飞速发展,移动办公和分布式办公越来越普及,因此系统应具有较好的扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

客户端需要安装专用的客户端软件;所以涉及安装的工作量,且任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。此外,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。

传统的C/S架构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是客户端还是服务端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S架构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代速度加快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。

此外,C/S架构的劣势还在于高昂的维护成本和投资。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正 “统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,而如果需要建立“实时” 的数据同步,就必须在两地间建立实时的通信连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代非常快,代价高和低效率已经不适应工作需要。在JAVA 这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

4.C/S架构的常用开发工具

C/S架构的软件项目可以使用Delphi和C++开发。Delphi第三方控件多,开发速度快,做报表和界面也方便;C++ 优势在于程序运行效率高,做漂亮界面则要吃力一些。(www.xing528.com)

4.3.2.2 B/S架构及其开发工具

由于C/S架构存在的种种问题,因此人们又在它原有的基础上提出了一种具有三层模式(3-Tier)的应用系统结构浏览器/服务器 (B/S)架构。B/S架构是伴随着因特网的兴起,对C/S架构的一种改进。从本质上说,B/S架构也是一种C/S架构,它可看作是一种由传统的二层模式C/S结构发展而来的三层模式C/S架构在Web上应用的特例。

B/S架构主要是利用了不断成熟的Web浏览器技术:结合浏览器的多种脚本语言和ActiveX 技术,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能,同时节约了开发成本

B/S架构的使用越来越多,特别是由需求推动了AJAX 技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。

1.B/S架构的工作模式

B/S是Browser/Server 的缩写, 客户机上只要安装一个浏览器 (Browser), 如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。在这种结构下,用户界面完全通过WEB 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server同数据库进行数据交互。

系统开发中C/S 架构 (Client/Server) 中Client (客户端) 往往可以由B/S 架构(Browser/Server架构)的Browser (浏览器)及其载体承担,C/S架构的Web应用与B/S架构 (Browser/Server架构)具有紧密联系。大系统和复杂系统中,C/S架构和B/S架构的嵌套也很普遍。

原来的C/S架构转变成Browser/Server架构后,客户机的压力大大减轻,负荷被均衡地分配给了服务器。由于这种架构不再需要专用的客户端软件,因此也将技术维护人员从繁重的安装、配置和升级等维护工作中解脱了出来,可以把主要精力放在服务器程序的更新工作上。同时,使用Web浏览器作为客户端软件,界面友好,新开发的系统也不需要用户每次都从头学习。而且,这种三层模式,层与层之间相互独立,任何一层的改变都不影响其他层原有的功能,所以可用不同厂家的产品组成性能更佳的系统。总之,三层模式的B/S架构从根本上弥补了传统的二层模式的C/S架构的缺陷,是应用系统体系结构中一次深刻的变革。B/S架构工作流程示意如图4-8所示。

图4-8 B/S架构工作流程示意图

2.B/S架构的优点

(1)维护升级更加便利。软件系统的改进和升级越来越频繁,B/S架构的产品明显具有更为方便的特性。对一个稍大的系统而言,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖” 是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的。因此,维护和升级革命的方式是 “瘦” 客户机,“胖” 服务器。

(2)系统的成本更低。Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置。但在服务器操作系统上,Windows并不处于绝对的统治地位。软件的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使得最流行的免费Linux 操作系统快速发展起来,Linux除了操作系统是免费以外,其数据库也是免费的。

3.B/S架构的缺点

由于B/S架构管理软件只安装在服务器 (Server)端上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器 (Server)端完全通过WEB 浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器 “崩溃” 等问题,后果不堪设想。须备有数据库存储服务器,以防万一。

4.B/S架构的常用开发工具

B/S架构的软件是通过浏览器来访问的,其中最重要的是与客户交互的网页页面,所以开发网页的工具加上后台的语言都可以开发的,如PHP、JAVA、ASP.NET 等。

4.3.2.3 小结

C/S架构和B/S架构各有优势,但在互联网逐步深入发展的时代,B/S架构以其灵活的应用和低成本的开发维护等特点逐步受到越来越多用户和软件开发厂商的青睐。但对于风电功率预测系统而言,由于客户机数量并不多,在位置上分部于数据服务器附近;而且风电功率预测计算负担也较重,若采用B/S架构,将计算任务全部放在数据服务器中,数据服务器可能负担过重。因此采用传统的C/S架构也有其优势。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈