parlayx技术浅析及其在ngn中的应用肖欣摘要NGN需求能够快速而灵活地提供增值业务。ParlayX是Parlay组织在Parlay规范基础上提出的新的开放业务架构规范。他既继承了Parlay规范开放网络业务能力的特性,又对Parlay规范进行了抽象和简化。ParlayX技术和WebSercvice技术结合能够方便不具有专业电信知识的IT研发人员快速研发各种基于电信网能力的业务。本文将在周详介绍ParlayX规范的同时对Parlay和ParlayX规范进行比较,然后例举NGN中基于ParlayX技术的业务研发。关键词ParlayXWeb服务NGN1引言下一代网络(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和WebService3.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.8终端位置该WebSer