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

?

廣西電視臺(tái)新聞消息中樞平臺(tái)的接口規(guī)范及函數(shù)調(diào)用方法

2016-05-13 07:39:39劉海蘭
視聽(tīng) 2016年4期
關(guān)鍵詞:接口

□劉海蘭

?

廣西電視臺(tái)新聞消息中樞平臺(tái)的接口規(guī)范及函數(shù)調(diào)用方法

□劉海蘭

摘要:本文介紹了廣西電視臺(tái)新聞消息中樞平臺(tái)的項(xiàng)目背景、結(jié)構(gòu)組成、接口規(guī)范和調(diào)用方法,并通過(guò)實(shí)例說(shuō)明如何按公共服務(wù)接口IceService的要求對(duì)接口執(zhí)行函數(shù)進(jìn)行XML格式封裝。

關(guān)鍵詞:接口;Web Service;XML

一、項(xiàng)目背景

2013年,新聞?lì)l道啟用全新大洋高清非編制播系統(tǒng),計(jì)劃實(shí)現(xiàn)新聞全數(shù)字化制播,使大洋非編軟件制作、生成的視頻文件,最終能夠輸送到硬盤(pán)播出服務(wù)器進(jìn)行播出。在大洋非編網(wǎng)原有的結(jié)構(gòu)中,使用大洋公司研發(fā)的文稿系統(tǒng)來(lái)完成這一工作,稿件的提交、審核、送播等等,由文稿系統(tǒng)發(fā)起命令,再由后臺(tái)服務(wù)軟件根據(jù)命令,分別完成打包、遷移、審核、送播等等一系統(tǒng)流程。

但是由于各方面的原因,頻道領(lǐng)導(dǎo)決定不使用大洋公司提供的文稿系統(tǒng),而是將新聞?lì)l道原有的文稿系統(tǒng)重新按流程定制升級(jí),作為新聞業(yè)務(wù)流程軟件。這樣在大洋非編系統(tǒng)與新聞?lì)l道原有文稿系統(tǒng)之間,必須有一個(gè)消息平臺(tái)實(shí)現(xiàn)雙方系統(tǒng)的握手,完成消息傳遞和信息共享,于是新聞消息中樞平臺(tái)就此誕生了。

在本文中對(duì)于新聞消息中樞平臺(tái)如何設(shè)計(jì)和實(shí)現(xiàn)不做說(shuō)明,只是簡(jiǎn)單介紹一下其結(jié)構(gòu)和組成。

二、項(xiàng)目結(jié)構(gòu)和組成

由于涉及到兩個(gè)系統(tǒng)的對(duì)接,經(jīng)雙方協(xié)商,為了保證各自系統(tǒng)的安全性和保密性,約定由各方提出本方所需的數(shù)據(jù)和功能,由對(duì)方提供一組函數(shù)庫(kù)完成對(duì)接,函數(shù)庫(kù)以DLL、Active、COM組件、Web Service等方式提供,實(shí)現(xiàn)細(xì)節(jié)由雙方制定。

這樣項(xiàng)目將由兩組接口函數(shù)庫(kù)組成,考慮到接口函數(shù)庫(kù)開(kāi)發(fā)過(guò)程中變數(shù)太大,如果采用DLL、Active、COM組件等方式,需要經(jīng)常在客戶(hù)端進(jìn)行升級(jí),因此約定以Web Service方式提供接口,它的優(yōu)點(diǎn)是Web Service函數(shù)并不是以文件的形式存在,而是部署在網(wǎng)絡(luò)服務(wù)器上,以服務(wù)的方式存在,對(duì)Web Service函數(shù)進(jìn)行升級(jí)時(shí),只要函數(shù)名稱(chēng)、出入?yún)?shù)不改變,調(diào)用者不需關(guān)心其函數(shù)內(nèi)部的變化。

Web Service服務(wù)器采用Dell R720,安裝Windows 2008 Server系統(tǒng)。大洋的Web Service服務(wù)使用80端口,文稿的Web Service服務(wù)使用8080端口。

三、接口說(shuō)明

接口采用動(dòng)態(tài)彈性封裝設(shè)計(jì),雙方接口都只有一個(gè)相同的函數(shù)名:Invoke,而真正的執(zhí)行函數(shù)封裝在Invoke函數(shù)的入?yún)⒅羞M(jìn)行傳遞,由Invkde對(duì)入?yún)⑦M(jìn)行解析,再分發(fā)到不同的內(nèi)部函數(shù)中執(zhí)行,內(nèi)部函數(shù)由雙方自行定義,可以根據(jù)需要彈性增加、刪減。

函數(shù)返回值封閉為XML結(jié)構(gòu),因其結(jié)構(gòu)狀態(tài)是多樣性的,調(diào)用方需根據(jù)內(nèi)部函數(shù)說(shuō)明文檔進(jìn)行解析。另外考慮到安全性,部分重要函數(shù)調(diào)用時(shí),需將約定密碼與調(diào)用時(shí)間作為明文進(jìn)行DES加密,將產(chǎn)生的DES加密串作為入?yún)鬏斶M(jìn)來(lái),接口執(zhí)行方采用約定的64位密鑰解開(kāi),判斷是否正確方允許執(zhí)行。

(一)接口規(guī)范

