999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向服務架構的演化和應用

2011-04-07 05:50:28戴建國趙慶展
關鍵詞:服務系統

戴建國,梁 斌,趙慶展,郭 理,趙 欣

(石河子大學信息科學與技術學院,新疆石河子832000)

0 前言

面向服務的體系架構是一種異構系統間共享信息的軟件設計方式[1],其目的是為了解決異構平臺軟件系統之間的集成問題。在國外很多大的軟件廠商如IBM、BEA等提供SOA的解決方案和中間件產品。國內的SOA應用還處在概念宣傳和試用階段[2],但很多應用SOA的需求都已出現。

SOA的首要目標是業務敏捷性,通過建設靈活的IT幫助業務快速應變[3]。其實施從軟件到企業的管理方式都會發生相應的變化。所以SOA實質是一種業務架構,是企業為了適應市場的快速變化而采用的戰略性業務架構[4],而不是能夠買來的技術,而且沒有現成的工具能夠立即生成SOA的解決方案[5]。

由于SOA的本質是抽象于具體架構之上的一種思想,而不是一種具體的架構實現,所以只有圍繞著松散耦合、粗粒度、服務位置和傳輸協議透明這些SOA的核心思想去思考和構建軟件系統,并能夠真正實現,才是實現了SOA[6]。同時,SOA一般也不是從頭構建的系統,而是通過對現有系統資源不斷整合得到。本文從一個簡單的Web系統開始,隨著需求的變化不斷重構系統的架構,并給出各個階段系統的架構方案,從而最終自然演化成為面向服務架構,并使用開源的ESB總線實現了設計方案。

1 三層架構設計

1.1 普通三層架構

兵團社會經濟信息系統最初需求是開發一個簡單的B/S結構系統,可以方便用戶查詢,十幾個表,需求較為簡單,系統總體結構如圖1所示,普通用戶客戶端和系統管理客戶端通過瀏覽器進行。系統采用了簡單的三層架構,采用jsp作為顯示層,應用層采用servlet,訪問數據庫的數據層采用jdbc連接,數據操作使用sql語句,由于sql語句與具體數據庫產品相關,所以系統與具體的數據庫產品是緊耦合的,系統架構圖如圖2所示。當前系統是一個非常普通的Web應用。

1.2 基于Spring+Struts+Hibernate的三層架構

隨著開發的進行,各個子課題對于社會經濟數據庫的要求發生了變化,增加了很多數據,而且數據還有可能持續發生變化,數據訪問層頻繁發生修改,很容易出錯,需要降低各層之間緊耦合狀態,分離出服務層。系統改為采用常見的SSH(Struts+Spring+Hibernate)搭配,系統訪問模式和整體架構不發生變化,各層采用相應的開發框架,界面層采用Struts2框架,數據訪問層采用Hibernate框架,Spring作為應用框架,主要提供對象工廠和事務管理功能,以最大程度的使各層解耦,并簡化事務管理。此時系統的架構沒有變化,只是三層架構采用了相應的開發框架,增加了系統的靈活性和健壯性,具體如圖3所示。

圖3 SSH開發框架圖

2 混合架構

2.1 普通混合架構模式

在開發過程中,數據的管理方式被考慮進來,調查發現數據來源比較復雜,需要從其他地方獲取數據并進行人工核實和篩選,數據量比較大,單靠通過管理員以后臺方式管理數據很麻煩,建立數據管理客戶端軟件非常有必要,這樣系統就采用了兩種管理模式:一種是C/S客戶端管理;一種是使用瀏覽器進行后臺管理,系統演變成了B/S和C/S的混合架構模式。如圖4所示是混合模式的架構圖,其中新增了C/S結構。兩種管理模式對數據庫的訪問方式如圖5所示。

2.2 采用遠程方法調用的混合架構模式

當前系統已經可以滿足訪問和維護的要求,但是存在一個問題:服務器端和客戶端軟件除了界面層和應用層不一樣,實體層(實體類、Hibernate配置文件、Hibernate映射文件)必須保持一模一樣,數據訪問層代碼也基本相同,這樣不但出現大量的代碼冗余,系統升級和維護時必須同時維護兩處相同的代碼,很不方便而且容易出錯。系統改變為將數據訪問邏輯置于服務器端,客戶端以遠程方法調用的方式進行訪問,這樣客戶端和服務器端只需要保持相同的數據訪問接口。由于客戶端和服務端都使用java開發,所以可以采用rmi技術實現[7]。系統演化成如圖6的方式。

服務器端生成服務代理,客戶端通過遠程方法調用(Rmi)服務器端的方法,這樣數據訪問邏輯只需要在服務器端生成一次,客戶端不需要相應的實體類和Hibernate配置文件,系統維護和升級都很方便。

