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

?

基于SOA的Web系統(tǒng)層次模型

2013-03-24 13:04:48宋一兵徐宇茹
關(guān)鍵詞:數(shù)據(jù)源異構(gòu)架構(gòu)

宋一兵,徐宇茹

(1.海軍潛艇學(xué)院訓(xùn)練部,山東青島266071;2.海軍航空工程學(xué)院訓(xùn)練部,山東煙臺264001)

近年來,逐漸興起的軟件工程方法SOA(Service Oriented Architecture,面向服務(wù)的架構(gòu))具有結(jié)構(gòu)標(biāo)準(zhǔn)、松散耦合、共享服務(wù)、粗粒度等特點(diǎn),為解決散亂的多業(yè)務(wù)、跨平臺的應(yīng)用提供了一個有效手段[1-2]。但是現(xiàn)有文獻(xiàn)在研究SOA 時,大多過于抽象,對于其邏輯結(jié)構(gòu)向技術(shù)架構(gòu)的映射和實(shí)用性簡化討論較少。本文在深入研究COM 組件、CORBA 語言、整體平臺等解決數(shù)據(jù)跨平臺共享方法的基礎(chǔ)上,又對SOA進(jìn)行了研究[3-5],提出了基于SOA 的Web 系統(tǒng)的層次模型,并據(jù)此開發(fā)實(shí)現(xiàn)了圖書館多業(yè)務(wù)統(tǒng)計(jì)系統(tǒng)(Library Business Statistic System,LBSS)。

1 SOA與Web Service

在SOA環(huán)境中,網(wǎng)絡(luò)上的結(jié)點(diǎn)通過服務(wù)的形式提供資源,其他結(jié)點(diǎn)可以使用標(biāo)準(zhǔn)的方式來訪問。大部分SOA都是用Web服務(wù)作為實(shí)現(xiàn)的。

1.1 SOA邏輯內(nèi)涵

從概念上講,SOA 是一個組件模型,它將應(yīng)用程序的不同功能單元定義為服務(wù)(Service),并通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言,這使得構(gòu)建在各系統(tǒng)中的服務(wù)可以以統(tǒng)一和通用的方式進(jìn)行交互[6]。

同以往的對象模式、組件模式相比,SOA 不再重點(diǎn)考慮“以技術(shù)為中心”的細(xì)粒度實(shí)體,而是更注重于“以業(yè)務(wù)為中心”的服務(wù)實(shí)體,這些服務(wù)具有服務(wù)級的事物粒度。因此,SOA 是一種粗粒度、松耦合的服務(wù)架構(gòu)。

服務(wù)是SOA中關(guān)鍵概念之一,是對現(xiàn)實(shí)世界中業(yè)務(wù)活動的一種抽象與建模。W3C(World Wide Web Consoftium,WWW 聯(lián)盟)認(rèn)為:服務(wù)提供者完成一組工作,為服務(wù)使用者交付所需的最終結(jié)果,最終結(jié)果通常是使用者或提供者的狀態(tài)發(fā)生變化的情況[7]。

可見,服務(wù)是封裝成用于業(yè)務(wù)流程的可重用組件,它提供了從一個有效的、一致的狀態(tài)向另一個狀態(tài)轉(zhuǎn)變過程中的信息。換而言之,開發(fā)者能夠據(jù)此從一個或多個數(shù)據(jù)源中獲得數(shù)據(jù),或者了解數(shù)據(jù)的變化情況。

1.2 SOA體系結(jié)構(gòu)

SOA體系結(jié)構(gòu)由服務(wù)的提供者、服務(wù)的請求者和服務(wù)注冊中心3個基本單元構(gòu)成,如圖1所示[8]。

圖1 SOA體系結(jié)構(gòu)

