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

?

基于OSGi的面向服務(wù)軟件體系結(jié)構(gòu)設(shè)計(jì)

2014-03-10 16:13:36李朋云陳金勇中國(guó)電子科技集團(tuán)公司第五十四研究所河北石家莊050081
關(guān)鍵詞:模塊化組件統(tǒng)一

李朋云 陳金勇 張 琦(中國(guó)電子科技集團(tuán)公司第五十四研究所 河北 石家莊 050081)

基于OSGi的面向服務(wù)軟件體系結(jié)構(gòu)設(shè)計(jì)

李朋云 陳金勇 張 琦
(中國(guó)電子科技集團(tuán)公司第五十四研究所 河北 石家莊 050081)

為了實(shí)現(xiàn)企業(yè)級(jí)應(yīng)用的基礎(chǔ)架構(gòu)、開(kāi)發(fā)方式和部署方式的統(tǒng)一,文中研究了OSGi服務(wù)組件模型。OSGi提供了一種面向服務(wù)的組件開(kāi)發(fā)框架,具有高度模塊化和動(dòng)態(tài)化特點(diǎn)。根據(jù)SOA架構(gòu)思想和OSGi框架特性,設(shè)計(jì)一種基于OSGi規(guī)范的面向服務(wù)的軟件體系結(jié)構(gòu),開(kāi)發(fā)了統(tǒng)一服務(wù)架構(gòu)平臺(tái),并通過(guò)組件化、圖形化為設(shè)計(jì)、開(kāi)發(fā)及調(diào)試等過(guò)程提供全生命周期的支持,實(shí)現(xiàn)了企業(yè)應(yīng)用即插即用的模塊化管理,能夠有效提高軟件模塊復(fù)用能力和復(fù)用程度。

OSGi SOA 軟件體系架構(gòu) 統(tǒng)一服務(wù)結(jié)構(gòu)平臺(tái)

1 引言

近幾年,IT企業(yè)的現(xiàn)狀是各種各樣的操作系統(tǒng)、應(yīng)用軟件、系統(tǒng)軟件和應(yīng)用基礎(chǔ)結(jié)構(gòu)相互交錯(cuò),并且軟件規(guī)模龐大及應(yīng)用環(huán)境多樣,而傳統(tǒng)的軟件結(jié)構(gòu)具有搭建復(fù)雜、不易擴(kuò)展和重用的特點(diǎn),這些狀況使框架的概念得到廣泛應(yīng)用。SOA憑借其松耦合的特性,使企業(yè)可以按照模塊化的方式來(lái)添加和更新服務(wù),以解決新的業(yè)務(wù)需求,雖然基于SOA實(shí)現(xiàn)的架構(gòu)多種多樣,但都具有SOA的基本特征:松散耦合、可重用、接口明確、服務(wù)獨(dú)立和基于開(kāi)放標(biāo)準(zhǔn)[1-4]。

軟件開(kāi)發(fā)由面向過(guò)程轉(zhuǎn)變?yōu)槊嫦驅(qū)ο?,并形成了企業(yè)級(jí)的開(kāi)發(fā)模式,其中有代表性的有J2EE和.NET兩大體系。在面向?qū)ο竽P椭?,?duì)于應(yīng)用程序的不同組件,他們之間的功能和結(jié)構(gòu)是緊耦合的,當(dāng)軟件功能發(fā)生改變時(shí)就需要重新進(jìn)行開(kāi)發(fā)。OSGi標(biāo)準(zhǔn)規(guī)范為面向組件開(kāi)發(fā)提供了一種動(dòng)態(tài)可部署的基礎(chǔ)框架環(huán)境[5-8]。OSGi框架通過(guò)注冊(cè)、查詢和綁定服務(wù),實(shí)現(xiàn)了服務(wù)提供和消費(fèi)的分類管理,真正實(shí)現(xiàn)了松耦合高內(nèi)聚和"即插即用"的目標(biāo)[9-12]。

本文根據(jù)SOA架構(gòu)思想和OSGi框架特性,設(shè)計(jì)了一種基于OSGi規(guī)范的面向服務(wù)的軟件體系結(jié)構(gòu),實(shí)現(xiàn)企業(yè)應(yīng)用的的基礎(chǔ)架構(gòu)、開(kāi)發(fā)方式和部署方式的統(tǒng)一,從而實(shí)現(xiàn)企業(yè)系統(tǒng)開(kāi)發(fā)的模塊化,降低了模塊間的耦合度,有效提高模塊服用能力、縮短開(kāi)發(fā)周期和提高開(kāi)發(fā)質(zhì)量等。

