国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

集團(tuán)客戶端個(gè)性化功能的開發(fā)

2009-03-12 09:29尹津其
關(guān)鍵詞:客戶端

尹津其

摘要:本文討論了集團(tuán)客戶端個(gè)性化功能的開發(fā)項(xiàng)目的系統(tǒng)結(jié)構(gòu)和開發(fā)中的關(guān)鍵技術(shù)的應(yīng)用。介紹了SOAP技術(shù)和SOCKET技術(shù)在WEB開發(fā)中的應(yīng)用實(shí)例。通過此項(xiàng)目的實(shí)施,使得用戶樂于使用集團(tuán)客戶端,提高了客戶黏性。

關(guān)鍵詞:客戶端;SOAP;SOCKET;WEB開發(fā)

0 引言

為了通過客戶端給寬帶用戶提供更加個(gè)性化的信息,加大集團(tuán)客戶端的普及力度,需要在集團(tuán)客戶端現(xiàn)有功能的基礎(chǔ)上增加許多新的個(gè)性化的功能。實(shí)現(xiàn)這些功能必須依靠客戶端通過客戶端平臺(tái)與帳務(wù)及受理等支撐系統(tǒng)、寬帶認(rèn)證計(jì)費(fèi)系統(tǒng)之間的交互,進(jìn)而獲得與客戶相關(guān)的固定電話、寬帶和小靈通以及捆綁業(yè)務(wù)的相關(guān)信息。然后推送給客戶,使得客戶坐在家中即可查詢上網(wǎng)時(shí)長(zhǎng),電話帳單和詳單等。用戶可以及時(shí)掌握自己的電話帳務(wù)信息。通過這種方式,讓用戶樂于使用集團(tuán)客戶端,提高客戶黏性,有助于帶動(dòng)集團(tuán)相關(guān)業(yè)務(wù)的開展。

1 集團(tuán)客戶端介紹

集團(tuán)客戶端,是中國(guó)網(wǎng)通提供給網(wǎng)通寬帶ADSL上網(wǎng)用戶使用的安裝在用戶個(gè)人電腦上的一款軟件,它具備ADSL上網(wǎng)撥號(hào)功能,能夠方便地引導(dǎo)用戶訪問豐富多彩的互聯(lián)網(wǎng)內(nèi)容,還可以幫助用戶有效地檢查與撥號(hào)上網(wǎng)相關(guān)的故障,同時(shí)提供對(duì)用戶電腦主機(jī)的安全檢測(cè)功能。

為滿足不同地域用戶的不同需求,網(wǎng)通客戶端既整合了權(quán)威、綜合性內(nèi)容提供給全網(wǎng)用戶,同時(shí)也為各地用戶提供當(dāng)?shù)叵猜剺芬姾偷赜蛐怎r明的本地內(nèi)容,真正做到了優(yōu)質(zhì)化與差異化相結(jié)合,滿足全網(wǎng)用戶的需求。

2 個(gè)性化功能介紹

個(gè)性化功能包括兩大部分:

2.1 賬單查詢

包括:用戶信息查詢、帳單查詢、固話詳單查詢、賬戶余額查詢等功能。

2.2 寬帶服務(wù)

包括:ADSL用戶密碼修改和上網(wǎng)時(shí)長(zhǎng)查詢等。

3 系統(tǒng)結(jié)構(gòu)

整個(gè)系統(tǒng)采用層次型結(jié)構(gòu)。分為3層,WEB層、業(yè)務(wù)邏輯層、和數(shù)據(jù)層。

WEB層提供查詢頁(yè)面,和展示查詢結(jié)果信息給用戶。

業(yè)務(wù)邏輯層,控制呈現(xiàn)給用戶的頁(yè)面的流程,和與數(shù)據(jù)層通信,查詢和獲取用戶的帳務(wù)信息。

數(shù)據(jù)層,存儲(chǔ)用戶的各種帳務(wù)信息,以供業(yè)務(wù)邏輯層調(diào)用。在本系統(tǒng)中是暴露出調(diào)用接口給業(yè)務(wù)邏輯層。

本系統(tǒng)的應(yīng)用場(chǎng)景如下所述:

客戶通過客戶端軟件登錄ADSL上網(wǎng),訪問安裝在客戶端平臺(tái)上的個(gè)性化功能模塊,實(shí)際上是通過HTTP協(xié)議進(jìn)行的。

客戶端平臺(tái)接受到客戶端的訪問請(qǐng)求,根據(jù)客戶請(qǐng)求的功能,調(diào)用帳務(wù)平臺(tái)或者寬帶認(rèn)證平臺(tái)的接口,取得相應(yīng)信息。

例如,客戶請(qǐng)求固話詳單查詢,則客戶端平臺(tái)根據(jù)客戶的電話號(hào)碼和查詢區(qū)間,訪問帳務(wù)平臺(tái)的詳單查詢接口,取得詳單信息,形成頁(yè)面并返回給客戶端。

