目录
软件架构模式包含2层CS架构,三层CS架构,三层BS架构,混合架构,富互联网应用架构,基于服务的架构
1.2层CS架构
胖客户端,升级维护困难,已被淘汰。其分为表示层和数据层。
- 表示层:数据展示和业务处理。
- 数据层:负责数据处理。
2.三层CS架构
瘦客户端,升级维护相对2层CS架构容易,但是在还没有大规模使用的时候出现了BS架构,没有大规模的发展起来。
其是把业务处理和数据处理抽出来,定义成业务层。三层是逻辑上的概念,三层可以分开部署也可以部署在一起
3.三层BS架构
与CS架构最大的区别就是0客户端,客户端使用浏览器,避免安装客户端的麻烦。
其分为客户端,web服务器,数据库服务器。页面动态支持能力没有CS架构好,查询速度也会慢一点
4.混合架构
bs架构和cs结构结合使用,扬长避短。其分为2类
- 内外有别模式:外部使用bs架构,便于升级,避免安装客户端,内部因为管理统一可以使用cs架构,效率高
- 查改有别模式:查询使用bs架构,涉及修改使用cs架构,安全性更高
5.富互联网应用架构(RIA)
我们现在平常使用的web应用就是属于这种架构。其是在传统的bs架构上使用新技术,加强了传统bs架构展现能力不强,交互能力不强的缺陷。
新技术有:ajax,flex,mushup
- ajax是异步传输数据技术,可以传递页面的部分数据跟后台进行交互,然后局部刷新页面,这样用户体验会好很多
- flex使用了flash类似的技术,用在页游中,可以达到类似与flash的效果
- mushup技术是一种聚合技术,现在已经被淘汰了,在以前的手机上用到过,以前手机展示不了比较丰富的网页内容,mushup站点把web内容聚合在一起,然后通过html形式传给手机。
6.基于服务的架构(SOA)
服务标准化,松散耦合,粗粒度,传统的构建粒度会细一点,接口标准化。
其实现的方式有2种,WebService,ESB服务总线
1.WebService
强调把各种服务进行封装,包含服务请求者,服务提供者,服务注册中心。
协议包含
- 服务发现协议:UDDI,DISCO
- 服务描述协议:WSDL,XML Schema
- 消息格式协议:REST,SOAP(WEB远程服务调用协议)
- 编码格式协议:XML
- 消息传输协议:HTTP,TCP/IP,SMTP
2.ESB服务总线
强调提供一条服务总线,然后把各服务挂载到服务总线上。
例如,把遗留的系统服务化,然后挂载到服务总线上