搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
商汤科技(上海)自动驾驶计算机视觉算法实习生面经-2020年10月_商汤科技 算法实习生
2
蓝桥杯☆难度题目(6,7题)_假设abcd代表1到9的不同五个数字
3
jackson-databind版本升级问题
4
linux rpm 离线安装包命令_linux离线安装rpm命令
5
Vue搭建可视化界面_vue可视化
6
高校数据中心有哪些特点,目前主要存在哪些问题?_高校数据中心特点
7
zookeeper(zk)的监听器原理_zk listener
8
端到端 AWS 定量分析:使用 AWS 和 AWSCLI 自动运行脚本
9
上传文件到gitee仓库的步骤_gitee上传ppt
10
oracle12c存在pdb情况下的data guard 详细搭建_oracle 12c pdb dataguard
当前位置:
article
> 正文
ESB是SOA的基本组成部分
作者:笔触狂放9 | 2024-08-10 03:34:38
赞
踩
esb在soa分层架构中哪个位置
ESB是SOA的基本组成部分
与SOA相关的ESB
IBM SOA Foundation白皮书描述了IBM交付SOA价值的整体方法。SOA Foundation的参考体系结构的核心中具有ESB。该参考体系结构的描述声明“ESB 的存在是简化服务调用任务的基础”。虽然该白皮书是在2005年末发布的,但是其中预述的论点却随着时间推移而通过我们在采用SOA的客户方面的经验得到加强。
通过ESB实现的松散耦合的部分优点(包括本系列的第1部分详细描述的服务虚拟化和面向方面的连接中所固有的优点)如下:
请求程序和提供程序不必就消息格式、消息传输甚至目标地址达成一致。
请求消息可由多个提供程序中的任何一个进行处理,请求程序不必显式地确定提供程序。这种路由可以基于相应的版本、服务质量或其他度量。
现有的请求程序无需更改即可连接到新的提供程序。
现有的提供程序无需更改即可对新的请求程序公开。
可以对请求程序做出更改而不影响提供程序,或者对提供程序做出更改而不影响请求程序。
解决方案的横切方面,例如安全性和管理等等,可由ESB进行添加、执行或加强。
可以实现新级别的动态行为,因为ESB能够为请求程序和提供程序之间的每个交互实时执行策略。
作为SOA入口点的ESB
一次性全面采用SOA可能是一项艰巨的任务。IBM已确定了五个SOA入口点,这些入口点提供了有关如何开始渐进地采用SOA的指导。渐进的采用方法允许企业以最适合需要的方式和步调采用SOA。为什么我们要确定五个入口点?简单的原因在于众口难调;企业的在成熟度级别和特定需求方面各不相同,适合于一家企业的入口点可能不适合于另一家企业。这五个入口点基于已导致我们的客户成功实现了SOA的方法。存在两种类别的入口点:
以业务为中心的入口点——人员、信息和流程——允许您从一种侧重于基本企业资产的方法开始。
以IT为中心的入口点——连接性和重用——允许您为SOA奠定技术基础。
您也许已经从SOA Foundation 白皮书中预料到,连接性 意味着使用ESB来“通过更加安全、可靠和可伸缩的方法简化IT环境,从而在企业内外进行连接”。IBM认为,虽然ESB无疑是一种以IT为中心的SOA方法,但是“它本身交付了实际业务价值,并且是将来的 SOA计划的核心构件”。本文中的一个关键问题(将在下面进行讨论)是如何最好地使用ESB来形成将来的SOA计划的构件,以及如何通过连接性入口点获得最大的业务价值。
存在多种利用连接性入口点的方法。有时客户已经在其环境中定义了一些服务(也许是通过合作伙伴),不过是直接连接的服务;这种情况导致缺乏灵活性并增加管理成本。如上所述,在此类环境中插入ESB可以提供直接的松散耦合优点。此外,ESB的存在为将来定义附加服务、创造附加重用机会、支持新的重用渠道、降低管理成本和获得更多敏捷性的工作创造了条件。
客户通常知道ESB的价值并渴望开始从ESB中实现好处,但是他们还没有在其环境中定义服务。我们看到了两种已采用过的成功技术,这两种技术帮助在这种情况下从ESB获得好处。客户经常混合使用重用和连接性入口点。他们确定需要作为服务来连接的功能或应用程序(请求程序或提供程序)。同时,他们将 ESB 插入该体系结构,以提供新的服务请求程序和提供程序之间所需的松散耦合。混合方法得以流行的一个重要因素是ESB产品的转换和变换功能。此类功能允许使用同一个 ESB 产品作为某种形式的适配器,以便以更加可重用的形式公开功能或应用程序,并提供所需的服务虚拟化和面向方面的连接。这里成功的关键是谨慎地开始,公开少量的服务并开发对应的中介,但是这些服务和中介都在为考虑中的整个最终范围而设计的体系结构之内。
有些客户插入ESB以建立组织中连接的所需方向,尽管起初还没有确定要连接的服务。在此情况下,ESB是组织的总体参考体系结构的一部分;参考体系结构 提供了体系结构方向,并强制要求最终将作为解决方案一部分而创建的所有服务(请求程序和提供程序)进行松散耦合连接。ESB是用于实现该松散耦合的首选机制。采用ESB实际上消除了解决方案中的直接连接不知不觉地增长的可能性。这里成功的关键是:
采用一个要求并演示ESB使用的参考体系结构。
考虑解决方案的整个最终范围,并支持最佳的ESB产品选择。
随着解决方案的发展而实施强有力的治理,以确保利用ESB来连接到引入解决方案的新服务(请求程序和提供程序)。
SOA入口点最佳实践
存在一组IBM强烈建议用于任何SOA采用的最佳实践。这些最佳实践的最重要元素是建立一个路线图并渐进地实现该路线图,该路线图定义了实现所需业务目标的采用计划(请参见参考资料部分以获得指向文章“Service Oriented Architecture:An Introduction for Managers”的链接)。该路线图包括两个重要组成部分:
战略远景,业务或IT的方向陈述(包括参考体系结构和治理计划),可用作决策制定、组织参与和标准采用的指导原则。
一组项目计划,定义实现项目以满足当前业务驱动因素的即时和将来需要。
此类路线图允许您渐进地实现SOA,以在每个项目步骤中回报业务价值。
您应该在执行该路线图的早期确定您业务的最佳SOA入口点。您应该基于从您的总体战略远景和当前SOA成熟度级别得出的要求来选择该入口点。该入口点可能是也可能不是连接性入口点;它可能是上述入口点的混合。但是,连接性入口点是最普遍的入口点,因为有如此多的客户具有将请求程序连接到提供程序的即时需要,并希望获得ESB提供的松散耦合的好处。IBM提供了一个在线工具 Business Value Analyzer,以帮助您选择SOA入口点。
另一个最佳实践是建立治理框架以确保组织遵循该路线图(请参见参考资料以获得指向文章“SOA Governance and Service Lifecycle Management”的链接)。SOA 所促进的灵活性增强和跨组织性质要求组织建立治理框架,以实现主动的决策制定、准确的跟踪、改进的服务能力和更好的交流。有效的治理通过在增添价值的同时平衡风险和回报,从而帮助实现企业的业务目标。
正如上面所建议的,渐进的SOA采用是成功的关键。IBM建议从试验项目开始,该试验项目:
处理得到充分了解、重要但不关键的业务需要。
实现参考体系结构的某些重要方面(也许是ESB和一组示例服务、提供程序、请求程序,这些方面用于演示SOA的使用)。
需要一个超出当前能力的可达范围。
积累SOA技能。
用作对采用SOA治理和新的服务生命周期管理流程所进行的试验。
产生将会投入生产应用并将交付投资回报的结果。
通过SOA实现的关注事项分离甚至允许试验项目以能够积累专业经验和验证业务价值但不中断主要操作的方式引入SOA。
SOA连接性入口点最佳实践
除了SOA最佳实践以外,还存在其他更特定于ESB的最佳实践:
仅当ESB在您的路线图中有意义时才采用ESB。例如,如果SOA入口点以业务为中心,您可以推迟通过ESB实现的松散耦合,尽管您的参考体系结构中包括了ESB。
基于您的参考体系结构和一组跨全套项目计划的实际要求来设计ESB并选择ESB产品。我们说实际 是因为您应该集中于未来几年中的需要;到您超过该时间期限时,产品和需求已经发生了改变。如果仅考虑即时需求,尤其是忽略服务请求程序和提供程序的预期需要,则会导致选择非最优ESB产品。您必须明确地在公司的约束内行事,例如年度资金周期和预算,但您同时还希望将短期采购和决策与考虑中的长期(三至五年)目标保持一致。
根据情况考虑ESB联合。更大型的异构企业通常作为某种自治域的联合体出现,这些自治域基于各个业务部门或者职能或治理方面。在此类环境中,某些服务可以在单个域中进行共享或重用,而其他服务可以在整个企业中进行共享或重用。在这些情况下,我们建议采用某种形式的ESB联合,该形式的ESB联合与域联合的需要相匹配。ESB联合允许在不同的域中使用不同的ESB产品,并支持域需求与产品功能之间的最佳匹配。路线图和参考体系结构应该为任何给定域的产品选择提供指导原则甚至选项,以确保实现企业范围的优化。我们进一步建议使用联合服务注册中心和存储库,为企业范围的管理和可重用服务的治理提供帮助。
您是否需要ESB来成功采用SOA?
前面几个部分说明了从ESB开始成功的SOA之旅。另外四个入口点不需要ESB即可开始该旅程。然而IBM认为,无论其入口点是什么,绝大多数成熟的面向服务的解决方案都将包括ESB,以最大化SOA中所需的敏捷性和灵活性。因此,虽然初始项目可以不包括ESB,但是在您的长期业务和IT路线图中,ESB应该是参考体系结构的一部分,以实现成功的SOA。如果没有ESB提供的敏捷性和灵活性,您会发现在面临不可避免的变更时,管理解决方案将变得非常困难,并且开销很大。
这是否意味着在准备好包括ESB在内的所有体系结构组件之前,您还没有拥有真正的SOA呢?此问题没有正确或错误的答案,并且可能存在许多选项。在某种程度上,此问题并不重要——重要的是在实现新的SOA项目以及解决方案根据您的路线图逐渐变得成熟时,您要渐进地向业务交互越来越多的价值。
我们的客户好像同意这个观点。几乎我们的所有采用SOA的客户都从ESB开始,或最终在解决方案中使用了ESB,并从ESB支持的灵活性和敏捷性中获得了重大的IT和业务价值。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/956642
推荐阅读
article
【云
原生
】恰当运用
kubernetes
中三种
探针
,
确保
应用程序
在
Kubernetes
集群中保持健康
、
...
在
Kubernetes
(简称k8s)中
,
探针
(Probes)是一种非常重要的健康检查机制
,
用于监测Pod内容器的运行状况...
赞
踩
article
SCI
和
国
自然
标书
的难度对比,谁更难?_
国
自然
标书
结构
...
为何总有人说写
标书
比写
SCI
难多了?看看下文的分析,你就明白了。(一)
SCI
篇:此处不留爷自有留爷处,总会有期刊要虽然S...
赞
踩
article
OpenHarmony
学习笔记-提升篇
_
openharmonyos
组网
joinlnn
...
开发者通过在config.json中的reqPermissions字段里添加多设备协同访问的权限申请:三方应用使用{“n...
赞
踩
article
Java
读写
锁
基本使用...
ReadWriteLock使得你可以同时具有多个读取者,只要他们都不试图写入即可。如果写
锁
被其他任务持有,那么任何读取者...
赞
踩
article
idea
中采用
git
上传
代码
详细
步骤
_
在
idea
中使用
git
上传
代码
的
步骤
...
第一步:先下拉
代码
(
git
旁边那个蓝色的符号),再提交,那个绿色的对勾第二步:点击右下角,之后点击New Branch进...
赞
踩
article
logback
介绍和配置详解_no
applicable
action
for [maxfilesi...
logback
是java的日志开源组件,是log4j创始人写的,性能比log4j要好,目前主要分为3个模块
logback
...
赞
踩
article
JSP ——
web
.
xml
中
security
-
constraint
和 4 种认证类型_secu...
一、 的子元素: : 是可选的,如果没有 元素,这表示将禁止所有 HTTP 方法访问相应的资源。 和 :相配合使用,但前...
赞
踩
article
sealos
4.3.
5
安装
手册(一)
部署
集群
_
sealos
安装
和
部署
...
使用
sealos
4.3.
5
学习k8s的
部署
_
sealos
安装
和
部署
sealos
安装
和
部署
...
赞
踩
article
银河麒麟
V10
(
Tercel
)
服务器版
安装
Docker
...
银河麒麟
V10
(
Tercel
)
服务器版
安装
Docker
银河麒麟
V10
(
Tercel
)
服务器版
安装
Docker
...
赞
踩
article
纯血
鸿蒙
APP
开发
实战—
启动
页面
_
鸿蒙
启动
页...
布局代码,头部一个logo 使用Image ,底部一个名称图片使用Image,最后一个描述是一个文本Text 组成
_
鸿蒙
...
赞
踩
article
Zookeeper
原理详解_
zk
的
工作
原理...
Zookeeper
是什么
Zookeeper
分布式服务框架是Apache Hadoop
的
一个子项目,它主要是用来解决分...
赞
踩
article
MacOS
配置
CLion
C++ 环境_mac
clion
c++
配置...
MacOS
配置
CLion
的 C++编译环境_mac
clion
c++
配置mac
clion
c++
配置 ...
赞
踩
article
ComfyUI
高清
放大
的四种方式(
工作
流
附件在最后)_
comfyui
放大
工作
流
...
多种高清
放大
方式_
comfyui
放大
工作
流
comfyui
放大
工作
流
...
赞
踩
article
(二)
VGGNet
训练
CIFAR10
数据
集之
数据
预处理
_
cifar10
的
预处理
...
代码分享:
cifar10
_
input.py# Copyright 2015 The TensorFlow Authors...
赞
踩
article
隧道
技术
_请选择一个场景
,
说明
为什么
正常的
数据包
传输方式
无法
使用
,
隧道
技术
又是如何发挥...
挂羊头卖狗肉的
技术
实现。如果B/S或C/S中间的防火墙只支持
使用
http协议来访问资源,而你想
使用
https协议进行资源...
赞
踩
article
Android
BLE
蓝牙
踩坑总结_
android
app 进入后台之后
能
扫描
到
蓝牙
但是不
能
链接...
文章目录简介题外话问题集锦一、
扫描
问题1、
扫描
不到设备2、有时候刚开始
扫描
还正常,过段时间
扫描
不到设备?3、为什么有些手...
赞
踩
article
Mysql
表
结构
差异比较_
mysql
表
结构
对比...
我们在开发过程中,大部分情况下都是好几个版本一起并行,有时候如果某个版本
表
结构
改动较大,但是忘记了记录DDL脚本,这个时...
赞
踩
article
Windows11
下清理
Docker
Desktop
与
wsl
的C盘空间占用_
wsl
清理缓存_wind...
本文介绍了如何在
Windows11
中清理
Docker
Desktop
和
wsl
的C盘空间占用,包括删除不必要的镜像、容器、...
赞
踩
article
阿里
云
消息
队列
RocketMQ
-常见使用
方式
说明-
消息
重试
_
阿里
云 rocketmqlistene...
转自
阿里
云官方文档MQ 消费者的消费逻辑失败时,可以通过设置返回状态达到
消息
重试
的结果。MQ
消息
重试
只针对集群消费
方式
...
赞
踩
article
使用
Python
进行
并发
编程_
消息
队列
message
queue
:比起rpc或者
远程
对象
,
消息
是一...
线程(Thread)多线程几乎是每一个程序猿在
使用
每一种语言时都会首先想到用于解决
并发
的工具(JS程序员请回避),
使用
多...
赞
踩
相关标签
云原生
kubernetes
容器
探针
liveness
readiness
startup
大数据
人工智能
物联网
算法
信号
学习
笔记
java ReadWriteLock
git
码云
java
认证
security-constraint
k8s
运维
docker
harmonyos