前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >层次风格SOA-架构师之路(十)

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

作者头像
用户9919783
发布2023-09-05 14:41:26
2760
发布2023-09-05 14:41:26
举报

一、层次架构风格

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后端从入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档