在SOA 架構(gòu)中,服務(wù)的操作包括服務(wù)發(fā)布、服務(wù)發(fā)現(xiàn)以及服務(wù)綁定和調(diào)用;服務(wù)的構(gòu)件包括服務(wù)與服務(wù)描述。服務(wù)操作的3 個基本單元相互之間緊密聯(lián)系。首先,服務(wù)的提供者將封裝好的服務(wù)發(fā)布到服務(wù)注冊中心;接著,服務(wù)的請求者在注冊中心查找服務(wù),并進(jìn)行定位;最后,服務(wù)的請求者一旦發(fā)現(xiàn)符合自己需求的服務(wù)存在,就將根據(jù)服務(wù)注冊中心服務(wù)的描述信息激活該服務(wù)。

1.3 Web Service

Web Service 是一種自包含、自描述、模塊化的軟件組件,它使用基于標(biāo)準(zhǔn)的可擴(kuò)展標(biāo)記語言(XML)來描述服務(wù)功能,提供數(shù)據(jù)信息,以簡單對象訪問協(xié)議(SOAP)在分布式環(huán)境下進(jìn)行信息交換,形成一個在線應(yīng)用服務(wù)API[9]。

Web Service技術(shù)作為網(wǎng)絡(luò)應(yīng)用集成的基礎(chǔ),提供了異構(gòu)應(yīng)用系統(tǒng)之間的交互手段,為信息系統(tǒng)的集成、數(shù)據(jù)和程序復(fù)用等提供了便利的技術(shù)實(shí)現(xiàn)。它不是產(chǎn)生了一個新的業(yè)務(wù)過程,而是使舊的業(yè)務(wù)更容易地被實(shí)現(xiàn)。

Web Service 可以通過Web 接入和訪問,基于XML 的服務(wù)描述語言(WSDL)描述了其服務(wù)接口和操作方法,同時隱藏了服務(wù)的實(shí)現(xiàn)細(xì)節(jié),這使得基于Web Service 的應(yīng)用程序具備了面向消息、松散耦合、異構(gòu)集成的特點(diǎn)[10]。

SOA與Web Service雖然密切相關(guān),但兩者是2個不同層面的問題。前者面向應(yīng)用,是概念模式;后者面向技術(shù)框架,是實(shí)現(xiàn)模式。Web Service是實(shí)現(xiàn)SOA的方法之一。

2 基于SOA的Web系統(tǒng)

Web 應(yīng)用系統(tǒng)是指在Intemet 環(huán)境下的信息服務(wù)。采用面向服務(wù)建模的思想,結(jié)合Web Service網(wǎng)絡(luò)呈現(xiàn)技術(shù),不同子系統(tǒng)能夠在松耦合條件下實(shí)現(xiàn)相互之間的整合與協(xié)同,使得整個系統(tǒng)對外表現(xiàn)出一致性的服務(wù)行為。

2.1 Web系統(tǒng)邏輯架構(gòu)

基于層次化的分析方法,任何問題都可以通過引入一個中間層來得到簡化[11]。對于Web 應(yīng)用系統(tǒng)而言,可以將系統(tǒng)中各部分所需要實(shí)現(xiàn)的功能定義為獨(dú)立的服務(wù),并在這些服務(wù)的基礎(chǔ)上將整個系統(tǒng)劃分為5 個層次,每個層次都具有獨(dú)立的Web Service 接口,能夠向下調(diào)用服務(wù),向上提供服務(wù)。系統(tǒng)的總體邏輯架構(gòu)如圖2所示。

1)數(shù)據(jù)層。提供數(shù)據(jù)信息和數(shù)據(jù)邏輯,實(shí)現(xiàn)所有數(shù)據(jù)的存儲和驗(yàn)證。

2)訪問層。實(shí)現(xiàn)對系統(tǒng)中數(shù)據(jù)的操縱,可以使用存儲過程來完成所有的訪問操作,從而把由于數(shù)據(jù)庫層的變動而對程序帶來的負(fù)面影響減到最小。

3)業(yè)務(wù)邏輯層。實(shí)現(xiàn)具體業(yè)務(wù)流程和數(shù)據(jù)邏輯的處理,是應(yīng)用軟件系統(tǒng)中的核心部分。

