本站小編為你精心準備了基于SOA的社區管理論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
社區信息管理系統平臺可以采用SOA架構來構建整個應用程序運行框架.在傳統的業務系統中,組件往往還是建立程序級別的復用上,而采用SOA結構之后,系統可以實現組件級別的重用,這就保證了業務需求的變更能夠實時地通過服務的重新組合實現,而不需要進行大量的程序開發[4].平臺架構如圖1所示:
1.1用戶層用戶層是指社區主要用戶,包括社區領導、各科室辦公人員、社區企業用戶和社區公眾用戶等社區管理系統用戶訪問業務系統、獲取服務及信息的主要途徑.
1.2表示層表示層是系統的門戶,它提供應用接口,使業務流程和服務以開放的形式暴露給用戶,根據用戶提供的參數返回所需的信息結果,并為用戶提供統一的用戶交互服務.表示層提供業務的統一入口,負責響應用戶層發來的業務請求,進行身份驗證、數據驗證之后,將請求轉發給業務層,由相應的業務處理過程進行處理,最后將業務邏輯層返回的處理結果通過表示層返回給用戶.
1.3業務層業務服務層封裝了社區管理信息系統的核心業務處理邏輯,按照業務內容可以劃分為居民管理、民政業務管理、經濟管理、勞動保障管理等13個部分[1].業務服務層采用SOA的技術架構,處理來自表示層的服務請求,執行特定的業務邏輯,并調用公共服務層的安全控制、數據存取、權限控制、數據訪問等服務,并將處理的結果返回給用戶界面.業務層與公共服務層之間通過ESB進行數據交換和整合.
1.4公共服務層公共服務層是整個系統中最重要的一部分,這部分包括了大量的不同顆粒,不同用途的服務,以供業務層相關應用調用,所以又把公共服務層分為四個子層,分別是服務層、業務組件層、數據持久層和基礎服務.企業服務總線ESB作為各種服務之間調用和信息傳遞的中介,起到了上傳下達,信息溝通的橋梁作用.服務層包含業務相關的服務,為充分實現系統的靈活配置和擴充維護,提高系統的應用復用和性能效率,本系統將以平臺為基礎,為核心主體應用、各地本地化應用及今后各類拓展應用提供公共、統一、通用的核心基礎服務,通過服務層來提高公用的業務接口和靈活的業務配置服務.業務組件層通過各種業務類對建模的數據結構進行封裝,實現基本的業務邏輯處理、數據訪問等操作,形成基本構件.業務組件層通過將業務構件進行集成,從而形成不同粒度的服務.數據持久層用來完成系統中數據的訪問和管理,屏蔽數據訪問的細節,通過數據持久化技術實現和各種數據庫的透明化連接[3].基礎服務層提供與具體業務無關的公用的基礎性服務,作為公共服務層的基礎支撐環境.企業服務總線ESB(EnterpriseServiceBus)是SOA架構的一個支柱技術,它作為一種消息架構提供了消息隊列系統,使用諸如SOAP或JMS(JavaMessageService)等標準技術來實現[3].ESB在SOA的體系結構中起著服務注冊中心的角色,它將SOA的所有參與者連接在一起,提供連接性、技術異質性、通信異質性和技術服務等功能,并管理和監控應用程序之間的交互[3].
1.5數據服務層數據服務層為上層應用及服務提供統一的數據支撐,社區管理信息系統是一個復雜的系統,涉及多種不同的數據源,比如社區信息、居民信息、計劃生育信息、公安系統信息、民政系統信息等,數據服務層首先會通過數據采集及支撐平臺,根據信息標準規范,將各種數據采集轉換,形成統一交換和共享數據庫.
2基于SOA的社區管理系統的關鍵技術
2.1WebService以及相關技術體系SOA作為一個技術架構決定了不應依賴于某個特定的技術和平臺環境來實現,目前WebService是最適合、最廣泛實現SOA的技術.WebService是一種嶄新的分布式計算模式,是Web上數據和信息集成的有效機制,它定義了應用程序如何在Web上實現互操作性[6,8].
2.2輕量級JavaEE軟件架構-S2SH輕量級JavaEE軟件架構S2SH主要由主流的開源框架Struts2、Spring、Hibernate根據其各自的應用特性而進行整合而成,選擇以Spring框架為核心并整合Struts2和Hibernate的框架組合[5].Struts2框架是在struts1的基礎上,并結合了WebWork的技術而開發全新的基于MVC模式的Web框架,負責實現表現層.Spring框架是為了解決企業應用程序開發復雜性而創建的,它提供了一種輕量級的企業業務解決方案,該框架以控制反轉(IOC=InverseOfControl)作為設計思想,應用AOP(面向方面的編程)理念進行程序的設計,可以快速設計并裝配企業組件,負責實現業務層.Hibernate框架是一個O/R框架,可以通過配置文件在域對象和數據庫表之間建立起一個映射關系,簡化了與數據庫的交互過程,用于數據的持久化.通過三種框架優化組合,可以使系統具有良好的層次,達到系統的可擴展性和可維護性,并有利于項目組成員的明確分工,提高開發效率,縮短開發周期.
3基于SOA的社區管理系統的實現
3.1基于S2SH框架的SOA架構設計在S2SH框架中,通常采用Spring來實現業務邏輯層,而在SOA系統中業務是基于服務的,所以采用把公共服務層的組件包裝成WebService的方式,使用WebService作為SOA的服務提供者,Spring提供所有JavaBean的調用關系管理,實現依賴注入和AOP功能,同時使用企業服務總線(ESB)技術來實現SOA中的服務中介,并且在S2SH體系的業務層之下添加了一個服務層,用來封裝對服務的具體調用代碼.采用ESB作為業務層與服務層進行信息交換的中介,更好的實現系統的集成[7,9].基于S2SH框架的SOA架構如圖2所示.表示層:用戶通過瀏覽器來訪問Web頁面.Struts2負責頁面層和內部業務的結合,以及頁面之間的切換。可以使用JSP/Html生成Web頁面,也可以使用JQuery等JS框架實現表示層.業務層:提供業務核心處理邏輯的實現,業務的實現還需要調用服務層提供的服務.服務層:為業務層訪問服務層提供請求服務,服務層從ESB獲得服務的WSDL描述文件,并根據該文件實現對服務的訪問,從而簡化了業務層與服務層的交互過程.ESB企業服務總線:業務層和服務層之間的中介,實現對服務的注冊,信息的交換轉換等.服務層:使用WebService技術實現服務的提供者,為業務層的核心處理邏輯提供服務,通常是比較粗粒度的業務構件.業務組件層:負責實現業務邏輯的JavaEE組件.由JavaBean完成業務構件的開發.數據持久層:完成業務實體和關系表之間的映射關系,實現對數據庫的透明化訪問.數據庫層:關系型數據庫,存儲企業數據.
3.2基于S2SH框架的SOA架構工作流程社區管理信息系統中表示層使用Struts2框架實現,包含Struts2框架下的Struts控制器、XXAction類;業務層使用Spring框架進行管理,包含實現具體業務的XXBusiness接口和XXBusinessImpl實現類;服務層實現與ESB交互來查找服務,業務組件層包含各種業務組件類及其接口,持久化層用Hibernate實現實體對象到數據庫的映射.在開發過程中,首先把某模塊的功能封裝成Web服務XXService,并生成xxService.wsdl文件,對其進行描述,并將其在ESB上和注冊,業務層通過服務層在ESB中查找需要的服務,對Web服務進行調用,返回需要的信息.社區管理信息系統架構工作流程如圖3所示.
4結語
基于S2SH框架的SOA架構開發的社區管理信息系統,系統的功能分層結構清晰,開發簡便;系統實現服務透明化,SOA架構中使用了ESB,服務對客戶端來說是完全透明的;系統采用了S2SH框架,系統分層結構更加合理,有利于系統的維護和擴展.總之,系統具有柔性化、透明化、可擴展性,可以根據環境變化非常容易對系統進行擴展,快速實現社區管理的需求變化.
作者:武建軍李昌兵單位:重慶郵電大學經濟管理學院