粟圣森
(廣西大學,廣西 南寧 530004)
基于SOA動態框架實現方案的探討
粟圣森
(廣西大學,廣西 南寧 530004)
傳統企業應用軟件產品,比如辦公自己化系統、企業管理系統及生產管理系統,在軟件的開發或是體系結構上都是緊耦合的,封閉的,獨立的系統,屬于在產品端一次性投資完成的系統。這樣的軟件系統是很難滿足客戶各種要求或是適應快速變化的市場,以及后期系統的擴張。在這樣的市場背景下,為滿足用戶系統設計的需求,就催生了一個新的軟件產品設計或架構的概念:面向服務架構(SOA架構),為高效地處理一個多變而復雜和動態業務要求,企業需要一個自動化的靈活和動態的方法來處理關鍵業務和管理流程的建設,SOA提供了動態實現的框架來滿足企業的需要。
ERP;SOA;動態實現
隨著市場信息化手段的不斷提高,為滿足企業之間商務的協同發展及企業的相關門戶信息等要求,企業的信息系統應該是一個集成度高且是開放安全的信息系統。大企業通常擁有異構系統,從而使得系統間數據的交換與互操作比較難實現,從而出現了“信息孤島”,通常所說的“信息孤島”是指在各部門間因種種因素造成的不同部門間的隔離,部門里面的數據信息都不能或不可能順利的在各部門間共享。這樣就會形成信息孤島。這主要是重硬件輕軟件,注重網絡環境但輕視信息數據的體現。為了實現企業管理的信息化,需要投入大量的費用來開發相應的信息系統。
各類操作系統,不同的軟件和應用基礎結構相互交錯,這就是當前各類公司的狀況。部分傳統的應用程序被用來處理目前企業的各種業務要求,故從零開始建立一個新的基礎設施是不可能的。企業應迅速應對多變的業務要求,更新現存的應用和基礎設施投資,以解決不斷出現的各類應用要求,為客戶、合作企業等提供新的互動平臺,同時提出一個支持有機業務的框架。SOA具有松耦合的特點,它可使得用戶能按各自的需求使用模塊化的方法來增添新或更新現存業務,從而能夠解決企業中新的使用要求,提供選擇可以從期貨的方式來提供服務,且能把企業現存的或原有的相關應用程序作為服務,從而使得企業現有的軟硬件基礎設施得到保護,SOA架構具有以下優勢:
(1)用SOA體系架構開發設計的系統具有投入少、開發設計周期短、運行成本低及靈活性比較高。
(2)SOA體系架構更能適應業務發展的需要和企業多變的商業模式。
(3)與傳統ERP系統架構比較,SOA更能夠滿足用戶的管理需求,更能適應目前信息技術的變化。
(4)SOA體系架構可以充分利用現有的信息資源,保護原有的基礎建設。
(5)SOA的體系架構的系統可以減少軟件對硬件資源依賴。
(6)SOA架構的出現使得企業應用系統的開發模式發生變化,并幫助企業可以建立自己的設計團隊,管理團隊等。
整個應用程序被開發設計為一套互動服務,它允許系統中的一些服務充分調用別的服務,而不考慮到他們的具體位置。在這個體系架構中,所有的業務應用都被用作服務。應用程序的不同功能應用通過定義一個好的接口來連接這些服務,以使服務可以在系統中以一個統一的、通用的方式調用。這是一個中立的接口定義,它的特點在于服務間的松散耦合且具有它的靈活性。
對將來的應用程序和業務應用的提議是發展一個動態、靈活且可擴展的SOA體系框架,能滿足多變的企業應用需求。無論你是購買或建立的SOA體系結構,該結構的功能,必須保證為你的設計方案提供方便。
3.1BPM業務流程管理
所謂業務流程管理是指依據企業應用要求,及人員之間或是人與系統間的業務方法的整合和調整,促進了它的系統和解決方案。BPM使得系統更加強壯,通過它的構件,SOA能更好的監控系統互連。
3.2Portal 門戶
門戶是一種的應用程序,提供個性化、單點登錄、來自各個地點的信息集成和存儲信息系統的表示層。 如果公司已經擁有了大量的信息系統,門戶可以很容易地將這些系統整合起來,并為用戶提供一個統一的界面。
3.3ESB企業服務總線
ESB把傳統中間件技術、XML等技術整合起來。ESB提供了在網絡上最基本的連接,是建立企業中樞系統的不可缺少的元素。從它的作用來看,ESB使得事件驅動和文檔導向的處理模式成為現實,它能夠完成復雜數據信息傳輸,并可提供標準服務接口。
ESB的五個基本功能:
(1)服務的MetaData管理:在總線寄存器內實現服務的注冊和地址管理。
(2)傳輸服務:必須確保通過企業之間的業務流程信息傳輸,包括路由功能的基礎上的內容,通過企業之間的正確傳遞。
(3)中介:提供各種信息傳遞方式,支持普遍使用的其他協議。
(4)多種服務集成方式: 如JCA,Web服務,Messaging,Adaptor等。
(5)服務和事件管理支持:如服務調用的記錄、測量和監控數據;提供事件檢測、觸發和分布功能。
4.1SOA組件模型
SOA組件模型包含了服務提供者、使用者及儲備庫3個方面的內容,具體如圖1所示:

圖1 SOA組件模型
(1)服務提供者:服務提供者可使用網絡來解決尋址問題,其主要響應來自用戶的請求;
(2)服務使用者:服務使用者通過調用服務提供方提供的服務來實現相應的業務需求;
(3)服務儲備庫:服務存儲庫包含在存儲庫中注冊的服務的描述,而服務請求者訪問存儲庫中已發現并向外提供的服務。
4.2SOA架構模型
SOA架構讓IT系統變得更有彈性,使得企業有更好的靈活性來構建應用程序和業務流。它的架構模型如圖2所示:

