摘要:介紹第三代移動(dòng)通信網(wǎng)絡(luò)中的業(yè)務(wù)開(kāi)發(fā)技術(shù)——Parlay,詳細(xì)分析了該技術(shù)的業(yè)務(wù)提供機(jī)制。針對(duì)移動(dòng)用戶旅游時(shí)所面臨的現(xiàn)實(shí)問(wèn)題提出了一種新型的基于位置服務(wù)的3G業(yè)務(wù)解決方案——MobilityATM,并在Parlay網(wǎng)關(guān)仿真平臺(tái)下完成了對(duì)該業(yè)務(wù)應(yīng)用的設(shè)計(jì)和實(shí)現(xiàn)。
關(guān)鍵詞:Parlay;3G業(yè)務(wù); API;SCS
中圖法分類號(hào):TP391.9文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1001-3695(2006)09-0221-03
隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的飛速發(fā)展,人們對(duì)無(wú)線數(shù)據(jù)業(yè)務(wù)的需求迅猛增長(zhǎng),第三代移動(dòng)通信(簡(jiǎn)稱3G)業(yè)務(wù)應(yīng)用的開(kāi)發(fā)和部署得到了業(yè)界越來(lái)越多的重視。由于傳統(tǒng)的電信業(yè)務(wù)開(kāi)發(fā)對(duì)網(wǎng)絡(luò)依賴嚴(yán)重,要求IT開(kāi)發(fā)人員不但要熟悉底層異構(gòu)網(wǎng)絡(luò)以及復(fù)雜的信令交互,而且還要考慮業(yè)務(wù)的平臺(tái)跨越問(wèn)題。因此,如何打破封閉的傳統(tǒng)電信業(yè)務(wù)生成模式,加速個(gè)性化3G業(yè)務(wù)開(kāi)發(fā)和部署的過(guò)程,已經(jīng)成為各電信運(yùn)營(yíng)商以及標(biāo)準(zhǔn)化組織的研究焦點(diǎn)。
由Parlay,3GPP,ETSI組織聯(lián)合成立的JointWorkGroup共同制定的Parlay/OSA/ETSI技術(shù)標(biāo)準(zhǔn),致力于將電信網(wǎng)絡(luò)資源以安全和可管理的方式開(kāi)放給第三方應(yīng)用開(kāi)發(fā)商和業(yè)務(wù)提供商[1]。
1Parlay
1.1Parlay的結(jié)構(gòu)
Parlay的結(jié)構(gòu)如圖1所示,主要包括應(yīng)用服務(wù)器(ApplicationServer,AS)、業(yè)務(wù)能力服務(wù)器(ServiceCapabilityServer,SCS)以及Parlay框架(Framework)。
應(yīng)用服務(wù)器是實(shí)現(xiàn)業(yè)務(wù)邏輯的主體。通過(guò)業(yè)務(wù)能力服務(wù)器提供的標(biāo)準(zhǔn)ParlayAPI接口使用下層的網(wǎng)絡(luò)資源,向終端用戶提供最終的3G業(yè)務(wù)服務(wù)。所使用的API接口是一些功能和子程序調(diào)用的集合,通常包括接口名稱、接口中的功能名稱和類型,以及每個(gè)功能的名稱和類型。用來(lái)定義API接口的形式化語(yǔ)言和編程語(yǔ)言是獨(dú)立的,如IDL和UML。業(yè)務(wù)能力服務(wù)器負(fù)責(zé)抽象網(wǎng)絡(luò)資源,對(duì)應(yīng)用服務(wù)器提供上述標(biāo)準(zhǔn)的ParlayAPI接口,包括呼叫控制、用戶交互、移動(dòng)位置服務(wù)、計(jì)費(fèi)等[2]。其功能可以視為一個(gè)通向核心網(wǎng)絡(luò)的代理網(wǎng)關(guān)。
Parlay框架為應(yīng)用服務(wù)器提供接入電信核心網(wǎng)絡(luò)所需的安全、管理和控制等功能。通過(guò)使用分布式技術(shù),框架還可以提供靈活、健壯的服務(wù)能力。此外,框架支持非標(biāo)準(zhǔn)化的API的引入,方便應(yīng)用開(kāi)發(fā)人員對(duì)業(yè)務(wù)的創(chuàng)新。該框架主要包括以下核心功能[3]:
(1)信任與安全管理。提供域內(nèi)的安全認(rèn)證功能。
(2)注冊(cè)。支持新的業(yè)務(wù)能力服務(wù)器注冊(cè)到框架。
(3)業(yè)務(wù)生命周期管理。為API的實(shí)現(xiàn)生成一個(gè)新的實(shí)例。
(4)完整性管理。負(fù)載均衡、錯(cuò)誤管理、心跳管理。
(5)事件通知功能。特殊事件的通知功能(如新的業(yè)務(wù)能力服務(wù)器注冊(cè))。
(6)契約管理。管理不同域內(nèi)的契約(如應(yīng)用服務(wù)提供商與網(wǎng)絡(luò)提供商之間的契約)。
1.2Parlay的業(yè)務(wù)提供機(jī)制
從業(yè)務(wù)能力服務(wù)器的引入,到應(yīng)用服務(wù)器使用其提供的業(yè)務(wù)能力,Parlay的業(yè)務(wù)提供可以劃分成以下三個(gè)階段:(1)業(yè)務(wù)能力服務(wù)器注冊(cè)。首先,業(yè)務(wù)能力服務(wù)器通過(guò)安全認(rèn)證,向框架提出使用注冊(cè)接口的請(qǐng)求;然后,業(yè)務(wù)能力服務(wù)器使用該接口將自己的名稱以及所提供的能力發(fā)布到框架,至此框架便可以實(shí)現(xiàn)對(duì)該業(yè)務(wù)能力服務(wù)器的引用。
(2)建立服務(wù)協(xié)議。在業(yè)務(wù)能力服務(wù)器與框架之間設(shè)定與服務(wù)提供相關(guān)的參數(shù),包括業(yè)務(wù)能力服務(wù)器所支持的最大業(yè)務(wù)呼叫能力,何種條件下應(yīng)用程序可以使用其提供的API等。所有這些信息通過(guò)框架的管理系統(tǒng)進(jìn)行管理。
(3)應(yīng)用服務(wù)器使用ParlayAPI。應(yīng)用服務(wù)器和框架首先完成雙方的身份認(rèn)證,然后使用框架提供的服務(wù)發(fā)現(xiàn)接口獲取它需要的API。框架檢查該應(yīng)用服務(wù)器是否有權(quán)限使用其請(qǐng)求的API。如果具有該權(quán)限,框架請(qǐng)求提供該API的業(yè)務(wù)能力服務(wù)器為應(yīng)用服務(wù)器產(chǎn)生一個(gè)唯一的實(shí)例化對(duì)象。業(yè)務(wù)能力服務(wù)器生成該對(duì)象,并將其調(diào)用地址返回給框架。框架與應(yīng)用服務(wù)器雙方簽訂服務(wù)水平協(xié)議(ServiceLevelAgreements,SLA),設(shè)定是否允許計(jì)費(fèi)、何時(shí)觸發(fā)等服務(wù)參數(shù),然后框架將該調(diào)用地址傳遞給應(yīng)用服務(wù)器。這樣,應(yīng)用服務(wù)器就可以使用業(yè)務(wù)能力服務(wù)器所抽象的電信網(wǎng)絡(luò)能力了。
從上面的描述可以看出,通過(guò)Parlay提供的網(wǎng)絡(luò)服務(wù)能力API接口,IT開(kāi)發(fā)人員可以像開(kāi)發(fā)本地程序一樣開(kāi)發(fā)電信業(yè)務(wù),屏蔽了具體網(wǎng)絡(luò)協(xié)議的差異,降低了對(duì)開(kāi)發(fā)電信增值業(yè)務(wù)所需的電信背景。
2.3G業(yè)務(wù)的仿真實(shí)現(xiàn)
2.13G業(yè)務(wù)應(yīng)用場(chǎng)景描述
移動(dòng)用戶到外地旅游時(shí),常常因?yàn)樗鶐КF(xiàn)金不夠而需要到取款機(jī)(AutomaticTellerMachine,ATM)取錢,由于人地生疏,需要花很長(zhǎng)的時(shí)間去找ATM,耽誤了時(shí)間。針對(duì)上述問(wèn)題,我們?cè)?G提供的位置定位服務(wù)[4]、彩信服務(wù)以及地理信息系統(tǒng)(GeographicInformationSystem,GIS)的基礎(chǔ)上,設(shè)計(jì)了一個(gè)新型的3G業(yè)務(wù)——MobilityATM。圖2是該業(yè)務(wù)的應(yīng)用場(chǎng)景流程描述。
(1)3G終端用戶發(fā)送短信“DG”(或“QX”)到1000。該號(hào)碼為所設(shè)計(jì)業(yè)務(wù)的服務(wù)號(hào)碼。
(2)完成業(yè)務(wù)邏輯的應(yīng)用服務(wù)器接收到用戶的短信,判斷短信的內(nèi)容。如果內(nèi)容是“QX”,則從服務(wù)列表中將該用戶刪除,并向用戶發(fā)送取消訂購(gòu)成功短信,針對(duì)該用戶的服務(wù)結(jié)束。
(3)如果內(nèi)容是“DG”,將該用戶加入到服務(wù)列表,并向用戶發(fā)送訂購(gòu)成功短信。
(4)啟動(dòng)位置服務(wù)功能,對(duì)該用戶的位置進(jìn)行實(shí)時(shí)跟蹤,判斷用戶的位置與目標(biāo)距離是否達(dá)到要求(這里設(shè)定用戶位置與ATM取款機(jī)的位置小于500m時(shí),觸發(fā)通知功能),符合要求,利用GIS為用戶生成電子路線地圖。
(5)以彩信的方式發(fā)送給用戶,并從該用戶的賬戶中進(jìn)行扣費(fèi)。
2.23G業(yè)務(wù)的仿真實(shí)現(xiàn)
根據(jù)上述的應(yīng)用場(chǎng)景描述,我們采用Java語(yǔ)言在愛(ài)立信公司提供的基于Parlay的NRG(NetworkResourceGateway)仿真平臺(tái)上進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)[5]。如圖3所示,該業(yè)務(wù)應(yīng)用主要包括以下幾個(gè)功能類:
(1)AppLogic(業(yè)務(wù)邏輯類)。完成應(yīng)用的業(yè)務(wù)邏輯,獲取Parlay網(wǎng)關(guān)框架的引用以及底層業(yè)務(wù)能力的引用,協(xié)調(diào)其他功能類實(shí)現(xiàn)對(duì)用戶的服務(wù)。
(2)SMSProcessor(短信處理類)。調(diào)用Parlay網(wǎng)關(guān)提供的短信處理API,完成對(duì)用戶的短信發(fā)送和接收功能。(3)MMSProcessor(彩信處理類)。調(diào)用Parlay網(wǎng)關(guān)提供的彩信處理API,完成向用戶發(fā)送電子路線地圖的功能。
(4)LocationTracker(位置跟蹤服務(wù)類)。調(diào)用Parlay網(wǎng)關(guān)提供的位置服務(wù)API,實(shí)時(shí)獲取用戶的位置信息。
(5)ChargingProcessor(計(jì)費(fèi)處理類)。調(diào)用計(jì)費(fèi)服務(wù)API,對(duì)用戶進(jìn)行基于會(huì)話的扣費(fèi)。
(6)MapProcessor(地圖處理類)。根據(jù)LocationTracker提供的用戶位置信息,調(diào)用GIS的服務(wù)接口,計(jì)算用戶位置與目標(biāo)位置的距離,若距離符合要求,則為其生成詳細(xì)的用戶路線地圖。
(7)UserManager(用戶服務(wù)列表管理類)。負(fù)責(zé)用戶服務(wù)列表的維護(hù),包括用戶的添加、修改和刪除。
下面通過(guò)該應(yīng)用程序的時(shí)序圖(圖4),對(duì)該仿真實(shí)現(xiàn)的關(guān)鍵步驟進(jìn)行描述,整個(gè)業(yè)務(wù)的實(shí)現(xiàn)可以分成以下三個(gè)階段:
(1)業(yè)務(wù)初始化和用戶訂購(gòu)。
如圖4(a)所示,業(yè)務(wù)邏輯首先通過(guò)網(wǎng)關(guān)代理的obtainSCF()獲取服務(wù)所需要的網(wǎng)絡(luò)能力,包括消息交互能力SP_HOSA_USER_INTERACTION、位置定位能力P_USER_LOCATION、計(jì)費(fèi)能力P_CHARGING;然后啟動(dòng)訂購(gòu)消息監(jiān)聽(tīng)機(jī)制,NRG如果發(fā)現(xiàn)有發(fā)送到1000的短信,就將該信息用reportNotifications()傳遞給該業(yè)務(wù)邏輯,如果發(fā)送的消息是“DG”,業(yè)務(wù)邏輯調(diào)用SMSProcessor的短信發(fā)送功能SendSMS()向用戶進(jìn)行訂購(gòu)成功確認(rèn)。主要包括兩步:①調(diào)用NRG提供的消息處理能力管理器IPHosaUIManager進(jìn)行短消息發(fā)送,該操作是異步執(zhí)行的;②消息發(fā)送成功后,由對(duì)象IPHosaAppUIManager向程序返回成功信息;若發(fā)送失敗,則返回消息發(fā)送失敗,進(jìn)行相應(yīng)的異常處理。
(2)位置服務(wù)。
在圖4(b)中,業(yè)務(wù)邏輯調(diào)用LocationTracker的位置獲取功能,并最終為用戶生成電子路線地圖。首先,LocationTracker使用獲取的NRG位置服務(wù)能力對(duì)象IPUserLocation向網(wǎng)絡(luò)發(fā)送針對(duì)該用戶的位置定位請(qǐng)求,網(wǎng)絡(luò)通過(guò)IPAppUserLocation返回用戶位置的實(shí)時(shí)信息;然后LocationTracker通過(guò)notifyLocation()將位置信息返回給業(yè)務(wù)邏輯;業(yè)務(wù)邏輯通知MapProcessor進(jìn)行所需的位置計(jì)算,如果位置滿足要求則為用戶生成路線指示圖,并將地圖的引用返回給業(yè)務(wù)邏輯,如果不滿足要求則繼續(xù)進(jìn)行位置跟蹤。
(3)發(fā)送彩信,計(jì)費(fèi)并釋放資源。
如圖4(c)所示,由于此處考慮的是預(yù)付費(fèi)用戶的計(jì)費(fèi)方式,所以當(dāng)路線地圖產(chǎn)生后,首先要進(jìn)行業(yè)務(wù)資費(fèi)的預(yù)扣除,業(yè)務(wù)邏輯請(qǐng)求進(jìn)行資費(fèi)預(yù)扣除的操作reservePayment(),ChargingProcessor使用計(jì)費(fèi)管理器IPChargingManager產(chǎn)生一個(gè)計(jì)費(fèi)Session;然后進(jìn)行預(yù)扣費(fèi)請(qǐng)求reserveAmountReq(),操作成功后向業(yè)務(wù)邏輯返回成功消息。由業(yè)務(wù)邏輯調(diào)用MMSProcessor的彩信發(fā)送功能,將電子地圖發(fā)送給用戶(與短信的發(fā)送過(guò)程相同)。發(fā)送成功后,進(jìn)行資費(fèi)扣除,由ChargingProcessor直接調(diào)用IPChargingSessionID的扣費(fèi)功能debitAmountReq()。自此針對(duì)該用戶的定位服務(wù)完成,業(yè)務(wù)邏輯釋放所申請(qǐng)的網(wǎng)絡(luò)服務(wù)能力。
3結(jié)束語(yǔ)
第三代移動(dòng)通信系統(tǒng)是業(yè)務(wù)需求驅(qū)動(dòng),以提供豐富靈活的增值業(yè)務(wù)為中心的通信系統(tǒng),業(yè)務(wù)的快速開(kāi)發(fā)和部署是其發(fā)展的源動(dòng)力。通過(guò)介紹電信與IT界的橋梁——Parlay技術(shù),并利用面向?qū)ο蟮乃枷朐趷?ài)立信提供的Parlay仿真平臺(tái)下完成一種基于定位的新型3G業(yè)務(wù)的設(shè)計(jì)和實(shí)現(xiàn),通過(guò)UML清晰地描述了各主要功能類之間的協(xié)作關(guān)系。該業(yè)務(wù)的仿真實(shí)現(xiàn)對(duì)業(yè)務(wù)開(kāi)發(fā)人員有很高的參考價(jià)值,極大地推動(dòng)了Parlay技術(shù)的使用,為更多IT編程人員快速開(kāi)發(fā)3G業(yè)務(wù)創(chuàng)造了條件。
參考文獻(xiàn):
[1]董斌,蘇森.融合電信網(wǎng)絡(luò)和企業(yè)應(yīng)用的統(tǒng)一業(yè)務(wù)體系結(jié)構(gòu)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,11(11):18691875.
[2]ETSI,ES2039151v1.1.1.OpenServiceAccess(OSA),ApplicationProgrammingInterface,Part1:Overview[S].
[3]Ard-Jan Moerdijk, Lucas Klostermann. Opening the Networks with Parlay/OSA:Standards and Aspects Behind the APIS[J].IEEE Network,2003,17(3):5864.
[4]3GPP,TS23271690.Functional Stage 2 Description of Location Services[S].
[5]Ericsson.Ericsson Network Resource Gateway Programmers Guide[M].Ericsson Press,2005.