3 點對點Web服務集成

3.1 服務發布與調用模式

兵團社會經濟信息系統需要為其余各個子課題提供數據服務,如農情系統,水資源監測等,而各子課題是平臺異構的,有的使用.net,有的使用vb。為了讓各子系統使用社會經濟數據,系統結構進一步發生變化,將數據的獲取以Web服務的方式發布,其余子課題獲取服務。系統演化成為如圖7所示結構。

圖6 改進后的混合架構開發架構圖

3.2 點對點Web服務集成

由于各個子系統之間有相關性,比如農情信息系統會需要水資源與水災害的數據和分析結果。這樣發生了子系統之間的相互調用,由于平臺異構,各子系統如果要調用對方的操作,只能以服務的方式進行,所以最終各個子課題都會發布與調用服務,既是服務的消費者也是服務的提供者。這就是點對點的Web服務集成,具體如圖8所示。

點對點的Web服務集成相當于一種“私下交易”,這種“私下交易”的缺點是服務的消費者必須知道服務提供者的位置,這樣就使得消費者與提供者之間緊耦合,服務提供者發布一項服務就需要通知所有的消費者,如果服務提供者的地點或者服務接口發生了更改,所有消費者必須改動并且重新編譯。并且,如果服務發生故障不能使用,也沒有失效備援機制和安全管理機制,整個系統缺乏對服務的統一管理。

圖7 提供Web服務的開發架構圖

圖8 點對點web服務集成

為了改變服務提供者和服務消費者的緊耦合現象,方便各子系統發布、發現和調用服務,需要一個基礎設施的支持,即企業服務總線(ESB)。ESB相當于服務中介,其職責是使消費者能夠調用供應者提供的服務[8],能夠對服務進行管理,使得服務提供者對于服務消費者透明,消費者無需知道是誰為它提供服務,當然也可以明確選擇某幾個提供者,服務提供者發生了更改無需通知消費者,消費者可以處于“幸福的無知狀態”,這樣使得服務提供者和消費者之間完全解耦。這就是面向服務架構,采用ESB后的系統架構如圖9所示。

采用ESB的好處不僅僅是提供了松耦合的架構,而且還可以提供如下功能[9]:

(1)負載均衡,如果有多個服務提供者可以對同一個服務請求提供服務,則可以根據負載均衡的原則選擇服務提供者。

(2)安全管理,提供統一的安全標準和規則。

(3)服務聚合,可以對小的服務進行聚合而成大的服務,也就是服務的編排。可以選擇聚合方式和粒度,靈活的根據適應外界的規則變化對信息系統提出的新要求。

(4)監控功能,主動觀察總線的服務性能、分析某項服務調用的高峰期、服務調用是否完整等。

圖9 面向服務的系統架構圖

4 面向服務架構

4.1 基于Webservice的服務設計

SOA思想本身并沒有規定在以面向服務思想為指導的應用程序的構造過程中必須使用的實現技術。而在現實當中,使用最多的用于實現SOA的技術,莫過于Web服務。Web服務是一套開放標準,它可以指導建立分布式應用平臺,使得運行在不同操作系統和不同程序語言實現的功能模塊,能夠通過它提供的中立的接口描述,有效地進行分工協作[10]。Web服務技術和以前的分布式計算技術比較,具有更好的可靠性、可擴展性、易用性和協議開放性[11]。

系統服務的發布采用了Spring+XFire的框架創建和描述服務,以登錄操作為例,下面是描述服務的service-servlet.xml文件部分內容。

4.2 基于Synapse的企業服務總線

服務總線很多,開源和商業的都有很多應用,在實際項目中采用了開源的總線系統,Apache的Synapse作為項目的服務總線,Synapse采用輕量級的XML和Web服務為中心的消息模型。它本身并不創建服務,只是提供服務的注冊和路由等管理。下面是登錄服務發布的部分內容。

4.3 服務調用

服務發布完畢后,在客戶端就可以編寫程序進行服務的調用。客戶端首先創建RPCServiceClient類型的對象,并初始化其擁有的Option對象類型的屬性,最后調用RPCServiceClient的invokeBlocking方法,該方法會調用服務提供者的相應方法,最終將調用結果返回。

4.4 效果

為了不斷適應需求的變化,為異構的軟件系統提供互操作,兵團社會經濟信息系統的軟件架構最終演化為面向服務的架構。企業服務總線的建立,使得該架構為集成更多的軟件系統提供了基礎設施上的支持。各異構的子系統都可以在總線上發布或查找服務,從而實現系統集成的目標。

5 結束語

