扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Jean-Louis Maréchaux 来源:developerWorks中国 2007年9月16日
关键字: carges Mash bloomberg chainbuilder
现今的业务应用程序很少完全独立运行。它们需要彼此连接,以便创建集成解决方案,从而为组织带来价值。面向服务的体系结构(Service-Oriented Architecture,SOA)和事件驱动的体系结构(Event-Driven Architecture,EDA)是处理复杂集成挑战的两个不同范例。组织如何选择更好的方法来满足其需求呢?实际上他们并不必选择:企业服务总线(Enterprise Service Bus,ESB)允许同时实现 SOA 和 EDA 概念。
引言
为了适应市场变化,各个组织都倾向于将重点放在灵活性和响应能力上。IT 挑战实际上通常使用恰当的体系结构和技术来支持此业务远景。早期的活动是为了将独立应用程序拆分为可调用的子例程,但远程对象调用和消息传递处理的发展改变了这一点。
而在最近,增加对组织中现有资产的重用(可反过来提高投资回报)和集成异类应用程序以形成一致业务解决方案开始变得非常关键了。而这促进了 SOA 和 EDA 的广泛采用。这两个不同的设计范例均以最大化独立于应用程序的服务(可提供 IT 适应能力和效率)的重用为目标。但构建和部署大型集成解决方案始终是一项比较困难的任务。而这正是 ESB 的用武之地,因为它简化了任务关键型应用程序的灵活而可靠的体系结构(SOA 和 EDA)的实现。
面向服务的体系结构
SOA 是一个体系结构概念,其中所有的功能或服务都使用描述语言加以定义,且各自的接口均可通过网络进行发现。此类接口采用独立方式定义,不受服务实现所在的硬件平台、操作系统和采用的编程语言的影响。
SOA 的最重要优势之一是,它可以脱离软件开发中的孤立方式(在此方式中,每个部门构建自己的系统,而完全不考虑组织中的其他人已完成了哪些东西)。这种“竖井 (Silo)”方法将会导致低效且开销巨大的情况出现,可能会多次开发、部署和维护相同的功能。SOA 基于在整个组织范围内共享的服务组合,并提供了对现有资产的有效重用和集成,如图 1 中所示:
图 1:“竖井”方法与 SOA 方法的对比
SOA 基于方便的请求/应答机制,如图 2 中所示。服务使用者将通过网络调用服务提供者,且必须等待,直到提供者一端的操作完成。
图 2:SOA 中的请求/应答机制
表 1 对 SOA 解决方案的基本特征进行了总结:
功能 |
描述 |
松散耦合的交互 |
服务的调用独立于其技术和位置。 |
一对一通信 |
一个特定服务一次由一个用户调用。通信是双向的。 |
基于用户进行触发 |
控制流由客户机(服务使用者)发起。 |
同步 |
应答将以同步方式发回给使用者。 |
表 1:基本 SOA 特征
事件驱动的体系结构
在 2003 年,Gartner引入了一个新术语,用以描述基于事件的设计范例:事件驱动的体系结构 (EDA)。EDA 定义了一种用于进行设计和实现应用程序和系统的方法,其中的事件在各个分解的软件组件和服务间进行传递。EDA 并不会替代 SOA,而只是对 SOA 形成补充。虽然 SOA 通常更适合请求/响应交换环境,但 EDA 引入了一些长时间运行的异步进程功能。而且,EDA 节点可发布事件,且并不依赖于所发布的服务的可用性。它真正地实现了同其他节点的分离。EDA 有时也称为“事件驱动的 SOA”。
EDA 使用消息传递来在两个或多个应用程序进程间进行通信。此类通信是由“事件”发起的。触发器通常与某种业务情况对应。该事件的所有订阅者将随后得到通知,从而激活,如图 3 中所示:
图 3. 事件驱动的体系结构中的发布/订阅机制
表 2 对 EDA 的基本特征进行了总结:
功能 | 描述 |
分离的交互 | 事件发布者并不会意识到事件订阅者的存在。 |
多对多通信 | 采用发布/订阅消息传递,一个特定事件可以影响多个订阅者。 |
基于事件的触发器 | 控制流由接收者确定(基于发布的事件)。 |
异步 | 通过事件消息传递支持异步操作。 |
婵犵數濮烽弫鍛婃叏閻戝鈧倹绂掔€n亞鍔﹀銈嗗坊閸嬫捇鏌涢悢閿嬪仴闁糕斁鍋撳銈嗗坊閸嬫挾绱撳鍜冭含妤犵偛鍟灒閻犲洩灏欑粣鐐烘⒑瑜版帒浜伴柛鎾寸洴閹儳煤椤忓應鎷洪梻鍌氱墛閸楁洟宕奸妷銉ф煣濠电姴锕ょ€氼參宕h箛鏃傜瘈濠电姴鍊绘晶娑㈡煕鐎c劌濡介柕鍥у瀵粙濡歌閳ь剚甯¢弻鐔兼寠婢跺﹥娈婚梺鍝勭灱閸犳牠骞冨⿰鍫濈厸闁稿本绋撹ぐ瀣煟鎼淬値娼愭繛鍙壝悾婵堢矙鐠恒劍娈鹃梺鍓插亝濞叉牠鎮″☉銏$厱閻忕偛澧介惌瀣箾閸喐鍊愭慨濠勭帛閹峰懐绮电€n亝鐣伴梻浣规偠閸斿宕¢崘鑼殾闁靛繈鍊曢崘鈧銈嗗姂閸庡崬鐨梻鍌欑劍鐎笛呯矙閹寸姭鍋撳鐓庡籍鐎规洑鍗冲畷鍗炍熼梹鎰泿闂備線娼ч悧鍡涘箠鎼淬垺鍙忔い鎺嗗亾闁宠鍨块崺銉╁幢濡炲墽鍑规繝鐢靛О閸ㄦ椽鏁嬮柧鑽ゅ仦娣囧﹪濡堕崨顔兼闂佺ǹ顑呴崐鍦崲濞戙垹骞㈡俊顖濐嚙绾板秹鏌f惔銏e妞わ妇鏁诲璇差吋閸偅顎囬梻浣告啞閹搁箖宕版惔顭戞晪闁挎繂顦介弫鍡椼€掑顒婂姛闁活厽顨嗙换娑㈠箻閺夋垹鍔伴梺绋款儐閹瑰洭寮婚敐鍛婵炲棙鍔曠壕鎶芥⒑閸濆嫭婀扮紒瀣灴閸╃偤骞嬮敃鈧婵囥亜閺囩偞鍣洪柍璇诧功缁辨捇宕掑▎鎴濆濡炪們鍔岄幊姗€骞嗗畝鍕<闁绘劙娼х粊锕傛煙閸忚偐鏆橀柛鏂跨焸閹偤宕归鐘辩盎闂佸湱鍎ら崹鐢割敂閳哄懏鍊垫慨姗嗗墻濡插綊鏌曢崶褍顏€殿喕绮欐俊姝岊槼闁革絻鍎崇槐鎾存媴缁涘娈┑鈽嗗亝缁诲牆顕f繝姘亜缁炬媽椴搁弲锝夋偡濠婂啰效闁诡喗锕㈤幊鐘活敆閸屾粣绱查梺鍝勵槸閻楀嫰宕濇惔锝囦笉闁绘劗鍎ら悡娑㈡倶閻愯泛袚闁哥姵锕㈤弻鈩冩媴閻熸澘顫掗悗瑙勬礈閸犳牠銆佸鈧幃鈺呮惞椤愩倝鎷婚梻鍌氬€峰ù鍥х暦閸偅鍙忛柟鎯板Г閳锋梻鈧箍鍎遍ˇ顖炲垂閸岀偞鐓㈡俊顖滃皑缁辨岸鏌ㄥ┑鍡╂Ц缂佲偓鐎n偁浜滈柡宥冨妿閳藉绻涢崼鐔虹煉婵﹨娅e☉鐢稿川椤斾勘鈧劕顪冮妶搴′簼婵炶尙鍠栧畷娲焵椤掍降浜滈柟鍝勬娴滈箖姊洪幐搴㈢┛濠碘€虫搐鍗遍柟鐗堟緲缁秹鏌涢锝囩畼妞ゆ挻妞藉铏圭磼濡搫顫岄悗娈垮櫘閸撴瑨鐏冮梺鍛婁緱閸犳岸宕㈤幖浣光拺闁告挻褰冩禍浠嬫煕鐎n亜顏柟顔斤耿閺佸啴宕掑☉姘箞闂佽鍑界紞鍡涘磻閸℃ɑ娅犳い鎺戝€荤壕濂告煕鐏炲墽鈽夌紒妞﹀洦鐓欓柣鐔告緲椤忣參鏌熼悡搴㈣础闁瑰弶鎸冲畷鐔兼濞戞瑦鐝¢梻鍌氬€搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍌氫壕婵ê宕崢瀵糕偓瑙勬礀缂嶅﹪寮婚崱妤婂悑闁告侗鍨界槐閬嶆煟鎼达紕鐣柛搴ㄤ憾钘濆ù鍏兼綑绾捐法鈧箍鍎遍ˇ浼存偂閺囥垺鐓涢柛銉e劚婵$厧顭胯閸ㄤ即婀侀梺缁樓圭粔顕€顢旈崼鐔虹暢闂傚倷鐒︾€笛呮崲閸屾娑樜旈崨顓犲幒闂佸搫娲㈤崹娲偂閸愵亝鍠愭繝濠傜墕缁€鍫熸叏濡寧纭鹃柦鍐枛閺屾洘绻涜鐎氱兘宕戦妸鈺傗拺缂備焦锚婵洦銇勯弴銊ュ籍闁糕斂鍨藉鎾閳ユ枼鍋撻悽鍛婄叆婵犻潧妫楅埀顒傛嚀閳诲秹宕堕妸锝勭盎闂婎偄娲︾粙鎰板箟妤e啯鐓涢悘鐐靛亾缁€瀣偓瑙勬礋娴滃爼銆佸鈧幃銏$附婢跺澶�
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者