圖2 Web應(yīng)用系統(tǒng)的邏輯架構(gòu)

4)業(yè)務(wù)外觀層。將系統(tǒng)功能的提供者和使用者進(jìn)行隔離,即隔離業(yè)務(wù)邏輯層和表示層(軟件的用戶界面),封裝業(yè)務(wù)邏輯為傳統(tǒng)的客戶端程序,Web程序以及其他外部系統(tǒng)。

5)表示層。主要為用戶提供方便友好的使用界面。

層次化的邏輯結(jié)構(gòu),使系統(tǒng)的維護(hù)、擴(kuò)展更加方便。各層次相對獨(dú)立,層次中所使用的部件,單元的增刪、更替,對其他層次影響較小,使系統(tǒng)更加穩(wěn)定可靠。

2.2 Web系統(tǒng)技術(shù)框架模型

從技術(shù)角度來說,系統(tǒng)邏輯架構(gòu)中的每個功能模塊,都可以看作一個服務(wù)。通過對其應(yīng)用性分析,可以映射出Web系統(tǒng)的技術(shù)框架,如圖3所示。

圖3 Web系統(tǒng)技術(shù)框架

在該技術(shù)框架下,Web 系統(tǒng)需要完成XML 文檔和關(guān)系型數(shù)據(jù)庫間數(shù)據(jù)的相互轉(zhuǎn)換,通過編寫ODBC(Open Data Base Connection)接口,實(shí)現(xiàn)對異構(gòu)數(shù)據(jù)源的訪問以及創(chuàng)建基于XML的業(yè)務(wù)表示等。

從具體技術(shù)開發(fā)角度來分析,上述技術(shù)框架又可以合并、簡化為一個3層結(jié)構(gòu)的應(yīng)用模型,分別為表示層、業(yè)務(wù)層、數(shù)據(jù)層,如圖4 所示。這樣就為具體的程序設(shè)計(jì)提供了一個定義良好、可操作的技術(shù)框架。

圖4 Web系統(tǒng)的3層技術(shù)框架

3 異構(gòu)數(shù)據(jù)的集成

SOA框架下的Web系統(tǒng),其業(yè)務(wù)流動與數(shù)據(jù)操縱都是完全基于服務(wù)。因此,將整個系統(tǒng)分解為若干的互相獨(dú)立的子系統(tǒng)進(jìn)行討論,不僅簡化了設(shè)計(jì),加快了開發(fā)進(jìn)程,而且使系統(tǒng)具有了較好的重用性和松耦合性,更加方便了與原有業(yè)務(wù)系統(tǒng)的整合,具有良好的維護(hù)性和擴(kuò)充性。

對于大數(shù)據(jù)量的數(shù)據(jù)源,為實(shí)現(xiàn)數(shù)據(jù)的快速訪問,需要在業(yè)務(wù)服務(wù)與數(shù)據(jù)源之間增加一個異構(gòu)數(shù)據(jù)集成層。其主要功能就是實(shí)現(xiàn)底層數(shù)據(jù)的讀取、統(tǒng)計(jì)、更新,寫入集成數(shù)據(jù)庫中,并包含了若干Web觸發(fā)器和事件服務(wù),如圖5所示。

圖5 異構(gòu)數(shù)據(jù)集成框架結(jié)構(gòu)

當(dāng)服務(wù)(定時自動更新或人工更新)開始后,用戶層通過應(yīng)用程序發(fā)起對數(shù)據(jù)集成層的訪問,數(shù)據(jù)集成層使用SQL 和XML 實(shí)現(xiàn)對底層數(shù)據(jù)庫進(jìn)行操縱,隱藏了不同數(shù)據(jù)源的差異性,使數(shù)據(jù)以一種統(tǒng)一、規(guī)范的格式呈現(xiàn)出來,實(shí)現(xiàn)了服務(wù)的透明性和平臺無關(guān)性。

