|
基于SOA架构的新一代计费清算系统设计与实现
http://www.cww.net.cn 2013年11月25日 17:22
1.receiveInput:流程调用的起始节点,接受从DataClearingService输入的消息,消息类型为DirDetectOutput(目录检测服务的输出消息)。 2.ICTransfer:异步调用ICTransferProcessService(上发传输流程封装服务),进行上发传输流程;在Receive节点设置超时机制,目前超时时间设置为900秒。 3.PremainProcess:以one-way的方式调用预处理流程的封装服务。预处理流程实现的是异步流程,并可以对外暴露为一个webservice服务。 OSB服务层设计与实现 OSB(Oracle Service Bus)服务层在整个SOA核心架构中承担服务封装、消息流转换与预处理、协议转换等功能。支持多协议、多渠道的通讯方式及异构系统间交互。OSB层中服务封装主要有两种类型的服务,一种是业务服务(Business Service),另外一种是代理服务(Proxy Service)。业务服务会直接绑定具体的服务组件地址,比如JMS的URI或者WebServices的URI;代理服务主要负责消息格式转换、消息路由与异常处理。代理服务是OSB服务层对外暴露的接口。在新一代计费清算架构中同时使用到了同步服务与异步服务,一般来说对于响应时间短的服务设计为同步服务,响应时间长的设计为异步服务。 同步服务由一个代理服务和一个业务服务组成。代理服务会通过路由方式调用业务服务。服务调用通过代理服务,路由到业务服务,业务服务可通过配置输入、输出队列与具体的业务组件进行交互,代理服务同步等待业务服务的处理返回。 异步服务相比同步服务的特点在于,调用者发起调用之后不阻塞等待,调用结果通过反向回调通知到调用方。请求代理服务接收到请求后调用请求业务服务,请求业务服务与业务组件通过JMS队列进行驱动交互。业务组件处理完业务逻辑后将处理结果以消息方式回写到响应队列,响应代理服务通过监听响应队列的方式由消息负责驱动进行业务服务的回调。 OSB层中异步服务由两个代理服务和两个业务服务组成。代理服务中包括请求代理服务和响应代理服务。请求代理服务负责请求消息的格式转换、请求日志记录与路由并调用请求业务服务;响应代理服务负责响应消息的格式转换、请求日志记录与路由并调用响应业务服务。 组件层设计与实现 由于服务支撑平台涉及遗留C++系统组件的集成,综合考虑各种封装方式,采用队列方式能方便系统迁移改造。整个服务支撑平台包括如下三类队列:事件通知队列,用于记录处理事件的队列,主要消费者为订阅了事件主题的外部或内部组件(事件观察器);处理队列,业务服务处理的核心处理队列,包括输入(请求)队列、响应(输出)队列;异常队列,为消息处理异常情况下,对消息的备份,支持人工介入处理。 在具体进行SOA新架构迁移中,新一代计费清算架构在设计之初即考虑构建统一的服务接入框架,将具体SOA技术进行屏蔽,尽量降低架构迁移的工作量。 服务接入框架实现的主要功能包括: 1.JMS消息队列读写。构建统一的JMS队列访问机制,保证消息存取的事务性。 2.消息解析与生成。对获取的消息统一解析为业务实体,并将处理结果组装为返回消息,这样具体服务组件只需对业务实体进行处理,无需关心具体消息结构。 3.通用消息处理机制。框架封装了统一的消息处理流程,包括异常消息处理、消息处理日志。 4.统一数据层访问。框架对清算话单访问提供多种数据层访问机制,当前支持包括本地文件系统、分布式缓存、分布式文件系统。 来源:通信世界网-通信世界周刊 作 者:中国移动(深圳)有限公司 | 肖中卿 郑锡涛 付兵兰编 辑:于光媚
关键字搜索:互联网
猜你还喜欢的内容
文章评论【查看评论()】
|
企业黄页 会议活动 |