兰州ESB平台项目详细设计说明书版本号:1.0兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司ii文档信息版本号日期说明作者兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司1目录1引言....................................................................................................31.1编写目的...............................................................................................................31.2范围.......................................................................................................................31.3术语定义、符号和缩略语...................................................................................32ESB平台项目........................................................................................42.1ESB平台总体架构................................................................................................42.2ESB平台功能架构................................................................................................52.2.1ESB平台功能架构图...................................................................................52.2.2ESB平台功能模块设计...............................................................................52.3ESB平台与外接系统关系....................................................................................72.4数据结构设计.......................................................................................................92.4.1数据库ER图...........................................................................................92.4.2数据库详细说明.....................................................................................92.5ESB平台设计........................................................................................................92.5.1开发框架.................................................................................................92.5.2消息流程设计.......................................................................................112.5.3报文规范及接口设计...........................................................................232.6开发说明.............................................................................................................262.6.1项目阶段安排.......................................................................................262.6.2开发环境...............................................................................................262.6.3命名规范...............................................................................................272.6.4版本管理...............................................................................................272.7部署说明.............................................................................................................282.8应用场景设计.....................................................................................................282.8.1天气查询服务场景(交互)......................................................................28兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司12.8.2天气信息推送与接收场景(下发)..........................................................282.8.3天气信息上报与数据采集场景(上报)..................................................28兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司31引言1.1编写目的依据SOA指导思想,编写本兰州ESB平台项目详细设计说明书,为客户提供一个可参考的规划依据。1.2范围本平台应用兰州ESB平台项目的功能后台以及场景模拟。1.3术语定义、符号和缩略语术语定义解释ESB平台如不特别指明,数据整合平台是指包括ESB,总线管理平台在内的IT系统。子系统连接ESB系统参与系统集成和业务数据交换的业务系统。兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司42ESB平台项目2.1ESB平台总体架构ESB平台实现各接入业务系统之间的数据传递和服务调用,其总体架构如下图:应用系统A应用系统B应用系统C外部应用系统解析消息路由传输日志记录消息发送解析消息路由传输日志记录回复请求ESB平台应用系统D应用系统E其他业务系统JMS接口WS接口JMS接口解析消息路由传输日志记录回复请求服务映射WS接口JMS接口WS接口外部应用系统如图黄色背景部分,主要包含两大模块:主处理模块a)实现服务的暴露,后台系统的集成;b)针对输入的服务消息进行解析,检索,权限校验;c)读取路由关系并进行传输,实现基于消息内容的路由;d)记录服务运行日志,记录处理异常日志。接口模块a)解析消息,识别服务类型;b)根据服务实体数据库接口读取或存储数据;c)根据服务提供方提供的WEBSERVICE等消息接口调用服务;d)按照服务格式规范组装消息。兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司52.2ESB平台功能架构2.2.1ESB平台功能架构图ESB平台权限校验协议转换服务路由消息监听消息封装消息转换消息传输日志记录异常处理服务调用数据字典路由刷新2.2.2ESB平台功能模块设计2.2.2.1权限校验每个服务都应有且仅有一个服务提供方提供服务,如果出现同个服务有两个或多个系统提供,那就需将服务分版本管理,采用不同的服务名;服务的权限校验是针对主动发送类服务而言的(如静态数据服务),静态类数据服务提供方对外发送数据到了数据整合平台需校验该系统是否有权限发起该服务;校验通过则进入路由服务,检验失败则要返回给服务发起方一个反馈信息让服务发起方知晓。2.2.2.2路由功能2.2.2.2.1路由缓存为了提高效率,系统初始化时,从数据库的路由关系表中读取路由关系,通过定义缓存接口,将其路由关系表信息写入缓存。2.2.2.2.2路由刷新当路由关系表信息发生变更时,手动发送路由关系修改通知到修改缓存的消息队列之中,通过IBMMQ获得路由变更消息后,重新读取路由关系表,刷新路由缓存。兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司62.2.2.2.3服务路由服务路由是数据整合平台基于内容路由的核心功能,数据整合平台接收到服务发起方的通过权限校验的服务请求后进行路由匹配,匹配成功后就开始处理该请求,并将服务响应结果传输给服务提供方系统。2.2.2.3协议转换不同的业务系统可能会使用不同的协议传递消息,ESB平台提供不同的接口类型以适应不同的入口协议或者出口,协议的转换在ESB平台的内部封装完成,不需要在接入系统做相关修改。该平台支持的协议包括WEBSERVICE和JMS。2.2.2.4消息处理2.2.2.4.1消息解析系统提供对于XML格式消息的解析功能,针对消息数据的Head、Body等进行解析。2.2.2.4.2消息封装接收到消息数据后,会自动将其转换、组装成符合ESB平台数据规范的数据,消息格式如:MSGHEADERSERVICENAMEEB_DYHY/SERVICENAMESENDERDSPT/SENDER/HEADERBODYbookhao/book/BODY/MSG2.2.2.4.3内容处理报文处理支持对消息进行统一的业务处理,可以对特定内容字段进行简单的运算。兰州ESB平台详细设计说明书软通动力信息技术(集团)有限公司72.2.2.5日志记录当平台发生日志事件时,平台将发送通知到MQ日志流,该日志流以MQ队列为入口,读取日志消息,根据日志消息类型的不同,本平台分别记入服务操作日志和异常服务日志。2.2.2.6异常处理ESB平台在接收到服务请求之到服务结束期间发生一切异常都有完整处理。一方面要让服务请求方知道服务调用失败,即异常反馈;一方面数据整合平台需要知道异常情况,即记录异常日志。异常类型:数据整合平台主要可能发生的异常需要进行归类,便于辨别发生异常的问题出在哪,如消息解析异常,权限校验异常,路由检索异常,消息路由传输异常等等。异常反馈:数据整合平台出现任何异常导致消息传输失败都需要以消息的方式通知服务请求方,让请求方知道服务调用失败,以作下一步处理保证事物的完整性。记录异常:数据整合平台发生以上异常都需要调用日志记录功能记入日志,便于系统管理员跟踪排除问题。2.3ESB平台与外接系统关系IT应用环境实际业务场景中,某些应用系统的