以WebService方式提供接口;接口函數(shù)只有一個(gè),名稱(chēng)為Invoke;全部功能函數(shù)封閉在接口函數(shù)Invoke的入?yún)⒅袌?zhí)行;接口函數(shù)入?yún)⒁訶ML結(jié)構(gòu)進(jìn)行封裝,根據(jù)不同的內(nèi)部函數(shù)要求,入?yún)ML的封裝結(jié)構(gòu)以及調(diào)用內(nèi)部函數(shù)的XML返回值可以不同;內(nèi)部函數(shù)的設(shè)計(jì)要有一定彈性,今后如有內(nèi)部函數(shù)升級(jí)時(shí),只需要提供入?yún)ML結(jié)構(gòu)即可,接口函數(shù)不需改變,這樣可以減少雙方升級(jí)系統(tǒng)的開(kāi)發(fā)工作量;調(diào)用對(duì)方系統(tǒng)時(shí),按照對(duì)方提供的文檔格式進(jìn)行調(diào)用,對(duì)于系統(tǒng)有重要影響的函數(shù),需要設(shè)置接口密碼方可執(zhí)行調(diào)用,并且接口密碼必須根據(jù)時(shí)間戳、約定密碼進(jìn)行DES加密。

(二)公用服務(wù)接口:IceService

接口說(shuō)明:用于各系統(tǒng)向IceService發(fā)送請(qǐng)求,返回IceService的處理結(jié)果。IceService只擔(dān)負(fù)路由的功能,具體實(shí)現(xiàn)由服務(wù)插件完成。

(三)輸入?yún)?shù)定義

輸入?yún)?shù)名稱(chēng):IceServiceRequest

參數(shù)存儲(chǔ)文件名稱(chēng):IceServiceRequest.xsd

IceServiceRequest參數(shù)定義如下:

注:Param帶屬性類(lèi)型,可標(biāo)識(shí)參數(shù)的類(lèi)型.

(四)輸出參數(shù)定義

輸出參數(shù)名稱(chēng):IceServiceResponse

參數(shù)存儲(chǔ)文件名稱(chēng):IceServiceResponse.xsd

IceServiceResponse參數(shù)定義如下:

四、執(zhí)行函數(shù)功能說(shuō)明

五、接口函數(shù)調(diào)用說(shuō)明

前面提到雙方都只提供一個(gè)相同的接口函數(shù):Invoke,真正的執(zhí)行函數(shù)封裝在Invoke函數(shù)的入?yún)⒅羞M(jìn)行傳遞,在delphi中看到如下接口函數(shù)Invoke的定義:

function invoke(const XmlData: WideString): WideString; stdcall;

調(diào)用說(shuō)明:按IceService規(guī)范將執(zhí)行函數(shù)、密碼、時(shí)間戳、方法參數(shù)生成XML字符串并存儲(chǔ)在XmlData變量,調(diào)用Invoke(XmlData),返回的也是IceService結(jié)構(gòu)的XML字符串,之后根據(jù)MessageType進(jìn)行不同的解碼,得到所需數(shù)據(jù)。

這里的執(zhí)行函數(shù)就是上節(jié)“執(zhí)行函數(shù)功能說(shuō)明”中列出的ReadAudioList、ReadTotatx等函數(shù),我們舉個(gè)例子說(shuō)明,如何執(zhí)行ReadAudioList這個(gè)功能呢,按IceService規(guī)范生成的XML串內(nèi)容如下:

廣西新聞

將以上內(nèi)容以字符串的方式存儲(chǔ),并賦予XmlData變量,之后執(zhí)行Invokd(XmlData),這個(gè)例子是請(qǐng)求《廣西新聞》欄目配音表。不同的執(zhí)行函數(shù)返回的數(shù)據(jù)結(jié)構(gòu)是不同的,但必須也按IceService規(guī)范返回字符串,下面是返回?cái)?shù)據(jù):

!.....第2-N個(gè)結(jié)構(gòu).........

真正的數(shù)據(jù)存儲(chǔ)在XML結(jié)構(gòu)的塊區(qū),由接收方按約定格式進(jìn)行解碼,得到配音表的元數(shù)據(jù)。所有的執(zhí)行函數(shù)都采用這種方式封裝和返回?cái)?shù)據(jù)。

(作者單位:廣西電視臺(tái))

猜你喜歡
接口
現(xiàn)場(chǎng)采購(gòu)代表與總部及現(xiàn)場(chǎng)各部門(mén)的接口關(guān)系
某電站工程設(shè)計(jì)管理與施工、質(zhì)量控制接口關(guān)系研究
脫硝數(shù)據(jù)傳輸系統(tǒng)遠(yuǎn)程無(wú)線(xiàn)監(jiān)控技術(shù)的研發(fā)與應(yīng)用
中文信息(2016年10期)2016-12-12 12:56:55
西門(mén)子SPPA—T3000在委內(nèi)瑞拉燃機(jī)電廠(chǎng)中的應(yīng)用與接口
居家環(huán)境監(jiān)測(cè)系統(tǒng)研究
中俄網(wǎng)絡(luò)語(yǔ)言編碼接口問(wèn)題的研究
科技視界(2016年3期)2016-02-26 10:14:32
高雄县| 水富县| 竹北市| 曲周县| 泸定县| 南陵县| 拉萨市| 河津市| 乐昌市| 新闻| 凉山| 长沙县| 丽江市| 城步| 阜宁县| 新乡县| 六盘水市| 阿图什市| 清苑县| 台安县| 社会| 武隆县| 孝感市| 平阳县| 杨浦区| 阜城县| 晴隆县| 洛浦县| 祁阳县| 鹤岗市| 西青区| 井研县| 莫力| 河源市| 富锦市| 洪湖市| 汾阳市| 顺昌县| 宜昌市| 衢州市| 庄河市|