本文基于國內各行業(yè)的實(shí)際業(yè)務(wù)類(lèi)型,重點(diǎn)研究了SOA(service-oriented architecture)的應用模式,并按照不同的側面對此進(jìn)行了總結。
隨著(zhù)SOA技術(shù)的不斷完善,SOA理念與技術(shù)實(shí)踐開(kāi)始日趨深入。從國內整體市場(chǎng)看,越來(lái)越多的政府機構和企業(yè)已經(jīng)跨過(guò)了對SOA的價(jià)值及重要性的認知階段,開(kāi)始從概念普及、局部嘗試準備進(jìn)入到大規模應用階段。但是,如何基于國內的SOA需求環(huán)境讓SOA真正落地,如何在各行業(yè)構建滿(mǎn)足SOA特征的應用成為目前我國軟件企業(yè)與服務(wù)提供商面臨的一大難題。
筆者認為,只有SOA的應用模式被深刻理解,SOA應用推廣工作才會(huì )有據可依,大力推進(jìn)SOA在中國的成功應用才會(huì )有堅實(shí)的基礎。本文基于國內各行業(yè)的實(shí)際業(yè)務(wù)類(lèi)型,重點(diǎn)研究了SOA的應用模式,并按照不同的側面對此進(jìn)行了總結(參見(jiàn)附圖1)。
SOA作為軟基礎設施
從軟基礎設施的角度,SOA的應用可以分為利用信息資源目錄梳理業(yè)務(wù)活動(dòng)和業(yè)務(wù)對象的應用模式,以及建立業(yè)務(wù)主題庫的應用模式兩類(lèi)。利用信息資源目錄梳理業(yè)務(wù)活動(dòng)和業(yè)務(wù)對象的應用模式用于梳理業(yè)務(wù)以支撐基于SOA的應用;建立業(yè)務(wù)主題庫框架的應用模式則主要是闡述如何建立業(yè)務(wù)領(lǐng)域的主題庫,基于這種應用模式可以建立多層次、分布式應用系統的基礎庫。
信息資源梳理的目的在于方便部門(mén)間的資源共享和業(yè)務(wù)協(xié)同,因此宜將政務(wù)部門(mén)的組織結構、部門(mén)職責作為梳理的起點(diǎn),把各部門(mén)的業(yè)務(wù)活動(dòng)作為信息資源梳理的脈絡(luò ),把業(yè)務(wù)對象和業(yè)務(wù)流程作為信息資源的關(guān)鍵點(diǎn),把業(yè)務(wù)活動(dòng)之間的關(guān)系作為尋找和判斷信息資源如何共享和協(xié)同的依據。
圖1
對于政務(wù)部門(mén),信息資源主要包括基礎信息、結構化業(yè)務(wù)數據、非結構化業(yè)務(wù)數據和應用資源等。此分類(lèi)只是資源的外在表現形式,而如何利用這些資源形成完整的服務(wù)則是一項需要研究的內容。通過(guò)分析可以建立起相對完善的資源梳理和服務(wù)目錄,完成以下工作:
1. 業(yè)務(wù)活動(dòng)梳理、編目及查詢(xún);
2. 業(yè)務(wù)活動(dòng)之間的關(guān)系梳理、編目及查詢(xún);
3. 基礎信息維護、編目及查詢(xún);
4. 結構化業(yè)務(wù)數據維護、編目及查詢(xún);
5. 非結構化業(yè)務(wù)數據維護、編目及查詢(xún);
6. 應用資源類(lèi)維護、編目及查詢(xún)。
完成上述過(guò)程的梳理和資源分類(lèi)只是一個(gè)起點(diǎn),還要利用SOA理念,將梳理的結果以服務(wù)的形式體現出來(lái),才能最終為業(yè)務(wù)應用提供最直接的幫助。事實(shí)上,梳理的過(guò)程和基于梳理結果建立服務(wù)的過(guò)程也就是搭建政務(wù)應用基礎設施的過(guò)程,有了基礎設施就有了業(yè)務(wù)應用的完整地圖,業(yè)務(wù)流、數據流就可以按照指定的方式運行。
資源共享應用模式
從軟基礎設施的角度對電子政務(wù)領(lǐng)域的信息資源目錄進(jìn)行了梳理,建立了以組織架構、職責、業(yè)務(wù)活動(dòng)、業(yè)務(wù)對象、業(yè)務(wù)流程為內容的目錄體系,并基于這個(gè)目錄體系形成了服務(wù)體系,就可以依據這些軟基礎設施進(jìn)一步構建具體的資源和服務(wù)。這些資源可以通過(guò)服務(wù)的模式對外共享,任何需要這些資源的機構和個(gè)人都能拿到所需要的資源。
資源的有效共享依賴(lài)于三個(gè)方面: 一個(gè)是資源本身的描述,另一個(gè)是資源本身的實(shí)際存儲方式,最后是資源的提供方式。
資源本身的描述和邏輯集中有賴(lài)于基于元數據的資源描述,邏輯集中就是將資源的描述以目錄的形式進(jìn)行統一存儲;資源的物理存儲方式依賴(lài)應用構建前期對數據的規劃,此層的變動(dòng)只會(huì )影響資源的物理層面特性,并不影響其服務(wù)的特性,因此原有的對應用層限制最大的數據層,通過(guò)目錄的統一服務(wù)變得非常靈活而有彈性; 最后,資源的提供方式則是基于前兩個(gè)方面的服務(wù)方案,資源共享以服務(wù)的形式體現。
業(yè)務(wù)協(xié)同應用模式
不同機構的業(yè)務(wù)辦理都有可能依賴(lài)于其他業(yè)務(wù),而業(yè)務(wù)本身的辦理又通常需要資源的支撐,資源本身的負責方或許是本單位,也可能是其他單位,信息資源的共享應用模式解決了第二個(gè)問(wèn)題,而第一個(gè)問(wèn)題也通過(guò)對業(yè)務(wù)的梳理為業(yè)務(wù)協(xié)同建立了完整的指導。如何實(shí)現這些業(yè)務(wù)的協(xié)同是SOA在這種應用模式下的重點(diǎn)。在這種應用模式下,完成業(yè)務(wù)協(xié)同包括三個(gè)步驟:
第一步:業(yè)務(wù)處理服務(wù)
業(yè)務(wù)處理服務(wù)源于對組織內或組織間業(yè)務(wù)活動(dòng)的分析,組織內的業(yè)務(wù)處理服務(wù)可以直接基于業(yè)務(wù)活動(dòng)抽象的用例來(lái)構造;組織間的業(yè)務(wù)活動(dòng)一部分來(lái)自于業(yè)務(wù)活動(dòng)的分析,另一部分來(lái)自于資源共享的需求,近而依據這部分需求建立起共享的服務(wù)。
第二步: 業(yè)務(wù)流程服務(wù)
業(yè)務(wù)流程服務(wù)源于組織內各部門(mén)間或組織間的業(yè)務(wù)關(guān)系的分析,通過(guò)建立業(yè)務(wù)的前置關(guān)系、后置關(guān)系從而形成業(yè)務(wù)流程,依據業(yè)務(wù)活動(dòng)間的關(guān)系建立起對外提供的業(yè)務(wù)服務(wù)。
第三步:服務(wù)查詢(xún)檢索
服務(wù)查詢(xún)檢索主要是供外部用戶(hù)明確了解組織提供了哪些服務(wù)、具體的服務(wù)內容是什么以及如何獲取和使用這些服務(wù)。
服務(wù)查詢(xún)檢索依據信息資源目錄,信息資源目錄清晰梳理了客戶(hù)的業(yè)務(wù),但如何提供這些業(yè)務(wù),則需要通過(guò)服務(wù)去實(shí)現。通過(guò)服務(wù)定義和服務(wù)描述,建立了關(guān)于服務(wù)的完整描述,使用者可以基于這些描述的任一方面對服務(wù)進(jìn)行檢索。
最后通過(guò)服務(wù)檢索查詢(xún)的功能開(kāi)發(fā)定義明確的交互界面,用戶(hù)可以通過(guò)交互界面查詢(xún)定位所需的服務(wù)。
不同服務(wù)渠道的應用模式
服務(wù)的靈活性和可擴展性是SOA的主要特性之一,電子政務(wù)的一個(gè)重要特性是強調服務(wù),因此整合不同服務(wù)渠道也是重點(diǎn)之一。
SOA在應用與業(yè)務(wù)之間加入一個(gè)服務(wù)層,解決了原有的系統建設通常不會(huì )建立服務(wù)層完成系統間的調用,而是直接調用下層其他應用或者采用數據共享的方式,從而避免直接訪(fǎng)問(wèn)下層其他應用。另外,在大多數機構中,存在不同的應用和技術(shù)共存,由于這些應用提供的功能都是特定的,要在應用間共享信息最好的解決方案是轉向一種面向服務(wù)的架構和Web服務(wù),即在業(yè)務(wù)層之上加入一個(gè)服務(wù)層。
當數量眾多的業(yè)務(wù)應用需要使用Web服務(wù)技術(shù)集成在一起的時(shí)候,可以進(jìn)一步采用企業(yè)服務(wù)總線(xiàn)(ESB)的架構來(lái)管理這些可復用的應用組件,從而可以實(shí)現更加清晰地管理所有政務(wù)系統中所包含的可復用信息資產(chǎn)。
另外,SOA還有第五種應用模式是基于虛擬數據中心的模式,也就是忽略數據在不同節點(diǎn)的部署而集中提供服務(wù)。如果要在單節點(diǎn)上提供虛擬數據中心,可以建立非分布式目錄中心用于提供虛擬中心服務(wù); 如果在多節點(diǎn)上建立虛擬數據中心,即跨節點(diǎn)的虛擬中心,需要建立分布式目錄中心用于提供虛擬中心服務(wù)。
總之,通過(guò)SOA應用模式分類(lèi)體系的研究,可以更好地幫助用戶(hù)理解SOA的應用類(lèi)型,并結合SOA架構的優(yōu)勢,確定業(yè)務(wù)下一步建設的方向。同時(shí),指出傳統軟件開(kāi)發(fā)方式的解決方案以及帶來(lái)的局限性,明確SOA在這些方向的應用前景,并為基于SOA解決各種不同類(lèi)型的問(wèn)題提供獨立于各種應用、領(lǐng)域、平臺與標準的解決方案,從而真正起到指導電子政務(wù)各類(lèi)應用實(shí)施推廣的作用。