最新基于ESB系统的服务接口规范全解.docx
- 文档编号:29341887
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:30
- 大小:521.63KB
最新基于ESB系统的服务接口规范全解.docx
《最新基于ESB系统的服务接口规范全解.docx》由会员分享,可在线阅读,更多相关《最新基于ESB系统的服务接口规范全解.docx(30页珍藏版)》请在冰豆网上搜索。
最新基于ESB系统的服务接口规范全解
基于ESB系统的服务接口规范全解
Q/TXN
南车株洲电机有限公司企业标准
Q/TXN**-***.*-2015
基于ESB系统的服务接口规范
2015-11–**发布
2015-11–**实施
南车株洲电机有限公司发布
前 言
本标准按照GB/T1.1-2009给出的规则起草。
目前公司内部上线应用的系统较多(例如ERP、PDM、HCM、AD域等),各系统间接口集成技术不统一,交换信息格式差异大,接口集成欠缺规范化和标准化,在业务系统接口需求不断增加的情况下,系统集成更趋复杂化,将造成大量的系统开发及维护工作,也很难确保数据的一致性。
因此,无论从管理或技术角度考虑,都必须建立公司的服务接口规范,从而按照规范要求进行现有系统集成接口的改造及统一管理,严格要求新的接口必须按照规范要求进行开发及管理,从而使各业务系统接口集成趋于规范化。
本标准由信息技术部提出。
本标准由技术中心(研究院)技术管理部归口。
本标准由信息技术部负责起草。
本标准主要起草人:
何小红、王浩亮、张凯。
基于ESB系统的服务接口规范
1 范围
本规范规定了公司信息系统间数据交互的技术要求,确保信息系统间数据交互的安全与稳定。
本规范适用于株洲电机及其下属业务单元信息业务系统间数据的交互、共享。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
3 术语及定义
3.1 ESB
EnterpriseServiceBus企业服务总线
3.2 ESBSERVER
提供多协议的支持以及为服务运行提供了高性能、高可靠的运行环境和方便的扩展机制,为PrimetonESB融入企业IT环境提供了有效支撑及管控手段,不依赖于J2EE容器的特性大大提升了性能。
3.3 ESBSAM
ESB软件资产管理模块,提供服务注册、服务查找、SLA管理等功能。
3.4 ESBSSM
ESB服务监控模块,提供ESB Server运行时数据的存储、分析能力,增强客户感知度。
3.5 ESBConsole
ESB控制台,对独立和集群环境中的ESBServer进行管理,同时对于服务全生命周期进行管理。
3.6 Webservice
Webservice是一套标准,它定义了应用程序如何在Web上实现互操作性。
可以使用任何语言,在任何平台上编写Webservice。
可以通过Webservice标准对这些服务进行查询和访问。
3.7 ESB服务提供方
是指ESB服务接口的开发提供方,为调用方提供接口服务。
3.8 ESB服务调用方
是指ESB服务接口的调用方,调用注册在ESB平台上的服务接口。
3.9 ESB服务管理方
是指ESB服务接口的集中管理方,负责ESB服务的注册、发布、监控等。
4 基于ESB的服务接口规范
4.1 核心业务系统范围
公司核心业务系统如下:
1——ERP:
企业资源计划EnterpriseResourcePlanning
2——PLM:
产品生命周期管理ProductLifeCycleManagement
3——OA:
办公自动化OfficeAutomation
4——HCM:
人力资本管理系统HumanCapitalManagement
5——ITSM:
IT服务管理系统ITServiceManagement
6——TDM:
试验数据管理系统TestDataManagement
7——RTX:
腾讯通(企业实时通讯平台)RealTimeeXpert
8——AD:
域活动目录ActiveDirectory
4.2 信息系统接口开发原则
信息系统之间的接口开发应采用ESB总线集成方式。
4.3 基于ESB的应用集成架构
基于ESB的信息系统集成总体架构见下图。
架构模式图
4.4 ESB总线服务接口工作原理
基于ESB的信息系统服务接口工作原理见下图。
统一服务工作原理图
服务提供方负责处理本系统的业务逻辑,将业务处理进行封装,以webservice形式对外发布。
服务管理方负责将服务接口在ESB总线服务管理平台中进行集中管理。
服务调用方负责调用统一服务注册中心中的服务。
“服务调用方”和“服务提供方”是一对抽象的逻辑概念。
对于一个具体的应用系统来说,它既可能是服务调用方,也可能是服务提供方,或者同时具备两种角色。
4.5 ESB服务规范
服务描述规范
服务描述规范主要说明接口服务的描述形式,服务使用者就可以根据服务描述了解服务的技术实现形式、功能和输入/输出等信息。
业务系统向外暴露的服务和ESB向外暴露的服务都需要通过WSDL的方式进行描述,这样使得相关人员可以根据WSDL开发服务调用客户端,WSDL需遵循如下相关标准:
a标准
b版本
cWSDL
dWSDL1.1
eWS-I
fWS-IBasicProfile1.1
g1)soap-"http:
//schemas.xmlsoap.org/soap/envelope/"
h2)xsi-"http:
//www.w3.org/2001/XMLSchema-instance"
i3)xsd-"http:
//www.w3.org/2001/XMLSchema"
j4)soapenc-"http:
//schemas.xmlsoap.org/soap/encoding/"
k5)wsdl-"http:
//schemas.xmlsoap.org/wsdl/"
l6)soapbind-"http:
//schemas.xmlsoap.org/wsdl/soap/"
备注:
对于业务系统如何规划WSDL文件不在本规范讨论范围内。
请求报文规范
相关标准:
服务消费者[服务客户端]运行时需要使用SOAP报文与ESB上暴露的服务进行交互,需遵循如下相关标准:
m标准
n版本
oSOAP
pSOAP1.1
qWS-I
rWS-IBasicProfile1.1
s1)soap-"http:
//schemas.xmlsoap.org/soap/envelope/"
t2)xsi-"http:
//www.w3.org/2001/XMLSchema-instance"
u3)xsd-"http:
//www.w3.org/2001/XMLSchema"
v4)soapenc-"http:
//schemas.xmlsoap.org/soap/encoding/"
w5)wsdl-"http:
//schemas.xmlsoap.org/wsdl/"
x6)soapbind-"http:
//schemas.xmlsoap.org/wsdl/soap/"
SOAPHeader:
服务消费者[服务客户端]调用服务的还需设置SOAPHeader内容,具体如下:
属性
名称
数据类型
说明
Version
版本
字符型
1)被调用服务操作的版本标识;
2)关于版本编码详见“5.5版本编码规范”章节;
RequestID-BIZ
1)
RequestID-ESB
请求编码
字符型
2)服务调用客户端提交的请求的唯一标识;
3)应用系统和服务总线任何一方发现SOAPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
4)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
5)关于请求编码详见“5.4请求编码规范”章节;
AppID
应用编码
字符型
1)应用编码,即发起请求的应用系统的编码;
2)关于应用编码详见“5.6应用编码规范”章节;
HTTPHeader:
服务消费者[服务客户端]调用服务的还需设置HTTPHeader内容,具体如下:
属性
名称
数据类型
说明
Version
版本
字符型
1)被调用服务操作的版本标识;
2)关于版本编码详见“5.5版本编码规范”章节;
RequestID
请求编码
字符型
1)服务调用客户端提交的请求的唯一标识;
2)应用系统和服务总线任何一方发现HTTPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
3)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
4)关于请求编码详见“5.4请求编码规范”章节;
AppID
应用编码
字符型
1)应用编码,即发起请求的应用系统的编码;
2)关于应用编码详见“5.6应用编码规范”章节;
SOAPBody:
请求报文的SOAPBody内容由具体的服务描述文件WSDL来定义。
响应报文规范
相关标准:
服务提供者运行时需要使用SOAP报文与ESB进行交互,并遵循如下相关标准:
y标准
zz版本
aaSOAP
bbSOAP1.1
ccWS-I
ddWS-IBasicProfile1.1
ee1)soap-"http:
//schemas.xmlsoap.org/soap/envelope/"
ff2)xsi-"http:
//www.w3.org/2001/XMLSchema-instance"
gg3)xsd-"http:
//www.w3.org/2001/XMLSchema"
hh4)soapenc-"http:
//schemas.xmlsoap.org/soap/encoding/"
ii5)wsdl-"http:
//schemas.xmlsoap.org/wsdl/"
jj6)soapbind-"http:
//schemas.xmlsoap.org/wsdl/soap/"
SOAPHeader:
服务提供者返回结果时还需设置SOAPHeader内容,具体如下:
属性
名称
数据类型
说明
RequestID-BIZ
RequestID-ESB
请求编码
字符型
1)服务调用客户端提交的请求的唯一标识;
2)应用系统和服务总线任何一方发现SOAPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
3)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
4)关于请求编码详见“5.4请求编码规范”章节;
HTTPHeader:
服务提供者返回结果时还需设置HTTPHeader内容,具体如下:
属性
名称
数据类型
说明
RequestID
请求编码
字符型
1)服务调用客户端提交的请求的唯一标识;
2)应用系统和服务总线任何一方发现HTTPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
3)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
4)关于请求编码详见“5.4请求编码规范”章节;
SOAPBody:
响应报文的SOAPBody内容由具体的服务描述文件WSDL来定义。
确认报文规范
确认报文主要使用在异步调用场景,有请求报文的接受方向报文的发送方确认已经正确收到报文。
相关标准:
服务提供者运行时需要使用SOAP报文与ESB进行交互,并遵循如下相关标准:
标准
版本
SOAP
SOAP1.1
WS-I
WS-IBasicProfile1.1
1)soap-"http:
//schemas.xmlsoap.org/soap/envelope/"
2)xsi-"http:
//www.w3.org/2001/XMLSchema-instance"
3)xsd-"http:
//www.w3.org/2001/XMLSchema"
4)soapenc-"http:
//schemas.xmlsoap.org/soap/encoding/"
5)wsdl-"http:
//schemas.xmlsoap.org/wsdl/"
6)soapbind-"http:
//schemas.xmlsoap.org/wsdl/soap/"
SOAPHeader:
服务提供者返回结果时还需设置SOAPHeader内容,具体如下:
属性
名称
数据类型
说明
RequestID
请求编码
字符型
1)服务调用客户端提交的请求的唯一标识;
2)应用系统和服务总线任何一方发现SOAPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
3)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
HTTPHeader:
服务提供者返回结果时还需设置HTTPHeader内容,具体如下:
属性
名称
数据类型
说明
RequestID
请求编码
字符型
1)服务调用客户端提交的请求的唯一标识;
2)应用系统和服务总线任何一方发现HTTPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
3)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
SOAPBody:
确认报文的SOAPBody内容为“OK”。
异常报文规范
异常报文在同步、异常场景下都可以用到。
在同步场景下作为异常响应报文,在同步场景下作为异常确认报文。
相关标准:
服务提供者运行时需要使用SOAP报文与ESB进行交互,并遵循如下相关标准:
标准
版本
SOAP
SOAP1.1
WS-I
WS-IBasicProfile1.1
1)soap-"http:
//schemas.xmlsoap.org/soap/envelope/"
2)xsi-"http:
//www.w3.org/2001/XMLSchema-instance"
3)xsd-"http:
//www.w3.org/2001/XMLSchema"
4)soapenc-"http:
//schemas.xmlsoap.org/soap/encoding/"
5)wsdl-"http:
//schemas.xmlsoap.org/wsdl/"
6)soapbind-"http:
//schemas.xmlsoap.org/wsdl/soap/"
SOAPHeader:
服务提供者返回结果时还需设置SOAPHeader内容,具体如下:
属性
名称
数据类型
说明
RequestID
请求编码
字符型
1)服务调用客户端提交的请求的唯一标识;
2)应用系统和服务总线任何一方发现SOAPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
3)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
HTTPHeader:
服务提供者返回结果时还需设置HTTPHeader内容,具体如下:
属性
名称
数据类型
说明
RequestID
请求编码
字符型
1)服务调用客户端提交的请求的唯一标识;
2)应用系统和服务总线任何一方发现HTTPHeader中没有RequestID或RequestID为空,都要生成有效的RequestID;
3)RequestID作为端到端全路径跟踪的基础,所以需要在其产生之后,端到端服务调用结束之前在相关的应用系统之间传递;
SOAPBody:
可选的SOAPFault元素用于指示错误消息。
如果已提供了Fault元素,则它必须是Body元素的子元素。
在一条SOAP消息中,Fault元素只能出现一次。
SOAP的Fault元素拥有下列子元素:
属性
说明
供识别故障的代码
可供人阅读的有关故障的说明;
有关是谁引发故障的信息;
存留涉及Body元素的应用程序专用错误信息;
报文大小规范
规范目标
限制单次服务调用所携带的数据量大小有助于降低服务总线的负载,提高服务总线的性能。
规范概述
单笔服务携带的数据量上限为200K;
4.6 ESB服务提拱规范
服务提供者按ESB服务接入规范要求提供服务,满足本规范“4.4.1”、“4.4.2”、“4.4.3”、“4.4.4”、“4.4.6”、“5.1”、“5.2”的要求,确保服务能够正确地在ESB总线上进行注册与发布。
4.7 ESB服务发布规范
ESB服务管理者按ESB服务发布的规范进行服务的发布,包括ESB服务开发、服务命名、服务注册,
满足本规范“5.1”、“5.2”、“5.5”、“5.6”的要求。
4.8 ESB服务调用规范
服务提供者按ESB服务的规范要求进行服务调用,满足本规范中“4.4.1”、“4.4.2”、“4.4.6”、“5.3”、“5.4”、“5.6”,确保能够正确调用服务。
5 编码规范
5.1 服务编码规范
规范概述
服务是若干操作的集合体,业务相关的若干操作可以组合成一个业务目标明确的服务,通过服务名称的规范化有助于开发人员理解服务的业务意义。
服务编码规范主要应用于服务定义文件WSDL和ESB部署过程中。
编码规范
操作编码规则如下:
<应用编码>.<服务名称>
其中应用编码详见“5.6应用编码规范”章节。
规范样例
xmlversion='1.0'encoding='UTF-8'?
>
definitionsname="CustomerInfoServiceDefinitions" targetNamespace="http: //com/alsb/hello" xmlns="" xmlns: s0="http: //schemas.xmlsoap.org/wsdl/" xmlns: s1="http: //com/alsb/hello" xmlns: s2="http: //schemas.xmlsoap.org/wsdl/soap/"> …… servicename="CustomerInfoService"> portbinding="s1: CustomerInfoServiceSoapBinding"name="CustomerInfoPort"> addresslocation="http: //localhost: 7001/com.csr.motor.server.erp.CustomerInfoService"/> port> service>
definitions>
这个样例说明了应用编码为“com.csr.motor.server.erp”的系统对外暴露的com.csr.motor.server.erp.CustomerInfoService服务。
5.2 操作编码规范
规范概述
操作编码规范主要体现在服务定义的wsdl文件中对操作编码的定义,“操作”是实际承载业务逻辑的实体,业务关联较强的若干“操作”组成一个“服务”。
对“操作”名称的规范有助于相关人员更直观地理解某操作的业务功能。
编码规范
操作编码规则如下:
使用动宾短语表示某一操作的业务功能,该短语不宜过长。
规范样例
样例:
WSDL接口描述文件
xmlversion='1.0'encoding='UTF-8'?
>
definitionsname="CustomerInfoServiceDefinitions" targetNamespace="http: //com/alsb/hello" xmlns="" xmlns: s0="http: //schemas.xmlsoap.org/wsdl/" xmlns: s1="http: //com/alsb/hello" xmlns: s2="http: //schemas.xmlsoap.org/wsdl/soap/"> types> schemaattributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http: //com/alsb/hello" xmlns: xs="http: //www.w3.org/2001/XMLSchema"> elementname="getCustomerInfo"> complexType> sequence> elementname="lenght"type="xs: long"/> sequence> complexType> element> elementname="getCustomerInfoResponse"> complexType> sequence> elementname="CustomerInfo"type="xs: string"/> sequence> complexType> element> elementname="updateCustomerInfo"> complexType> sequence> elementname="name"type="xs: string"/> sequence> complexType> element> elementname="updateCustomerInfoResponse"> complexType> sequence> elementname="CustomerInfo"type="xs: string"/> sequence> complexType> element> schema> types> messagename="getCustomerI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 基于 ESB 系统 服务 接口 规范