采用基于SOA企業應用集成方式能有效解決系統集成的問題,克服傳統集成方式耦合度高、安全性和靈活性差、集成成本過高等缺點[12],甚至完成傳統集成方式無法完成的集成問題。但SOA并不能一蹴而就,是為了集成異構系統而不斷演化的結果。通過兵團社會經濟信息系統的不斷演化從而最終實現面向服務架構,展現了SOA的實現過程,并在該過程中表現了SOA如何通過不斷降低系統之間的耦合和依賴,實現異構系統的快速集成,從而達到業務的敏捷性。

[1] 陳朋,李光耀.基于面向服務體系結構SOA的軟件開發[J].河南科技大學學報:自然科學版,2006,27(5):29-31.

[2] 常政.SOA中國企業應用現狀調查[J].程序員,2007(6):68-69.

[3] 毛新生.此SOA非彼SOA[J].程序員,2007(6):48-51.

[4] 尹紅麗,王永明.面向服務的體系結構主要實現技術比較研究[J].計算機科學,2009,36(1):282-285.

[5] David C,Tyler J.JavaWeb Services[M].New York:O’Reilly Press,2002.

[6] 王滿紅,陳榮華.SOA概念、技術與設計[M].北京:機械工業出版社,2007.

[7] 葉乃文.Java2基礎知識[M].北京:機械工業出版社,2005.

[8] 梁愛虎.SOA應用詳解[M].北京:電子工業出版社,2007.

[9] 楊彩,劉曉霞,賈松浩.基于SOAP的異構系統集成的研究與應用[J].計算機應用與軟件,2008,25(4):79-81.

[10] 倪志剛,王銘孜,黃兆勤.SOA權威指南:通過BEA Aqualogic Service Bus實現[M].北京:電子工業出版社,2008.

[11] NicolaiM J.SOA實踐指南[M].程樺,譯.北京:電子工業出版社,2008.

[12] 張海軍,史維峰,劉偉.基于SOA企業應用集成框架研究與實現[J].計算機工程與設計,2008,29(8):2085-2088.

猜你喜歡
服務系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
半沸制皂系統(下)
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
主站蜘蛛池模板: 思思热精品在线8| 国产精品思思热在线| 91在线高清视频| 国产黄在线免费观看| 台湾AV国片精品女同性| 国产超碰一区二区三区| 91青青在线视频| 色AV色 综合网站| 国产精品午夜福利麻豆| AV熟女乱| 日本91视频| 九色视频线上播放| 72种姿势欧美久久久大黄蕉| 亚洲第一国产综合| 国产成熟女人性满足视频| 高清无码一本到东京热| 亚洲成a人片| 亚洲区第一页| 亚洲欧洲美色一区二区三区| 激情综合网激情综合| 免费一极毛片| 爆操波多野结衣| 亚洲欧美极品| 婷婷激情五月网| 成人免费黄色小视频| 亚洲色图在线观看| 欧美综合中文字幕久久| 国产免费人成视频网| 日韩福利在线观看| 久久国产亚洲偷自| 欧美国产在线看| 天天躁狠狠躁| 香港一级毛片免费看| 丁香六月激情综合| 亚洲成人在线网| 人人妻人人澡人人爽欧美一区| 久久天天躁狠狠躁夜夜2020一| 91无码国产视频| 国产精品免费电影| 亚洲精品片911| 日本草草视频在线观看| 热伊人99re久久精品最新地| 一区二区在线视频免费观看| 久久性妇女精品免费| 亚洲国产成人综合精品2020| 激情视频综合网| 欧美日本不卡| 精品少妇人妻无码久久| 国产尤物视频在线| 久久免费视频播放| 亚洲色精品国产一区二区三区| 婷五月综合| 国产尤物jk自慰制服喷水| 高清无码一本到东京热| 国产精品视频导航| 亚洲va欧美va国产综合下载| 国产手机在线ΑⅤ片无码观看| 日本欧美一二三区色视频| 日韩成人在线视频| 精品国产福利在线| 色综合天天娱乐综合网| 成人午夜网址| 9久久伊人精品综合| 秋霞一区二区三区| 丁香五月婷婷激情基地| 99er这里只有精品| 凹凸国产分类在线观看| 国产精品视频白浆免费视频| 欧美人人干| 日韩在线欧美在线| 99久久国产综合精品2020| 日韩国产一区二区三区无码| 成人亚洲视频| 国产二级毛片| 亚洲日韩在线满18点击进入| 2021国产精品自拍| 黄色一级视频欧美| 免费看一级毛片波多结衣| 欧美va亚洲va香蕉在线| 亚洲视屏在线观看| 天天躁夜夜躁狠狠躁图片| 日韩欧美中文亚洲高清在线|