ESB项目需求和方案设计浅谈_第1页
ESB项目需求和方案设计浅谈_第2页
ESB项目需求和方案设计浅谈_第3页
ESB项目需求和方案设计浅谈_第4页
ESB项目需求和方案设计浅谈_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如同其它IT项目一样,企业服务总线类项目的实施也要经历需求分析、方案设计、编码和测试、上线部署等阶段。下面我们将针对ESB项目的设计和实施过程中各个阶段要完成的主要工作内容和一些最佳实践跟大家作一些讨论,进而希望大家在企业ESB项目实施过程中借鉴科学的方法论的指导来保证其成功。ESB的需求分析需求分析阶段是梳理项目中相关功能需求和非功能需求的重要步骤,它是整个项目成败的关键。在这个阶段我们将从企业业务需求出发,梳理端到端的跨系统业务流程;基于业务流程,依据科学的方法论进行服务鉴别;由服务列表出发,梳理服务的消费和提供关系;然后根据SOA的最佳实践,定义服务的接口,包括服务的Schema描述,字段的类型,编码的规则;依据服务的消费-提供关系,梳理ESB中的服务映射和转换规则和策略。概括而言,我们需要从功能性和非功能性两个方面来进行ESB的需求分析。针对ESB的功能性需求,我们要侧重了解以下方面的问题:1.梳理出要被集成的系统的名称,个数。2.针对每个系统而言,要了解:该系统的对外接口是向外调用,被别人调用,还是二者都有;接口的实时性要求,是实时的还是批量的,还是二者皆有?接口的调用方式,是同步的还是异步的,还是二者皆有?应用系统所运行的操作系统平台。应用系统本身的编程语言?C/C++,Java…..这些系统现有接口的情况,是否已经可以提供对外接口,接口的方式是什么,包括接口的通讯协议是什么,HTTP/MQ/Socket/其它?接口的数据格式是什么,XML/自定义格式/其他行业标准格式?接口的编程语言是什么,Java/C/C++?如果本身不能提供接口,那么要做接口开发时有什么要求或限制条件?这些应用后台数据库的情况,数据库能否直接访问?每个应用跟其他应用交换数据时,源数据格式和目的数据格式,比如从文本格式转换为XML格式?交易特征:哪些处理要采用两阶段提交;是否需要多个消息组成一个交易;是否要保证消息之间的处理顺序;适配器的情况:对于一些特殊系统,是否已经具备现成的适配器;适配器是单向的还是双向的;消息通信的模式:是SendandForget、Request/Reply还是Pub/Sub?辰针对E王SB的非功泻能性需求,惭我们要确认杠:荒1.唇ESB平台箱的扩展性和疫高可用性需榨求,包括H却A和集群等支;久2.退ESB平台狠的性能需求者,主要包括胁系统段间数据盲交换的频率歪,要交换的笨数据的大小枯(消息容大小将直接懒对效率造成厕影响);垦峰值时候对冠ESB数据痛吞吐量、响阵应时间的要妹求等;拼3.柱哪些交易要蓄保证数据传狡输的高可靠造性;类4.及ESB平台泛的可管理性亮需求,如服厅务的生命周吼期管理,E横SB平台零的维护和管巡理;如果企仰业已经设立港了SOA管象控方面狱的规范,那羊么要遵从规驼范的制约,言比如要考虑刚是否有规定米的命名规则钻,企业是否愉有企业级的许数据规范和妄底层通讯协层议的规范等咽;懂5.烈安全性方面且的要求:是齿否采用SS勉L传输加密物,是否对消移息进行加密野/解密处理编等;忆6.当错误处理和肉日志以及平知台本身的运园行监控等方妻面的要求等惊。耗ESB免的方案设计驴方案设摩计的主要内州容包括:骆ESB添涉及IT应链用环境分析肿,定义ES域B与相关应轿用的接口模蛾式;没ESB访架构概要设疑计,并定义织架构原则;铅箩ESB竞相关产品选堡择,包括与廉外围系统的有适配器选择矿和ESB产涨品选择;锄ESB符组件模型设寒计,分解E酿SB的相关贱模块,满足膨SOA的分客离关注点等础架构原则;具今ESB闪运作模型设瞒计,满足平逮台的非功能阵性需求;悬ESB懒平台的服务少流设计,涉民及路由、转颠换和映射等批;舒ESB洲的同步、异藏步或者发布迹/订阅模式缺设计;敌ESB伸平台的接入蜻渠道和数据药接口设计,份包括XML凡/JMS、鹅SOAP/崇HTTP、踪EDI/M年Q等;支ESB摩相关的适配战器设计,包尽括技术适配值器或者自开林发的适配器衔;挺ESB时平台的容错白和重试机制邀设计,包括绢日志等的统泽一管理等;敢拢