4 基于SOA的實(shí)踐應(yīng)用

在SOA體系結(jié)構(gòu)和設(shè)計(jì)理念指導(dǎo)下,本文著眼于軍隊(duì)院校圖書館普遍存在的跨平臺數(shù)據(jù)集成和量化統(tǒng)計(jì)問題,開發(fā)了圖書館多業(yè)務(wù)統(tǒng)計(jì)系統(tǒng)(LBSS),如圖6所示。該系統(tǒng)包含主頁欄目、讀者、圖書、上網(wǎng)、資源訪問、數(shù)據(jù)集成等6個子系統(tǒng),能夠?qū)D書館主要業(yè)務(wù)進(jìn)行綜合統(tǒng)計(jì)。

圖6 LBSS讀者統(tǒng)計(jì)示例

圖書館現(xiàn)有各類業(yè)務(wù)系統(tǒng)使用了不同的數(shù)據(jù)庫平臺,如圖書流通借閱系統(tǒng)、門戶主頁使用了SQL Server,數(shù)字化資源系統(tǒng)使用了Oracle,而其他一些系統(tǒng)使用Access 數(shù)據(jù)庫。按照SOA 標(biāo)準(zhǔn),LBSS 系統(tǒng)首先對異構(gòu)數(shù)據(jù)進(jìn)行了梳理,定義了規(guī)范的數(shù)據(jù)格式;然后設(shè)計(jì)了一個業(yè)務(wù)中心模塊,使用XML 描述各業(yè)務(wù)數(shù)據(jù)交流的接口規(guī)范和Web Service調(diào)用方法;當(dāng)用戶需要訪問某個業(yè)務(wù)時,由系統(tǒng)根據(jù)業(yè)務(wù)中心對服務(wù)的描述來調(diào)用相關(guān)業(yè)務(wù)及其數(shù)據(jù)。

對于讀者到館總量、圖書總量、借閱總量等需要統(tǒng)計(jì)的數(shù)據(jù),則按照本文提出的異構(gòu)數(shù)據(jù)集成思想,開發(fā)了數(shù)據(jù)集成模塊,設(shè)計(jì)了更新觸發(fā)機(jī)制,定義了人工、自動2 種數(shù)據(jù)統(tǒng)計(jì)模式,能夠?qū)?shù)據(jù)按照時間、類型、流向等進(jìn)行分類匯總。

該系統(tǒng)在部分軍校圖書館投入使用后,取得了良好的實(shí)際應(yīng)用效果。

5 結(jié)束語

實(shí)踐應(yīng)用表明,基于SOA的Web系統(tǒng)技術(shù)框架結(jié)構(gòu)合理,簡單實(shí)用,能夠滿足各子系統(tǒng)的業(yè)務(wù)異構(gòu)性和靈活性的需求,為今后該系統(tǒng)的擴(kuò)展打下了良好的基礎(chǔ)。該分層體系結(jié)構(gòu)能夠有效緩解數(shù)據(jù)處理壓力,減少對業(yè)務(wù)的干擾,提高了系統(tǒng)的魯棒性,有利于系統(tǒng)的構(gòu)建、擴(kuò)展、重組和維護(hù)。進(jìn)一步的工作將集中在服務(wù)的統(tǒng)一描述和封裝應(yīng)用上。

[1] DINOH CHOI,NAMGYU KIM,DAO TUAN HUNG.Conceptual data modeling for realiying context-aware services[J]. Expert Systems with Applications,2012,39:3022-3030.

