UML软件工程组织

ParlayX技术浅析及其在NGN中的应用
作者:肖欣

摘要NGN要求能够快速而灵活地提供增值业务。ParlayX是Parlay组织在Parlay规范基础上提出的新的开放业务架构规范。它既继承了Parlay规范开放网络业务能力的特性,又对Parlay规范进行了抽象和简化。ParlayX技术与WebSercvice技术结合能够方便不具备专业电信知识的IT开发人员快速开发各种基于电信网能力的业务。本文将在详细介绍ParlayX规范的同时对Parlay和ParlayX规范进行比较,然后例举NGN中基于ParlayX技术的业务开发。

关键词ParlayXWeb服务NGN

1引言

下一代网络(NGN)是可以提供语音、数据和多媒体等各种业务的综合开放的网络架构,可以支持快速业务部署以及第三方业务控制。NGN开放式业务提供是一个分布式系统,为了实现第三方业务开发,业务结构应采用开放式接口控制技术,正在研究和开发的技术包括移动代理技术、主动网络技术和API技术。目前现实可行的是API技术。许多组织提出了开放业务平台的应用编程接口,Parlay是其中最活跃、最有影响力的一个。

2Parlay技术介绍

2.1ParlayAPI简介

Parlay组织成立于1998年,它是由多家网络运营公司、应用业务供应商、独立软件销售商、设备制造商及标准化组织组成的一个非赢利性组织,它的主要目标就是制定符合工业标准的应用编程接口(API)规范,促使第三方业务供应商或电信运营商基于这一接口平台,采用不同的技术在无线、Internet或公众交换网上开发通信产品、提供通信业务,同时为特定的用户群快速定制个性化业务以作为普遍业务的补充。

ParlayAPI主要由两部分组成:

(1)业务接口(ServiceInterface):这类应用编程接口可以访问Parlay服务器所提供的一系列基本业务能力,譬如建立或释放路由、与用户交互、发送用户消息、设定QoS级别等。业务供应商可以按照不同的业务逻辑调用它们以实现不同的业务。

(2)框架接口(FrameworkInterface):它们对客户端使用业务接口提供必需的安全、管理支持。框架服务器保证了底层通信网的安全开放和Parlay服务器的有序运行。

2.2Parlay规范不足

Parlay规范过于庞大和复杂,比较难以掌握,而且目前80%的Parlay业务只用到了20%的ParlayAPI。基于这个原因Parlay组织又推出了ParlayX规范,对ParlayAPI进行了组合和封装。

Parlay没有规定与各底层网络的资源接口,所以Parlay服务器和各通信网之间暂时只能由网络运营商自己设定内部的通信协议,如采用JAIN、INAP、SIP将API映射到底层网络。

3Parlay与WebService

3.1Parlay和WebService的融合

“WebService”(Web服务)最先由微软提出,在2000年问世。它并非是一种新的Web工具,而是一种全新的分布计算环境。其基本思想是利用开放式的标准技术,在Internet上实现分布式软件开发、软件工程和软件使用。这里,Service指的就是分布在Internet中的各种软件,无论是单位用户还是个人用户都可以根据业务需求,利用WebService技术调用在网上已有的WebService,构成自己的应用软件。

Parlay/OSA模型与WebService的目标十分一致。它们的目标都是通过网关接口向上层应用程序提供底层网络能力,从而达到屏蔽底层网络细节的目的。Parlay网关中业务能力也是网络中的分布式软件,而且其重要的应用方向是提供和Internet相结合的融合业务,因此很自然地提出了如何在Parlay中引入WebService的问题。在Parlay4.0版本中除了将ParlayUML标准映射到IDL(接口描述语言)外,还映射到了WSDL(Web服务描述语言)。习惯上,把映射到IDL的Parlay标准称作ParlayAPI,而把映射到WSDL的Parlay标准称作ParlayWebServices。

3.2ParlayXWebServices研究范围

如前所述,ParlayAPI用于向应用开发者开放底层电信网络的能力,它虽然对底层的网络细节进行了屏蔽,但是仍要求应用开发者具备电信背景知识并熟悉电信网络应用开发流程。这就限制了ParlayAPI的应用推广。为此,Parlay组织推出了ParlayXWebServices规范,其目的是为了促进不具备电信专业知识的IT开发人员开发下一代网络应用。