图漫1是一游个采用ES蓄B整合的高开层架构设计供举例:巾图1.钱ESB参考愤架构锁

如临图1所蒙示,ESB足架构设计时龟主要驴要因考虑通讯协止议接入和转平换、数据接鹿入和转换、阴数据处理流者程以及服务丰的注册和管首理等方面的庸内容。其中橡通讯协议接锋入和转换是员指对各种被撒集成的应用的系统的通讯迫协议的支持箱和转换能力动,例如HT惰TP、JM胆S、Soc楼ket、F要TP等;数披据接入和转圣换是指对各期种被集成的凳应用系统提鞠供的数据格俯式的支持和际转换能力,燥例如XML挂、SOAP含、自定义格笨式以及符合劝某些行业标屡准的专有格蓬式(SWI捐FT、ED绵I、HL7桂等);数粘据处理流程蚀是指路由、割格式转换、复数据库读写症等对数据的适各种处理;奏统一服务注裙册存储管理比是指对服务迟的注册、发中布、查询,喷以及对运营叠时服务的管朴控,并且提箭供服务运营范状态的统计传分析数据。域ESB毫的组件模型宵图2.滔ESB组件公模型异

图喉2给出厘了一个ES慎B组件模型小的示例,其篮中包含的各日主要组件及驳其功能如下的:伯1.套Messa因geBr次oker号Runti辅me组件提形供消息路由逼、格式转换灵、消息日志忘等操作的运厘行时环境。睁该运行环境拔由IBM缠Messa筑geBr滔oker提咬供;爸2.巷Messa码ging搭Broke穿rIns丧tance柱组件是处理性基于MQ消袖息业务请求愧的容器。它条是作为一个角Broke识r实例运行责在Mess介ageB香roker孟Runt逝ime上的同。该实例提到供了MQ消煌息的业务请桶求处理器、拳服务日志、迁服务定位等涝功能的运行膨容器;蜻3.存WebS盗ervic饺eBro旷kerI姑nstan歉ce组件是矩处理基于W擦ebSe辰rvice燕的业务请求疗的容器,它渠是作为一个骑Broke厚r实例运行土在Mess厦ageB眉roker料Runt筐ime上的算。该实例提淡供了Web贪Serv催ice的业再务请求处理启、服务日志稿、以及服务菊定位等功能你。洗4.随Event裁Brok盲erIn拒stanc侦e组件是平钞台内部处理蛙Pub/S恭ub事件的爆容器。它是泥作为一个B罪roker汽实例运行在颂Messa威geBr佳oker载Runti宾me上的。贿该容器提供启了Even这tHan池dler组悄件的运行环席境,将基于环MQ/JM尽S的事件分筑发到不同平舅台组件的目奏标队列上。喝5.映Messa刑geHa怪ndler恐组件是处理凯基于MQ消霜息的业务请厚求,包括消哲息解析、格锁式转换,服牧务鉴权与认哄证、服务路昌由、服务日滑志等功能。管Messa怎geHa猴ndler吹组件处理M则Q消息的典借型流程如下勿:渔首先对波MQ消息进南行解析,对继解析后的业杠务请求进行浮分析,之后滚通过Aut概henti榜catio缴n与A持uthor刻izati准on组件判矿断该请求者夹的业务请求拉是否可以进席行后续处理靠;们通过S痒ervic闲eLoc海ating藏组件对该业座务请求进行个服务定位与鬼路由;析丈将基于安MQ的业务仍请求消息转沾换成Web裹Serv晴ice的业济务请求消息锡;侄通过S夜ervic前eLog搬ging组响件对整个业奶务请求进行痛日志记录;澡撇返回业忍务请求处理材结果给业务裳发起者,如殿果失败,返很回错误消息怠。弟6.恼WebS缘ervic怠eHan净dler组乞件是处理基五于Web位Servi即ce的业务颂请求,与M副essag至eHan嗽dler组倘件功能类似抚,也包括消豪息解析、格轰式转换,服参务鉴权与认漠证、服务路尾由、服务日述志等功能。鞋WebS冶ervic芦eHan区dler组口件处理We寨bSer歼vice请剥求的典型流似程如下:证首先对途WebS厅ervic毅e请求消息胸进行解析,娇对解析后的光业务请求进伪行分析,之祖后通过Au寄thent书icati脖on与Au码thori怜zatio武n组件判断削该请求者的包业务请求是迅否可以进行头后续处理;兄批通过S泪ervic碗eLoc忘ating牺组件对该业白务请求进行蠢服务定位与沃路由;孙通过钉Servi请ceLo淹gging径组件对整是个业务请求缺进行日志记敲录;迅返回业饭务请求处理景结果给业务倚发起者,如路果失败,返其回错误消息晨。彼7.是Event动Hand匠ler组件号实现对Pu趟b/Sub帅的处理。症8.管Servi典ceLo腰catin泉g组件负责帽根据业务请使求定位具体破的服务提供母者。Ser怖vice好Locat缝ing通过唉对服务目录傍的查询选择校适合的服务广进行后续的叫调用,该查灌询工作可以围通过实时的块服务目录查洁询获得结果织。冰9.孩Servi添ceLo沟gging毫组件负责记好录整个业务读请求处理过亡程中的情况链,该组件的丸实现可以通贷过文件或者川数据库的方岂式。喷10.故Auth加entic克ation浆组件负责对冷业务请求者都进行鉴权,钢判断该业务占请求者是否槐可以访问平虑台服务,唯该鉴权角的工作在企狠业服务总线幼的外部进行并,Auth兆entic扇ation修组件只是调乔用外部功能谱完成。多11.假Auth愤oriza妙tion组赤件判断业务涛请求者是否谱具备访问某禁特定服务的柱权限,该验俯证权限的工鄙作在企业服倾务总线的外嗽部进行,A霸uthor序izati穗on组件悼只是调用外坝部功能完成径。象以处理帆基于MQ消滔息输入为例层,ESB的嗓组件交互图场如图3短所示:颗图3们.ESB类组件交互图犯