2 服務(wù)模型

Bundle是OSGi框架中最基本的單位,即模塊,包括一個(gè)配置清單(Manifest)和一些java類的組合。在基于OSGi規(guī)范面向服務(wù)的軟件體系結(jié)構(gòu)設(shè)計(jì)中,組件是基于OSGi Bundle來(lái)實(shí)現(xiàn)的。首先根據(jù)OSGi框架開(kāi)發(fā)出所需組件,然后在OSGi框架上啟動(dòng)執(zhí)行。在OSGi標(biāo)準(zhǔn)規(guī)范中獨(dú)立的模塊被定義為基本Sercice,同一Service可出現(xiàn)在不同的Bundle中。多個(gè)服務(wù)組成具有特殊功能服務(wù)的Bundle,并向其他Bundle提供服務(wù)。OSGi框架的注冊(cè)服務(wù)不僅能使Bundle之間可以服務(wù),而且能保證其安全性。本文在此基礎(chǔ)上對(duì)Bundle進(jìn)行擴(kuò)展性設(shè)計(jì)并遵循OSGi規(guī)范,組件是一個(gè)物理可部署單元,包含大量服務(wù)組件。Bundle中的服務(wù)模型如圖1所示。

圖1 服務(wù)組件模型

Bundle的服務(wù)模型從形式上可以分為:本地服務(wù)、遠(yuǎn)程服務(wù)、事件發(fā)布、事件監(jiān)聽(tīng)、服務(wù)屬性、依賴服務(wù)、容器上下文和實(shí)現(xiàn)依賴8個(gè)部分。其中:①本地服務(wù)接口:將服務(wù)注冊(cè)到服務(wù)注冊(cè)表,然后對(duì)外提供本地服務(wù);②遠(yuǎn)程服務(wù)接口:將服務(wù)注冊(cè)到UDDI中,然后對(duì)外提供的遠(yuǎn)程服務(wù);③事件發(fā)布接口:向微內(nèi)核事件中心發(fā)布服務(wù)組件的狀態(tài);事件監(jiān)聽(tīng)接口:④對(duì)微內(nèi)核進(jìn)行監(jiān)聽(tīng)并作出反應(yīng);⑤服務(wù)屬性:動(dòng)態(tài)改變組件屬性;⑥實(shí)現(xiàn)依賴:服務(wù)組件實(shí)現(xiàn)部分依賴的資源或類庫(kù);⑦依賴服務(wù)接口:表示服務(wù)組件實(shí)現(xiàn)部分依賴的服務(wù);⑧容器上下文接口:采用IOC模式來(lái)實(shí)現(xiàn)容器上下文注入。

基于OSGi規(guī)范的服務(wù)組件特性:①模塊化:易于理解,模塊化會(huì)涉及將大型的系統(tǒng)拆分為單獨(dú)的物理實(shí)體;②獨(dú)立性:各模塊之間是相互獨(dú)立的,具有獨(dú)立的生命周期;③高內(nèi)聚:其他模塊只能訪問(wèn)該組件對(duì)外提供的功能;④動(dòng)態(tài)化:能動(dòng)態(tài)地增加、更新或刪除模塊,其他模塊功能不受影響。

3 基于OSGi的SOA軟件體系結(jié)構(gòu)設(shè)計(jì)

在面向SOA的體系結(jié)構(gòu)中,SOA的組件包括:①服務(wù)提供者:將服務(wù)發(fā)布到服務(wù)注冊(cè)中心,并控制對(duì)服務(wù)的訪問(wèn)以及服務(wù)維護(hù);②服務(wù)消費(fèi)者:實(shí)現(xiàn)服務(wù)的查找和調(diào)用;③服務(wù)注冊(cè)者:存儲(chǔ)和管理服務(wù)信息,這三者之間的關(guān)系如圖2所示。

圖2 面向服務(wù)的體系架構(gòu)

主要操作有:服務(wù)提供者創(chuàng)建一個(gè)服務(wù),并向服務(wù)代理者公布其接口信息。服務(wù)代理者負(fù)責(zé)向任何潛在的服務(wù)要求者提供可用的服務(wù)接口和執(zhí)行訪問(wèn)信息。服務(wù)請(qǐng)求者在服務(wù)注冊(cè)中心查找需要的,然后綁定到服務(wù)提供者,并向服務(wù)提供者請(qǐng)求服務(wù)繼而得到響應(yīng)。

