蘭建龍,趙 英,關俊玲,張 敏
(四川大學公共管理學院信息管理系,四川 成都 610064)
隨著信息技術與廣播電視技術的不斷融合,全球廣播電視媒體正在呈現出一種跨平臺、產業多樣化和不斷產生新媒體形式或產業形式的整體發展趨勢。同時在國內,信息化在“十一五”期間被提到了前所未有的高度[1],在新聞網業務中,新聞信息采集、節目制作、播出是廣播電視媒體新聞網的主要業務,互動、移動、多功能的服務方式是其發展趨勢。由于新聞節目信息量大、時效性強、表現手段多樣等顯著特點,新聞業務系統向互聯共享、業務整合,以及全臺資源一體化管理等更高層次的業務需求目標發展,而且需要系統支持可持續發展。因此,各個電視臺要想提高信息技術給其帶來的效益,就必須在加強新聞業務運營管理和統籌規劃新聞網業務流程基礎上,不斷地完善新聞業務管理系統的設計和構建,以提高其自身的競爭能力。本文正是基于以上需求,在新聞業務管理系統中引入面向服務架構(Service Oriented Architecture,SOA)思想,實現了對新聞業務管理系統的升級優化,從而更好地服務于新聞業務的管理,適應新聞業務更高層次的需求和發展。
SOA最早由IBM提出,并逐步為IT業界各大巨頭(如HP,Oracle,BEA)所認可。IBM對其具體的定義是:SOA是一種構造分布式系統的方法,它將一個業務系統或者業務系統內部的一個功能單元定義為一種服務,通過在這些服務之間定義一個良好的接口規范聯系起來,將業務應用功能以服務的形式提供給最終用戶應用或其他服務[2]。SOA的協議棧有功能和服務質量兩部分組成,如圖1 所示[3]。

圖1 SOA的組成元素
SOA為系統支持業務敏捷性提供了一套新的思路和方法。首先它通過標準的方法統一描述出各種業務,或稱為業務對象和業務模型,并且很容易被組合和重組;其次,它解決了不同系統之間的信息交互,尤其是當IT系統是由跨平臺(IBM,BEA,Microsoft,SAP,Oracle 等)和有不同技術(J2EE,.NET,遺留技術等)實現時[4]。除此之外,面向服務體系架構對分布式的企業級應用開發同樣也有著很強的現實指導意義,它使IT環境可以更加靈活且更快地響應不斷改變的業務需求,同時使異構系統和應用程序盡可能無縫地進行通信,從而達到不斷地降低成本、最大限度地利用現有技術的目的。面向服務架構的出現,使得對系統體系架構的研究有了重要的意義[5]。
研究發現,截止到目前面向服務的體系架構至少在60%的企業中被作為了其IT系統基本架構的方法[6]。因此,將面向服務架構方法引入到新聞業務管理系統構建過程的研究將具有十分重要的現實意義。
新聞業務管理系統遵照著互聯互通、資源高效率共享的設計理念,主要目的是為各個電視臺的新聞網打造一個涵蓋新聞策劃、采集、編輯、制作、電視播出、跨媒體發布、內容存檔等新聞生產全流程的數字化、網絡化業務管理平臺,要打破傳統的“制播平臺即新聞網”的架構模式,重點強調策劃和業務管理,把新聞的制播和有效的新聞生產業務管理機制緊密結合,實現新媒體與傳統媒體的融合,為各種新媒體業務提供廣泛的支持,拓展產業空間,同時配合現有的系統資源和基礎設施,實現整個新聞網資源、業務等信息的互聯互享和統一管理。
整個新聞網中新聞業務管理系統所處的位置如圖2所示。

圖2 新聞業務管理系統所處的位置
由上述各個系統業務功能梳理可以看出,新聞業務管理系統作為一個連接各個系統的綜合管理平臺,其系統的業務功能也主要依據這些相關的所要管理的子系統業務來確定。新聞業務管理系統的主要業務管理功能以及與其他系統的交互可用圖3表示,其中深色部分為新聞業務管理系統的主要業務功能。
由圖3可知,綜合業務管理平臺涉及到了信息的匯聚、選題等項目的策劃、任務分派、采訪管理以及相應的人員、經費、技術資源等業務功能,經過歸納總結可以將新聞業務管理系統分為以下幾個功能模塊:交換管理、文稿管理、通稿管理、串聯單管理、策劃管理、選題管理以及采訪管理等。