[2] 何珍祥,董逸生.基于Web服務(wù)的SOA設(shè)計(jì)與傳統(tǒng)軟件設(shè)計(jì)方法的關(guān)系[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008(10):56-59.

HE ZHENXIANG,DONG YISHENG. Comparing traditional soft design methods with SOA design methods based onweb services[J]. Computer Systems & Applications,2008(10):56-59.(in Chinese)

[3] 馬俊,丁曉明.基于SOA 的異構(gòu)系統(tǒng)集成研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(14):3638-3641.

MA JUN,DING XIAOMING. SOA- based integrated model for heterogeneous system[J]. Computer Engineering and Design,2008,29(14):3638-3641.(in Chinese)

[4] PAPAZOGLOU M P,HEUVEL W J.Service oriented architectures:approaches,technologies and research issues[J].The VLDB Journal,2007,16(3):389-415.

[5] 王毅,易樹平,龍躍,等.基于SOA的整車企業(yè)技術(shù)數(shù)據(jù)集成研究[J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版,2010,37(5):41-45.

WANG YI,YI SHUPING,LONG YUE,et al. Study of car corporate technology data integration based on SOA[J]. Journal of Hunan University:Natural Sciences,2010,37(5):41-45.(in Chinese)

[6] 邢少敏,周伯生.SOA 研究進(jìn)展[J].計(jì)算機(jī)科學(xué),2008,35(9):185-188.

XING SHAOMIN,ZHOU BOSHENG. Progress of research on service-oriented architecture[J]. Computer Science,2008,35(9):185-188.(in Chinese)

[7] IVAN MARSA-MAESTRE,MIGUEL A LOPEZ-CARMONA,JUAN R VELASCO. A hierarchical,agentbased service oriented architecture for smart environments[J]. Service Oriented Computing and Applications,2008,12:217-224.

[8] 郎炯,劉宴兵,熊仕勇.基于SOA 軟件架構(gòu)的數(shù)據(jù)集成方法[J].計(jì)算機(jī)應(yīng)用,2010,30(9):102-105.

LANG JIONG,LIU YANBING,XIONG SHIYONG. Data integration method based on SOA software architecture[J]. Journal of Computer Applications,2010,30(9):102-105.(in Chinese)

[9] 袁媛,王潮陽,董建.SOA 應(yīng)用的技術(shù)參考模型研究[J].信息技術(shù)與標(biāo)準(zhǔn)化,2011(10):21-24.

YUAN YUAN,WANG CHAOYANG,DONG JIAN. Research on technical reference model of SOA-based application[J]. Information Technology and Standardization,2011(10):21-24.(in Chinese)

[10]高巖,張少鑫,張斌,等.基于SOA架構(gòu)的Web服務(wù)組合系統(tǒng)[J].小型微型計(jì)算機(jī)系統(tǒng),2007,28(4):729-733.

GAO YAN,ZHANG SHAOXIN,ZHANG BIN,et al.SOA based web services composition system[J]. Journal of Chinese Computer Systems,2007,28(4):729-733.(in Chinese)

[11]曾艷陽,康鳳舉,張健春.一種基于SOA 的指控仿真系統(tǒng)的分層體系結(jié)構(gòu)[J].系統(tǒng)仿真學(xué)報(bào),2011,23(8):192-196.

ZENG YANYANG,KANG FENGJU,ZHANG JIAN CHUN. Layered command and control simulation system architecture based on SOA[J]. Journal of System Simulation,2011,23(8):192-196.(in Chinese)

猜你喜歡
數(shù)據(jù)源異構(gòu)架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
試論同課異構(gòu)之“同”與“異”
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
汽車工程(2021年12期)2021-03-08 02:34:30
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
overlay SDN實(shí)現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
博爱县| 洞头县| 昭苏县| 通江县| 即墨市| 讷河市| 巴塘县| 大渡口区| 东莞市| 江山市| 汉川市| 类乌齐县| 罗城| 车险| 新干县| 延长县| 嘉黎县| 兴业县| 昌都县| 耿马| 玛曲县| 基隆市| 乌什县| 象州县| 屏南县| 武强县| 六安市| 五常市| 荔浦县| 锦州市| 塔河县| 晋宁县| 海林市| 桃园市| 连城县| 新闻| 剑川县| 巩留县| 临西县| 宁安市| 南通市|