在軟件體系結(jié)構(gòu)中,服務(wù)組件層和編排層對(duì)SOA架構(gòu)均有體現(xiàn),如圖3所示。

圖3 基于OSGi規(guī)范的體系結(jié)構(gòu)設(shè)計(jì)

根據(jù)SOA架構(gòu)理念,基于OSGi框架規(guī)范的體系結(jié)構(gòu)忽略服務(wù)的粒度,在本文設(shè)計(jì)的軟件體系結(jié)構(gòu)中服務(wù)組件層關(guān)注細(xì)粒度的服務(wù),服務(wù)之間是松耦合狀態(tài),并通過(guò)注冊(cè)表交互。而服務(wù)編排層關(guān)注粗粒度的服務(wù),并且通過(guò)遠(yuǎn)程注冊(cè)表供其他應(yīng)用調(diào)用,并且提升了系統(tǒng)的擴(kuò)展性,粗粒度的服務(wù)是由細(xì)粒度的服務(wù)組成的。

4 結(jié)構(gòu)實(shí)現(xiàn)

根據(jù)OSGi標(biāo)準(zhǔn)規(guī)范,開(kāi)發(fā)了一種統(tǒng)一服務(wù)結(jié)構(gòu)平臺(tái),如圖4所示。平臺(tái)采用SOA面向服務(wù)的架構(gòu)和標(biāo)準(zhǔn)規(guī)范,并且基于OSGi、.net和Eclipse等開(kāi)放的技術(shù)和平臺(tái),通過(guò)組件化、圖形化為軟件系統(tǒng)的設(shè)計(jì)、開(kāi)發(fā)、調(diào)試、運(yùn)行和維護(hù)提供全生命周期的支持。

圖4 統(tǒng)一服務(wù)架構(gòu)平臺(tái)

其中統(tǒng)一服務(wù)架構(gòu)平臺(tái)的基本運(yùn)行環(huán)境采用微內(nèi)核機(jī)制,可以提高服務(wù)組件可靠性,并且集成標(biāo)準(zhǔn)Web容器等組件。集成開(kāi)發(fā)環(huán)境主要提供組件和服務(wù)的全生命周期支持,監(jiān)控管理通過(guò)圖形化實(shí)時(shí)監(jiān)控平臺(tái)的運(yùn)行環(huán)境,監(jiān)聽(tīng)組件狀態(tài),便于系統(tǒng)開(kāi)發(fā)管理人員依據(jù)狀態(tài)變量進(jìn)行調(diào)試和診斷。

組件倉(cāng)庫(kù)是用來(lái)管理和存儲(chǔ)組件,以便于組件的復(fù)用,為以后系統(tǒng)的開(kāi)發(fā)提供便利,以此提供組件和系統(tǒng)的復(fù)用度和開(kāi)發(fā)效率。業(yè)務(wù)規(guī)則引擎負(fù)責(zé)對(duì)企業(yè)的業(yè)務(wù)流程進(jìn)行管理。業(yè)務(wù)規(guī)則引擎提供了業(yè)務(wù)流程的定義、部署、運(yùn)行、監(jiān)控和管理等功能。UDDI是SOA基礎(chǔ)的基本構(gòu)件,在同一服務(wù)架構(gòu)平臺(tái)中注冊(cè)和查找服務(wù),并對(duì)業(yè)務(wù)組件遠(yuǎn)程服務(wù)接口進(jìn)行管理。

5 結(jié)束語(yǔ)

本文依據(jù)OSGi規(guī)范的思想和技術(shù)特性,將SOA中的服務(wù)封裝成模塊,建立一個(gè)基于OSGi面向服務(wù)的軟件體系結(jié)構(gòu),并在此基礎(chǔ)上建立統(tǒng)一服務(wù)架構(gòu)平臺(tái)。通過(guò)使用統(tǒng)一服務(wù)架構(gòu)平臺(tái),可將軟件產(chǎn)品或系統(tǒng)設(shè)計(jì)成熱部署、可插拔、穩(wěn)定和可擴(kuò)展的模塊,提高開(kāi)發(fā)、測(cè)試效率和復(fù)用率,并降低開(kāi)發(fā)成本。今后統(tǒng)一服務(wù)架構(gòu)平臺(tái)也可以同云平臺(tái)進(jìn)行結(jié)合,統(tǒng)一部署接口,能夠使云計(jì)算真正落地。

