基于soap over jms的GSP架构

来源:百度文库 编辑:神马文学网 时间:2024/04/27 23:19:49
一句废话:
    面向服务的体系架构(Service Oriented Architecture, 以下简称SOA)是现代金融企业节省软件开发成本、快速响应业务需求的有效解决方案。在SOA的技术架构下,业务需求人员与技术开发人员有着共同的沟通语言:服务(SERVICE),并且SOA对服务的封装和交互提供了一系列国际规范,确保该体系架构下的服务可以方便的被重用,节省企业的开发成本。同时这些符合国际规范的服务能快速的通过流程处理平台进行串接和组合,及时响应市场需求,为客户提供各种的组合金融产品。

一个名词:
    GSP:--综合服务平台,一个负责统一管理服务请求和提供者的平台,SOA架构下各个系统之间通过综合服务平台(GSP)进行连接。

SOA架构中服务请求方发起服务请求的时候按照队列与服务一一对应的原则,需要请求哪个服务就将请求报文发送到GSP相应的队列中。对于服务的部署采用服务与MQ队列一一对应的方式进行部署,每个服务对应一个接收队列和发送队列。如果该服务有多个版本,每个服务的每个版本对应一个接收和发送队列,在WSDL中要对服务的版本号进行定义。



为了保持整体架构的松耦合,各个应用系统通过MQ与综合服务平台(GSP)进行连接。
综合服务平台在服务路由层提供以下功能:
  报文校验功能:用XML schema 对请求的报文进行检查。
  格式转换功能:对服务请求方和服务提供方报文格式不一致的按照服务提供方的要求进行格式转换。
    主机交易服务:在主机没有进行SOA改造前,GSP提供ADAPT使服务请求方可以发起主机交易。
    发布订阅服务:使用WMB的发布订阅功能,对于订阅了该服务的系统,GSP将会“实时”将报文发送给该系统。
安全控制:目前提供服务请求方与每个服务提供方及其下每个OPERATION的权限控制,后期对请求报文层面的安全控制进行设计。
服务路由:将服务请求方的请求路由到相应的服务提供方
日志服务:按照服务的类别分别进行日志处理。
服务检测:对服务的工作状态按照与服务方的约定进行检查。
异常处理:对SOAP引擎WEB SERVICE引擎等错误的处理
MQ消息的持久化属性和消息的有效期
   对于服务发起方系统是同步处理的情况,在服务的发起方应有超时控制机制,为了提供整体架构的性能,在发起服务请求的时候将MQ消息设置为“非持久化”
对于服务发起方是异步处理的情况,在发起服务请求的时候将MQ消息属性设置为“持久化”;如第三放系统是同步处理,在收到消息的时候,将MQ消息的属性设置为“非持久化”。
   对于由外部(第三方)消息触发事务的情况,在与第三方进行技术接口交流的时候应明确知道第三方系统是同步处理还是异步处理,对于异步处理的情况,在收到消息后应检查消息的属性并将MQ消息属性改为“持久化”。
   对于整个体系架构中的MQ消息,按照业务具体情况,所有消息设置消息的有效期,有效期时间的长短。对于服务发起方是同步处理的应 <= 发起方超时时间;对于服务发起方是异步处理的情况视业务情况决定,建议不要跨会计周期。
服务监控平台的处理
    综合服务平台配合SOA治理的相关要求,提供了一个监控平台,在该平台中包含一个监控规则引擎,该规则引擎的采用参数设定的方式运作,监控平台可提供如下的的监控服务:
   主要提供如下功能:
1、实时监控模块
• 服务超时。对因为超时导致异常的服务请求报警,实现方式为监控异常日志和死信队列。
• 超过预设响应时间。对响应时间超过预设阀值但响应状态正常的服务请求报警,服务响应时间 – 服务请求时间 > 预设阀值 且服务响应状态正常
• 业务系统可用性测试。识别失去响应能力的系统,通过发送测试报文实现,每个接入GSP的系统均要提供测试服务与GSP进行连接。
• 超出时间范围的服务请求。识别在服务规定的请求时间范围之外产生的服务请求并告警,判断请求时间是否处于接收请求的时间范围之内。
1、统计分析监控模块
• 经常出错的服务。识别产生大量失败结果的服务,挖掘服务失败原因 单个服务失败数大于阀值或单个服务失败率大于阀值。
• 服务稳定性。判定服务的工作状态是否稳定,平均无故障时间小于阀值。
• 服务超载。对请求数量超出设计范围的服务进行预警,该服务的单个服务请求数大于阀值。
• 系统繁忙 。系统剩余容量不足时发出预警,系统剩余容量小于阀值。
• 系统超载。对请求总数超出系统设计范围的情况进行报警,系统请求数大于阀值。
• 输入不规范。识别收到大量非法服务请求的服务,对服务请求者检查其请求数据约束,单个服务非法请求次数大于阀值或单个服务非法请求比率大于阀值。
• 高并发请求。识别一个基本时间片内某个服务请求数增加至可能危急到服务总线正常运转的情况,服务请求占比大于阀值且单个服务请求数大于阀值且系统剩余容量小于阀值(此阀值可以不同于系统繁忙的阀值)
2、生成报表和状态信息的监控模块
• 服务请求占比,列出每个服务的请求数占总请求数的比例。
• 请求者占比。监控每个服务请求来源的分布,列出每个服务的请求者占比。
• 请求集中度。列出每个服务的前四大请求者的请求者占比求和得到的结果。
• 服务请求峰值。列出每个服务当天的请求峰值。
• 服务请求谷值。列出每个服务当天的请求谷值。
• 服务请求弹性。列出每个服务当天的服务请求弹性指标。



     黄色向上箭头  :表示该系统在SOA架构中是一个服务的请求方

     黄色向下箭头:表示该系统在SOA架构中是一个服务的提供方。
     蓝色竖杠: 表示该系统与综合服务平台的连接正常,能正常对外请求服务或提供服务

     红色竖杠:表示该系统与综合服务平台的连接异常,不能正常对外请求或提供服务