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

基于SOA架構的信息分發平臺的設計與實現

2011-01-01 00:00:00耿海龍,周海鷹,左德承,張展
智能計算機與應用 2011年5期

摘 要: 設計并實現了基于SOA架構的信息分發平臺,主要用于高擴展性的企業服務與高效率的信息共享。文中設計的信息分發系統采用面向服務的設計原則,分析異構網絡信息共享問題,實現圖片信息共享服務并通過插件實現客戶端的功能擴展。通過研究異構網絡信息分發的需求,分別對服務器端和客戶端進行設計,并實現兩者的高效結合。本系統可以作為云計算平臺的實現模型,通過對客戶端采用MVC的設計模式,提高了客戶端的擴展性和靈活性,通過模塊化設計降低了系統耦合度,本系統最大的特點就是可以通過平臺的插件管理系統實現服務的實時擴充。

關鍵詞:

中圖分類號: TP311.5 文獻標識碼: A 文章編號:2095-2163(2011)03-0017-04

Design and implementation of Information Distribution Platform based on SOA

GENG Hailong, ZHOU Haiying, ZUO Decheng, ZHANG Zhan

Abstract:This dissertation presents the design and implementation of a SOA-based information distribution platform, aiming mainly for highly scalable enterprise services and the efficient information sharing. Adopting service-oriented design principle, this system is used to analyze heterogeneous network information sharing, to achieve a image sharing service and to expand system functions through plug-in client extensions. By studying the demand for heterogeneous network information distribution, this system will design the server and client respectively, implement an efficient combination. This system can serve as a platform for cloud computing implementation model, and through the MVC design pattern can improve the client's scalability and flexibility. Meanwhile, modular design reduces the system's coupling, and the system is characterized by the plug-in management system used to achieve real-time expansion of services.

Key words

0 引言

隨著信息技術的發展,尤其是云計算與物聯網等概念的提出,對服務信息管理系統有了更高的要求,不僅要滿足SOA中的基礎功能,如服務注冊,服務檢索,服務管理等,更對分布式、異構的網絡環境下服務的穩定高效運行提出了條件。傳統的信息服務系統存在擴展性差、靈活性低、無法適應動態變化等方面的問題,無法滿足日益增長的信息處理和動態功能擴充的需求。為了實現高效率、可重用、分布式的信息分發系統,必須采用一種具有Internet環境下業務集成功能,可以將應用程序的不同功能單元通過這些服務之間定義良好的接口和契約聯系起來的系統架構。接口要采用中立的方式進行定義,并應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣系統中的服務可以以一種統一和通用的方式進行交互。通過分析,本課題采用SOA來進行服務器端的設計[1]。

為了充分實現SOA的強大功能,需要為信息分發系統設計專用的客戶端軟件,用來配合SOA的服務進行功能擴充。為了達到實時功能擴充的效果,客戶端軟件部分要設計插件管理系統,可以自動完成插件掃描,插件注冊,內存管理,插件卸載等功能。通過新增插件來完成系統功能的擴展[2]。

本課題目標是結合面向服務架構與普適計算技術,研究面向服務的計算支撐平臺和服務管理平臺,探討相關設計理論和設計思想,研究體系架構設計方案和實現方法,提出基于此架構的信息支撐服務系統中間件設計框架,研制連接服務管理平臺與云計算平臺的客戶端軟件與系統。

1 服務器端的設計與實現

隨著計算機技術和網絡技術的迅猛發展,在企業內部都逐步實現了業務、辦公自動化等計算機管理。但是,各個機構或部門由于業務和功能歸屬不同,因此采用了不同的軟硬件環境,各部門基本上都有獨立的業務系統,如審計部門有審計系統、財務部門有財務系統等。這些系統之間相互交叉,有著重復的信息和數據,相互之間卻不能進行信息交流和共享,成為“信息孤島”。數據源的異構導致了系統間信息交互和互操作非常困難,數據更新不能同步,既給客戶提供了一些不一致的信息,又給信息的維護和管理增加了工作量。更加上企業的大量數據源松散分布在地理位置各異的地方,數據源之間的數據組織形式又受經濟文化等因素影響而各異。因此,如何能夠安全準確地實現企業間信息資源共享就成為一個十分重要的問題。

