服务仲裁 - SOA中企业服务总线的角色

2024-02-03 06:48

本文主要是介绍服务仲裁 - SOA中企业服务总线的角色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  原文:http://www.tibco.com/resources/solutions/soa/esb_for_soa.pdf

概要
业务敏捷——能够快速适应需求变化的能力——正逐渐成为激烈竞争的全球市场中业务运作的关键目标。业务管理人员需要迅速重新调配资源和流程来应对这些变化。为了更迅速的应对这些变化,IT管理人员正在抛开那些孤立的流程和整体化的企业应用软件,他们正在尝试将应用系统进行松耦合集成的方式,并在企业中提供可以作为可重用服务的业务功能。
面向服务架构(SOA)是一种通过松耦合的“服务”组件创建企业IT基础架构的方式,这些组件就是一些离散的功能。合成的应用系统是SOA环境的关键元素。这些应用系统通过调用和编排若干的服务、事件和模型来创建,通过这种方式将他们封装成为更高层次的业务功能。这些功能使IT部门能够重用那些已经被测试过的过程和具有扩展性和服务质量的组件,增加了业务的敏捷性。这些重用可以帮助减少市场响应时间并降低IT开发成本。
企业服务总线(ESB)是分布式的、基于消息的集成解决方案,遵循开放的标准。ESB的角色是在各种IT资源——比如企业中分布于不同的系统上的应用系统、平台和服务之间——更容易的建立可靠的通讯。当IT部门越来越关注构建SOA来降低开发成本并提升业务敏捷时,ESB就成为了建立企业SOA关键的第一步。ESB作为SOA的基础,可以通过附加的生产能力比如服务编排和注册,进行补足。本文将要讨论能解决企业SOA需要的ESB的需求。
Web Service ESB 之路
SOAP,Web服务表述语言(WSDL)和HTTP解决了一个棘手的问题,以前试图创建分布式系统的标准是一件很苦恼的事情,比如 公共对象请求代理架构(CORBA)或者分布式计算环境(DCE)——即目前广泛被接受的两个最大的应用技术阵营(.NET和J2EE)与众多的应用系统提供商。 虽然这绝非易事,但可以通过将标准极度的简单化为一套一致同意的核心技术条款来获取认同。这个设计原则既是Web服务标准的最大优点也是最大的局限。
简单的讲,没有企业级的应用可以单独运行SOAP,WSDL和HTTP。尽管Web Service和SOA在IT社区中快速的获得认可,他们也面临着与之前的分布式系统同样的挑战,这在很大程度上取决于他们的分解原则。在这些挑战中,最重要的是如何解决点对点连接,也就是常说的M*N连接的问题。
下面的图1说明了点对点的集成方式所产生的连接爆炸问题。每一个应用系统增加,都会使连接的数量呈指数级增长,因为每一个应用系统都要连接到其它的每一个应用系统。TIBCO创造了信息总线范例,右面的图是该范例的说明。在这个模型中,每一个应用只与公共骨架——总线——连接。这样使连接的数量最小化并且提供了为连接、集成系统和架构的管理提供了集中的位置。
图1 :通过ESB 降低连接复杂性
为了管理服务客户端与服务提供者的连接与通讯的复杂性,SOA需要一个骨架,它能够超出传统分布式消息,在异构的IT环境中提供复杂的转换、路由和松耦合连接,并且与平台无关。这个可靠的骨架提供企业级服务总线就是ESB。
ESB 的企业级需求
我们来看一下服务总线的企业级功能。下面的每一项功能都是SOA中进行成功的集成的要点。将他们融合在一起就可以解决SOA环境中服务提供者和服务客户端所面临的问题。
分布式消息:ESB的基础核心是面向消息的中间件,比如TIBCO企业消息服务软件。这个基础提供可靠的、分布式的传输方式,通过存储/转发方式保证消息即使在网络失败的时候仍能够发布。
位置透明:通过服务仲裁,服务客户段调用服务提供者只需要知道这个服务存在,而不需要知道服务运行在何处。当服务被调用的时候,ESB来寻找这个服务,提供一层虚拟服务并且位置透明,这样即使服务器停机或者服务提供者被转移,独立的服务客户端都不需要被通知到这种变化。这样能够极大地降低IT管理的成本并使风险最小化。
传输透明:传统的点对点集成方式,组件和对象都紧密耦合。在SOA中,因为位置透明,服务被IT环境寻找并且降低耦合。当依靠位置透明来连接服务客户端和服务提供者的时候,ESB还提供了物理的传输协议,使那些使用不同的传输的服务之间能够进行通讯。
多协议支持:因为HTTP传输模型本身的可靠性问题并且只能运行同步消息交换模式(MEP),它无法满足每一个应用系统和服务的需求。例如,JAVA消息服务(JMS)有异步特性,并且相比HTTP,JMS有更高的可靠性。为了支持异构的应用,有些系统使用基于JMS的SOAP来达到预期的效果。其他的传输模型也同样正在被使用,包括那些由主要的资源计划和系统企业提供的私有的传输系统。因此,ESB需要能够支持众多不同类型的传输系统,以便在传输层能有效的集成异构系统和管理复杂的通讯。
服务质量:对企业应用来说,服务质量(QOS)主要与服务可靠性相关。消息发布和可靠的服务调用是任何一个系统的关键功能。然而,Web服务本身不能提供发布的保证。从另一方面讲,ESB可以通过确保端到端的消息发布提供服务的高可靠性,这是在可靠的传输比如JMS之上提供的。此外,达到高的服务质量还必须要遵循标准,比如要支持WS-可靠消息规范。
消息交换模式:当今大多数ESB使用基于HTTP的SOAP通过请求/响应方式操作,这意味着服务客户端发布一个请求消息给用户并等待响应。也就是常说的同步信息交换方式。
然而,在发布/订阅消息交换模式中,服务客户端发送一个消息并且订阅响应而不是等待它。发布/订阅消息交换模式在企业中可以更有效的对事件进行响应,尤其是服务活动的生命周期将要耗费很长时间的时候。ESB需要能够支持每一种范例。
基于内容的路由:ESB中有两种路由方式。第一种是服务路由,当服务调用进入ESB并且ESB将请求路由给适当的服务提供者,服务客户端并不需要知道服务提供者的位置。这就是如何实现我们上面讨论的位置透明。
另一种是基于内容的路由,在路由平台定义一套由消息内容提供的规则或者业务逻辑,ESB根据消息的内容将其路由给指定的服务提供者。比如,特定用户的优先级顺序或者指定交易的标志。这对业务服务很有价值,因为他可以帮助降低信息管理的成本,保证与服务层的关连并且使企业能更加关注与客户的满意度。
转换:ESB的任务是将消息从一个服务路由到另外一个,当数据格式不匹配的时候会有一些工作要做。因此ESB需要能够进行消息转换。
附加的评估标准
当决定选择最佳的SOA集成工具的时候,出来要评估之前所讲的特征,以下的标准也要特别注意。
开放的标准:开放的标准,比如SOAP,WSDL和Java业务集成(JBI),是企业SOA的整体需求。因此,这些开放的标准需要被ESB解决方案的所有组件(运行时容器,消息架构,集成服务和设计时标准)支持并且集成资源机制要被指定(附加,请求和响应)在总线之上。
扩展性和高可用性:ESB必须能够处理企业所需要的大量的消息。另外,高可用性是重要因素来保证不间断的业务操作。如果ESB中的一个组件失效,他不应该停止通讯中的服务。
这些标准帮助IT部门确保ESB能够快速、准确的处理需要的事物,并且为将来的增长打下基础,这也是业务敏捷的要素。
 