[1]HU J,KHALIL I,HAN S,et al.Seamless Intergration of Dependability and Security Conception SOA:A Feedback Control System Based Framework and Taxonomy[J].Journal of Network and Computer Applications,2011,34(4):1150-1159.

[2]ZMUDA D,PSIUK M,ZIELINSKI K.Dynamic Monitoring Framework for the SOA Execution Environment[J].Procedia Computer-assisted environment for understanding geometry theorem proving problems and making conjectures,2009,3(3): 231-245.

[3]王海林.SWRL推理規(guī)則在平面幾何證明中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(9):217-221.

[4]常建鵬,趙克,億珍珍,等.初中幾何專家系統(tǒng)中的知識(shí)獲取及實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(7):156-159.

[5]IWANE N,TAKEUCHI A,OTSUKI S.A Network Intelligent Educational System for Arithmetic Word Problems[J].Systems and Computers in Japan,1997,28(10):30-39.

[6]DELLAROSA D.A Computer Simulation of Children'S Arithmetic Word Problem Solving[J].Behavior Research Methods,Instruments&Computer,1986,18(2):147-154.

[7]WONG W K,HSU S C,WU S H.LIM-G:Learner-Initiating Instruction Model Based on Cognitive Knowledge for Geometry Word Problem Comprehension[J].Computer& Education,2007,48(4):582-601.

[8]程 志.小學(xué)算術(shù)應(yīng)用題自動(dòng)解答系統(tǒng)-以整數(shù)一、二步和分?jǐn)?shù)基本應(yīng)用題為例[D].北京:北京師范大學(xué),2008.

[9]俞士汶.計(jì)算語(yǔ)言學(xué)概論[M].北京:商務(wù)印書(shū)館,2007.

[10]KINTSCH W,GREENO J G.Understanding and Solving Word Arithmetic Problems[J].Psychology Review,1985(92): 109-129.

[11]MA Yu-hui,TAN Kai,SHAO Li-min,et al.Constructing the Representation Model of Arithmetic Word Problems for Intelligent Tutoring System,2011[C].Singapore:Computer Science&Education,2011.

[12]朱曉亞.現(xiàn)代漢語(yǔ)句模研究[M].北京:北京大學(xué)出版社, 2000.

Design on Service Oriented Software Architecture Based on OSGi

LI Peng-yun CHEN Jin-yong ZHANG Qi
(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

In order to realize the unification of infrastructure,development mode and deployment mode for enterprise application,this paper studies the OSGi service component model.The OSGi provides a service oriented component development framework,which has such characteristics as high modularity and dynamization.On the basis of SOA idea and OSGi framework feature,this paper designs a service oriented software architecture based on OSGi specification,develops a unified architecture platform,and provides the whole life cycle support for the design,development and debugging processes through modularization and graphical mode.The plug and play modularization management of enterprise application is realized,which can effectively improve the reuse capability and degree of software module.

OSGi;SOA;software architecture;unified service architecture platform

TP92

A

1008-1739(2014)22-61-3

定稿日期:2014-10-26

猜你喜歡
模塊化組件統(tǒng)一
模塊化自主水下機(jī)器人開(kāi)發(fā)與應(yīng)用
無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
能源工程(2022年2期)2022-05-23 13:51:50
堅(jiān)持嚴(yán)管和厚愛(ài)相統(tǒng)一的著力點(diǎn)
活力(2021年6期)2021-08-05 07:23:54
碑和帖的統(tǒng)一,心和形的統(tǒng)一,人和藝的統(tǒng)一
新型碎邊剪刀盤組件
模塊化住宅
U盾外殼組件注塑模具設(shè)計(jì)
統(tǒng)一數(shù)量再比較
ACP100模塊化小型堆研發(fā)進(jìn)展
模塊化VS大型工廠
融水| 蒲城县| 沁水县| 葫芦岛市| 湖州市| 广南县| 莆田市| 贵州省| 四平市| 信丰县| 志丹县| 满城县| 泰兴市| 唐河县| 隆安县| 赤水市| 绵阳市| 治县。| 鹿邑县| 吉安市| 广水市| 安福县| 逊克县| 阿鲁科尔沁旗| 南通市| 宁陕县| 隆安县| 武清区| 沙雅县| 阳谷县| 三河市| 万州区| 柏乡县| 辉县市| 安多县| 河间市| 福安市| 湖南省| 唐河县| 罗源县| 北票市|