信息分發系統的最外層為接入層,接入層負責保證動態均衡負載和用戶權限確認。應用層包括系統遠程調用接口和擴展服務接口,通過應用層,用戶可以使用系統提供的各種服務,并且可以根據用戶的相應權限和所屬分組,使用專用的應用服務。用戶權限庫保存著用戶的權限信息;因為信息很重要,所以和用戶基本信息進行分別存儲;服務知識庫主要是為了支持語義級別的服務搜索;系統服務層維護著整個系統的服務注冊與管理。組合服務層為可以獨立完成某個業務流程的服務組件,屬于粗粒度的服務,基礎服務層為各種原子服務,每個原子服務只能執行簡單的任務,通過原子服務的組合可以形成組合服務,數據接口層負責統一分布式異構數據源的訪問方式[3]。

數據接口層通過對不同的數據源開發相應的通信模塊,對外提供統一的數據庫操作接口,排除異構數據源對上層應用的影響。

1.1 SOA的核心特征

(1)服務接口

服務必須有定義優良的接口,接口中要明確規定該服務可用的操作,信息交換的數據要求,并詳細說明服務該如何被調用。可以通過WSDL來聲明,用XML Schema來規范化數據格式。

(2)服務透明性

服務透明性是指在不明確知道網絡中某端點物理地址的情況下調用該服務的能力。

(3)服務的松耦合與無狀態

服務與服務之間應該是松耦合的,可以獨立運行的。服務應該盡可能地設計為無狀態的。

(4)服務組合

SOA可以將多個底層的服務包裝成一個更粗粒度的服務或者封裝成一個業務流程管理。

(5)服務注冊與發布

為了讓客戶端知道某項服務的存在,必須對服務進行注冊與發布,一般通過UDDI來實現。

1.2 SOA框架設計

SOA中的服務組合技術簡稱SCA,提供了一套可構建基于面向服務的應用系統的編程模型。其核心概念是服務及其相關實現。服務由接口定義,而接口包含一組操作。服務實現可以引用其他服務,稱為引用。服務可以有一個或多個屬性,這些屬性是可以在外部配置的數據值。

SCA的基本結構如圖3所示。

為了實現高效穩定的SOA服務,本項目采用了開源的Apache Tuscany作為SOA的開發框架[4]。

圖片分享服務首先需要定義的是圖片信息的交互協議,協議中的數據格式采用XML Schema進行規范化定義,這樣可以使不同的平臺,不同的語言之間進行通信。

有了良好的數據格式定義后,就應該定義服務的接口了,服務接口采用WSDL協議來進行規范。

WSDL協議主要包含五部分

(1)Types:獨立于機器和語言的類型定義。

(2)Messages:包括函數參數(輸入與輸出分開)或文檔描述。

(3)PortTypes:引用消息部分中消息定義來描述函數簽名(操作名、輸入參數、輸出參數)。

(4)Bindings:PortTypes部分的每一操作在此綁定實現。

(5)Services:確定每一綁定的端口地址。

按照WSDL協議,將上述五部分分別填好后,就可以向外發布圖片分享服務了。在本項目中,圖片分享服務被綁定在SOAP協議上對外發布。

定義好服務接口后,就是與Apache Tuscany進行結合了。

Apache Tuscany中有一些基本定義如下[5]:

(1)組件(Component):組件是SCA中最基本的功能單元,可以類比于Java中的類。需要注意的是,由于SCA語言中立的特性,SCA組件可能是Java代碼,也可能是C++代碼,甚至是BPEL描述語言。

(2)組合(Composite):組合是一個邏輯概念,類似功能模塊。既可以包含多個組件,也可以包含多個組合。在物理上組合并沒有對應物,因而可能是單機單進程的,也可能是多機多進程的。組成組合的組件可以是由單個技術實現的,也可以是多個不同技術實現的。在SCA中,組合使用SCDL(服務組件定義語言)來定義,保存到.composite文件中。

(3)域(Domain):域代表了一個完整的配置運行時,可包含多個組合。單個域定義了所有SCA機制的可視化邊境,如在同一個域內,可以使用域特定的通信機制;在域外,則使用如Web服務等互操作機制與其他客戶端進行通信。

(4)服務:代表組件對外提供的功能。

(5)引用:代表組件對外界的依賴。

(6)屬性:代表組件的配置信息。

(7)綁定:定義組件與外界的通信機制(一般就是通信協議),當這發生在同一域中時,可以不顯式指定。

