IMS中基于REST的wIMS中间件平台设计与实现 2010-8 《电信工程与标准化》
郑侃1,2 王纯1,2
(1. 北京邮电大学网络与交换技术国家重点实验室 北京100876)
(2. 东信北邮信息技术有限公司北京100191)
摘要:wIMS(Web2.0 and CM-IMS Convergence; CM-IMS, China Mobile - IP Multimedia Subsystem)中间件平台是中国移动在CM-IMS基础上,打造的一个基础通信能力的开放平台。本文描述了wIMS中间件平台的主要应用场景以及应用的前景,介绍了wIMS中间件平台的网络结构和功能,提出了wIMS中间件平台的详细实现方案,并对系统实现的关键技术进行了分析。
关键字:wIMS 中间件 IMS REST 能力开放
Design and Implementation of wIMS Middleware Platform Based on REST in IMS
Zheng Kan1,2, Wang Chun1,2
(1. State Key Lab of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876)
(2. EBUPT Information Technology Co. Ltd., Beijing 100191)
【Abstract】 wIMS middleware platform which is based on the CM-IMS is created as an open platform for based communication capabilities by China Mobile. This paper firstly describes the mainly application scenarios and prospect and additionally introduces structure and function of the wIMS platform, as well as the detailed implementation of the platform, and at last analyzes the key technologies of this system.
【Key words】wIMS, Middleware, IMS, REST, Open Capabilities
1.引言
随着激烈的市场竞争和话音业务的趋于饱和,运营商话音业务利润不断下降,同时传统的话音和短信等业务已不能满足用户日趋增长的多样化需求。面对严峻的市场形势,运营商必须调整业务模式,在优化传统业务的同时,另辟蹊径,寻求新的业务增长点。业务创新已经成为了运营商发展的战略性问题。但是运营商传统网络具有明显的封闭性,缺乏接受外来创新业务的能力。同时业务表现单一,用户体验不够丰富,特别是在面对互联网开放模式的挑战时,这些弱点表现的尤为明显。互联网的开放模式与运营商网络的Walled Garden模式截然不同,互联网的开放性使得各种技术和业务的创新层出不穷,极大地丰富和满足了用户的业务需求,人们开始将更多的目光投向互联网。在互联网开放浪潮中,GOOGLE,YAHOO,FACEBOOK,校内网,开心网等大量的互联网公司加入了开放大军,通过开放自身资源并整合互联网资源,提供开放平台,构建价值链,聚拢了一批批的社会SP(Service Provider)、中小软件公司,创造了大量的应用,随之带动了互联网增值服务ARPU(Average Revenue Per User)的增长。
CM-IMS吸收与借鉴了互联网的开放模式,其天生具备了开放、融合的特性。CM-IMS能够整合通信网与互联网两种异构环境下的各类元素。运营商可以利用CM-IMS整合异构能力的先天特性,打造一个“杀手级应用”,即提供一个基础通信能力开放平台,向互联网开放运营商的基础通信能力,实现互联网与通信网络业务的融合与应用的混搭(Mashup),同时,通过建立良好的商业模式,吸引互联网SP入驻,让SP自己开发适合市场的“杀手级应用”。
在CM-IMS基础上,中国移动提出了wIMS技术, 通过wIMS技术为运营商打造一个基础通信能力的开放平台。
wIMS技术的核心部件由wIMS中间件组成,wIMS中间件提供了一套符合互联网规范的开放API(Application Programming Interface)接口,它独立于语言、操作系统,使得SP可以选择擅长的语言进行开发,并可以灵活部署,同时也有利于企业与现有系统的集成,这些开放API接口不仅能够提供短信、彩信、点击拨号、位置服务、即时消息、会议、语音控制、视频控制等多种通信网络的基础通信能力,还能够提供CM-IMS认证、鉴权等网络能力。互联网SP以及独立软件开发商可以通过wIMS中间件快速开发出具有基础通信能力的应用,而且他们无需具备通信网络的专业知识。例如通过与互联网的应用混搭,可以实现Web呼叫、Web留言、好友定位等[1]。
2.REST
REST是英文Representational State Transfer的缩写,中文翻译为“表述性状态转移”,他是由Roy Thomas Fielding博士在他的论文《Architectural Styles and the Design of Network-based Software Architectures》中提出的一个术语[2]。
REST架构风格是全新的针对Web应用的开发风格,是当今世界最成功的互联网超媒体分布式系统架构,它使得人们真正理解了HTTP协议本来面貌。随着REST架构成为主流技术,一种全新的互联网网络应用开发的思维方式开始流行。
REST提出了如下设计准则[3]:
•网络上的所有事物都被抽象为资源(resource);
•每个资源对应一个唯一的资源标识符(resource identifier);
•通过通用的连接器接口(generic connector interface)对资源进行操作;
•对资源的各种操作不会改变资源标识符;
•所有的操作都是无状态的(stateless)。
3.wIMS概要设计
3.1.wIMS系统定位和功能要求
wIMS中间件作为业务能力开放的网关设备,定位如下:
•连接各种网络业务能力平台:南向采用各类标准化接口连接各网络业务能力平台,实现对于CM-IMS和2G/TD通信能力的调用;
•采用统一风格的API向应用开放网络业务能力:北向采用开放API的方式向各类应用提供统一的能力调用方法;
•应用逻辑控制:wIMS中间件内部对于应用以及用户进行认证鉴权,对于应用逻辑进行通用控制;
•服从通用管理:作为网元,连接业务管理系统以及计费等系统,服从统一管理完成网元统一功能。
wIMS中间件在CM-IMS网络的开放性基础上,整合各种网络业务能力,采用统一API的方式向应用开放,通过灵活组合各种网络业务能力开发多样化应用的方式为用户提供多样化的业务体验。
为了基于CM-IMS开放特性,针对各种网络业务能力进行开放,为用户提供多样化无缝业务体验的目的,wIMS中间件的设计需要满足如下主要原则:
•高可扩展性:满足网络业务能力不断发展变化(尤其表现在CM-IMS网络)的需求。充分考虑系统各方面的灵活性;
•高安全性:针对业务能力开放带来的安全问题有充分的安全机制,能够保证通信网络的无危害性以及自身的极高的安全特性。
3.2.wIMS网络架构
图1所示为wIMS中间件平台的分层网络架构图,介绍了wIMS中间件在IMS网络中的位置以及该平台与所在网络中相关网元之间的交互,下面按照分层结构对每个层面的主要功能实体进行简要的描述。
图1 wIMS网络架构图
Web 2.0应用:运行过程存在wIMS API调用的互联网应用;
ICT(Information Communication Technology)应用:存在wIMS API调用的IT类应用。
中间件应该有连接其他传统通信网络基础能力平台的扩展性,如图1中所示,wIMS中间件平台与多个传统通信网络基础能力平台相连(WAP网关、短信网关、彩信中心、移动定位网关),从而实现短信、彩信等基础通信能力的开放;
OCS/CCF(Online Charging System/ Charging Collection Function):在线计费服务器OCS对其它网元提供了在线计费功能。离线计费网关CCF,通过Diameter协议从wIMS中间件以及业务平台收集用户话单;
业务管理系统:主要功能包括发布业务、为用户/第三方合作伙伴开户、销户等,并将相关管理信息同步到wIMS中间件。提供用户自服务Portal;
网管系统:网管服务器NMS为wIMS中间件提供网元管理能力,主要是提供各网元的配置拓扑信息、告警、性能数据、日志、维测、统计等功能。
中间件平台同样需要具备连接各类IMS业务应用平台的能力,如图1所示,在CM-IMS业务能力层面,wIMS中间件平台将多类IMS业务应用进行能力开放,如即时消息、状态呈现、群组管理,而例如Centrex、会议、CTD(Click to Dial),后续根据规划逐步进行各IMS应用服务器开放能力。
CM-IMS核心网,包括PCSCF、SCSCF、ICSCF等各种核心网元。
4.wIMS中间件平台的实现方案
4.1.总体设计
如图2功能视图所示,wIMS中间件平台主要分为以下几个模块:统一接入模块、业务能力适配模块、SCE/SEE(Service Creation Environment/ Service Execute Environment)、SP门户、用户门户以及通用管理模块。以下对各个模块进行简要的说明。
图2 wIMS中间件系统结构
-
统一接入:接受开放API请求,使得北向的应用可以以各种Web形式调用业务能力,同时进行业务能力调用的认证和鉴权;
-
业务能力适配模块:实现与南向各类业务使能引擎的集成,模块支持热插拔;
-
SP门户:SP统一门户,SP管理,开放能力展示订购功能,技术资料发布展示功能,应用创建发布功能,论坛、博客等支撑系统;
-
SCE/SEE:业务创建环境和业务执行环境;
-
用户门户:用户浏览、订购业务;
-
通用管理:
应用管理:对SP开发的应用进行统一管理;
能力管理:对于能力提供平台提供的能力进行统一管理;
鉴权模块:实现对业务提供商或用户已签约SLA的执行以及相关API调用权限的鉴权。
计费功能模块:提供计费功能并和OCS/CCF系统相连,产生符合规定的计费消息,并将计费消息上传至OCS/CCF系统;
SLA(Service-Level Agreement)控制模块:实现SLA控制以保证业务提供商或用户已签约的QoS,以及保护系统;
路由处理模块:实现网络侧业务使能之间的路由机制;
统计报表模块:收集各种商业对象,例如业务能力、业务提供商、应用等的统计信息,并输出成定制报表;
网管模块:提供给中国移动网管系统SNMP接口,实现网管系统对wIMS中间件进行维护、配置与管理;
配置管理模块:通过Web服务接口和业务管理系统相连,实现业务能力、业务提供商、应用和用户等数据的配置;
日志模块:收集系统日志并对日志进行统一管理。
4.2.详细设计
统一接入模块和业务能力适配模块作为wIMS中间件平台两个最为重要的模块,本文在接下来的两个小节进行这两个模块的详细设计介绍,最后通过一个IMS点击拨号业务API调用流程展示wIMS中间件平台在开放业务网络能力中所起的作用。
4.2.1.统一接入模块
统一接入模块主要分为两大功能块:接入模块和认证模块。
接入模块基于REST方式,系统的开发语言是Java语言,选用Restlet开源框架。接入模块功能包括:
-
接收、解析API调用请求,返回API调用请求结果;
-
调用认证模块;
-
将通过认证的请求转移至业务能力适配模块。
-
认证模块功能包括:
-
平台流控级别认证:维持平台性能可靠性;
-
用户级别认证:SP、应用和用户账户鉴权,API-SLA控制等。
4.2.2.业务能力适配模块
业务能力适配模块实现与南向各类业务使能引擎的集成。
业务能力适配模块支持热插拔模式,当wIMS业务平台需要增加南向业务使能引擎,只需增加业务使能引擎的API调用逻辑模块,API调用逻辑模块主要由xml文件和jar包组成,业务能力适配模块会读取API调用逻辑模块的xml文件,从而将API调用逻辑模块挂载在业务能力适配模块中。
当统一接入模块将通过认证的请求转发至业务能力适配模块,业务能力适配模块解析所得到的请求,并在所挂载的API调用逻辑模块中查找符合要求的模块,并调用相应业务的API调用逻辑模块将请求发往相应的南向业务使能引擎。
4.2.3.IMS点击拨号业务API调用流程示例
IMS点击拨号(CTD, Click to Dial)是由服务器发起而建立的呼叫。用户携带CTD发起人、CTD主被叫号码的CTD请求到达CTD平台后,由CTD平台建立CTD主被叫之间的呼叫连接。业务体验是CTD主叫侧终端先振铃,主叫摘机听业务提示音,然后CTD被叫侧终端振铃,被叫用户摘机,与主叫通话[4] [5]。
本文通过一个消息流程简述一个典型的通过wIMS中间件平台发起的CTD呼叫发起流程,如图3所示。
图3 CTD呼叫流程图
流程描述:
1)用户登陆所订购的wIMS应用,输入主被叫号码,发起点击拨号业务调用;
2)应用进行wIMS API调用,携带终端用户的USER_ID(手机号、密码)、SP_ID以及APP_ID用于鉴权;
3)wIMS中间件对相关参数进行认证鉴权;
4)wIMS中间件通过协议转换进行本次API调用的IMS-CTD业务能力调用;
5)IMS-CTD业务平台返回调用结果和本次呼叫唯一标识SessionId;
6)wIMS中间件反馈调用结果给应用;
7)应用返回结果给用户;
8)IMS-CTD将呼叫状态变更通知(发生在主被叫摘机时刻)推送给wIMS中间件平台;
9)用户查询本次呼叫的呼叫状态;
10)应用进行wIMS API调用,同时携带SessionId;
11)wIMS中间件对相关参数进行认证鉴权;
12)wIMS中间件反馈呼叫状态给应用;
13)应用返回呼叫状态给用户;
14)用户结束呼叫;
15)应用进行wIMS API调用,同时携带SessionId;
16)wIMS中间件对相关参数进行认证鉴权;
17)wIMS中间件通过协议转换进行本次API调用的IMS-CTD业务能力调用;
18)IMS-CTD将调用结果反馈给wIMS中间件平台;
19)wIMS中间件反馈调用结果给应用;
20)应用返回结果给用户。
5.结束语
本文详细介绍了wIMS中间件平台的组网、总体设计和主要功能模块设计等。通过本文希望能够给从事通过通信业务网络基础能力开放事业的人员一些参考。
通过wIMS中间件平台,运营商能够以一种更符合互联网规范的方式,向互联网开放运营商的基础通信能力;通过wIMS中间件平台,互联网SP能够借由通信基础能力,自己开发适合市场的“杀手级应用”;通过wIMS中间件平台,用户能够得到更好的生活体验,为工作生活带来更大的方便。不难看出wIMS中间件平台具有很好的应用前景,顺应互联网和通信网发展的浪潮,wIMS中间件平台一定能够拥有更广阔的发展空间。
参考文献
[1]王亚晨等. 中国移动CM-IMS wIMS中间件总体技术要求. 2009 10
[2]Roy Thomas Fielding. Architectural Styles and the Design of Network-based Software Architectures. Computer Science. 2000
[3]Richardson, Leonard; RESTful Web Services. O'Reilly. 2007 05
[4]中国通信标准化协会. 基于统一IMS的业务技术要求点击拨号业务.2010 04
[5]朱晓民,廖建新,陈俊亮. 用Petri网对点击拨号业务的建模. 电子与信息学报. 2006 3.
——————————————————
*基金项目:国家杰出青年科学基金(No. 60525110);国家973计划项目(No. 2007CB307100,2007CB307103);国家自然科学基金(No. 60902051);中央高校基本科研业务费专项资金(BUPT2009RC0505);电子信息产业发展基金项目(基于3G的移动业务应用系统).