胡淑新,李長云,周玲芳,李 旭,張清清
(湖南工業(yè)大學(xué) 計算機與通信學(xué)院,湖南 株洲 412007)
基于SOA組件化的農(nóng)村信息平臺框架設(shè)計研究*
胡淑新,李長云,周玲芳,李 旭,張清清
(湖南工業(yè)大學(xué) 計算機與通信學(xué)院,湖南 株洲 412007)
面向服務(wù)架構(gòu)(SOA)是一種面向企業(yè)級服務(wù)的系統(tǒng)框架,它具有其他企業(yè)級架構(gòu)所不具有的業(yè)務(wù)靈活性,把SOA松耦合、關(guān)注點分離、功能抽象的優(yōu)點結(jié)合到企業(yè)組件業(yè)務(wù)架構(gòu)方法中,從概念模型、層次結(jié)構(gòu)、實現(xiàn)方式等方面對基于SOA的組件化平臺框架進(jìn)行設(shè)計,構(gòu)建企業(yè)服務(wù)總線,并將此框架應(yīng)用于云龍社區(qū)云田鎮(zhèn)兩型農(nóng)村社區(qū)信息化平臺建設(shè)中,驗證了該框架在構(gòu)建兩型農(nóng)村信息化平臺框架時的有效性以及可行性。
面向服務(wù)架構(gòu);組件技術(shù);農(nóng)村信息化;平臺架構(gòu)
信息技術(shù)的發(fā)展日益加快,互聯(lián)網(wǎng)高新技術(shù)在我國農(nóng)村社區(qū)信息化的普及應(yīng)用也越來越廣泛,以推進(jìn)“兩型”農(nóng)村社區(qū)信息化建設(shè)為目的,打造一體化信息化農(nóng)村社區(qū),全面提升農(nóng)民信息化應(yīng)用水平。在軟件復(fù)雜度越來越高的今天,需要針對農(nóng)村社區(qū)現(xiàn)狀,設(shè)計出一種適用于農(nóng)村社區(qū)信息化服務(wù)平臺構(gòu)建的信息化框架,來解決傳統(tǒng)的分布式系統(tǒng)之間難以良好協(xié)作的問題。
本文提出了一種基于SOA組件化技術(shù)的農(nóng)村信息平臺框架,采用SOA面向服務(wù)架構(gòu),將實現(xiàn)項目相關(guān)的各類數(shù)據(jù)及應(yīng)用之間靈活調(diào)用,以組件復(fù)用實現(xiàn)組件及應(yīng)用的快速開發(fā),與應(yīng)用服務(wù)總線相結(jié)合,構(gòu)建靈活、可擴展的支撐組件,實現(xiàn)了快速應(yīng)用開發(fā)及系統(tǒng)集成的應(yīng)用框架設(shè)計[1]。首先介紹了面向服務(wù)體系結(jié)構(gòu)及組件技術(shù),然后詳細(xì)闡述了本文所提出的信息化框架結(jié)構(gòu)。
面向服務(wù)架構(gòu)(SOA)是一種應(yīng)用框架,它將應(yīng)用業(yè)務(wù)劃分為單獨的業(yè)務(wù)功能和流程,即所謂的服務(wù)[2]。SOA使用戶可以構(gòu)建、部署和整合這些服務(wù),以提高業(yè)務(wù)流程的靈活性,它可以有助于實現(xiàn)更快的開發(fā)與部署,快速響應(yīng)客戶需求。
SOA本身就是一種面向企業(yè)級服務(wù)的系統(tǒng)架構(gòu),在基于SOA架構(gòu)的系統(tǒng)中,具體應(yīng)用程序的功能是由一些松耦合并且具有統(tǒng)一結(jié)構(gòu)定義方式的組件(service)組合構(gòu)建起來的,它具有其他企業(yè)級架構(gòu)所不具有的對于業(yè)務(wù)變更的快速和有效響應(yīng)[3]。SOA既不是一種語言,也不是一種具體的技術(shù),它是一種新的軟件系統(tǒng)架構(gòu)模型[4]。SOA架構(gòu)具有一些典型特性,主要包括松耦合性、位置透明性以及協(xié)議無關(guān)性。松耦合性要求SOA架構(gòu)中的不同服務(wù)之間應(yīng)該保持一種松耦合的關(guān)系,也就是應(yīng)該保持一種相對獨立的關(guān)系;位置透明性要求SOA系統(tǒng)中的所有服務(wù)對于它們的調(diào)用者來說都是位置透明的,也就是說每個服務(wù)的調(diào)用者只需要知道他們調(diào)用的是哪一個服務(wù),但并不需要知道所調(diào)用服務(wù)的物理位置在哪里;而協(xié)議無關(guān)性要求每一個服務(wù)都可以通過不同的協(xié)議來調(diào)用[5]。
組件模型是系統(tǒng)架構(gòu)的一種形式,廣義上說,組件就是實現(xiàn)一類業(yè)務(wù)功能的可重用、可獨立部署和設(shè)計的程序集合,這些程序有明確和完善的接口定義,通過接口完成功能請求,而具體實現(xiàn)則通過封裝機制加以屏蔽[6]。
采用組件模型可以通過將業(yè)務(wù)功能封裝在不同的組件中,實現(xiàn)功能分解,降低系統(tǒng)的耦合程度,保證系統(tǒng)中各個組件能夠獨立進(jìn)行修改和擴展[7]。在系統(tǒng)設(shè)計過程中,通過分析業(yè)務(wù)功能需要和系統(tǒng)需求,分類業(yè)務(wù)處理流程,把系統(tǒng)劃分為若干通用組件[8]。
圖2 框架中數(shù)據(jù)傳輸與交換體系架構(gòu)
2.1 基于SOA組件化的農(nóng)村信息平臺框架結(jié)構(gòu)
基于SOA組件化的農(nóng)村信息平臺模型架構(gòu)如圖1所示,SOA結(jié)構(gòu)模型將平臺接口調(diào)用開發(fā)和業(yè)務(wù)組件封裝以及服務(wù)封裝集成為一個開發(fā)層,通過企業(yè)服務(wù)總結(jié)(ESB)的建立減少對象間直聯(lián)的接口數(shù)量,提升系統(tǒng)的可維護(hù)性和擴展性。
圖1 基于SOA組件化的農(nóng)村信息平臺模型架構(gòu)圖
該平臺主要包含5個層次:
(1)基礎(chǔ)應(yīng)用系統(tǒng)層:是設(shè)計平臺框架時所需的應(yīng)用環(huán)境以及底層的消息通信服務(wù)。
(2)企業(yè)服務(wù)總線ESB:是框架的基礎(chǔ)部分,運行在應(yīng)用服務(wù)器之上,完成各類應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)的整合和集成。
(3)應(yīng)用組件層:用于支持軟件快速開發(fā),由公共服務(wù)組件、通用業(yè)務(wù)組件組成。公共服務(wù)組件是一系列用于用戶提高開發(fā)速度和降低開發(fā)難度的組件,包括流程管理、界面管理、數(shù)據(jù)報表等內(nèi)容,可擴展。通用業(yè)務(wù)組件是結(jié)合實際業(yè)務(wù)需求開發(fā)出的一系列通用的組件,如拓?fù)浞治觥⑿袠I(yè)開發(fā)包等組件。
(4)開發(fā)層:是組件封裝、應(yīng)用軟件開發(fā)、集成開發(fā)及軟件監(jiān)管的集成環(huán)境,由應(yīng)用開發(fā)工具及監(jiān)管工具組成。
(5)交互層:是框架中對外服務(wù)的統(tǒng)一入口,包括應(yīng)用服務(wù)以及數(shù)據(jù)服務(wù),實現(xiàn)各類應(yīng)用系統(tǒng)登錄的統(tǒng)一認(rèn)證和個性化服務(wù)等內(nèi)容。
2.2 框架中的數(shù)據(jù)傳輸與交換體系架構(gòu)
如圖2所示,該架構(gòu)主要由管理層、傳輸層、交換層、應(yīng)用層等四個層次構(gòu)成。
(1)管理層:對交換中心、交換總線、交換節(jié)點的管理和監(jiān)控。
(2)傳輸層:實現(xiàn)交換中心與交換中心之間、交換中心與交換節(jié)點之間、交換節(jié)點與交換節(jié)點之間的數(shù)據(jù)傳輸。
(3)交換層:實現(xiàn)各應(yīng)用系統(tǒng)的接入和不同數(shù)據(jù)格式的轉(zhuǎn)換。
(4)數(shù)據(jù)層:涵蓋各個應(yīng)用系統(tǒng)。
2.3 框架中快速開發(fā)組件調(diào)用流程
快速開發(fā)組件調(diào)用流程如圖3所示,即對公共服務(wù)組件和業(yè)務(wù)組件的調(diào)用。
(1)組件調(diào)用
根據(jù)應(yīng)用需求調(diào)用不同的組件,包括公共服務(wù)組件和通用業(yè)務(wù)組件。一般過程是:調(diào)用界面組件,設(shè)計相關(guān)表單,同時在集成環(huán)境完成表單數(shù)據(jù)集成;在界面管理組件中,將印章-表單關(guān)聯(lián),便于表單在流轉(zhuǎn)過程中能進(jìn)行電子簽章;調(diào)用流程管理組件,設(shè)計流程,包括流程流向、節(jié)點、節(jié)點動作、表單綁定;在集成環(huán)境內(nèi)進(jìn)行流程外部表單集成調(diào)用開發(fā),如調(diào)用外部以WebService方式提供的表單。
(2)集成開發(fā)
集成開發(fā)是在組件調(diào)用過程中對外部數(shù)據(jù)、應(yīng)用集成的調(diào)用。如WebService、API等標(biāo)準(zhǔn)接口,實現(xiàn)服務(wù)整合。
(3)應(yīng)用發(fā)布部署
將開發(fā)的應(yīng)用封裝為服務(wù),注冊到公共信息服務(wù)門戶。通過授權(quán)設(shè)置,方便用戶通過門戶統(tǒng)一登錄后在自己的權(quán)限內(nèi)使用。
2.4 框架靈活性分析
該框架采用SOA、總線技術(shù)建立靈活且易擴展的系統(tǒng)框架,靈活應(yīng)對應(yīng)用需求,同時采用組件技術(shù),包括公共服務(wù)組件、通用業(yè)務(wù)組件,開放的模塊化設(shè)計提升了系統(tǒng)的復(fù)用性,可以使得平臺開發(fā)者更加快速地進(jìn)行系統(tǒng)開發(fā)??蚣鼙旧聿捎闷髽I(yè)服務(wù)總線(ESB)結(jié)構(gòu)可以很好地屏蔽各個應(yīng)用系統(tǒng)之間由于開發(fā)環(huán)境和開發(fā)語言不同所帶來的兼容性問題,并且服務(wù)提供者和服務(wù)請求者也不必跟其他提供者和請求者建立連接。對于開發(fā)人員而言,SOA提供的松耦合使得在業(yè)務(wù)需求不斷變更的同時不必大幅度修改維護(hù)系統(tǒng),從而降低了開發(fā)成本以及周期。
圖3 快速開發(fā)組件調(diào)用流程
將本文提出的基于SOA組件化的農(nóng)村信息平臺框架應(yīng)用于株洲云龍示范區(qū)云田鎮(zhèn)兩型農(nóng)村社區(qū)信息化管理平臺的設(shè)計構(gòu)建中,如圖4所示。云龍社區(qū)云田鎮(zhèn)農(nóng)村社區(qū)信息化管理平臺框架結(jié)構(gòu)分為5個層,其中開發(fā)層可細(xì)化為三個步驟,如圖5所示。將底層的應(yīng)用以組件的形式封裝起來,通過統(tǒng)一的接口提供上層服務(wù),上層是服務(wù)封裝層,通過使用這些組件,將其進(jìn)一步封裝成服務(wù),通過WSDL描述的服務(wù)按照一定的順序組合起來形成不同的業(yè)務(wù)流程,同時服務(wù)提供者可以直接根據(jù)需求動態(tài)地改變相應(yīng)的業(yè)務(wù)流程,通過提供的內(nèi)部接口來實現(xiàn)。
圖4 云田鎮(zhèn)農(nóng)村社區(qū)信息化管理平臺框架
圖5 開發(fā)層結(jié)構(gòu)細(xì)化
本文通過對面向服務(wù)架構(gòu)的研究提出了基于SOA組件化的農(nóng)村信息平臺框架模型,以及框架中所需數(shù)據(jù)傳輸交換體系架構(gòu)和快速開發(fā)組件調(diào)用流程架構(gòu)的設(shè)計,很好地實現(xiàn)了框架中各個部分的資源整合。作為試驗性應(yīng)用,將該框架應(yīng)用于云龍社區(qū)云田鎮(zhèn)兩型農(nóng)村社區(qū)信息平臺框架設(shè)計構(gòu)建中,可以有效地屏蔽各個部分技術(shù)不匹配等諸多問題,提高了系統(tǒng)的重用性,企業(yè)服務(wù)總線將應(yīng)用組件構(gòu)建封裝成不同粒度的服務(wù),并對服務(wù)進(jìn)行注冊和修改,實現(xiàn)了企業(yè)對服務(wù)的及時變更,SOA組件化架構(gòu)的松耦合特性可以有效降低服務(wù)之間的依賴性,降低了開發(fā)的復(fù)雜度以及維護(hù)的成本,有效促進(jìn)了兩型農(nóng)村社區(qū)信息化的發(fā)展。
[1] 馮玖,白尚旺,黨偉超. 基于SOA的物流信息系統(tǒng)架構(gòu)研究[J]. 計算機與數(shù)字工程,2009,37(1):192-195.
[2] 俞曉鋒. 基于SOA的企業(yè)信息系統(tǒng)集成架構(gòu)研究[D].長春:吉林大學(xué),2014.
[3] 楊帆. 基于SOA數(shù)據(jù)交換方法與技術(shù)的研究[D].西安:西安電子科技大學(xué),2014.
[4] 郭會杰. 基于SOA的企業(yè)門戶集成系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:中國科學(xué)院大學(xué),2014.
[5] MACLENNAN E, BELLE J P. Factors affecting the organizational adoption of service-oriented architecture(SOA)[J]. Information Systems and e-Business Management, 2014, 12(1):71-100.
[6] 張昀. 基于SOA架構(gòu)的分布式ESB總線的研究與實現(xiàn)[D].南京:南京理工大學(xué),2009.
[7] 劉濤,侯秀萍. 基于ESB的SOA架構(gòu)的企業(yè)應(yīng)用研究[J]. 計算機技術(shù)與發(fā)展,2010,20(5):230-233.
[8] 張恒,梁曉婭.移動Web位置服務(wù)的框架研究[J].微型機與應(yīng)用,2013,32(19):14-16.
Design research of rural information platform based on SOA
Hu Shuxin,Li Changyun,Zhou Lingfang,Li Xu,Zhang Qingqing
(School of Computer and Communication, Hunan University of Technology, Zhuzhou 412007, China)
Service Oriented Architecture(SOA) is a kind of system frameworks for enterprise-class services. It has business flexibility which doesn’t exist in other enterprise-class frameworks. Loose coupling, separation of concerns and function abstract are advantages of SOA, and SOA can combine them with enterprise architecture of business component. A rural information platform is designed based on SOA. From the aspects of conceptual model, hierarchical structure and implementation, we build enterprise service bus. We also applie this framework to the construction of information platform of Yuntian town in Yunlong rural commnunity and validate the validity and feasibility of this framework when it is building the framework of the two types of rural community information platform .
Service Oriented Architecture; component technology; rural information; platform architecture
2013年度科技部科技支撐計劃課題(2013BAJ10B14-5)
TP311.5
A
1674-7720(2016)01-0016-03
胡淑新,李長云,周玲芳,等.基于SOA組件化的農(nóng)村信息平臺框架設(shè)計研究[J].微型機與應(yīng)用,2016,35(1):16-18,26.
2015-09-12)
胡淑新(1991-),男,碩士生,主要研究方向:網(wǎng)絡(luò)化軟件開發(fā)。
李長云(1972-),男,博士,教授,主要研究方向:軟件演化、可信軟件、軟件工程。
周玲芳(1990-),女,碩士生,主要研究方向:軟件開發(fā)技術(shù)、軟件工程。