• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2009-08-01 07:06張道海
      中國(guó)管理信息化 2009年12期
      關(guān)鍵詞:系統(tǒng)架構(gòu)

      [摘 要]本文對(duì)Spring框架和SOA系統(tǒng)架構(gòu)原理進(jìn)行簡(jiǎn)要的闡述,將Spring框架技術(shù)應(yīng)用到SOA系統(tǒng)架構(gòu)中,并用一個(gè)簡(jiǎn)單具體的案例闡述了其實(shí)現(xiàn)過(guò)程。在SOA項(xiàng)目開(kāi)發(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

      [中圖分類(lèi)號(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í)通過(guò)網(wǎng)絡(luò)訪問(wèn)這些服務(wù)和任務(wù),這個(gè)網(wǎng)絡(luò)可能完全包含在您的公司總部?jī)?nèi),也可能分散于各地且采用不同的技術(shù),通過(guò)對(duì)來(lái)自不同地點(diǎn)的服務(wù)進(jìn)行“整合”,可讓最終用戶(hù)感覺(jué)似乎這些服務(wù)就安裝在本地桌面上一樣。目前關(guān)于SOA系統(tǒng)架構(gòu)的討論層出不窮,很多學(xué)者也發(fā)表了大量的文章,至今尚還停留在理論模型探討上,但如何具體實(shí)現(xiàn)SOA的架構(gòu)卻顯得相對(duì)滯后,這就給SOA的實(shí)施和應(yīng)用帶來(lái)了困難。Spring框架技術(shù)的問(wèn)世很好地解決了這一問(wèn)題,筆者進(jìn)行了深入細(xì)致的研究,將Spring框架技術(shù)應(yīng)用到SOA系統(tǒng)架構(gòu)中,以實(shí)現(xiàn)SOA系統(tǒng)的具體實(shí)施和應(yīng)用。

      2 Spring框架技術(shù)簡(jiǎn)介

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

      Spring可以看作是一個(gè)標(biāo)準(zhǔn)的開(kāi)發(fā)框架,將服務(wù)組件定義在自己的工廠里,根據(jù)需要實(shí)時(shí)生產(chǎn),供需求者動(dòng)態(tài)獲取和訪問(wèn),充分實(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è)可通過(guò)網(wǎng)絡(luò)尋址的實(shí)體,它接受和執(zhí)行來(lái)自消費(fèi)者的請(qǐng)求。它將自己的服務(wù)和接口契約發(fā)布到服務(wù)注冊(cè)中心,以便服務(wù)使用者可以發(fā)現(xiàn)和訪問(wè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ù)提供者間通過(guò)服務(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)品,然后通過(guò)IoC和AOP技術(shù)規(guī)范提供客戶(hù)端的應(yīng)用請(qǐng)求訪問(wèn),實(shí)現(xiàn)了服務(wù)消費(fèi)者和服務(wù)提供者之間的松散耦合,并為SOA系統(tǒng)提供了良好的可擴(kuò)展性,若系統(tǒng)有擴(kuò)充的需求,只要將服務(wù)組件注冊(cè)到applicationContext.xml文件中即可。

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

      //Man類(lèi)

      public classMan {

      privateString Message;

      publicString getMessage() {

      return Message;

      }

      public voidsetMessage(String message) {

      Message= message;

      }

      //定義sayHello()來(lái)打招呼

      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>

      客戶(hù)端應(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é)束語(yǔ)

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

      主要參考文獻(xiàn)

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

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

      猜你喜歡
      系統(tǒng)架構(gòu)
      人工智能在智能機(jī)器人系統(tǒng)中的應(yīng)用研究
      基于云計(jì)算的多媒體網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)系統(tǒng)架構(gòu)
      长泰县| 凯里市| 巫溪县| 平陆县| 北川| 易门县| 横山县| 棋牌| 镇宁| 岳阳市| 清流县| 河西区| 谢通门县| 成安县| 临澧县| 宁化县| 弋阳县| 宜黄县| 无为县| 琼结县| 南阳市| 轮台县| 南宫市| 洛浦县| 通榆县| 台安县| 海伦市| 桦川县| 赤壁市| 渭源县| 本溪市| 哈尔滨市| 肥东县| 崇左市| 都安| 五指山市| 新昌县| 灵山县| 永仁县| 乌鲁木齐市| 屏南县|