层次风格SOA-架构师之路(十)

2023-09-05 14:41:26 浏览数 (2)

一、层次架构风格

两层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、发现、路由、匹配和选择的能力。

0 人点赞