綁定確切地說明了SCA組件和其他軟體之間的通訊是如何進行的。根據通訊對象的不同,組件可能有、也可能沒有顯式地指定綁定。同一個域內的、與其他組件通訊的組件,不管是在不同的進程中,還是在不同的機器上,都不需要任何顯式地指定綁定。運行時,環境會決定將用到什么綁定,從而把開發者從這些繁雜的事務中解脫出來。然而,為了與域外通訊,不管是不是運行在某個其他域的SCA應用,組件的創建者(也許會是部署組件的人)必須指定通訊的綁定。每個綁定都定義了用于與服務或引用通訊的特定協議。每個服務或引用能有多種綁定機制,允許通過不同的方式與不同的遠程軟體進行通訊。因為綁定把組件的通訊從組件的功能中分離出來,就是讓組件的業務邏輯與通訊細節剝離開來。這是源自試圖將通訊和功能混合在一起的老技術,簡化應用的設計和開發。

(8)連線(Wire):代表組合內組件間的依賴關系。

(9)提升(Promotion):組合暴露其包含組件的服務或引用的過程。

(10)策略:對應QoS方面的設定,如安全、可靠性、事務等。

通過在composite配置文件中聲明每個組件的接口類,實現類,實現組件邏輯的裝載,將組件提升為組合,從而可以向外發布服務,然后綁定服務的接口,就可以實現外部的訪問了[6]。

2 客戶端軟件的設計

2.1 客戶端總體設計

該項目借鑒了Eclipse的優點,強化插件系統,真正實現自由擴展。本身只提供即時通訊,多媒體解碼、插件管理器、網絡連接器、持久數據層接口、資源管理器、服務中間件等功能,剩下的具體工作全部由插件來擴充。插件管理器負責插件的裝載與資源回收,持久數據層由內存數據庫和XML實現,通過MVC設計原則實現單數據源多視圖同步顯示,視圖層用QML腳本語言進行控制。通過共享Cookie實現網絡數據共享,不同插件可以通過平臺總線進行通信。客戶端軟件設計框圖如圖4所示。

通過建立內存數據庫,實現數據的格式化存儲,程序啟動時先掃描plugins文件夾的插件,并嘗試加載這些插件,可以成功加載并驗證合格的插件將被錄入數據庫,數據庫更新后將通知腳本語言處理引擎,通知更新插件管理器界面。插件掃描完畢后加載平臺主程序,主程序將加載多媒體處理引擎和即時通訊模塊,即時通信模塊通過XMPP協議與jabber服務器進行通信,獲得當前的好友列表,更新視圖。然后用戶根據需求選擇所需的插件進行加載,插件管理器可以設置處于激活狀態的插件的最大數量上限,滿足不同配置機器的需求。插件管理器負責維護一個隊列,當超過最大數量時,將采用先進先出的原則卸載最先加載的插件,用戶也可自行決定卸載哪個插件。

2.2 客戶端設計策略

2.2.1 插件管理系統

通過定義純虛函數接口定義平臺加載插件的所需信息。平臺可以通過遞歸掃描plugin文件夾動態裝載插件,插件管理器負責維護當前正在運行的插件,設定最大可以同時運行插件的數量、插件卸載和內存整理。

2.2.2 MVC結構設計

通過MVC(Model Control View)策略解除平臺與插件的耦合,將數據層獨立于平臺之外利于功能擴展和網絡交互,將控制層分別放在客戶端與服務器,用戶可以決定將主要計算放在本地還是遠端,視圖層可以自動根據數據源實現數據同步,當某個組件修改了數據層的數據時,渲染該區域數據的視圖都將同步更新。

2.2.3 腳本語言與C++混編

以前一直輕視腳本語言,認為其簡單且低效,現在終于認識到自己的膚淺,腳本語言在靈活性上具有無法比擬的優勢,除平臺的骨架視圖通過C++定義外,其余所有視圖都用QML動態腳本實現,實現比定制皮膚更靈活的界面控制。另外,通過腳本語言開發界面比C++更加簡單,工作效率也將提高,不過,目前該技術還不是很成熟,很多時候腳本語言無法實現特定功能,必須通過開發C++模塊擴展腳本語言的功能,相對開發難度比單純用C++更高。

2.2.4 共享Cookie技術

