王艷紅
(濟南職業學院計算機系,山東 濟南 250014)
隨著信息化水平的提高和網絡技術的快速發展,SaaS(Software as a Service)已經成為被廣泛應用的軟件服務提供方式,SaaS應用服務被越來越多的用戶所采用。SaaS提出之后,得到了廣泛的理論支持和實例驗證,為廣大用戶所接受。
同時,隨著企業的不斷發展,業務水平的提高和業務范圍的擴展,對SaaS應用服務的要求也越來越高,原有的獨立SaaS應用功能顯得愈加單一,不能滿足用戶日益復雜的需求,并形成了廣域網內的信息孤島。服務集成提供了解決此類問題的好方法。服務集成重用原有SaaS應用服務,根據現有業務流程需求,動態組建新的業務流程,滿足不斷變化擴展的用戶需求。
目前,服務集成主要是指為了滿足不斷變化的業務需求,動態的選取服務,組合服務流程以及服務注冊和管理等技術,主要研究服務的發布、注冊和檢索,服務的動態匹配和組合。此方面的研究已經超出了多個應用之間范疇,而演變為整個網絡環境中的服務發布、檢索、匹配、組合與執行的問題。
文章基于實施在J_Auto汽車制造廠的成功案例,以SBM和APO兩個SaaS應用服務為例,分析了服務集成的業務流程和可用的IT資源,提出了SaaS應用服務集成框架,解決SaaS應用服務在表示層、功能層和數據層的集成。將web2.0技術應用到集成中,增加用戶友好性,提高訪問效率,提高集成的松耦合性。同時,對集成架構進行了實現和驗證。

圖1 系統集成架構圖
J_Auto 集團公司目前約有供應商一千多家,遍布全國各地。通過集成現有的IT資源,構建基于SaaS的完整解決方案,實現集團公司的采購信息的及時發布和反饋處理,供應商的庫存和財務信息查詢,集團公司通知通報的準確發布等業務的處理。
通過分析J_Auto集團公司當前的業務場景,決定集成現有的兩個SaaS應用-供應商業務管理SBM和高級任務優化APO,以最節省的投資,最快速的實施,最高效的方式,為主機廠和供應商之間建立統一的信息管理平臺。
實現圖1的集成效果,要完成兩個方面的服務集成:一是兩個SaaS應用APO和SBM的集成,APO作為一個輔助功能集成到SBM中,且集成是透明的,集成之后對用戶可見的是一個SaaS應用-新SBM;二是集成之后的新SBM作為一個大粒度的服務注冊于SDMSP平臺上,并受SDMSP的監控和管理。
集成主要在三個層次上實現,分別為界面層,功能層和數據層。界面層的集成通過UI Widgets模型實現,并實現了基于該模型實現的客戶端Web頁面流程驅動和數據中介技術;功能層的集成通過web service封裝和surrogate代理,將業務功能暴露為服務,功能層的集成基于服務的調用,并實現了基于服務交互模式的流程組合技術,服務協調以及服務的認證與授權;數據層的集成貫穿于界面層和功能層之中,同時為SBM的數據初始化開發了數據同步工具。
如圖1中所示,在集成結果中,APO不能作為獨立的系統存在。為此,設計了擴展的UI Widget模型-EWidget。EWidget是用戶訪問信息和服務的入口點。EWidget的實例是widget。一個widget包含了一個獨立的應用功能(application function)。而一個應用application是有許多個widget組成。一組widget能組成一個應用,因此管理員可以使用已有的widget組合新的應用。
APO集成到SBM中,每一個widget對應著不同的業務操作步驟。用戶操作由業務流程驅動,根據預先定義的業務流程,在不同的widgets之間跳轉,完成完整的業務流程。
2.3 功能層的集成:擴展SCA Component以解決服務連接性問題的服務中介技術和基于服務交互模式 (Service Interaction Pattern)的流程組合技術。
APO的業務功能全部封裝為web service對外暴露,SBM與APO交互的功能也需要封裝為web service對外暴露。在更通用的異構系統集成中,服務的形式有各種各樣,而不是僅局限于web service一種形態。因此,必須有效解決服務的互連互通問題,包括服務的跨平臺遠程調用,安全,以及服務按業務流程進行組合等。
服務代理 (Service Surrogates)通過擴展SCA,提供基于SOA架構的構建應用和解決方案的編程模型。SCA(Service Component Architecture)是包含多種技術的模型,這些技術用于定義服務組件以及連接組件之間的訪問方法。
數據層的集成既可以貫穿于表示層和功能層的之中,又有獨立的集成工具。在表示層和功能層的集成過程中,存在參數的傳遞,屬性的設置等數據流在服務之間/異構系統之間的流動。同時,使用RSS等web2.0技術,實現在表示層信息的聚集。
在SBM的初始化階段,需要將ERP數據初始化同步到SBM和APO中,我們設計數據同步工具來實現。同時,RSS,Ajax等web2.0技術的使用提高了系統的友好性和易用性。
對本文提出的集成架構和方法進行了實現,并成功應用到國內著名的汽車廠J_Auto案例中,集成后的系統仍然是一個SaaS應用系統,采用hosting的方式托管于專業的IDC。實現了主機廠采購計劃的發布和反饋,送驗看板的跟蹤,庫存信息和財務的查詢,通知消息的發布,生產及采購計劃的優化等業務功能。
通過我們文中提供的服務集成架構設計方法和工具,較好的解決了SaaS應用服務之間的集成問題。
[1]K.N.McKay,V.C.S.Wiers,Practical Production Control:A Survival Guide For Planners and Schedulers,J.Ross Publishers,2004.
[2]胡海濤,李 剛,韓燕波.一種面向業務用戶的大粒度服務組合方法,計算機學報,第28卷第4期 2005年4月
[3]鄭小林,陳德人,張麗霞.“ASP-based implementing mode for networked manufacturing system”《清華大學學報(自然科學版)》2006年第 z1期