首页 >> >> 通信世界 >> 总第619期 >> 技术方案 >> 正文
 
基于SOA架构的新一代计费清算系统设计与实现
http://www.cww.net.cn   2013年11月25日 17:22    

设计原则

由于SOA架构与传统架构在架构理念和风格上都有不同,需要在实施前期明确相应的设计原则,结合SOA设计理论与具体实践,我们总结的新架构需要遵循的设计原则包括:

1.服务无状态原则。在无特别需求的情况下,服务不能长期保存当次服务请求的中间处理状态信息,是服务状态无关。

2.服务可重用性原则。服务须尽量设计为可重用服务,可重用服务接口设计不能包含特定服务消费者的假设。

3.服务标准化原则。要求对服务的规约进行标准化,保持统一的设计风格。

4.服务松耦合原则。消费者不与具体实现相耦合,服务规约不与具体服务实现相耦合。

5.服务抽象原则。服务规约仅仅暴露消费者需要的信息。

消息定义规范

新一代计费清算系统各平台遵循SOA规范,采用XML格式进行消息编码,采用xsd格式进行消息定义。消息文本采用UTF-8进行编码。统一的消息定义包括消息头和消息体,消息头定义各平台均需要遵守的消息字段。

请求消息头详细定义。包含流程上下文协调ID,服务请求编号,服务消费者,业务流水号,业务受理时间,事务性标志,事务ID,客户代码,产品代码,服务名称,服务调用方法名称,平台编号,认证授权码,消息过期时间,消息生存期。

响应消息头与请求消息头内容基本相同,只是在请求消息头基础上,新增了响应代码和详细相应信息。具体包含流程上下文协调ID,服务请求编号,服务消费者,业务流水号,事务标志,事务ID,客户代码,产品代码,服务名称,服务调用方法名称,平台编号,认证授权码,响应消息创建时间,消息过期时间,消息生存期,响应代码,详细响应信息。

BPEL流程层设计与实现

新一代计费清算系统采用BPEL(Business Process Execution Language)进行流程设计,具体过程遵循SOMA方法论的建模、设计与实现过程。以计费清算核心的数据清算流程为例,一级BPEL流程如图2所示。

数据清算总流程包括文件上传、文件预处理、下发传输三个子流程。其中文件预处理子流程为数据清算核心流程,其主要过程如下图3所示(实际流程更复杂,限于篇幅,此处为简化流程)。

文件预处理具体过程如下:

1.接受处理请求,调用文件状态服务,判断文件是否已经在处理或已经处理,如果文件已处理则流程结束,对文件进行备份。

2.调用账期日服务,获取并更新账期日。

3.发起话单校验服务,如果校验不通过则流程处理结束。

4.发起查重校验服务,如果校验不通过,则查重回退,流程结束。

5.发起结果发布服务,如果结果发布不通过,则结果发布回退,流程结束。

6.发起异步入库调用,进行异步入库。

BPEL流程开发采用Oracle JDeveloper Studio工具,数据清算总流程实现的是one-way流程,并可以对外暴露为一个webservice服务,供DataClearingService(数据清算总流程封装服务)在收到目录检测输出消息时进行调用。

整个流程分为3个部分:receiveInput、ICTransfer、PremainProcess。

[1]  [2]  [3]  [4]  
关注通信世界网微信“cww-weixin”,赢TD手机!
来源:通信世界网-通信世界周刊   作 者:中国移动(深圳)有限公司 | 肖中卿 郑锡涛 付兵兰编 辑:于光媚
分享到:
       收藏   打印  论坛   推荐给朋友
关键字搜索:互联网  
猜你还喜欢的内容
文章评论查看评论()
昵称:  验证码:
 
相关新闻
即时新闻
通信技术
最新方案

企业黄页
会议活动