圖2 SOA架構模型
5.1SOA體系結構的具體實現
SOA作為一種軟件體系結構,不限定于某種技術的結合,它逾越了技術范疇。SOA的關鍵是“服務”。W3C將服務定義為:“一個服務提供者完成一組工作,需要將最終結果交付給服務用戶。最終的結果常常是使用者的狀態發生改變,同時也可能是服務提供者的狀態發生改變,或兩者都改變”。服務是網絡中可用的軟件資源。服務提供方使用標準機制方式來提供相應服務,服務請求者通過網絡有計劃地調用相應服務。服務儲備庫發布用戶請求服務的位置,并在用戶請求服務時提供位置定位服務。服務的請求方和發送方的角色不是絕對一樣的,服務的發送方也可作為請求方,反過來同樣是可以的。SOA有如Web Service及JINI等實施方式,Web Service技術受到人們的普遍關注,它己經作為構建SOA體系結構的關鍵技術。
Web Service技術是實現SOA架構的關鍵實現技術,也是目前異構系統設計中用得很多的新技術。SOA是一種軟件架構,面向商業應用;Web則是一種技術架構,面向實現模式。
Web Service所涉及的關鍵技術包括:
(1)XML:XML標準是一個基于文本的W3C規范標記語言。
(2)SOAP簡單對象訪問協議:客戶端請求和Web服務響應發送HTTP通過簡單對象訪問協議建立客戶端和不同平臺、不同位置的Web服務之間的一個完整的互操作性。HTTP通常用于發送在互聯網時的請求和響應的標準協議的消息,和SOAP是基于XML的協議,還繼承了HTTP請求和響應模式。
(3)WSDLWeb服務描述語言:web服務描述語言是描述網絡服務的標準語言格式。描述的內容包括:服務名稱、服務地點、如何與服務通信。眾多WSDL可以存放于UDDI注冊表,并在Web上公布。
(4)UDDI:它基于XML的標準,使企業可以對其產品和服務的網絡信息發布在互聯網上,并使得這些信息可以被互聯網的任意用戶訪問到。可以將UDDI想像成一個Web服務的黃頁。
5.2SOA體系結構的最佳實踐
大部分系統規范的生成是有問題的。目前,系統分析測試員使用文檔行來對相關的業務分析說明, 在業務流程越來越復雜的情況下,如果要使得信息交互快速實現,那么就不能再使用這些基本的工具了。 隨著系統應用復雜性的不斷加大,各種規范逐漸變得不清楚,基于這種原因可能會出現執行錯誤。本文敘述了靈活而強大的SOA體系結構外,表明在開發過程中的不同時間段中任何成功的SOA實施需要一系列的指導和最佳實踐。一組核心的實踐指導如下:
(1)新的服務流程必須通過流程驅動的方法進行配置和發現,并且執行一個相對較長的手工流程周期,這樣就可以最小的成本投入來滿足系統設計的要求。
(2)SOA的實現方法用于設計服務是成功的,每個服務必須被抽象為一個粗粒度的服務功能,并按照企業之間的耦合可以重復使用和設計。
(3)在響應時間可以減少和整體用戶體驗改善的地方,服務必須是異步的。
(4)客戶端程序一定要用同樣的服務訪問機制,以一種獨立于協議的方式,而且不必考慮提供服務的位置。而且,用戶還要關注相應的業務應用,業務應用一定要從客戶端提取。這確保了集中流水線的邏輯性、較高的開放性和易于維護的應用程序的應用效率。
(5)在SOA架構中組件必須使用一定的標準來發布,以促進代碼的一致性且能重用。
(6)在業務需要的地方添加相應的模塊,而不是基于定制和代碼的業務邏輯。這就可用最小的成本來滿足今后業務發展的需要。
(7)可以重復使用企業原有的業務應用。避免要重新去開發新的業務邏輯。
在本文中,提出了一個靈活、動態的、未來面向業務的應用程序和業務流程的SOA框架方案。該方法的目的是提供一個具有良好的可擴展的和動態的框架,為企業定義、配置、訪問和管理企業服務。
[1] 劉忠東,張千.基于SOA的鐵路信息化架構研究[J].鐵路計算機應用,2014(11):20-23.
[2] 潘杰,陳德焜,周咨聰.基于SOA開發框架的異構工作流集成方案[J].微計算機應用,2008(1):99-105.
[3] 童鑫.基于SOA的企業服務總線研究與實現[D].長沙:湖南大學,2008.
[4] 張敏.基于SOA的工作流管理系統研究[D].長春:長春理工大學,2008.
[5] 李海燕.基于SOA技術的企業級信息化架構設計與IT規劃方法研究[D].成都:電子科技大學,2009.
Discussion on implementation scheme of dynamic framework based on SOA
The traditional enterprise application software products, such as office system, enterprise management system and production management system, in software development and system structure are tightly coupled, closed, independent system,belonging to the end products in a one-time investment to complete the system. Such a software system is difficult to meet the requirements of customers or to adapt to the rapid changes in the market, as well as the expansion of the late system. Under the background of such a market, in order to meet the needs of users of the system design, gave birth to the concept of a new software product design or architecture: Service Oriented Architecture (SOA), for efficiently processing a diverse and complex and dynamic business requirements, enterprises need a automatic flexible and dynamic method to deal with the construction of the key business processes and management, SOA provides a dynamic framework to meet the business needs.
ERP; SOA; dynamic realization
TP311
A
1008-1151(2016)03-0007-03
2016-02-13
粟圣森(1983-),男,廣西大學在職研究生,研究方向為計算機軟件技術。