ParlayXWebServices是功能强大但简单、高度抽象的电信网络能力标准构件。无论开发人员是否具备电信专业知识都能够快速理解ParlayXWebServices而且利用它开发出各具特色的应用。ParlayXWebServices具备如下特征:

(1)每一种ParlayXWebServices均由一组电信网络能力抽象而来,相对功能性而言更加强调简单性。ParlayXWebServices提供的能力可以是同质的(例如仅提供呼叫控制能力)或者异质的(例如同时提供终端位置和用户状态能力)。

(2)基于ParlayXWebServices的应用与实现ParlayXWebServices的服务器之间采用基于XML语言的消息进行交互。

(3)ParlayXWebServices语义简单,开发者能够使用通用的WebService开发技术进行开发,把注意力集中在如何访问电信网络能力上。

(4)ParlayXWebServices独立于具体网络和网络设备,可以抽象各种不同类型的电信网络能力。

(5)ParlayXWebServices应当基于WebService技术。当前采用WSDL调用和描述ParlayXWebServices。

(6)ParlayXAPI应当具备可扩展性,应当支持使用现有可靠标准的WebService技术来集成第三方提供的接口。

ParlayXWebServices是一组应用接口,但是不提供AAA(认证、授权、记帐)、SLA(服务等级协议)和其他与环境相关的功能。这些功能应当由WebService架构来提供。

3.3ParlayX与Parlay关系

Parlay网关实现了ParlayAPI,网关中包含提供各种业务能力的业务能力特征(SCF)。Parlay应用可以通过CORBA与Parlay网关交互。应用本身可以用各种语言(如Java、VB、XML脚本等)实现,只要确保能够正确调用Parlay网关提供的API的各类方法并能够正确处理相应的响应。

ParlayX网关用于描述一套ParlayXWebServices的实现。ParlayXWebServices对ParlayAPI进行了更高层次抽象并对其做了简化。在大多数情况下,ParlayXWebServices通过调用Parlay网关资源访问底层网络,但是也不排除其直接与底层网络直接进行交互。与Parlay应用类似,ParlayX应用也可以用各种编程语言实现,只要能够进行正确的WebService调用。

3.4ParlayXWebServices描述方法

由于WSDL语法简单且通用性强,所以当前采用WSDL调用和描述ParlayXWebServices。WSDL是一种XML应用,它的作用是将一个WebService描述为一组服务访问点。WSDL文档将一个WebService描述成一组网络端点或者端口,在WSDL中,由于服务访问点以及消息的抽象定义已经和具体的服务期部署和数据格式绑定分离,因此可以再次使用这些抽象对象:消息是对需要交换的信息的抽象描述;端口类型是对WebService提供的操作的抽象集合。特定端口类型的具体协议和数据格式定义构成了一个可以重用的绑定,一个端口定义成一个可重用绑定和网络地址的关联,一组端口构成了一个服务。

WSDL在定义WebSevice时使用了以下元素:

Types:数据类型的容器,他采用一些类型系统(比如常用的XSD)。

Message:通信消息的抽象类型化定义。

Operation:服务提供的操作的抽象化描述。

PortType:一个或者多个端点支持的一组操作的抽象。

Binding:特定端口类型的具体协议和数据格式定义。

Port:定义为Binding和网络地址的关联的单个的端点。

Service:一组相关的端点的结合。

同Parlay规范类似,ParlayXWebServices规范对于适用于各种服务的数据类型和异常统一定义。其他的则在相应的服务文档中单独定义。

3.5ParlayXWebServices类型

利用传统方法开发电信网应用时,必须使用特定协议访问网络设备提供的功能。这需要开发人员具备相当充分的电信网络开发经验。另外也可以采用OSA网关方式,通过调用标准API访问网络能力,但是这些接口对于不熟悉电信网的IT开发人员而言也显得过于复杂。利用ParlayXWebServicesAPI,开发人员只要简单地调用一个或几个API就可以实现所需的应用逻辑。在ParlayXWebServices规范1.0版本中,定义了8种基本的服务供开发人员方便地访问电信网络能力。

3.5.1第三方呼叫

第三方呼叫WebService用于创建和管理由应用程序创建的呼叫。

该服务提供的呼叫API包括以下4类:在两个地址之间建立呼叫、获取指定呼叫的信息、结束指定的呼叫以及取消呼叫请求。

3.5.2网络发起的第三方呼叫

