API接口浅析
臧磊
摘要:介绍了两种网络控制与应用层之间的API接口,即OSA/Parlay APIs和JAINTM APIs
关键词:应用程序接口(API) Parlay JAIN
一、引言
具有开放式的业务体系结构将是下一代网络的重要特征之一。其中关键的技术之一就是网络控制与应用层之间的应用程序接口(APIs)。通过应用程序接口,业务开发商、独立软件提供商(ISV)等第三方应用可以获得使用现有网络资源的能力,从而方便、灵活的为客户提供所需的业务。
本文对目前在业界影响力较大的两种APIs进行介绍。
二、网络控制与应用层之间APIs的分类
本文介绍的APIs总体上分以下几类,如图1所示:
图1:网络控制与应用层之间APIs的分类
(1)第三方APIs:此APIs向第三方开放并提供鉴权和安全性功能。通过此APIs,第三方可以使用业务控制APIs和业务管理APIs。
(2)业务控制APIs:此APIs提供用于控制业务的网络能力。包括呼叫控制、计费、移动、用户交互等等。网络经营者或第三方可以通过此APIs开发他们的应用。
(3)业务管理APIs:此APIs提供业务管理功能。例如业务的观测、扩展、执行等。网络经营者利用此APIs进行业务管理。
(4)协议/资源 APIs:此APIs提供网络能力的协议/资源功能。此类APIs不在本文介绍范围之内。
三、OSA/Parlay APIs
1.概述
Parlay组织,ETSI,和3GPP正在联合为开放业务接入(OSA)定义公用APIs。今后这个联合小组开发的API将被称为 OSA/Parlay APIs。
Parlay组织成立于1998年。最初的成员有:BT,Microsoft,Nortel Networks,Siemens,,和Ulticom(前身是DGM&S Telecom)。截止到今天,Parlay 组织已经拥有各类成员60多个。随着研究的深入,Parlay组织逐渐与其他标准化组织或论坛,例如ETSI、3GPP、JAIN等建立起合作关系。
OSA/Parlay APIs 希望应用提供商,例如独立软件提供商(ISV)和应用业务提供商(ASP),可以不依赖于基础话音/多媒体网络进行网络应用开发。快速的商业化和简化的开发周期将是OSA/Parlay APIs期待的利益点。
2.技术介绍
OSA/Parlay APIs包含两类接口:
――业务接口:此类接口用于应用接入网络能力。
――框架接口:此类接口用于对业务接口提供所必须的安全性、可管理等能力的支持。
OSA/Parlay APIs 使用统一建模语言(UML)进行描述。APIs提供相应的机制以保证对象透明地发送请求并接收来自其他不同平台对象的响应。
OSA/Parlay APIs 在网络中的位置如图2所示:
图2:OSA/Parlay APIs 在网络中的位置
OSA/Parlay APIs 的体系结构如图3所示:
图3:OSA/Parlay APIs 的体系结构
Parlay框架和业务能力特征是OSA/Parlay APIs的主要组成部分:
框架APIs主要包含:应用服务器与框架之间的接口、网络业务能力服务器(SCS)与框架之间的接口、企业经营者与框架之间的接口。完成的主要功能有:
――业务注册,订购和发现;
――鉴权和授权;
――综合性管理。
业务能力特征(SCFs)主要包括:
呼叫控制(Call Control)
提供基本的呼叫控制能力 ,并提供多方呼叫,多媒体呼叫,会议呼叫控制等增强功能
用户交互(User Interaction)
发送短消息、播送通知、收集用户信息等功能
移动(Mobility )
获得用户位置和状态信息
终端能力(Terminal Capabilities)
获得用户终端具有的能力
数据会话控制(Data Session Control)
对数据会话进行控制
基本消息传送(Generic Messaging )
发送、存储、接收消息,提供语音邮箱或电子邮箱所需的能力
连通性管理(Connectivity Manager)
提供QoS保证
帐户管理(Account Management )
提供帐户查询等功能
计费(Charging )
提供计费功能
策略管理(Policy Management)
创建,更新,删除,检索策略信息
呈现和可用性管理(Presence and Availability Management)
管理与呈现相关的信息,例如设备/软件及其主人的动态信息
四、 JAINTM APIs
1.概述
JAINTM APIs是一组基于Java技术的APIs。通过此APIs,可以实现在Java平台上快速地开发下一代通信产品和业务。JAIN的三大驱动力是:
――业务移植:当前的技术开发受到专有接口的限制,这将增加开发成本和商用时间。使用JAIN技术,专有接口将被改造为统一的Java接口,从而使应用具有便捷的可移植性。
――网络融合(综合网络):JAIN技术将加速网络融合,使应用和业务可以服务于PSTN,分组(IP或ATM)和无线网络。
――安全的网络接入:使位于网络外的应用可以直接接入网络资源和设备,执行规定的动作和功能。
JAIN技术通过定义新的抽象层和为PSTN网络、分组(IP或ATM)网络以及无线网络建立业务相关联的Java接口,将因特网(IP)和智能网(IN)协议整合。此外,由于允许Java应用安全地使用网络中的资源,从而为推出丰富的业务创造了机遇。可以说,JAIN技术正在将电信市场从许多专有的封闭系统改变为业务可以被快速创建和部署的单一网络结构。
JAIN由两种API 规范构成:
――协议API规范:规定了有线、无线和IP信令协议的接口。
――应用API规范:涉及在跨越协议API规范包括的所有协议的Java框架内创建业务所需要的各种API。
JAIN的目标是在第三方业务提供商,基于设备的业务提供商,电信提供商,网络设备提供商与电信,消费者,计算机设备制造商之间建立起开放的价值链。
2.体系结构
JAIN的体系结构如图4所示:
图4:JAIN体系结构
JAIN体系定义了软件成份库,开发工具,业务创作环境,以及业务逻辑执行环境,用于为整合的PSTN,分组(ATM 和 IP)和无线网络建立下一代业务。
各层的基本元素如下:
业务层:业务控制点(SCPs),基站控制器(BSCs),位置归属寄存器(HLRs),拜访位置寄存器(VLRs)以及移动交换中心(MSCs),应用服务器。
信令层:ISUP,INAP,TCAP,MAP,SIP,H.323,MGCP,Megaco。
网络层:业务交换点(SSP),交换机,移动交换中心(MSCs),软交换,媒体网关,H.323网守。
JAIN体系包含对信任的业务和不信任的第三方应用的业务创作环境(SCE)。信任的业务位于公共网络的中心。由第三方编写的不信任的业务具有接入公共网络中心的功能。通过安全的业务提供接口,以保证网络的可靠性和完整性不受第三方应用的影响。
JAIN体系为信任的下一代网络业务提供业务逻辑执行环境,业务以及JAIN SLEE的执行将使用Enterprise JavaBeans™ (EJB)。
不信任的业务与信任的业务一样,对SLEE具有相似的需求。不信任的业务也将依靠EJB,JES和JINI™等技术。JAIN SCE对信任的和不信任的两种业务创作环境具有兼容性。
图5显示了JAIN APIs在通信平台中的位置。软交换体系以呼叫控制/会话到底层协议APIs的映射为主题。因为软交换平台信令基于IP网络,因此底层协议多为SIP,MGCP,MEGACO或H.323。还有一些软交换平台为了支持电话网而支持SS7协议。
图5:JAIN APIs在通信平台中的位置
3. JAIN 应用API 规范:
JAIN™ 呼叫控制
JAIN 呼叫控制(JCC)为应用提供面对底层不同网络的一致性机制。应用只需面对JCC接口。JAIN适配器将使呼叫和数据成功接入不同的网络。
JAIN™ 协调和事务处理
JAIN™ 协调和事务处理(JCAT)包括应用所需的在呼叫前,呼叫中,呼叫后调用和返回结果,处理呼叫参数或用户信息,以及进一步的呼叫处理和控制等功能。
JAIN™ 业务提供API(为Parlay规范)
针对Parlay规范的JAIN业务提供APIs(SPA)提供安全接入网络能力的机制。这组APIs关注基于Parlay实现,以及允许由网络经营者输出和由业务提供者/用户发现其他业务这种扩展性的JAVA技术。
JAIN™ 业务逻辑执行环境
一旦业务建立,则可以在JAIN业务逻辑执行环境(SLEE)中测试和配置。JAIN SLEE为电信和因特网运营定义接口和必要条件。
JAIN™ 业务创作环境
JAIN 业务创作环境(SCE)是一组软件接口,支持并简化电信业务的创作。
JAIN™ 公用API
规定了公用的接口和类,例如数据类型和异常定义。用于保持JAIN的一致性。
五、结束语
尽管下一代网络的建成还有待时日,但随着网络的逐步发展,将有越来越多的业务由网络运营商和设备制造商以外的第三方通过应用程序接口(APIs)提供。这类业务的大规模应用,将加速现有网络向开放性网络的演进。在此过程中,各种APIs技术必然将扮演越来越重要的角色。