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