圖3 新聞業務管理系統業務功能圖
現有的新聞業務管理系統是采用傳統的J2EE構架實現,要是只開發出一個獨立的系統,J2EE架構完全可以很好地滿足各方面的要求。但是,就目前新聞業務管理系統來看,它并不是一個孤立的單一應用系統,還需要與其他新聞網相關系統進行互聯互通(其他系統有多種客戶端需要,如節目的播出系統是C/S結構等),如果要適應多種客戶端應用需要而更改,傳統J2EE架構已經遠遠不能滿足現有的需求,需要選擇一種合適的架構來對系統架構進行改進。
在面向服務相關理論中,服務是對可使用的操作的描述。SOA服務之間是松散耦合和可復用的,每個功能模塊也都是相對獨立的,將系統的業務功能依照SOA服務劃分原則封裝為粗粒不同的服務,然后發布和注冊,以便在需要完成特定業務功能時實現靈活的組合,它們與平臺和編程環境無關,實現的業務功能能夠在多個平臺之間進行互享,這對系統的可擴展性,為將來系統新功能的引入以及新平臺的引入,實現與現有系統資源的整合等都提供了很大便利。
在服務的設計過程中,需要遵循的服務設計原則有:服務粒度選擇要合適;服務應是內聚而且完整的;封裝實現細節;服務接口應是無狀態的。結合系統業務功能的分析,新聞業管理系統的基于面向服務架構的系統功能結構如圖4所示。

圖4 系統功能結構圖
該功能結構中,業務服務和功能基礎結構是面向服務架構中所要重點關注的。本文基礎結構服務主要包括面向服務基礎結構當中的實現服務一些標準,比如SOAP,WSDL等技術;業務服務定義則是面向服務架構最重要的工作。在進行定義時,必須使流程控制邏輯和核心業務邏輯分離,這樣才能方便地更改現有流程或者是引進新的流程,而且不至于影響到其他的流程,在這里業務服務主要是將系統的業務功能進行抽象得出;開發服務則是系統實現開發平臺的支持;而管理服務則是指在對服務質量等的控制。
再對新聞業務管理系統中的業務功能進行抽象,進而形成面向服務系統架構中不同粒度的服務。首先從功能模塊中分離出基本服務;其次,基于基本服務進行公共組件及業務對象的設計;最后設計組合服務,形成業務流程。不管組合服務有多復雜,都可以通過將基本服務和工作流程進行各種形式的組合來實現,同時業務流程動態變化引起的服務變動后對其他服務不會影響太大,更重要的是設計的服務都是通過接口定義語言(Interface Definition Language,IDL)和網絡服務定義語言(Web Service Definition Language,WSDL)進行描述,服務在定義時核心業務邏輯和流程控制邏輯優勢徹底分離,這使得更改現有流程或者引入新的流程很方便,而且能夠防止不一致現象的出現。再加上統一的接口定義規則,外部系統可以通過服務總線集成到業務系統中與其他系統交互,實現資源和數據共享,解決“信息孤島”的問題[7]。依據面向服務架構服務劃分原則,系統業務服務劃分如圖5所示。

圖5 系統業務服務劃分
完成了服務定義和分類后,接下來就是將這些單個服務或者組合服務進行注冊發布。把服務注冊到服務注冊中心,以便服務請求者方便地對現存的所有服務進行查找,并獲得其他的一些描述信息,另外,把服務進行注冊對服務的管理和編排也是十分有利的。因為,正是有利服務注冊中心的存在,服務請求者才能很順利地進行服務發現和調用。應對應用程序和業務需求不斷增加而導致系統維護復雜和重用性降低的情況,企業服務總線(ESB)幫助解決了應用接口潛在的不兼容性和維護沖突的問題[8]。把服務者和服務提供者通過ESB聯系起來,不僅降低了關聯的復雜度,還能夠處理安全性、管理等工作。
以此融合了企業服務總線概念的面向服務體系架構能十分靈活和敏捷地支持業務流程和IT系統,其好處也顯而易見:架構更容易管理,規范相對簡化,代碼可復用和靈活性提高,冗余度降低。在單個服務中,可以在不影響外部功能的情況下進行修改實現,布置了大量服務之后,也可以進行服務的組合測試。在測試方面,松散耦合和服務接口簡化了分布測試,業務部門集中精力在功能需求上,開發部門更高效率推出新功能,并且開發成本顯著降低。
系統的面向服務總體架構如圖6所示。

