基于Web服務(wù)的S工單管理軟件模型
申請免費試用、咨詢電話:400-8352-114
1 引言
隨著信息化建設(shè)的蓬勃發(fā)展,各行業(yè)的應(yīng)用系統(tǒng)數(shù)量眾多,且各個應(yīng)用系統(tǒng)間交流頻繁,對數(shù)據(jù)交換的需求愈發(fā)迫切。資源整合(Resource Integration)“是依據(jù)一定的需要,對各個相對獨立的資源系統(tǒng)中的數(shù)據(jù)對象、功能結(jié)構(gòu)及其互動關(guān)系進行融合、類聚和重組,重新結(jié)合為一個新的有機整體,形成一個效能更好、效率更高的資源體系”。資源整合包含源整合(Sources Integration)和數(shù)據(jù)整合(Data Integration)兩個層面,源整合是針對數(shù)據(jù)庫入口,按各種分類原則進行標(biāo)引,提供給用戶統(tǒng)一的數(shù)據(jù)庫檢索入口,即平臺整合;數(shù)據(jù)整合即D2D整合,是對分散異構(gòu)的多數(shù)據(jù)源實現(xiàn)統(tǒng)一的訪問,形成完整、統(tǒng)一的數(shù)據(jù)視圖,實時、智能地將有價值的數(shù)據(jù)傳遞給分析系統(tǒng)或其它應(yīng)用系統(tǒng)進行信息的進一步加工。
數(shù)據(jù)建模是數(shù)據(jù)整合的基礎(chǔ),依據(jù)業(yè)務(wù)流程確定數(shù)據(jù)的要求,建立完整的信息模型,在逐步規(guī)范原有應(yīng)用系統(tǒng)使用的數(shù)據(jù)平臺基礎(chǔ)上,為新的應(yīng)用系統(tǒng)提供統(tǒng)一的數(shù)據(jù)交換平臺(Data Exchange Platform,DEP)。數(shù)據(jù)模型在邏輯上必須是統(tǒng)一的,在物理上可以分布存儲。數(shù)據(jù)交換平臺是一種綜合性服務(wù)平臺,可滿足系統(tǒng)內(nèi)各種數(shù)據(jù)交換與共享需求,并能解決應(yīng)用系統(tǒng)間的數(shù)據(jù)共享和集成問題,解決諸多應(yīng)用系統(tǒng)在“聯(lián)邦模型”(一種應(yīng)用系統(tǒng)間松散耦合的模型)下出現(xiàn)的信息孤島問題,為應(yīng)用系統(tǒng)提供全局?jǐn)?shù)據(jù)視圖、全局?jǐn)?shù)據(jù)權(quán)限視圖和完善數(shù)據(jù)交換服務(wù)。當(dāng)前國內(nèi)外大部分?jǐn)?shù)據(jù)交換系統(tǒng)通常按照自有標(biāo)準(zhǔn)設(shè)計,沒有采用通用的技術(shù)和架構(gòu)標(biāo)準(zhǔn),通用性較差。這些數(shù)據(jù)交換系統(tǒng)的開發(fā)一般均采用組件化、模塊化的軟件開發(fā)方式,系統(tǒng)各模塊間的耦合程度非常高,數(shù)據(jù)交換系統(tǒng)的維護和修改較困難,維護成本較高。為了解決上述問題,通過深入研究數(shù)據(jù)交換系統(tǒng)的架構(gòu)設(shè)計及系統(tǒng)實現(xiàn),提出了基于S工單管理系統(tǒng)的異構(gòu)系統(tǒng)通信解決方案,用以解決DEP建設(shè)和實施過程中的通用性較差、實現(xiàn)復(fù)雜度較高等問題。
2 基于Web服務(wù)的S工單管理系統(tǒng)模型
2001年,IBM公司提出了一個 S工單管理系統(tǒng)模型,清楚地描述了Web Service體系結(jié)構(gòu)中各角色之間的交互,如圖1所示。S工單管理系統(tǒng)體系結(jié)構(gòu)的組件中共有3種角色:Service provider(服務(wù)提供者),發(fā)布自己的服務(wù)并對使用自身服務(wù)的請求進行響應(yīng);Service broker(服務(wù)中介),注冊已經(jīng)發(fā)布的Service provider,對其進行分類并提供搜索服務(wù);Service requestor(服務(wù)請求者),通過Service broker查找所需的服務(wù),然后使用該服務(wù)。
在 Web Service的角色之間使用了3種操作:publish(發(fā)布),使 Service provider可以向Service broker注冊自己的功能及訪問接口;find(查找),使Service requestor可以通過 Service broker查找特定種類的服務(wù);bind(綁定),使 Service requestor能夠真正使用 Service provider提供的服務(wù)。
3 基于S工單管理系統(tǒng)的DEP體系架構(gòu)
S工單管理系統(tǒng)被用于信息資源整合,是因其具備標(biāo)準(zhǔn)化、可操作、可組裝的特性。S工單管理系統(tǒng)提供了一個通用的、可互操作的和有彈性的行業(yè)標(biāo)準(zhǔn)架構(gòu),可以在軟件基礎(chǔ)架構(gòu)中建立一系列支持商業(yè)模型的可重復(fù)利用的服務(wù),這些服務(wù)由不同應(yīng)用系統(tǒng)的組件構(gòu)成,能夠適應(yīng)業(yè)務(wù)流程變化的需求。為了提高DEP的通用性,滿足系統(tǒng)對松散耦合和基于統(tǒng)一技術(shù)標(biāo)準(zhǔn)的需求,在層次設(shè)計上,采用S工單管理系統(tǒng)的層次劃分思想,將整個系統(tǒng)劃分為6個層次(服務(wù)層、組件層、企業(yè)服務(wù)總線層、商業(yè)流程層、服務(wù)質(zhì)量層及安全管理層)和8個核心模塊(消息模塊、數(shù)據(jù)傳輸模塊、服務(wù)監(jiān)控模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)權(quán)限存儲和驗證模塊、服務(wù)注冊和查詢模塊、身份驗證和會話管理模塊、出錯處理和日志記錄模塊)。
在具體的實現(xiàn)過程中,DEP采用松散耦合的“服務(wù)器+代理”架構(gòu),利用S工單管理系統(tǒng)的核心技術(shù)(如JMS、Web Services、ESB等)來分別實現(xiàn)DEP消息服務(wù)、數(shù)據(jù)傳輸服務(wù)等核心構(gòu)件的主要功能。統(tǒng)一的消息服務(wù)控制數(shù)據(jù)交換過程中復(fù)雜的控制信息交互;統(tǒng)一的數(shù)據(jù)傳輸服務(wù)解決數(shù)據(jù)交換過程中各種數(shù)據(jù)高效、準(zhǔn)確地傳輸;消息協(xié)議和數(shù)據(jù)交換協(xié)議解決標(biāo)準(zhǔn)不統(tǒng)一問題,實現(xiàn)數(shù)據(jù)交換系統(tǒng)的通用性。
DEP作為一個分布式開放型網(wǎng)絡(luò)系統(tǒng),由一個DEP服務(wù)和若干個應(yīng)用軟件的DEP代理構(gòu)成,數(shù)據(jù)交換中的各應(yīng)用軟件以DEP代理作為接口,通過與DEP服務(wù)的消息和數(shù)據(jù)交互實現(xiàn)信息交換。DEP服務(wù)是DEP的核心管理中心,處于所有信息通道的中間。DEP服務(wù)的主要功能是為數(shù)據(jù)交換的各個應(yīng)用系統(tǒng)提供數(shù)據(jù)交換服務(wù),包括消息服務(wù)、交換數(shù)據(jù)上傳/下載服務(wù)、交換數(shù)據(jù)權(quán)限服務(wù)、交換數(shù)據(jù)訂閱服務(wù)等。DEP代理實現(xiàn)DEP與各應(yīng)用系統(tǒng)之間的交互,主要功能是捕獲應(yīng)用系統(tǒng)的數(shù)據(jù)交換事件、按照DEP的數(shù)據(jù)傳輸規(guī)范獲取交換數(shù)據(jù),通過消息與DEP服務(wù)進行交互,控制交換數(shù)據(jù)正確傳輸,保證正確完成數(shù)據(jù)交換的流程。DEP代理可作為一個邏輯部件集成在應(yīng)用系統(tǒng)內(nèi)部,也可作為一個獨立實體掛接在應(yīng)用系統(tǒng)外部。
4 異構(gòu)通信平臺設(shè)計
某旅游網(wǎng)為了在不同地區(qū)、使用不同硬件設(shè)施和軟件平臺的旅行社、酒店、交通部門之間建立統(tǒng)一數(shù)據(jù)平臺,實現(xiàn)其預(yù)訂酒店、預(yù)售車票、智能組團的商業(yè)戰(zhàn)略,需要構(gòu)建一個跨地域、跨平臺、易擴展的電子商務(wù)系統(tǒng)。在進行系統(tǒng)架構(gòu)設(shè)計時,選擇了基于Web Service的S工單管理系統(tǒng)模型,以解決異構(gòu)系統(tǒng)互聯(lián)、低成本高擴展性需求等業(yè)務(wù)問題。
4.1 系統(tǒng)架構(gòu)
系統(tǒng)平臺運行于分布于全國各地的多臺服務(wù)器上,從結(jié)構(gòu)和功能上大致分為:旅游門戶網(wǎng)站、Web Service應(yīng)用服務(wù)、系統(tǒng)數(shù)據(jù)服務(wù)、UDDI、旅行社數(shù)據(jù)服務(wù)、酒店數(shù)據(jù)服務(wù)、車站航運數(shù)據(jù)服務(wù)、網(wǎng)銀結(jié)算服務(wù),每類服務(wù)均由不同地區(qū)不同平臺類型的服務(wù)器組成。
系統(tǒng)的主體部分以及重心在旅游門戶和Web Service應(yīng)用服務(wù),旅游門戶針對用戶的請求作出相應(yīng),而數(shù)據(jù)服務(wù)則全部來自Web Service應(yīng)用服務(wù)。與旅游網(wǎng)合作的旅行社、酒店和交通運輸單位使用Web Service發(fā)布的接口與之通信,按就近原則將業(yè)務(wù)數(shù)據(jù)傳輸?shù)铰糜尉W(wǎng)的數(shù)據(jù)服務(wù)器集群中,牽涉到結(jié)算的數(shù)據(jù)由旅游網(wǎng)的結(jié)算網(wǎng)關(guān)統(tǒng)一結(jié)算,臨時數(shù)據(jù)則存儲在本地。這種系統(tǒng)結(jié)構(gòu)是一種分布式的計算結(jié)構(gòu),也是一種典型的多層架構(gòu):用戶接口層是旅游網(wǎng)門戶,主要進行繪制界面和與最終用戶交互,在應(yīng)用程序中是一些 aspx的頁面和頁面相關(guān)代碼;業(yè)務(wù)邏輯層封裝商業(yè)邏輯和規(guī)則并且調(diào)用各個服務(wù)器的Web Service提供的服務(wù),負(fù)責(zé)提供對用戶請求的響應(yīng)和與合作單位通信,為合作單位提供數(shù)據(jù)的統(tǒng)一接入方式,在異構(gòu)的系統(tǒng)之間提供服務(wù)支持,在應(yīng)用程序里面被封裝為。NET組件;Web服務(wù)代理層調(diào)用各個Web服務(wù)生產(chǎn)代理類,生成代理對象;數(shù)據(jù)訪問層主要完成底層與數(shù)據(jù)庫的交互工作,項目中所有Web應(yīng)用底層的數(shù)據(jù)操作都采用了同一套業(yè)務(wù)代碼以達到重用的目的;物理數(shù)據(jù)層由數(shù)據(jù)庫服務(wù)集群和分散在各地的合作單位數(shù)據(jù)庫組成,使用抽象數(shù)據(jù)接口進行訪問,很好地利用了各類數(shù)據(jù)資源。UD