学习交流

企业如何构建ESB平台 (三) ----ESB的标准、规范

2017-06-01 08:40:52 | 来源:中培企业IT培训网

上一章中培伟业IT常青树有关专家讲了企业要发挥ESB的用途,标准化、规范化是捷径。那么,相应地企业要制定哪些标准和规范呢?企业ESB服务成效的度量标准是什么呢?

1章 ESB服务治理标准路线图

在说明企业需要制定的ESB服务标准规范之前,为了更好地理解各类标准规范,我们简单回顾一下国际标准化组织制定的SOA相关服务治理的标准体系。

第一个阶段,XML的创建。可扩展标记语言(XML)是SOA的基石,它规定了服务之间以及服务内部数据交换的格式和结构。

第二个阶段,人们提出了Web服务的概念,出现了三个著名的Web服务标准和规范:简单对象访问协议(SOAP)、Web服务描述语言(WSDL)及通用服务发现和集成协议(UUDI),极大推动Web服务的普及和发展。

第三个阶段,随着SOA推广和普及工作开始加速,出来三个重量级标准SCA/SDO/WS-Policy。SCA和SDO构成了SOA编程模型的基础,而WS-Policy建立了SOA组件之间安全交互的规范。这三个规范的发布,标志着SOA进入了实施阶段。

第四阶段,服务编排与服务治理。随着Web 服务逐渐成为系统架构和实现组织内外的业务流程与业务协作的基础,出现了一种规范、统一、功能强大的服务与业务流程的编排语言,以及与之对应的产品。有两种 Web 服务合成语言:1)业务流程执行语言(WS-BPEL):2) Web服务编排语言(Web WS-CDL)。上述两种语言的目标都是以一种面向过程的方式,把多个Web服务粘合起来。

可以看出,正是国际标准化组织制定的这一系列的标准规范,推动SOA服务化从概念到可实施可落地。

2章 企业SOA技术规范

技术规范是基础技术平台建设成功的重要保障,建设基础技术平台的通用策略是“搭平台、建规范、上应用、跑数据"。对于ESB服务集成平台,标准和规范是前期建设的核心。通过标准和规范的建立,可以明确各业务系统接入集成平台的方式方法,提高接入质量和接入效率,从而保障服务的稳定、高效运行。

ESB全面支持服务及服务常用形式Web Service,简化了服务的创建和封装,并能够灵活地编排服务,以满足敏捷响应业务变化的需要。服务提供方负责处理本系统的业务逻辑,将业务处理进行封装,以webservice形式对外发布。本章节围绕以服务为核心的服务接入规范、服务编码规范、服务管控规范等环节进行说明,如下图所示。

3章 ESB服务接入规范

ESB服务接入规范包括服务调用过程、服务描述、请求报文、响应报文、确认报文、异常报文、报文大小等内容。

1、服务调用过程:描述同步服务调用和异步服务调用过程规范;

2、服务描述规范,说明接口服务的描述形式,服务消费者可以根据服务描述了解服务的技术实现形式、功能和输入/输出等信息。服务描述使用WSDL模式。

3、请求报文规范:服务消费者运行时需要使用SOAP报文与ESB上暴露的服务进行交互。

4、响应报文规范:服务提供者需要使用SOAP报文与ESB进行交互。响应报文的SOAP Body内容由具体的服务描述文件WSDL来定义。

5、确认报文规范:确认报文主要使用在异步调用场景,报文的发送方确认已经正确收到报文。

6、异常报文规范:异常报文在同步、异常场景下都可以用到。在同步场景下作为异常响应报文,在异步场景下作为异常确认报文。服务提供者运行时需要使用SOAP报文与ESB进行交互。

7、报文大小规范:限制单次服务调用所携带的数据量大小,有助于降低服务总线的负载,提高服务总线的性能。

4章ESB服务编码规范

1.应用编码规范

所有的业务支撑系统都需要进行统一的编码,该编码全局唯一并统一管理。 应用系统编码规则参考:<系统域编码>.<系统编码> 。

2.服务编码规范

服务规范化有助于开发人员理解服务的业务意义。服务规范主要应用于服务定义文件WSDL和ESB部署过程中。操作编码规则参考:<应用编码>.<服务名称>

3.操作编码规范

“操作”名称的规范有助于相关人员更直观地理解某操作的业务功能。操作编码规则参考:<动宾短语>+SYN,使用动宾短语表示某一操作的业务功能,该短语不宜过长。

4.异常编码规范

规范化应用系统对外暴露接口的异常信息,有助于相关人员在发现异常时进行准确的问题定位和解决。异常编码规则参考:<应用编码> - <9位编码>。使用应用编码加9位编码的方式可以方便地理解异常编码所发生的应用以及通过编码表查看异常的原因 。

5.请求编码规范

请求编码全局唯一标识了服务消费者的服务请求,该编码是服务消费者每次调用服务时在请求消息的SOAP Header中设置的全局唯一的标识,供服务监控系统进行服务分析用。请求编码规则参考:<应用编码> - <日期 yyyyMMdd> - <10位流水号>

6.版本编码规范

版本是服务操作的版本,是为了服务提供者标识某一操作的不同形式。版本编码规则参考:v<大版本号>.<小版本号>。

5章服务管控技术规范

服务管控规范包括服务注册、服务发布、服务订阅、服务目录等方面。

1、服务注册规范:服务注册包括服务的名称、地址、所属应用、所属机构、描述、创建人、注册时间等属性;

2、服务发布:服务在服务管理平台注册后,可以通过页面操作将服务发布到ESB运行平台,且相同的服务发布到不同环境尽量不需要考虑环境因素。ESB运行环境与服务管理平台分离,即服务发布后,即使服务管理平台发生故障也不影响ESB平台的正常运行。

3、服务订阅:服务总线可对注册的服务进行订阅,当服务发生变化时,将变化信息推送给服务总线端。

4、服务目录:服务目录具备灵活的服务分类功能;服务目录维护功能;服务目录定义功能;服务目录权限控制功能。

6章 ESB服务的度量

企业利用ESB进行服务化改造以后,如何度量服务的运行情况呢?

我们可以通过监控服务调用的成功率、服务响应平均时间、调用违规次数等指标来了解服务的运行情况。可以通过服务调用频次、服务调用排名,来了解哪些服务对企业来说是重要的,需要升级的,哪些服务是不重要,需要降级以至于可以退役的,以此为依据进行服务全生命周期管理。

制定标准和规范总体来说,有利于整个行业的集成能力提升。集成能力建立在公有标准而不是私有标准上,更有利于发挥行业合力。可以降低集成费用,标准化的方式有利于分享传承,提高开发效率,也使得整体服务周期管理更加可预测。

想了解更多IT资讯,请访问中培伟业官网:中培伟业