圖6 系統總體架構
圖6的粗細粒度服務劃分的服務層是系統SOA架構的核心層次,它分為了3層:
1)基本服務層。用來建立可復用的基本應用服務,主要目的就是在新的或者遺留的應用環境內提供一些可復用基本功能。它可以采用工具服務或者是其他類型的服務來實現。比如,可以將對人員信息的處理封裝成基本組件服務。
2)合成服務層。該層專注于業務的邏輯,以便能夠以純粹的形式表示業務邏輯。主要用于封裝那些比較有特點的任務或者是業務流程的業務邏輯,也可以是實體服務。本文采用的業務服務是以任務為核心的。
3)組合服務層。該層擴充了面向服務的范圍,它把業務實體服務和業務處理邏輯關聯起來,并在整個業務流程中交互,從而來管理確信服務操作是按照一定的序列進行執行和交互。
上述的各種服務根據使用情況不同將它們分別發布在系統的UDDI注冊服務中心和公共的UDDI注冊服務中心,這樣一來,不同的服務請求者就會根據自己的不同請求去尋找合適的服務,比如一些僅供新聞業務管理本身的服務就只要發布到它的注冊服務中心,而那些需要被提供給其他系統的服務(如制作系統、監控系統等)則發布在公共的注冊中心,以供其他的系統調用。而且請求服務的客戶端通過ESB實現與服務提供方和服務注冊中心等通信,能夠快速地實現查詢和綁定服務的目的,提高系統交互的效率。
另外,由于在面向服務架構中,業務層的大部分業務邏輯都是通過服務發布的形式與表示層分離,這種松散藕合的特性使得各種客戶端的服務請求者可以處于不同的系統或者開發環境中,同時,由于業務邏輯以及持久層都是可以復用的,所以在以后的系統擴展上,只要修改表示層即可,大大降低了開發成本,提高了開發速度。
對比非面向服務架構模式,改進后的系統架構加強了業務管理方面的功能,而且在保留傳統業務優勢的情況下能夠靈活地增添新功能,能對業務流程進行實施的監控和管理,實現業務流程的一體化管理,這樣系統的支持范圍也更加廣泛,支持力度更加強大,成為了整個新聞網系統中至關重要的一部分。
依據新聞業務管理系統在整個系統中所處的位置可知,新聞業務管理系統需要與其他多個現有系統進行交互。在面向服務基礎架構的服務總線基礎上,通過WSDL和IDL對系統的服務接口進行定義,獨立于具體實現的服務的硬件平臺、操作系統和編程語言,使得構建在這樣的系統中的服務可以使用統一和標準的方式進行通信交互[9]。
由新聞業務管理系統系統功能描述可以看出,其與其他系統的交互接口多集中在文稿、通稿和節目制作等功能交互操作上面。所以依據其系統交互的一般原則可歸納出系統與其他系統的交互的接口主要有以下方面的內容:添加約傳收錄任務,更改取消收錄任務,查詢反饋通道空閑時間段,查詢反饋查詢收錄任務狀態、任務修改取消信息,查詢、返回通稿任務等。
本文依據面向服務架構設計思路,不僅提高了新聞業務管理信息系統開發效率,而且采用服務接口的統一定義,新的服務模塊能夠很好地與原有的系統服務保持一致性。另外,在與其他系統交互上,因為核心的業務邏輯是被服務層封裝實現了,所以能以多種方式進行調用,有效地解決了現有系統中存在的“信息孤島”問題。最后,業務流程中執行內容和執行流程相分離滿足了復雜業務需求不斷變化的要求,提升了系統的擴展性??傊嫦蚍占軜嫷男侣剺I務管理系統能夠協助電視臺用戶精細化控制生產流程、全方位管理生產資源,并通過辦公協同來提升業務便捷性,進而達到提高生產效率的目的。但是,當系統在被部署于各個不同規模的電視臺時,應該根據其各自的特殊性做相應功能方面的調整,還應考慮離線狀態下新聞工作者進行業務管理工作的功能實現,以及面向服務架構設計中各個服務在組合時進行優化等問題。
[1]廣電總局.中國電視臺數字化網絡化建設白皮書[EB/OL].[2011-01-20].http://wenku.baidu.com/view/03c611020740be1e650e9ac2.html.
[2] Understanding SOA with web service[EB/OL].[2011-01-20].http://wenku.baidu.com/view/f98104175f0e7cd184253695.html.
[3]馬文婕.SOA研究初探[J].軟件導刊:教育技術,2009(12):74-76.
[4]楊春暉,孫偉.系統架構設計教程[M].北京:清華大學出版社,2009.
[5] KRAFZIG D,BANKE K,SLAMA D.Enterprise SOA:service-oriented architecture best practices[M].[S.l.]:Prentice Hall PTR,2006.
[6] HERZUM P,SIMS O.A comprehensive overview of component-base development for the enterprise[EB/OL].[2011-01-20].http://www.zhizhen.com/book/b40fa5ff4f1c59980a5debcb2ad301a6.
[7] CHAPPELL D.Enterprise service bus[EB/OL].[2011-01-20].http://en.wikipedia.org/wiki/Enterprise_service_bus.
[8] CARTER S.The new language of business SOA&Web2.0[M].北京:清華大學出版社,2008.
[9]吳文明.SOA體系設計方法研究[M].北京:電子工業出版社,2004.