通過共享Cookie可以實現部分網絡信息共享技術,可以實現一次登錄,處處使用,但當中涉及的安全問題,過期問題等還沒有處理。

2.2.5 OAuth 授權機制

引入OAuth身份驗證機制,可以進一步增加平臺的安全性,讓用戶通過第三方認證的方式授予平臺與插件對用戶信息的臨時或永久訪問權限。

3 結束語

本課題設計并實現了基于SOA的信息分發系統。采用Apache Tuscany作為SOA的開發框架,采用SCA作為系統服務的服務組件框架;同時針對信息分發服務平臺開發了客戶端軟件,用來協助系統實現更廣泛的實時功能擴展。將來還要完善客戶端與服務器端的通信機制,實現遠程同步功能,設計更人性化的交互方式。

參考文獻:

[1] 申德榮,于戈,等. 應用于Web服務合成的一種有效的Web服

務發現策略[J]. 小型微型計算機系統,2005,26(10):1803-1806.

[2] 陳丹,袁捷. 基于SOA的分布式科研信息系統[J]. 計算機工程

與設計,2006,13(4):4760-4761.

[3] 鄧文卓,朱慶生,曹忠厚. 基于SOA構建隨需應變的企業應用

[J]. 計算機科學,2006,33(1):132-135.

[4] 徐宏發,王衛平. 基于SOA的數字圖書館互操作開放框架[J].

計算機工程與應用,2006,34(2):221-224.

[5] SCA的簡介. http//blog.csdn.net/DL88250/archive/2008/07/25

/2709927.aspx.

[6] 王建偉. 基于Web Services的SOA架構設計方法的研究[D].

大連:大連海事大學,2006.

主站蜘蛛池模板: 亚洲欧美日韩综合二区三区| 香蕉久久永久视频| 精品国产www| 国产精品久久久久婷婷五月| 黄色三级网站免费| 无码专区国产精品第一页| 极品国产在线| 91精品最新国内在线播放| 国产在线视频二区| 在线欧美日韩国产| 国产中文一区a级毛片视频 | 午夜福利在线观看入口| 另类综合视频| av一区二区三区高清久久| 国产又爽又黄无遮挡免费观看 | 日韩人妻少妇一区二区| 精品国产中文一级毛片在线看 | 午夜精品久久久久久久无码软件| 永久免费无码成人网站| 亚洲欧洲日韩综合| 久久精品国产国语对白| 91精品啪在线观看国产91九色| 美女亚洲一区| 亚洲av片在线免费观看| 日韩免费毛片| 国产尤物在线播放| 青青热久免费精品视频6| 三上悠亚精品二区在线观看| 日本黄色不卡视频| 第一页亚洲| 亚欧成人无码AV在线播放| 欧美日韩国产精品va| 国产成a人片在线播放| 素人激情视频福利| 成人综合在线观看| 精品国产一区二区三区在线观看 | 日日拍夜夜操| 久久永久视频| 99在线视频免费| 亚洲天堂777| 成色7777精品在线| 日本国产在线| 中日韩欧亚无码视频| 伊人激情久久综合中文字幕| 夜夜操国产| 18禁高潮出水呻吟娇喘蜜芽| 无码国产偷倩在线播放老年人| 国内精品视频区在线2021| 日韩在线欧美在线| 亚洲成年网站在线观看| 无码视频国产精品一区二区| 欧美精品一区二区三区中文字幕| 国产三级视频网站| 97精品久久久大香线焦| 日韩精品专区免费无码aⅴ| 国产三级精品三级在线观看| 午夜一区二区三区| 久久国产精品麻豆系列| 91免费国产在线观看尤物| 国产高清在线丝袜精品一区| 精品国产免费观看| 91精品国产自产在线老师啪l| 亚洲性一区| 在线中文字幕网| 在线看AV天堂| 亚洲国产日韩欧美在线| 天天做天天爱夜夜爽毛片毛片| 国产免费羞羞视频| 亚洲欧洲美色一区二区三区| 国产www网站| 成人精品视频一区二区在线| 国产99在线观看| 无码日韩视频| 青草视频网站在线观看| 中文字幕免费在线视频| 婷婷综合色| 午夜不卡视频| 精品欧美一区二区三区久久久| 国产精品成人观看视频国产| 久久人人97超碰人人澡爱香蕉 | 国产成人高清精品免费软件| 国产美女主播一级成人毛片|