4_软件架构设计

4_软件架构设计

基本架构风格的实现

针对你所擅长的一种编程语言(如JAVA),阐述它对C/S、B/S、事 件风格(包括队列、发布-订阅、观察者模式)的实现机制,思考其各 自所采用的具体编程实现技术。

1、C/S

Client/Server的缩写,是客户机与服务器结构的应用程序,服务器 通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、 Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。

2、B/S

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

3、 C/S 与 B/S 区别:

  • 1)硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过 专门服务器提供连接和数据交换服务; B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租 用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏 览器就行 ;
  • 2)对安全要求不同: C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度 机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息; B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用 户;
  • 3)对程序架构不同: C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可 以较少考虑; B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的 BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和 IBM推的JavaBean 构件技术等,使 B/S更加成熟;
  • 4)软件重用不同: C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的 构件的重用性好; B/S 对的多重结构,要求构缉虎光臼叱铰癸歇含忙件相对独立的功能. 能够相对较好的重用.就入 买来的餐桌可以再利用,而不是做在墙上的石头桌子;
  • 5)系统维护不同:C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升 级难. 可能是再做一个全新的系统; B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销 减到最小.用户从网上自己下载安装就可以实现升级;
  • 6)处理问题不同: C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操 作系统相关. 应该都是相同的系统; B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到 的. 与操作系统平台关系最小;
  • 7)用户接口不同: C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高; B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大 部分难度减低,减低开发成本;
  • 8)信息流不同: C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低; B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。