分布式软件体系结构风格(C/S,B/S)

本文详细介绍了分布式软件体系结构风格,包括三层C/S结构和三层B/S结构。三层C/S结构由用户界面、业务逻辑和数据库层组成,适合大量并发用户,强调各层独立性与可维护性。三层B/S结构以浏览器/服务器形式实现,易于维护和扩展,但数据交互效率较低。此外,还讨论了C/S+B/S混合模式,以应对不同场景需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分布式软件体系结构风格

1、  三层C/S结构

2、  三层B/S结构

 

 了解更多软件体系结构

三层C/S结构(3-Tier C/S Architecture)

§第1层:用户界面GUI—表示层——客户机

§第2层:业务逻辑—功能层——应用服务器

§第3层:数据库—数据层——数据库服务器

基本组件:

–数据库服务器

• 存放数据的数据库、负责数据处理的业务逻辑;

–应用服务器

• 业务逻辑:对数据进行处理;

–客户机应用程序

• GUI:用户界面

§连接件:经由网络的调用-返回机制或隐式调用机制

–客户机ßà应用服务器:客户机向应用服务器发送请求,并接收返回结果。

–应用服务器ßà数据服务器:应用服务器向数据服务器发送请求,并接收返回结果。

表示层:

§应用的用户接口部分,担负着用户与应用之间的对话功能;

§检查用户从键盘等输入的数据,显示应用输出的数据;检查的内容也只限于数据的形式和取值的范围,不包括有关业务本身的处理逻辑。

§为使用户能直观地进行操作,通常使用图形用户界面GUI ,操作简单、易学易用;

§在变更时,只需要改写显示控制和数据检查程序,而不影响其他层;

§不包含或包含一部分业务逻辑。

功能层:

§应用系统的主体,包括大部分业务处理逻辑(通常以业务组件的形式存在,如JavaBean/EJB/COM等);例如,在制作订购合同时要计算合同金额,按照定好的格式配置数据、打印订购合同。

§从表示层获取用户的输入数据并加以处理;

§处理过程中需要从数据层获取数据或向数据层更新数据;

§处理结果返回给表示层。

§用户检索数据时,要设法将有关检索要求的信息一次性地传送给功能层,而由功能层处理过的检索结果数据也一次性地传送给表示层。

§通常,在功能层中包含有确认用户对应用和数据库存取权限的功能以及记录系统处理日志的功能。

数据层:

§数据库管理系统DMBS,负责管理对数据库数据的读写;

§接受功能层的数据查询请求,执行请求,并将查询结果返回给功能层;

§从功能层接受数据存取请求,并将数据写入数据库,请求的执行结果也要返回给功能层。

§数据库管理系统必须能迅速执行大量数据的更新和检索。现在的主流是关系型数据库管理系统,因此,一般从功能层传送到数据层的要求大都使用SQL语言。

优点:

§在用户数目较多的情况下,三层C/S结构将极大改善性能与灵活性(通常可支持数百并发用户,通过集群可达数万并发用户);

§允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性——UI、BL、DB可以分别加以复用

§允许更灵活有效地选用相应的平台和硬件系统,使

之在处理负荷能力上与处理特性上分别适应于结构清晰的三层; 并且这些平台和各个组成部分可以具有良好的可升级性和开放性。

§应用的各层可以并行开发,可以选择各自最适合的开发平台和开发语言。

§利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而非法的访问数据层,为严格的安全管理奠定了坚实的基础。

§将遗留系统(旧版本的系统)移植到三层C/S下将非常容易;

缺点:

§三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。

§设计时必须慎重考虑三层间的通信方法、通信频度及数据量,这和提高各层的独立性一样是三层C/S结构的关键问题——分层风格的固有缺点。

程序:

(1)服务器端程序tcpServer.java

import java.io.*;

import java.net.*;

public class tcpServer{

      publicstatic final int PORT=8888;

      publicstatic void main(String[] args) throws IOException{

       //建立ServerSocket

       ServerSocket s=new ServerSocket(PORT);

       System.out.println("ServerSocket:"+s);

       try{

         /*程序阻塞,等待连接。即直到有一个客户请求到达,程序方能继续执行*/

    &n

三层C/S结构编程指南<br> -- 使用IBM中间件实例<br><br>概 述<br><br> 计算机体系结构经历了从主机集中的终端方式、C/S结构,以及现在越来越普遍的三层客户机服务器结构。在当今中国,从银行、电信,到保险、证券的各个行业,还有不容忽视的电子商务、普遍运算,都越来越多地使用三层结构作为核心系统的标准体系结构。但是,由于三层结构提高了开发的起点,加上具体介绍三层次应用开发的书籍并不象介绍C/S的书脊那样普遍,对于大多数开发人员来说,三层结构依然是一种理想,而不是一个能够立即在现实中使用的方法。甚至,由于缺乏对于工具的了解,有不少开发人员自行开发了简易的中间件来满足其对三层结构的需求。正因为此,给三层结构开发的普及带来了很大的障碍。<br> 本书详细介绍了三层客户机服务器结构的系统结构,从计算机体系结构的变迁,三层结构的优点,一些常见概念,如数据的一致性、两阶段提交、分布式事务处理、事务处理器以及XA规范的系统说明,到CICS是如何构造以成为一个优秀的三层结构中间件,在第一章中都有详细阐述。<br> 如果您对于三层结构的理论已经有所了解,可以在第二章中学习如何使用CICS编制应用,并且使用VB、Delphi、C++ Builder、PowerBuilder、Java和C进行前台界面的开发。如果要进一步使用CICS的底层功能,第四章的内容是非常有用的。<br> 在CICS应用服务器端,采用嵌入式SQL(E-SQL)编程和各种数据库进行连接。第六章同时详细介绍了DB2、SYBASE、ORACLE、INFORMIX等数据库的嵌入式SQL编程,即使您不使用CICS,这也是一个很好的参考。<br> 第五章中,介绍了对CICS进行性能调优的方法以及一些参考数据,您可以根据您的系统需求来选择合适的硬件环境,满足对性能的需求。<br> 特别的,本书所附光盘包含使用CICS在Windows NT平台上搭建三层结构的所有软件,以及本书提及的所有示例程序。根据第四章的步骤,您可以自己建立一个实验环境,亲自体验开发三层结构应用的感觉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值