版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如同其它IT项目一样,企业服务总线类项目的实施也要经历需求分析、方案设计、编码和测试、上线部署等阶段。下面我们将针对ESB项目的设计和实施过程中各个阶段要完成的主要工作内容和一些最佳实践跟大家作一些讨论,进而希望大家在企业ESB项目实施过程中借鉴科学的方法论的指导来保证其成功。ESB的需求分析需求分析阶段是梳理项目中相关功能需求和非功能需求的重要步骤,它是整个项目成败的关键。在这个阶段我们将从企业业务需求出发,梳理端到端的跨系统业务流程;基于业务流程,依据科学的方法论进行服务鉴别;由服务列表出发,梳理服务的消费和提供关系;然后根据SOA的最佳实践,定义服务的接口,包括服务的Schema描述,字
2、段的类型,编码的规则;依据服务的消费提供关系,梳理ESB中的服务映射和转换规则和策略。概括而而言,我我们需要要从功能能性和非非功能性性两个方方面来进进行ESSB的需需求分析析。针对EESB的的功能性性需求,我我们要侧侧重了解解以下方方面的问问题:1. 梳理出出要被集集成的系系统的名名称,个个数。2. 针对每每个系统统而言,要要了解:该系统统的对外外接口是是向外调调用,被被别人调调用,还还是二者者都有; 接口的的实时性性要求,是是实时的的还是批批量的,还还是二者者皆有? 接口的的调用方方式,是是同步的的还是异异步的,还还是二者者皆有? 应用系系统所运运行的操操作系统统平台。 应用系系统本身身的编
3、程程语言?C/CC+, Jaava. 这些系系统现有有接口的的情况,是是否已经经可以提提供对外外接口,接接口的方方式是什什么,包包括接口口的通讯讯协议是是什么,HHTTPP/MQQ/Soockeet/ 其它?接口的的数据格格式是什什么,XXML/ 自定定义格式式 / 其他行行业标准准格式?接口的的编程语语言是什什么,JJavaa/C/C+?如果果本身不不能提供供接口,那那么要做做接口开开发时有有什么要要求或限限制条件件? 这些应应用后台台数据库库的情况况,数据据库能否否直接访访问? 每个应应用跟其其他应用用交换数数据时,源源数据格格式和目目的数据据格式,比比如从文文本格式式转换为为 XMML
4、格格式? 交易特特征:哪哪些处理理要采用用两阶段段提交;是否需需要多个个消息组组成一个个交易;是否要要保证消消息之间间的处理理顺序; 适配器器的情况况:对于于一些特特殊系统统,是否否已经具具备现成成的适配配器;适适配器是是单向的的还是双双向的; 消息通通信的模模式:是是Sennd aand Forrgett、Reequeest/Repply还还是Puub/SSub? 针对EESB的的非功能能性需求求,我们们要确认认:1. ESBB平台的的扩展性性和高可可用性需需求,包包括HAA和集群群等;2. ESBB平台的的性能需需求,主主要包括括系统间间数据交交换的频频率,要要交换的的数据的的大小 ( 消
5、消息大小小将直接接对效率率造成影影响 );峰值值时候对对ESBB数据吞吞吐量、响响应时间间的要求求等;3. 哪些交交易要保保证数据据传输的的高可靠靠性;4. ESBB平台的的可管理理性需求求,如服服务的生生命周期期管理,EESB 平台的的维护和和管理;如果企企业已经经设立了了SOAA管控方方面的规规范,那那么要遵遵从规范范的制约约,比如如要考虑虑是否有有规定的的命名规规则,企企业是否否有企业业级的数数据规范范和底层层通讯协协议的规规范等;5. 安全性性方面的的要求:是否采采用SSSL传输输加密,是是否对消消息进行行加密/解密处处理等;6. 错误处处理和日日志以及及平台本本身的运运行监控控等方面
6、面的要求求等。ESBB的方案案设计方案设设计的主主要内容容包括:ESBB涉及IIT应用用环境分分析,定定义ESSB与相相关应用用的接口口模式; ESBB架构概概要设计计,并定定义架构构原则; ESBB相关产产品选择择,包括括与外围围系统的的适配器器选择和和ESBB产品选选择; ESBB组件模模型设计计,分解解ESBB的相关关模块,满满足SOOA的分分离关注注点等架架构原则则; ESBB运作模模型设计计,满足足平台的的非功能能性需求求; ESBB平台的的服务流流设计,涉涉及路由由、转换换和映射射等; ESBB的同步步、异步步或者发发布/订订阅模式式设计; ESBB平台的的接入渠渠道和数数据接口口
7、设计,包包括XMML/JJMS、SSOAPP/HTTTP、EEDI/MQ 等; ESBB相关的的适配器器设计,包包括技术术适配器器或者自自开发的的适配器器; ESBB平台的的容错和和重试机机制设计计,包括括日志等等的统一一管理等等; 图图 1 是一个个采用EESB整整合的高高层架构构设计举举例:图 1. ESBB参考架架构 如如图 11 所示示,ESSB架构构设计时时主要要要考虑通通讯协议议接入和和转换、数数据接入入和转换换、数据据处理流流程以及及服务的的注册和和管理等等方面的的内容。其其中通讯讯协议接接入和转转换是指指对各种种被集成成的应用用系统的的通讯协协议的支支持和转转换能力力,例如如H
8、TTTP、JJMS、SSockket、FFTP等等;数据据接入和和转换是是指对各各种被集集成的应应用系统统提供的的数据格格式的支支持和转转换能力力,例如如XMLL、SOOAP、自自定义格格式以及及符合某某些行业业标准的的专有格格式(SSWIFFT、EEDI、HHL7 等);数据处处理流程程是指路路由、格格式转换换、数据据库读写写等对数数据的各各种处理理;统一一服务注注册存储储管理是是指对服服务的注注册、发发布、查查询,以以及对运运营时服服务的管管控,并并且提供供服务运运营状态态的统计计分析数数据。ESBB的组件件模型图 2. ESBB组件模模型 图图 2 给出了了一个EESB组组件模型型的示例
9、例,其中中包含的的各主要要组件及及其功能能如下:1. Messsagge BBrokker Runntimme组件件提供消消息路由由、格式式转换、消消息日志志等操作作的运行行时环境境。该运运行环境境由IBBM MMesssagee Brrokeer提供供;2. Messsaggingg Brrokeer IInsttancce组件件是处理理基于MMQ消息息业务请请求的容容器。它它是作为为一个BBrokker实实例运行行在Meessaage Brookerr Ruuntiime上上的。该该实例提提供了MMQ消息息的业务务请求处处理器、服服务日志志、服务务定位等等功能的的运行容容器;3. Webb
10、 Seerviice Brookerr Innstaancee组件是是处理基基于Weeb SServvicee的业务务请求的的容器,它它是作为为一个BBrokker实实例运行行在Meessaage Brookerr Ruuntiime上上的。该该实例提提供了WWeb Serrvicce的业业务请求求处理、服服务日志志、以及及服务定定位等功功能。4. Eveent Brookerr Innstaancee组件是是平台内内部处理理Pubb/Suub事件件的容器器。它是是作为一一个Brrokeer实例例运行在在Messsagge BBrokker Runntimme上的的。该容容器提供供了Evven
11、tt Haandller组组件的运运行环境境,将基基于MQQ/JMMS的事事件分发发到不同同平台组组件的目目标队列列上。5. Messsagge HHanddlerr组件是是处理基基于MQQ消息的的业务请请求,包包括消息息解析、格格式转换换,服务务鉴权与与认证、服服务路由由、服务务日志等等功能。MMesssagee Haandller组组件处理理MQ消消息的典典型流程程如下:首先对对MQ消消息进行行解析,对对解析后后的业务务请求进进行分析析,之后后通过AAuthhentticaatioon 与与 Auuthoorizzatiion组组件判断断该请求求者的业业务请求求是否可可以进行行后续处处理;
12、 通过SServvicee Loocattingg组件对对该业务务请求进进行服务务定位与与路由;将将基于MMQ的业业务请求求消息转转换成WWeb Serrvicce的业业务请求求消息; 通过SServvicee Looggiing组组件对整整个业务务请求进进行日志志记录; 返回业业务请求求处理结结果给业业务发起起者,如如果失败败,返回回错误消消息。 6. Webb Seerviice Hanndleer组件件是处理理基于WWeb Serrvicce的业业务请求求,与MMesssagee Haandller组组件功能能类似,也也包括消消息解析析、格式式转换,服服务鉴权权与认证证、服务务路由、服服
13、务日志志等功能能。Weeb SServviceeHaandller组组件处理理Webb Seerviice请请求的典典型流程程如下:首先对对Webb Seerviice请请求消息息进行解解析,对对解析后后的业务务请求进进行分析析,之后后通过AAuthhentticaatioon与AAuthhoriizattionn组件判判断该请请求者的的业务请请求是否否可以进进行后续续处理; 通过SServvicee Loocattingg组件对对该业务务请求进进行服务务定位与与路由; 通过 Serrvicce LLogggingg 组件件对整个个业务请请求进行行日志记记录; 返回业业务请求求处理结结果给业业
14、务发起起者,如如果失败败,返回回错误消消息。 7. Eveent Hanndleer组件件实现对对Pubb/Suub的处处理。8. Serrvicce LLocaatinng组件件负责根根据业务务请求定定位具体体的服务务提供者者。Seerviice Loccatiing通通过对服服务目录录的查询询选择适适合的服服务进行行后续的的调用,该该查询工工作可以以通过实实时的服服务目录录查询获获得结果果。9. Serrvicce LLogggingg组件负负责记录录整个业业务请求求处理过过程中的的情况,该该组件的的实现可可以通过过文件或或者数据据库的方方式。10. Auutheentiicattionn
15、组件负负责对业业务请求求者进行行鉴权,判判断该业业务请求求者是否否可以访访问平台台服务,该鉴权的工作在企业服务总线的外部进行,Authentication组件只是调用外部功能完成。11. Auuthoorizzatiion组组件判断断业务请请求者是是否具备备访问某某特定服服务的权权限,该该验证权权限的工工作在企企业服务务总线的的外部进进行,AAuthhoriizattionn 组件件只是调调用外部部功能完完成。以处理理基于MMQ消息息输入为为例,EESB的的组件交交互图如如图 33 所示示:图 33. EESB组组件交互互图 EESB方方案设计计时的最最佳实践践根据我我们以往往项目设设计和开开
16、发时的的一些经经验,我我们建议议进行EESB的的方案设设计时要要遵循下下述最佳佳实践:确定标标准的使使用:使使用与否否、使用用到什么么程度; 确定在ESSB上实实现的业业务逻辑辑:ESSB是一一个服务务路由和和转换中中心,而而不是一一个应用用服务器器,因此此它并不不能取代代应有服服务器。复复杂的消消息解析析和转换换相比简简单的路路由操作作所需消消耗的成成本要高高的多,因因此在EESB上上应该主主要考虑虑路由、格格式转换换、服务务调用等等问题,而而对于数数据本身身的处理理应该交交给相应应的应用用来完成成; 确定消消息格式式:从标标准化的的角度而而言,XXML当当然是首首选,但但是从解解析 / 处
17、理理性能、行行业标准准以及对对现有应应用的最最大兼容容性的角角度而言言,可能能会采用用某些特特定格式式,例如如EDII、SWWITFF、平文文本或者者自定义义格式等等; 区别消消息头和和消息体体:把数数据的MMetaa-daata,例例如:安安全相关关的信息息、日志志的等级级、请求求端的标标识等放放在消息息头中,而而不要放放在消息息体中。这这样可以以很容易易地改变变其内容容及其对对其的处处理逻辑辑。在EESB中中只处理理消息头头,避免免对消息息体的解解析; 设计时时参考EESB相相关的成成熟Paatteernss; 使用服服务注册册库:如如需要服服务Enndpoointt的查找找:推荐荐从服务
18、务注册中中心进行行查找,这这样的好好处在于于:服务务提供者者可以容容易地发发布新的的服务,服服务提供供者和EESB之之间的耦耦合度可可以更低低,通过过关于服服务本身身的Meetaddataa来进行行服务的的查找和和路由; 注重性性能和高高可用性性的考虑虑; 在必须须的情况况下考虑虑交易完完整性; 适配器器的采用用:应用用系统通通过适配配器实现现与 EESB 的双向向交互,适适配器主主要分为为技术适适配器、应应用适配配器两种种,适配配器的物物理部署署可以与与EISS部署在在一起、或或者与EESB部部署在一一起,也也可以单单独部署署,在适适配器设设计时要要考虑通通信协议议和消息息格式两两个方面面;
19、多多 ESSB 的的设计:ESBB 也是是一个逻逻辑的组组件,在在一个企企业里可可能需要要多个EESB,例例如:企企业内部部ESBB连接企企业内部部各个系系统,外外部ESSB实现现企业与与合作伙伙伴等的的外部连连接;再再如:企企业内部部可能存存在若干干个部门门级ESSB和一一个全企企业ESSB; 确定服服务版本本控制策策略; 确定端端到端的的QoSS准则; 注重安安全性; 确定IIT部门门ESBB平台的的负责主主体,长长期的投投入。 ESBB的安全全性考虑虑对于EESB的的安全性性考虑,主主要有两两种方式式,第一一种方式式是通过过ESBB内部的的Meddiattionn节点来来进行服服务请求求
20、者的认认证 / 授权权;另一一种是调调用一个个外部服服务进行行服务请请求者的的认证 / 授授权,如如图4所所示,图图中给出出了这两两种方式式的示意意图,具具体实施施时可以以进行选选择。图 44. EESB的的两种安安全实现现方式 运运行在EESB平平台上的的服务的的管理和和监控当一个个企业开开始它的的SOAA之旅时时,开始始阶段通通常会选选取一个个具体的的项目进进行 SSOA 的尝试试,然后后便会逐逐步走向向全企业业采纳,这这时,大大多数企企业都会会面临一一个问题题,那就就是服务务越来越越多,对对这些服服务目录录的管理理出现了了很多问问题,例例如:所所有与服服务相关关的信息息是如何何被管理理的
21、,包包括存储储、管理理、维护护、存取取等?服服务请求求者如何何决定使使用哪个个服务?服务请请求者如如何定位位服务的的 Enndpoointt?当服服务信息息发生改改变时如如何得到到通知?因此我我们建议议用户在在尽可能能早的情情况下考考虑服务务注册中中心的建建设,所所谓服务务注册中中心是一一个企业业范围内内的服务务信息的的存储库库,该存存储库存存储了企企业中注注册的服服务和服服务相关关的信息息,它的的主要功功能包括括:采用集集中的方方式来管管理服务务相关的的信息,为为服务元元数据同同时提供供“注册册中心”功功能,允允许用户户存储、管管理和查查询包含含服务描描述的服服务元数数据构件件; 提供服服务
22、的治治理功能能,实现现整个服服务生命命周期的的管理; 提供服服务间依依赖、包包容关系系的管理理; 提供分分类和版版本控制制等功能能; 提供服服务发现现和通知知等能力力等。 除了服服务注册册中心的的考虑之之外,我我们还要要考虑对对服务的的管理。服服务不仅仅具有特特定的功功能,还还应该满满足一些些诸如性性能、可可用性、安安全性等等QoSS指标。服服务响应应的快慢慢、什么么时间可可用、可可以被谁谁调用、在在某个时时间段里里能被调调用多少少次、哪哪些事件件要记录录日志,这这些都是是服务管管理要考考虑的问问题。通通过服务务注册中中心和服服务监控控平台的的有机配配合,我我们可以以根据服服务的响响应时间间、服务务可用与与否等策策略来实实现对服服务的动动态访问问。让我我们来看看一个例例子:图 5. 使用服服务监控控平台之之前ESSB的服服务请求求和响应应图 6. 使用服服务监控控平台之之后ESSB的服服务请求求和响应应 如如图 55 和图图 6 所示,我我们可以以利用服服务监控控平台
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行员工福利待遇制度
- 酒店餐饮服务规范制度
- 八年级英语Ontheradio课件
- 教师扎根乡村奉献青春演讲稿(31篇)
- 《试模问题处理》课件
- 2025届北京市第101中学高三第五次模拟考试数学试卷含解析
- 山西省静乐县第一中学2025届高考英语考前最后一卷预测卷含解析
- 2025届上海市6校高三下学期第五次调研考试语文试题含解析
- 2025届安徽省六安市高三压轴卷英语试卷含解析
- 10.1《劝学》课件 2024-2025学年统编版高中语文必修上册-1
- 伤情评估和战场伤员分类(江)
- 小学英语l六年级测试试卷答题卡
- 焊锡作业标准
- 深圳包装木箱生产工艺的流程
- 生活中的数学(课堂PPT)
- 医疗环境表面清洁与消毒PPT课件
- 年产20万吨过磷酸钙生产工艺设计
- 专业合作社盈余及盈余分配表
- 日处理300吨鲜乳的全脂乳粉的车间工艺设计
- 新概念英语第一册Lesson11-12-
- 良好农业规范认证实施规则(试行)
评论
0/150
提交评论