蔡俊鵬
(湖北廣播電視臺,湖北 武漢 430000)
目前,廣播核心業(yè)務(wù)是制播系統(tǒng)的應(yīng)用,傳統(tǒng)的制播系統(tǒng)都是基于C/S架構(gòu),客戶端直接訪問網(wǎng)絡(luò)文件句柄,播放、傳輸音頻文件都是通過文件共享的方式完成。而文件共享方式給網(wǎng)絡(luò)造成安全威脅,特別是通過共享傳播的病毒,一旦在制播網(wǎng)中傳播,是很難清除干凈,這樣給整個制播網(wǎng)絡(luò)帶來災(zāi)難的后果。雖然,我們通過技術(shù)手段和管理辦法來彌補這些漏洞,但我們在管理和維護系統(tǒng)時必須考慮到最壞的情況,制作系統(tǒng)和播出系統(tǒng)緊密結(jié)合在一起,很難避免制作系統(tǒng)的某個環(huán)節(jié)存在漏洞,這樣威脅到播出系統(tǒng)的安全。
C/S架構(gòu)的廣播多媒體系統(tǒng)移植性差,客戶端只能采用單一的操作系統(tǒng)或文件系統(tǒng)才能運行,目前平臺主要是windows操作系統(tǒng),不能移植到蘋果電腦的操作系統(tǒng)或LINUX等其他平臺。隨著電臺業(yè)務(wù)的發(fā)展,相應(yīng)的伴隨廣播制播系統(tǒng)延伸的業(yè)務(wù)多起來,如媒資系統(tǒng)、多媒體文稿系統(tǒng)、慢錄系統(tǒng)等業(yè)務(wù)。而C/S架構(gòu)的制播系統(tǒng)不能很好的和這些業(yè)務(wù)結(jié)合起來。
我們知道,傳統(tǒng)的C/S架構(gòu)的制播系統(tǒng)只能在一個封閉的局域網(wǎng)內(nèi)運行,制播網(wǎng)通常和電臺辦公自動化網(wǎng)絡(luò)是物理隔離的,不能互相訪問,但目前電臺業(yè)務(wù)的發(fā)展緊緊的和互聯(lián)網(wǎng)、綜合業(yè)務(wù)網(wǎng)聯(lián)系在一起,需要相互提供服務(wù)。這樣,C/S架構(gòu)的電臺系統(tǒng)軟件就不能滿足這些要求,因此也就制約了廣播業(yè)務(wù)的發(fā)展。
SOA代表著今后一段時期軟件技術(shù)的發(fā)展方向,并已經(jīng)開始從研究階段進入實施和推廣階段。首先,了解什么是SOA,它是面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture),它是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。
(1)播放、傳輸音頻方式安全、可靠、效率高
對比采用C/S架構(gòu),采用WEB服務(wù)的SOA架構(gòu)更安全,客戶端不用去讀共享文件,只需要播放和傳輸音頻數(shù)據(jù)的IP包。而查詢、提供音頻數(shù)據(jù)IP包都是在服務(wù)器端完成,提高了客戶端的運行效率。目前,湖北電臺建立了一套基于SOA架構(gòu)的X1多媒體制播系統(tǒng)、音頻慢錄系統(tǒng)、新聞文稿系統(tǒng)、全媒資系統(tǒng)。極大地改變了電臺制播系統(tǒng)傳統(tǒng)使用方式,提高了軟件的擴展性和穩(wěn)定性,滿足了電臺自動化發(fā)展的需要。
湖北電臺早期使用的AIR2000 A3/A4版本的制播系統(tǒng)和目前部分頻道使用的AIR2000 S1版本的制播系統(tǒng)都是采用的文件共享方式播放音頻。由于共享文件整個暴露于制播網(wǎng)絡(luò),無法保證共享文件的安全性,而且在客戶端的用戶安全管理上存在很大的漏洞。這些對于廣播播出的安全性要求極高形成反差。我臺最新實用的基于SOA架構(gòu)的X1制播系統(tǒng)很好的解決了這個問題,其采用目前較流行的流媒體播放方式讀取文件,不需要共享文件。只需要流服務(wù)器提供相應(yīng)的流媒體服務(wù)就行,這樣音頻數(shù)據(jù)對用戶是不透明的,提高了使用的安全性。與傳統(tǒng)的播放方式不同,流媒體在播放前并不下載整個文件,只將部分內(nèi)容緩存,使流媒體數(shù)據(jù)流邊傳輸邊播放,這樣就節(jié)省了下載等待時間和存儲空間。這些優(yōu)點極大地提高了播放工作站的工作效率。
音頻流播放方式和文件共享方式區(qū)別如圖1所示:
圖1 為音頻流播放方式和文件共享方式區(qū)別示意圖
在傳輸方式上,基于SOA架構(gòu)的X1制播系統(tǒng)采用了FTP(File Transfer Protocol)服務(wù)提供音頻流的傳輸。FTP服務(wù)提供了完善的用戶權(quán)限管理系統(tǒng),比起網(wǎng)絡(luò)共享來說,可以詳細(xì)設(shè)置每個用戶的權(quán)限。而且安全性高,可以進行數(shù)據(jù)的加密傳輸。廣播電臺是一個對用戶權(quán)限管理非常嚴(yán)格的單位,記者、編輯這些身份對播出的素材管理權(quán)限,正式播出的音頻文件管理權(quán)限都不一樣。而FTP服務(wù)可以實現(xiàn)電臺獨有的這些功能需求。
音頻流傳輸方式和文件共享方式區(qū)別如圖2所示:
圖2 為音頻流傳輸方式和文件共享方式區(qū)別示意圖
(2)SOA的松耦合特性,使得電臺可以按照模塊化的方式來添加新服務(wù)或更新現(xiàn)有服務(wù),以解決新的業(yè)務(wù)需要
不同種類的操作系統(tǒng)、應(yīng)用軟件、系統(tǒng)軟件和應(yīng)用基礎(chǔ)結(jié)構(gòu)相互交織,這便是廣播業(yè)務(wù)系統(tǒng)的現(xiàn)狀。一些現(xiàn)存的應(yīng)用程序被用來處理當(dāng)前的業(yè)務(wù)流程,因此從頭建立一個新的基礎(chǔ)環(huán)境是不可能的。電臺應(yīng)該能對業(yè)務(wù)的變化做出快速的反應(yīng),利用對現(xiàn)有的應(yīng)用程序和應(yīng)用基礎(chǔ)結(jié)構(gòu)的投資來解決新的業(yè)務(wù)需求,為客戶,商業(yè)伙伴以及供應(yīng)商提供新的互動渠道,并呈現(xiàn)一個可以支持有機業(yè)務(wù)(organic business)的構(gòu)架。SOA憑借其松耦合的特性,使得電臺可以按照模塊化的方式來添加新服務(wù)或更新現(xiàn)有服務(wù),以解決新的業(yè)務(wù)需要,提供選擇從而可以通過不同的渠道提供服務(wù),并可以把電臺現(xiàn)有的或已有的應(yīng)用作為服務(wù),從而保護了現(xiàn)有的IT基礎(chǔ)建設(shè)投資。湖北電臺使用了基于SOA架構(gòu)的X1制播系統(tǒng)后,相繼在此架構(gòu)上擴展了慢錄服務(wù),媒資服務(wù),新聞文稿服務(wù)等功能。
傳統(tǒng)上,我們把計算機后臺程序(Daemon)提供的功能,稱為“服務(wù)”(service)。比如,讓一個殺毒軟件在后臺運行,它會自動監(jiān)控系統(tǒng),那么這種自動監(jiān)控就是一個“服務(wù)”。通俗地說,“服務(wù)”就是計算機可以提供的某一種功能,電臺業(yè)務(wù)分很多功能,如新聞文稿功能,提供慢錄查詢、審聽功能,播放音頻文件功能,我們就把這些功能叫做服務(wù)。
服務(wù)代表一段完整的業(yè)務(wù)單元,并且可以根據(jù)特定用戶的需求組織成為更大和新的服務(wù)。服務(wù)可以由一個或多個構(gòu)件組合而成。服務(wù)開發(fā)者必須考慮構(gòu)件的粒度,以及構(gòu)件的流程和組裝,這樣他們在改變服務(wù)的實現(xiàn)時,可以盡可能少的影響其它構(gòu)件、應(yīng)用和服務(wù)。而服務(wù)的設(shè)計者則更關(guān)心選擇合適的服務(wù),并將它們以可管理的方式組織,并最終將它們組裝為完整的業(yè)務(wù)流程。
“面向服務(wù)”表示一種分離系統(tǒng)關(guān)注面的方法,其實質(zhì)是將一個比較大的問題分解成一系列較小的、互相關(guān)聯(lián)的子問題,從而降低問題的復(fù)雜度,使得我們能夠較從容地分析、解決和管理它。傳統(tǒng)的面向?qū)ο蟮脑O(shè)計方法其實也是一種分離系統(tǒng)關(guān)注面的方法,只不過它是在對象層面來分離關(guān)注面,相對業(yè)務(wù)邏輯較遠(yuǎn),而面向服務(wù)則是在服務(wù)層面來分離關(guān)注面,直接關(guān)注的是業(yè)務(wù)邏輯,從而使面向服務(wù)能夠(至少在理論上)更好地滿足業(yè)務(wù)需求。
電臺業(yè)務(wù)的應(yīng)用需要相對簡單而實用的中間件技術(shù)來簡化和統(tǒng)一越來越復(fù)雜、繁瑣的企業(yè)級信息系統(tǒng)平臺。面向服務(wù)體系架構(gòu)(SOA)是能夠?qū)?yīng)用程序的不同功能單元通過服務(wù)之間定義良好的接口和契約聯(lián)系起來。SOA使用戶可以不受限制地重復(fù)使用軟件、把各種資源互連起來,只要IT人員選用標(biāo)準(zhǔn)接口包裝舊的應(yīng)用程序、把新的應(yīng)用程序構(gòu)建成服務(wù),那么其他應(yīng)用系統(tǒng)就可以很方便的使用這些功能服務(wù)。
支撐SOA的關(guān)鍵是其消息傳遞架構(gòu)-企業(yè)服務(wù)總線(ESB)。ESB是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)相互結(jié)合的產(chǎn)物,用于實現(xiàn)企業(yè)應(yīng)用不同消息和信息的準(zhǔn)確、高效和安全傳遞。ESB的出現(xiàn)改變了傳統(tǒng)的軟件架構(gòu),可以提供比傳統(tǒng)中間件產(chǎn)品更為廉價的解決方案,同時它還可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)協(xié)調(diào)運作,實現(xiàn)不同服務(wù)之間的通信與整合。ESB產(chǎn)品應(yīng)用于電臺信息系統(tǒng)集成結(jié)構(gòu)圖如圖3所示:
圖3 為電臺ESB信息系統(tǒng)集成示意圖
Web服務(wù)是實現(xiàn)SOA的方式之一。Web Service是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Service能與其他兼容的組件進行互操作。它可以使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議,像超文本傳輸協(xié)議HTTP和XML,將功能體現(xiàn)在互聯(lián)網(wǎng)和企業(yè)內(nèi)部網(wǎng)上。Web Service平臺是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在Web上實現(xiàn)互操作性。你可以用你喜歡的任何語言,在你喜歡的任何平臺上寫Web Service。Web Service技術(shù)以下幾四個特點符合廣播業(yè)務(wù)系統(tǒng)的要求:
(1)內(nèi)容更加動態(tài):一個web service能合并從多個不同來源的內(nèi)容,可以包括圖片、音頻、新聞等,在廣播直播間,正好能從業(yè)務(wù)系統(tǒng)獲取需要的內(nèi)容。在傳統(tǒng)環(huán)境中的內(nèi)容,都從后端系統(tǒng)而來。
(2)帶寬更加便宜:web services可以分發(fā)各種類型的內(nèi)容(音頻,視頻流等)。
(3)存儲更便宜:web services能聰明地處理大量數(shù)據(jù),意味著要使用數(shù)據(jù)庫,LDAP目錄,緩沖和負(fù)載平衡軟件等技術(shù)保持可擴展能力。
(4)普遍式計算更重要:web services不要求客戶使用某一版本的windows的傳統(tǒng)瀏覽器,它支持各種設(shè)備,平臺,瀏覽器類型,各種內(nèi)容類型。
前面我們提到過,傳統(tǒng)的制播網(wǎng)(內(nèi)網(wǎng))和辦公自動化網(wǎng)(外網(wǎng))是相互物理隔離的。內(nèi)網(wǎng)不能向外網(wǎng)提供任何服務(wù),外網(wǎng)也不能向內(nèi)網(wǎng)提供服務(wù)。英夫美迪公司早期開發(fā)的ICM系統(tǒng),把內(nèi)外網(wǎng)物理連接起來,但只能傳輸文件,并不能提供有效的服務(wù)。隨著電臺業(yè)務(wù)的發(fā)展,記者和編輯能在外網(wǎng)制作和審聽節(jié)目,避免有限的制作間排隊等候,能把采訪稿件傳送到內(nèi)網(wǎng)播出等這些要求已是電臺發(fā)展的趨勢。SOA架構(gòu)采用的web services技術(shù)結(jié)合網(wǎng)閘技術(shù)很好的解決了這些問題。如圖4所示
圖4 為基于SOA的制播網(wǎng)通過網(wǎng)閘向辦公網(wǎng)提供服務(wù)的結(jié)構(gòu)圖
客戶端和應(yīng)用服務(wù)器之間采用SOAP協(xié)議,可穿越網(wǎng)閘。全部的核心業(yè)務(wù)邏輯都由網(wǎng)絡(luò)中的服務(wù)器提供,客戶端是瘦客戶端,客戶端無論是瀏覽器方式還是WinForm方式都只是界面及交互。各種多媒體內(nèi)容(如稿件、媒資、節(jié)目、節(jié)目單)等都是存儲在網(wǎng)絡(luò)上的,客戶在任何地方均可訪問。對多媒體數(shù)據(jù)的播放、查看也都是服務(wù)器提供,客戶端只是簡單地播放IP包中的多媒體數(shù)據(jù)而已。對音視頻的編輯也可在網(wǎng)盤中進行。
SOA的概念并非什么新東西,SOA不同于現(xiàn)有的分布式技術(shù)之處在于大多數(shù)軟件商接受它并有可以實現(xiàn)SOA的平臺或應(yīng)用程序。SOA伴隨著無處不在的標(biāo)準(zhǔn),為電臺的現(xiàn)有資產(chǎn)或投資帶來了更好的重用性。SOA能夠在最新的和現(xiàn)有的應(yīng)用之上創(chuàng)建應(yīng)用;SOA能夠使用戶免予服務(wù)實現(xiàn)的改變所帶來的影響;SOA能夠升級單個服務(wù)或服務(wù)消費者而無需重寫整個應(yīng)用,也無需保留已經(jīng)不再適用于新需求的現(xiàn)有系統(tǒng)。總而言之,SOA以借助現(xiàn)有的應(yīng)用來組合產(chǎn)生新服務(wù)的敏捷方式,提供給電臺更好的靈活性來構(gòu)建應(yīng)用程序和業(yè)務(wù)流程。