今
日
一
码
一、层次架构风格
两层C/S架构:
客户端和服务器都有处理功能,现在不常用。
只有表现层和数据层。
三层C/S架构:
表现层、数据层和功能层。
表示层在客户机,功能层在应用服务器,数据层在数据库服务器中。
优点:
1、各层逻辑相互独立。
2、并行开发。
3、整个系统的管理层次也更加合理和可控制。
三层B/S架构:
三层架构变种,客户端变为浏览器,服务端变为web服务器,又称为0客户端。
缺点:
1、缺乏动态页面支持能力。
2、安全性难控制。
3、数据查询效率低于C/S。
4、数据提交一般以页面为单位,交互性不强。
混合架构风格:
内外有别:企业内部C/S,外部B/S。
查改有别模型:采用B/S查询,C/S修改。
混合架构难实现,成本高。
富互联网应用RIA:
Rich internet application
弥补三层B/S存在的问题,RIA是一种用户接口。优点如下:
1、RIA结合C/S的反映速度,交互性强和结合B/S传播广泛。
2、简化改进B/S的交互。
3、数据能够缓存在客户端。
本质还是0客户端,利用高速互联网(4g5g)快速实现本地插件缓存,增强页面交互,比如小程序。
MVC架构:
1、controller:处理用户交互部分。
2、Model:处理用户数据逻辑部分。
3、View:处理数据显示。用户交互。
MVP架构:
把controller换成了presenter(呈现)。为了完全切断model和view的联系。
解决了mvc数据不安全问题。安全着想,不能让前端直接和model核心数据连接。
MVP都是双向通信。
MVVC架构:
和mvc模式类似,主要分离视图view和model。
1、低耦合,一个viewModel可以绑定到不同的view。
2、可重用性。
3、可测试,测试可以根据viewModel来写,不需要根据页面view来写。
二、面向服务架构风格-SOA
典型的SOA结构,多个服务挂载在一条服务总线上。当我们开发系统的时候,挑选里面的服务来组成。
Service Oriented Architectrue
SOA是一种 粗粒度、松耦合服务架构。服务是为了满足业务的开发来逻辑组合。
SOA目标复用IT资产重用最大化。
SOA特征:
1、可以企业外部访问。
2、随时可用。
3、粗粒地,松耦合
4、服务重用。
5、支持各种消息模型,精确定义服务接口。
从基于对象,基于构件,基于服务,架构越来越松耦合,颗粒度越来越粗。
基于服务的构件和传统构件区别:
1、颗粒度更粗。
2、服务构件接口标准WSDL接口,传统的是API。
3、服务构件与语言无关。
4、服务构件通过构件容器提供QOS服务,传统的则是代码。
三、SOA关键技术
1、发现服务
UDDI、DISCO
UDDI:web服务注册统一描述发现和集成。
Universal description discovery and integeration
2、描述服务
WSDL、XML Schema
WSDL(web service description language)
将web服务描述定义为一组服务访问点。
3、消息格式层
SOAP、REST
SOAP
简单对象访问协议,用于交换XML编码信息轻量级协议,用于传递信息。
4、编码格式层
XML(DOM、SAX)
可扩展标记语言,是webService平台中表示数据的基本格式,用于数据交换。
5、传输协议层
HTTP、TCP/IP、SMTP等。
三、SOA实现方式
1、web Service
服务提供者、服务注册中心(中介、提供交易平台,可有可无)、服务请求者。
2、服务注册表
服务注册、服务位子、服务绑定。
3、企业服务总线ESB
简单来说就是一根管道,连接各个服务节点。可有协议转换,为了集成不同协议的不同服务,保证各个服务互联互通。
包括:客户端(服务请求者)、基础架构服务(中间件)、核心集成服务(提供服务)
ESB特点:
1、总线的作用,各种服务连接。
2、描述元服务和服务注册管理。
3、在服务请求和提供者之间 传递数据,以及对这些数据进行转换。
4、发现、路由、匹配和选择的能力。