E胸SB方案设引计时的最佳犯实践闹根据我意们以往项目阳设计和开发关时的一些经躲验,我们建继议进行ES惭B的方案设察计时要遵循骆下述最佳实斧践:愧确定标灰准的使用:亏使用与否、轨使用到什么代程度;杜确定在ES敌B上实现的骤业务逻辑:温ESB是一伏个服务路由勇和转换中心言,而不是一丘个应用服务绕器,因此它琴并不能取代粪应有服务器绝。复杂的消斯息解析和转救换相比简单曾的路由操作冒所需消耗的姥成本要高的惰多,因此在骗ESB上应榨该主要考虑鬼路由、格式谊转换、服务料调用等问题漏,而对于数勉据本身的处跌理应该交给默相应的应用明来完成;收确定消知息格式:从崭标准化的角枝度而言,X窗ML当然是滥首选,但是云从解析/办处理性能银、行业标准荒以及对现有菌应用的最大既兼容性的角尾度而撑言,可能会廊采用某些特著定格式,例原如EDI、因SWITF绳、平文本或违者自定义格虹式等;广区别消映息头和消息惯体:把数据匆的Meta惠-data篇,例如:安黄全相关的信失息、日志的距等级、请求专端的标识等封放在消息头冈中,而不要聪放在消息体预中。这样可效以很容易地视改变其内容申及其对其的惭处理逻辑。壶在ESB中还只处理消息纳头,避免对总消息体的解爹析;别设计时历参考ESB絮相关的成熟纹Patte轨rns;版使用服刚务注册库:税如需要服务拢Endpo内int的查岛找:推荐从诚服务注册中淹心进行查找暖,这样的好宾处在于:服逆务提供者可浩以容易地发赛布新的服务尸,服务提供撇者和ESB茫之间的耦合排度可以更低摄,通过关于少服务本身的呆Metad这ata来进侮行服务的查拣找和路由;悟肉注重性拼能和高可用肝性的考虑;算猛在必须魄的情况下考伞虑交易完整弯性;馋适配器旦的采用:应陕用系统通过供适配器实现色与ESB牢的双向交概互,适配器鉴主要分为技拿术适配器、轧应用适配器梳两种,适配画器的物理部趁署可以与E腔IS部署在投一起、或者弟与ESB部缴署在一起,冶也可以单独舟部署,在适袭配器设计时逗要考虑通信默协议和消息昆格式两个方场面;舟隔多E精SB的设翻计:ESB捐也是一个粮逻辑的组件府,在一个企毕业里可能筒需要多个E块SB,例如指:企业内部疏ESB连接撤企业内部各辜个系统,外准部ESB实木现企业与合旬作伙伴等的炉外部连接;悲再如:企业谁内部可能存庆在若干个部者门级ESB绳和一个全企普业ESB;停侨确定服枕务版本控制壳策略;象确定端乓到端的切QoS期准则;模注重安意全性;哑确定I堡T部门ES堡B平台的负驴责主体,长凤期的投入。舌景具ESB的蓬安全性考虑摄对于E膀SB的安全香性考虑,主朽要有两种方樱式,第一种胆方式是通过辉ESB内部咏的Medi购ation屿节点来进行系服务请求者雪的认证/晶授权;另展一种是调用旅一个外部服权务进行服务常请求者的认含证/授拖权,如图4垫所示,图中冒给出了这两柏种方式的示健意图,具体拿实施时可以宰进行选择。稍图4琴.ESB畜的两种安全州实现方式逝番运行在ES驻B平台上的兔服务的管理为和监控段当一个晃企业开始它趟的SOA之禽旅时,开始漆阶段通常会抗选取一个具骗体的项目进抚行SOA粘的尝试,烧然后便会逐柿步走向全企怠业采纳,这喉时,大多数沈企业都会面钱临一个问题萍,那就是服百务越来越多派,对这些服絮务目录的管絮理出现了很扒多问题,例加如:所有与茧服务相关的课信息是如何水被管理的,虏包括存储、咐管理、维护园、存取等?吧服务请求者党如何决定使药用哪个服务替?服务请求南者如何定位馒服务的E碍ndpoi搭nt?当服纤务信息发生故改变时如何斑得到通知?拖因此我劳们建议用户够在尽可能早赠的情况下考钓虑服务注册状中心的建设唤,所谓服务尖注册中心是脸一个企业范牢围内的服务蛮信息的存储钻库,该存储继库存储了企意业中注册的陷服务和服务污相关的信息六,它的主要想功能包括:衔采用集走中的方式来宗管理服务相轨关的信息,夜为服务元数片据同时提供蓬“注册中心锈”功能,允妙许用户存储煌、管理和查朴询包含服务壶描述的服务优元数据构件狠;禁提供服宾务的治理功最能,实现整纪个服务生命倾周期的管理摄;砖提供服霸务间依赖、之包容关系的来管理;父提供分规类和版本控道制等功能;狮种提供服跳务发现和通屡知等能力等砖。疲除了服眨务注册中心袭的考虑之外沸,我们还要没考虑对服务甜的管理。服累务不仅具有料特定的功能疤,还应该满阵足一些诸如郊性能、可用绳性、安全性糠等扑QoS俱指标。服务发响应的快慢延、什么时间修可用、可以申被谁调用、刮在某个时间扑段里能被调衣用多少次、任哪些事件要宽记录日志,寇这些都是服肃务管理要考怨虑的问题。路通过服务注职册中心和服扰务监控平台症的有机配合冈,我们可以碗根据服务的锤响应时间、乔服务可用与痕否等策略来磁实现对服务政的动态访问绍。让我们来侵看一个例子距:期图5.确使用服务监欣控平台之前级ESB的服蹲务请求和响辜应授图6.赌使用服务监启控平台之后数ESB的服拣务请求和响浆应百

如蜓图5和会图6所化示,我们可萍以利用服务挠监控平台对疼服务进行监它控和统计分解析,从而使丘ESB平台发可以根据服铸务提供者的弃性能优劣来漆动态地绑定建和调用高性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论