这篇关于服务仲裁 - SOA中企业服务总线的角色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673290

相关文章

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于

企业安全之WiFi篇

很多的公司都没有安全团队,只有运维来负责整个公司的安全,从而安全问题也大打折扣。我最近一直在给各个公司做安全检测,就把自己的心得写下来,有什么不足之处还望补充。 0×01  无线安全 很多的公司都有不怎么注重公司的无线电安全,有钱的公司买设备,没钱的公司搞人力。但是人的技术在好,没有设备的辅助,人力在牛逼也没有个卵用。一个好的路由器、交换机、IDS就像你装备了 无尽、狂徒、杀人书一

研究人员在RSA大会上演示利用恶意JPEG图片入侵企业内网

安全研究人员Marcus Murray在正在旧金山举行的RSA大会上公布了一种利用恶意JPEG图片入侵企业网络内部Windows服务器的新方法。  攻击流程及漏洞分析 最近,安全专家兼渗透测试员Marcus Murray发现了一种利用恶意JPEG图片来攻击Windows服务器的新方法,利用该方法还可以在目标网络中进行特权提升。几天前,在旧金山举行的RSA大会上,该Marcus现场展示了攻击流程,

Golang支持平滑升级的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑

Golang服务平滑重启

与重载配置相同的是我们也需要通过信号来通知server重启,但关键在于平滑重启,如果只是简单的重启,只需要kill掉,然后再拉起即可。平滑重启意味着server升级的时候可以不用停止业务。 我们先来看下Github上有没有相应的库解决这个问题,然后找到了如下三个库: facebookgo/grace - Graceful restart & zero downtime deploy for G

Java后端微服务架构下的API限流策略:Guava RateLimiter

Java后端微服务架构下的API限流策略:Guava RateLimiter 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,API限流是保护服务不受过度使用和拒绝服务攻击的重要手段。Guava RateLimiter是Google开源的Java库中的一个组件,提供了简单易用的限流功能。 API限流概述 API限流通过控制请求的速率来防止