對(duì)于客戶端平臺(tái),考慮到本系統(tǒng)的跨平臺(tái)性,軟件環(huán)境采用 Linux + Apache + PHP。

根據(jù)上述用例分析,客戶查詢的信息基本都是通過接口獲得的。其中,有些功能采用了SOAP接口,有些功能采用了SOCKET 接口,因此要根據(jù)不同的功能調(diào)用不同的接口。

下面分別闡釋以上兩種類型接口的調(diào)用方法。

4 關(guān)鍵技術(shù)

4.1 SOAP和SOCKET協(xié)議簡(jiǎn)介

4.1.1 SOAP協(xié)議簡(jiǎn)介

SOAP以XML形式提供了一個(gè)簡(jiǎn)單、輕量的用于在分散或分布環(huán)境中交換結(jié)構(gòu)化和類型信息的機(jī)制。SOAP本身并沒有定義任何應(yīng)用程序語(yǔ)義,如編程模型或特定語(yǔ)義的實(shí)現(xiàn);實(shí)際上它通過提供一個(gè)有標(biāo)準(zhǔn)組件的包模型和在模塊中編碼數(shù)據(jù)的機(jī)制,定義了一個(gè)簡(jiǎn)單的表示應(yīng)用程序語(yǔ)義的機(jī)制。這使SOAP能夠被用于從消息傳遞到RPC的各種系統(tǒng)。

SOAP包括三個(gè)部分

SOAP封裝結(jié)構(gòu)定義了一個(gè)整體框架用來表示消息中包含什么內(nèi)容,誰(shuí)來處理這些內(nèi)容以及這些內(nèi)容是可選的或是必需的。

SOAP編碼規(guī)則定義了用以交換應(yīng)用程序定義的數(shù)據(jù)類型的實(shí)例的一系列機(jī)制。

SOAP RPC表示定義了一個(gè)用來表示遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)定。

雖然這三個(gè)部分都作為SOAP的一部分一起描述,但它們?cè)诠δ苌鲜窍嘟坏摹L貏e的,封裝和編碼規(guī)則是在不同的名域中定義的,這種模塊性的定義方法增加了簡(jiǎn)單性。在SOAP封裝,SOAP編碼規(guī)則和SOAPRPC協(xié)定之外,這個(gè)規(guī)范還定義了兩個(gè)協(xié)議的綁定,描述了在有或沒有HTTP擴(kuò)展框架的情況下,SOAP消息如何包含在HTTP消息中被傳送。

SOAP把XML的使用代碼化為請(qǐng)求和響應(yīng)參數(shù)編碼模式,并用HTTP作傳輸。具體地講,一個(gè)SOAP方法可以簡(jiǎn)單地看作遵循SOAP編碼規(guī)則的HTTP請(qǐng)求和響應(yīng)。一個(gè)SOAP終端則可以看作一個(gè)基于HTTP的URL,它用來識(shí)別方法調(diào)用的目標(biāo)。象CORBA/IIOP一樣,SOAP不需要具體的對(duì)象被綁定到一個(gè)給定的終端,而是由具體實(shí)現(xiàn)程序來決定怎樣把對(duì)象終端標(biāo)識(shí)符映射到服務(wù)器端的對(duì)象。

SOAP消息是一個(gè)XML文檔,包括一個(gè)必需的SOAP封裝,一個(gè)可選的SOAP頭和一個(gè)必需的SOAP體。

4.1.2 SOCKET協(xié)議簡(jiǎn)介

Socket(套接字)是通過標(biāo)準(zhǔn)的UNIX文件描述符和其它程序通訊的一個(gè)方法。每一個(gè)套接字都用一個(gè)半相關(guān)描述:{協(xié)議,本地地址、本地端口}來表示;一個(gè)完整的套接字則用一個(gè)相關(guān)描述:{協(xié)議,本地地址、本地端口、遠(yuǎn)程地址、遠(yuǎn)程端口},每一個(gè)套接字都有一個(gè)本地的由操作系統(tǒng)分配的唯一的套接字號(hào)。采用SOCKET編程技術(shù)實(shí)現(xiàn)接口對(duì)接時(shí),通常需要接口系統(tǒng)雙方根據(jù)實(shí)際情況約定交互流程及數(shù)據(jù)結(jié)構(gòu)定義。

在PHP中,具有專門用來處理SOAP協(xié)議和SOCKET協(xié)議的庫(kù)。

4.2 使用SOAP接口獲得信息

用SOAP接口的方法:

創(chuàng)建一個(gè)soapclient 對(duì)象 -> 準(zhǔn)備入口參數(shù) -> 通過soapclient 對(duì)象的call方法調(diào)用指定的命令,同時(shí)帶上入口參數(shù)。PHP代碼如下:

$client = new soapclient($cnc_url);// 創(chuàng)建一個(gè)soapclient 對(duì)象