该WebService向第三方应用逻辑提供接口以处理由网络中的用户发起的呼叫。由于它对ParlayAPI做了简化,故相比之下也有一定的局限,如不能控制特定的呼叫参数,不能长时间地控制呼叫且其健壮性不如Parlay/OSAserviceAPI。

该服务提供的呼叫API包括以下5种:要求应用程序指示网关分别在被叫忙时、被叫不可达时、被叫无应答时、在选路到被叫之前以及被叫摘机时如何处理呼叫。

3.5.3SMS(短消息服务)

该WebService用于向应用开发者提供简单的接口以处理短消息。

该服务提供的API分为3类:发送SMSAPI、SMS通知API和接收SMSAPI。

其中发送SMSAPI又细分为以下4种:向指定地址(群)发送SMS、向指定的地址(群)发送SMS标志图、向指定的地址(群)发送SMS振铃音和获取SMS的发送状态。

3.5.4多媒体消息

该WebService用于向应用开发者提供统一的接口以处理多媒体消息。这个统一的接口可以映射到SMS、增强型短消息(EMS)、多媒体消息服务(MMS)、即时传讯(IM)和E-mail等服务。所以该服务是SMS的超集。

同SMS类似,该服务提供的API也可以分为发送消息API、消息通知API和接收消息API。

其中发送消息API可以细分为以下2种:向指定的地址(群)发送多媒体消息、获取每条消息的发送状态。

接收消息API可以细分为以下3种:查询符合预设条件的消息、读取消息的不同部分,在Parlay网关中创建本地文件并返回文件的URI索引以及读取整条消息。

3.5.5付费

该WebService支持付费预留、预付费和后付费。它同时支持按数量(volume)和按金额(currencyamounts)计费两种方式以及两者之间的换算和结算。

该服务提供的API分为4类:按数量计费API、按金额计费API、预留金额计费API和预留数量计费API。

其中按金额计费API细分为以下2种:从帐户扣费和向帐户退款。

按数量计费API细分为以下3种:从帐户扣除指定数量,从数量转换为金额以及向帐户退还量。

预留金额计费API细分为以下4种:预留金额、调整预留额、预留额扣费和释放预留额。

预留数量API计费细分为以下5种:将预留数量转换为金额、预留数量、调整预留数量、从预留量扣指定数以及释放预留数量。3.5.6帐户管理

该WebService提供的API支持预付费帐户查询、直接充值以及通过凭证充值。

该服务提供的API包括以下5种:查询帐户余额、查询余额有效期、帐户余额直接充值、帐户凭证充值和查询帐户交易信息。3.5.7用户状态

该WebService用于获取用户状态信息(例如MSN好友的状态)。

该服务提供的API仅一种:请求获得用户的状态信息。

3.5.6终端位置

该WebService用于获取终端的位置信息。

该服务提供的API仅一种:获取某终端的位置。

4ParlayX第三方呼叫服务示例4.1业务流程

了利用ParlayX第三方呼叫服务进行股票交易。业务流程如下:

(1)应用服务器程序调用股票报价Web服务发现股价已经达到预先设定的阈值。

(2)应用服务器程序向数据库发起请求,获取符合要求的用户B和其代理(broker)A的profile。

(3)应用程序调用ParlayX网关中的第三方呼叫服务在代理A和用户B之间建立起呼叫。

(4)第三方呼叫业务调用Parlay网关中呼叫控制业务能力(CCSCF)提供的API。

(5)Parlay网关向移动网络中的MSC发起消息要求在用户B和其代理A之间建立呼叫。

4.2业务开发和部署

ParlayX开发者开发应用服务器上的业务逻辑时,不需要关心ParlayX网关和Parlay网关中具体业务能力的实现方法,只需根据ParlayX规范定义的接口进行程序开发。在部署业务时,采用ParlayXWebServices所用的UDDI发现机制,绑定到具备所需业务能力的ParlayX网关上即可。

5结束语

在满足用户的个性化需求方面,开放式业务架构为NGN提供了有力的支持和保障。ParlayX目前虽然尚处于起步阶段,但它在使不熟悉电信网络的IT开发人员快速、方便开发新业务方面已经体现出巨大的优越性,可以相信,这项技术必将在NGN中得到广泛应用,在为NGN带来丰富业务的同时,也为运营商和业务提供商带来可观的收益。


版权所有:UML软件工程组织