亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Spring框架的SOA系統(tǒng)架構(gòu)的實(shí)現(xiàn)

        2009-04-29 00:00:00張道海
        中國管理信息化 2009年12期

        [摘 要]本文對(duì)Spring框架和SOA系統(tǒng)架構(gòu)原理進(jìn)行簡要的闡述,將Spring框架技術(shù)應(yīng)用到SOA系統(tǒng)架構(gòu)中,并用一個(gè)簡單具體的案例闡述了其實(shí)現(xiàn)過程。在SOA項(xiàng)目開發(fā)實(shí)踐中應(yīng)用該框架,將極大地降低程序的復(fù)雜度,易于程序員的維護(hù),并具有很強(qiáng)的擴(kuò)展性。

        [關(guān)鍵詞]Spring; SOA;系統(tǒng)架構(gòu)

        doi:10.3969/j.issn.1673-0194.2009.12.028

        [中圖分類號(hào)]F270.7;TP393.02[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1673-0194(2009)12-0082-02

        1 引 言

        SOA是一種IT體系結(jié)構(gòu)樣式,可以認(rèn)為它是系統(tǒng)架構(gòu)的一種方法、一種思想,不是具體的軟件產(chǎn)品技術(shù),具體思想是支持將您的業(yè)務(wù)作為鏈接服務(wù)或可重復(fù)業(yè)務(wù)任務(wù)進(jìn)行集成,可在需要時(shí)通過網(wǎng)絡(luò)訪問這些服務(wù)和任務(wù),這個(gè)網(wǎng)絡(luò)可能完全包含在您的公司總部內(nèi),也可能分散于各地且采用不同的技術(shù),通過對(duì)來自不同地點(diǎn)的服務(wù)進(jìn)行“整合”,可讓最終用戶感覺似乎這些服務(wù)就安裝在本地桌面上一樣。目前關(guān)于SOA系統(tǒng)架構(gòu)的討論層出不窮,很多學(xué)者也發(fā)表了大量的文章,至今尚還停留在理論模型探討上,但如何具體實(shí)現(xiàn)SOA的架構(gòu)卻顯得相對(duì)滯后,這就給SOA的實(shí)施和應(yīng)用帶來了困難。Spring框架技術(shù)的問世很好地解決了這一問題,筆者進(jìn)行了深入細(xì)致的研究,將Spring框架技術(shù)應(yīng)用到SOA系統(tǒng)架構(gòu)中,以實(shí)現(xiàn)SOA系統(tǒng)的具體實(shí)施和應(yīng)用。

        2 Spring框架技術(shù)簡介

        Spring是一個(gè)開源項(xiàng)目,是為簡化企業(yè)級(jí)系統(tǒng)開發(fā)而誕生的輕量級(jí)解決方案,并和SOA系統(tǒng)架構(gòu)思想具有非常相似的原理;在此基礎(chǔ)上,還提供了包括聲明式事務(wù)處理、RMI和Web Services遠(yuǎn)程訪問業(yè)務(wù)邏輯,以及可以多種方法進(jìn)行持久化數(shù)據(jù)庫的解決方案。

        Spring可以看作是一個(gè)標(biāo)準(zhǔn)的開發(fā)框架,將服務(wù)組件定義在自己的工廠里,根據(jù)需要實(shí)時(shí)生產(chǎn),供需求者動(dòng)態(tài)獲取和訪問,充分實(shí)現(xiàn)了不同層次組件間的松散耦合。使用的核心文件是applicationContext.xml,核心技術(shù)是控制反轉(zhuǎn)(Inversion of Control,IoC)技術(shù)以及面向方面編程(Aspect-Oriented Programming,AOP)技術(shù)。

        3 SOA系統(tǒng)架構(gòu)原理

        SOA的基本體系架構(gòu)主要包含服務(wù)提供者、服務(wù)注冊(cè)中心、服務(wù)消費(fèi)者和服務(wù)契約,如圖1所示。

        服務(wù)提供者(Service Provider):服務(wù)提供者是一個(gè)可通過網(wǎng)絡(luò)尋址的實(shí)體,它接受和執(zhí)行來自消費(fèi)者的請(qǐng)求。它將自己的服務(wù)和接口契約發(fā)布到服務(wù)注冊(cè)中心,以便服務(wù)使用者可以發(fā)現(xiàn)和訪問該服務(wù)。

        服務(wù)注冊(cè)中心(Register):服務(wù)注冊(cè)中心是一個(gè)包含可用服務(wù)的網(wǎng)絡(luò)可尋址的目錄,它是接收并存儲(chǔ)服務(wù)契約的實(shí)體,供服務(wù)消費(fèi)者定位服務(wù)之用。 

        服務(wù)消費(fèi)者(Service Consumer):服務(wù)消費(fèi)者向服務(wù)注冊(cè)中心提交服務(wù)請(qǐng)求,服務(wù)注冊(cè)中心接受到請(qǐng)求,并向其提供服務(wù)。

        服務(wù)契約(Contract):服務(wù)契約是服務(wù)消費(fèi)者和服務(wù)提供者間通過服務(wù)注冊(cè)中心進(jìn)行交互方式的規(guī)范,指明了服務(wù)的定義、請(qǐng)求和響應(yīng)的技術(shù)要求。

        4 Spring技術(shù)在SOA系統(tǒng)架構(gòu)中的應(yīng)用

        根據(jù)SOA系統(tǒng)架構(gòu)原理,將Spring框架技術(shù)應(yīng)用其中,則得到如圖2所示的實(shí)現(xiàn)模型。

        其中,applicationContext.xml文件是Spring框架的核心文件,它負(fù)責(zé)對(duì)外部Service組件進(jìn)行注冊(cè),相當(dāng)于服務(wù)組件工廠,該工廠負(fù)責(zé)生產(chǎn)各種服務(wù)產(chǎn)品,然后通過IoC和AOP技術(shù)規(guī)范提供客戶端的應(yīng)用請(qǐng)求訪問,實(shí)現(xiàn)了服務(wù)消費(fèi)者和服務(wù)提供者之間的松散耦合,并為SOA系統(tǒng)提供了良好的可擴(kuò)展性,若系統(tǒng)有擴(kuò)充的需求,只要將服務(wù)組件注冊(cè)到applicationContext.xml文件中即可。

        為了清楚地說明問題,使問題簡單化,下面以Man類作為服務(wù)組件為案例來說明如何使用Spring框架來實(shí)現(xiàn)構(gòu)建SOA系統(tǒng),以下代碼在JDK 6.0+Eclipse 3.2+MyEclipse 5.5中運(yùn)行通過。

        //Man類

        public classMan {

        privateString Message;

        publicString getMessage() {

        return Message;

        }

        public voidsetMessage(String message) {

        Message= message;

        }

        //定義sayHello()來打招呼

        publicString sayHello(){

        return \"Hello,\"+getMessage();

        }

        }

        applicationContext.xml文件配置如下:

        <?xml version=\"1.0\" encoding=\"UTF-8\"?>

        <beans

        xmlns=\"http://www.springframework.org/schema/beans\"

        xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"

        xsi:schemaLocation=\"http://www.springframework.org/schema/beans

        http://www.springframework.org/schema/beans/spring-beans-2.0.xsd\">

        <!-- 將Man組件注冊(cè)到Spring容器中,并標(biāo)識(shí)為man,同時(shí)使用IoC技術(shù)將值注入message屬性-->

        <bean id=\"man\" class=\"Man\">

        <property name=\"message\">

        <value>你好?。?value>

        </property>

        </bean>

        </beans>

        客戶端應(yīng)用請(qǐng)求程序Test,代碼如下:

        import org.springframework.context.ApplicationContext;

        import org.springframework.context.support.ClassPathXmlApplicationContext;

        public classTest {

        public static voidmain(String[]args) {

        //獲取applicationContext.xml工廠文件實(shí)例

        ApplicationContext ctx=

        newClassPathXmlApplicationContext(\"applicationContext.xml\");

        //從工廠中獲取標(biāo)識(shí)為man服務(wù)組件

        Man man=(Man)ctx.getBean(\"man\");

        //調(diào)用該服務(wù)組件中的sayHello()方法

        System.out.println(man.sayHello());

        }

        執(zhí)行Test應(yīng)用程序,運(yùn)行結(jié)果為“Hello,你好!”。

        5 結(jié)束語

        Spring框架是目前國內(nèi)外眾多軟件企業(yè)使用的主流技術(shù),也是J2EE輕量級(jí)框架的重要組成部分,SOA是目前企業(yè)系統(tǒng)架構(gòu)中的熱點(diǎn)問題,在SOA項(xiàng)目開發(fā)實(shí)踐中應(yīng)用該框架,將極大地降低程序的復(fù)雜度,易于程序員的維護(hù),并具有很強(qiáng)的擴(kuò)展性。SOA和Spring的結(jié)合一定將具有美好的前景。

        主要參考文獻(xiàn)

        [1] 張道海.基于SOA的企業(yè)系統(tǒng)架構(gòu)研究[J] .中國管理信息化,2008,11(24):66-67.

        [2] 佘名高,賈秀峰,林坤江.基于Web服務(wù)的企業(yè)應(yīng)用集成[J] .計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(5):55-58.

        中文字幕av一区二区三区人妻少妇 | 久久精品无码一区二区三区不卡| 国产成人高清亚洲一区二区| 日本av一区二区三区视频| 亚洲另类欧美综合久久图片区| 国产曰批免费视频播放免费s| 国产一区二区三区视频大全| 精品极品一区二区三区| 国产精品多人p群无码| 日韩av无码成人无码免费| 免费大学生国产在线观看p| 极品少妇人妻一区二区三区| 欧美激情在线播放| 中国娇小与黑人巨大交| 猫咪av成人永久网站在线观看| 久久久久久成人毛片免费看| 亚洲欧美日本人成在线观看 | 黄片视频免费观看蜜桃| 女人让男人桶爽30分钟| 成人无码h真人在线网站| 国产麻豆成人精品av| 亚洲成av人片一区二区密柚| 欧美国产精品久久久乱码| 亚洲不卡中文字幕无码| 国产精品欧美成人片| 久久综合国产精品一区二区| av综合网男人的天堂| 久久中文字幕乱码免费| 国产一区二区三区av香蕉| 最新中文字幕人妻少妇| 中文字幕在线播放| 亚洲av日韩av一卡二卡| 日韩精品极视频在线观看免费 | 久久亚洲中文字幕精品二区| 亚洲av综合a色av中文| 久久精品国产丝袜| 中文字幕视频一区二区| 女人18毛片a级毛片| 亚洲的天堂av无码| 按摩师玩弄少妇到高潮hd| 国产精品主播在线一区二区|