$params1 = array('param0'=>$ip); //準(zhǔn)備入口參數(shù)

$result = $client->call('queryUserInfo', $params1,$soapserver_namespace);// 調(diào)用指定的命令

$cellnumber = $result['loginName'];

4.3 使用SOCKET接口獲得信息

在PHP中,提供了類似于操作文件一樣操作socket接口的函數(shù):fsockopen()。利用它調(diào)用socket接口的步驟:

創(chuàng)建一個(gè)socket 連接 -> 發(fā)送請(qǐng)求 -> 取得結(jié)果(-> 發(fā)送請(qǐng)求 -> 取得結(jié)果…)。代碼如下:

$fp = fsockopen ($host, $port, $errno, $errstr); //創(chuàng)建一個(gè)socket 連接

fputs ($fp, $user);// 發(fā)送請(qǐng)求

$rtn = fgets($fp, 1024);// 取得結(jié)果

5 性能和安全性考慮

5.1性能

考慮本系統(tǒng)的開發(fā)采用了Linux + Apache + PHP的平臺(tái),性能調(diào)整方面更多地考慮PHP的性能提升。

本系統(tǒng)采取了PHP語(yǔ)言,由于 PHP 是以解釋的方式執(zhí)行的,所以 PHP 代碼每次執(zhí)行時(shí)都會(huì)被解析和轉(zhuǎn)換成操作碼(opcode)。操作碼緩存能消除這項(xiàng)重復(fù)的工作,使 PHP 應(yīng)用程序運(yùn)行得更快。當(dāng)然沒有必要每次都把同樣的 PHP 代碼翻譯一遍。PHP 代碼被翻譯成操作碼后,可以把它保存起來并重復(fù)使用 -- 直到原始代碼被修改。

XCache 是一種效果很好的加速器。XCache 易于構(gòu)建、安裝和配置,因?yàn)樗亲鰹?PHP 擴(kuò)展實(shí)現(xiàn)的。不需對(duì) Apache 和 PHP 進(jìn)行重編譯。

通過安裝XCache前后的性能測(cè)試,發(fā)現(xiàn)系統(tǒng)性能有顯著的提升。Apache每秒的請(qǐng)求數(shù)增加了20%。

5.2網(wǎng)絡(luò)安全性

客戶只能訪問到WEB服務(wù)器信息展示頁(yè)面。頁(yè)面在服務(wù)器上通過接口訪問數(shù)據(jù)源,避免了客戶直接訪問后臺(tái)的數(shù)據(jù)源。

后臺(tái)的數(shù)據(jù)源機(jī)器設(shè)備只開放了來自WEB服務(wù)器的訪問。這樣,客戶和數(shù)據(jù)源被完全隔離開了。保證了數(shù)據(jù)源設(shè)備的安全性。

6 結(jié)論

本系統(tǒng)已經(jīng)投入試用階段,用戶反應(yīng)良好。

參考文獻(xiàn)

[1]SOAP協(xié)議規(guī)范 http://www.w3.org/TR/

[2]《UNIX環(huán)境高級(jí)編程》

[3][美]Jeffrey L. Whitten, Lonnie D. Bentley, Kevin C. Dittman ,《系統(tǒng)分析與設(shè)計(jì)方法(原書第5版)》,機(jī)械工業(yè)出版社,2003-8-1

[4] 吳迪文, WWW數(shù)據(jù)庫(kù)系統(tǒng)信息集成技術(shù), 微機(jī)發(fā)展, No.1, 1999.

[5] Paul C. Jorgensen, 軟件測(cè)試, 機(jī)械工業(yè)出版社, 2003

[6] Alex Nghitm, IT WEB Services: A Roadmap for the Enterprise, Prentice Hall PTR, 2002

猜你喜歡
客戶端
你的手機(jī)安裝了多少個(gè)客戶端
你的手機(jī)安裝了多少個(gè)客戶端
如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
新聞客戶端如何以社群化運(yùn)作擴(kuò)大影響力
淺談甬派客戶端的時(shí)政新聞如何接地氣
黨報(bào)客戶端如何深耕基層實(shí)施差異化競(jìng)爭(zhēng)——以浙江新聞客戶端蒼南頻道為例
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
大樞紐 云平臺(tái) 客戶端——中央人民廣播電臺(tái)的探索之路
襄城县| 金湖县| 光泽县| 浙江省| 肇东市| 疏附县| 巴东县| 循化| 蕉岭县| 扎兰屯市| 上思县| 井陉县| 仪征市| 北安市| 四会市| 聂拉木县| 和顺县| 长子县| 崇义县| 西峡县| 雅安市| 英山县| 万安县| 方山县| 同仁县| 富宁县| 巫溪县| 荣成市| 河北区| 营山县| 靖西县| 溧水县| 资阳市| 定州市| 五河县| 双桥区| 柘荣县| 巴东县| 龙泉市| 南城县| 交城县|