粟圣森
(廣西大學(xué),廣西 南寧 530004)
基于SOA動(dòng)態(tài)框架實(shí)現(xiàn)方案的探討
粟圣森
(廣西大學(xué),廣西 南寧 530004)
傳統(tǒng)企業(yè)應(yīng)用軟件產(chǎn)品,比如辦公自己化系統(tǒng)、企業(yè)管理系統(tǒng)及生產(chǎn)管理系統(tǒng),在軟件的開(kāi)發(fā)或是體系結(jié)構(gòu)上都是緊耦合的,封閉的,獨(dú)立的系統(tǒng),屬于在產(chǎn)品端一次性投資完成的系統(tǒng)。這樣的軟件系統(tǒng)是很難滿足客戶各種要求或是適應(yīng)快速變化的市場(chǎng),以及后期系統(tǒng)的擴(kuò)張。在這樣的市場(chǎng)背景下,為滿足用戶系統(tǒng)設(shè)計(jì)的需求,就催生了一個(gè)新的軟件產(chǎn)品設(shè)計(jì)或架構(gòu)的概念:面向服務(wù)架構(gòu)(SOA架構(gòu)),為高效地處理一個(gè)多變而復(fù)雜和動(dòng)態(tài)業(yè)務(wù)要求,企業(yè)需要一個(gè)自動(dòng)化的靈活和動(dòng)態(tài)的方法來(lái)處理關(guān)鍵業(yè)務(wù)和管理流程的建設(shè),SOA提供了動(dòng)態(tài)實(shí)現(xiàn)的框架來(lái)滿足企業(yè)的需要。
ERP;SOA;動(dòng)態(tài)實(shí)現(xiàn)
隨著市場(chǎng)信息化手段的不斷提高,為滿足企業(yè)之間商務(wù)的協(xié)同發(fā)展及企業(yè)的相關(guān)門戶信息等要求,企業(yè)的信息系統(tǒng)應(yīng)該是一個(gè)集成度高且是開(kāi)放安全的信息系統(tǒng)。大企業(yè)通常擁有異構(gòu)系統(tǒng),從而使得系統(tǒng)間數(shù)據(jù)的交換與互操作比較難實(shí)現(xiàn),從而出現(xiàn)了“信息孤島”,通常所說(shuō)的“信息孤島”是指在各部門間因種種因素造成的不同部門間的隔離,部門里面的數(shù)據(jù)信息都不能或不可能順利的在各部門間共享。這樣就會(huì)形成信息孤島。這主要是重硬件輕軟件,注重網(wǎng)絡(luò)環(huán)境但輕視信息數(shù)據(jù)的體現(xiàn)。為了實(shí)現(xiàn)企業(yè)管理的信息化,需要投入大量的費(fèi)用來(lái)開(kāi)發(fā)相應(yīng)的信息系統(tǒng)。
各類操作系統(tǒng),不同的軟件和應(yīng)用基礎(chǔ)結(jié)構(gòu)相互交錯(cuò),這就是當(dāng)前各類公司的狀況。部分傳統(tǒng)的應(yīng)用程序被用來(lái)處理目前企業(yè)的各種業(yè)務(wù)要求,故從零開(kāi)始建立一個(gè)新的基礎(chǔ)設(shè)施是不可能的。企業(yè)應(yīng)迅速應(yīng)對(duì)多變的業(yè)務(wù)要求,更新現(xiàn)存的應(yīng)用和基礎(chǔ)設(shè)施投資,以解決不斷出現(xiàn)的各類應(yīng)用要求,為客戶、合作企業(yè)等提供新的互動(dòng)平臺(tái),同時(shí)提出一個(gè)支持有機(jī)業(yè)務(wù)的框架。SOA具有松耦合的特點(diǎn),它可使得用戶能按各自的需求使用模塊化的方法來(lái)增添新或更新現(xiàn)存業(yè)務(wù),從而能夠解決企業(yè)中新的使用要求,提供選擇可以從期貨的方式來(lái)提供服務(wù),且能把企業(yè)現(xiàn)存的或原有的相關(guān)應(yīng)用程序作為服務(wù),從而使得企業(yè)現(xiàn)有的軟硬件基礎(chǔ)設(shè)施得到保護(hù),SOA架構(gòu)具有以下優(yōu)勢(shì):
(1)用SOA體系架構(gòu)開(kāi)發(fā)設(shè)計(jì)的系統(tǒng)具有投入少、開(kāi)發(fā)設(shè)計(jì)周期短、運(yùn)行成本低及靈活性比較高。
(2)SOA體系架構(gòu)更能適應(yīng)業(yè)務(wù)發(fā)展的需要和企業(yè)多變的商業(yè)模式。
(3)與傳統(tǒng)ERP系統(tǒng)架構(gòu)比較,SOA更能夠滿足用戶的管理需求,更能適應(yīng)目前信息技術(shù)的變化。
(4)SOA體系架構(gòu)可以充分利用現(xiàn)有的信息資源,保護(hù)原有的基礎(chǔ)建設(shè)。
(5)SOA的體系架構(gòu)的系統(tǒng)可以減少軟件對(duì)硬件資源依賴。
(6)SOA架構(gòu)的出現(xiàn)使得企業(yè)應(yīng)用系統(tǒng)的開(kāi)發(fā)模式發(fā)生變化,并幫助企業(yè)可以建立自己的設(shè)計(jì)團(tuán)隊(duì),管理團(tuán)隊(duì)等。
整個(gè)應(yīng)用程序被開(kāi)發(fā)設(shè)計(jì)為一套互動(dòng)服務(wù),它允許系統(tǒng)中的一些服務(wù)充分調(diào)用別的服務(wù),而不考慮到他們的具體位置。在這個(gè)體系架構(gòu)中,所有的業(yè)務(wù)應(yīng)用都被用作服務(wù)。應(yīng)用程序的不同功能應(yīng)用通過(guò)定義一個(gè)好的接口來(lái)連接這些服務(wù),以使服務(wù)可以在系統(tǒng)中以一個(gè)統(tǒng)一的、通用的方式調(diào)用。這是一個(gè)中立的接口定義,它的特點(diǎn)在于服務(wù)間的松散耦合且具有它的靈活性。
對(duì)將來(lái)的應(yīng)用程序和業(yè)務(wù)應(yīng)用的提議是發(fā)展一個(gè)動(dòng)態(tài)、靈活且可擴(kuò)展的SOA體系框架,能滿足多變的企業(yè)應(yīng)用需求。無(wú)論你是購(gòu)買或建立的SOA體系結(jié)構(gòu),該結(jié)構(gòu)的功能,必須保證為你的設(shè)計(jì)方案提供方便。
3.1BPM業(yè)務(wù)流程管理
所謂業(yè)務(wù)流程管理是指依據(jù)企業(yè)應(yīng)用要求,及人員之間或是人與系統(tǒng)間的業(yè)務(wù)方法的整合和調(diào)整,促進(jìn)了它的系統(tǒng)和解決方案。BPM使得系統(tǒng)更加強(qiáng)壯,通過(guò)它的構(gòu)件,SOA能更好的監(jiān)控系統(tǒng)互連。
3.2Portal 門戶
門戶是一種的應(yīng)用程序,提供個(gè)性化、單點(diǎn)登錄、來(lái)自各個(gè)地點(diǎn)的信息集成和存儲(chǔ)信息系統(tǒng)的表示層。 如果公司已經(jīng)擁有了大量的信息系統(tǒng),門戶可以很容易地將這些系統(tǒng)整合起來(lái),并為用戶提供一個(gè)統(tǒng)一的界面。
3.3ESB企業(yè)服務(wù)總線
ESB把傳統(tǒng)中間件技術(shù)、XML等技術(shù)整合起來(lái)。ESB提供了在網(wǎng)絡(luò)上最基本的連接,是建立企業(yè)中樞系統(tǒng)的不可缺少的元素。從它的作用來(lái)看,ESB使得事件驅(qū)動(dòng)和文檔導(dǎo)向的處理模式成為現(xiàn)實(shí),它能夠完成復(fù)雜數(shù)據(jù)信息傳輸,并可提供標(biāo)準(zhǔn)服務(wù)接口。
ESB的五個(gè)基本功能:
(1)服務(wù)的MetaData管理:在總線寄存器內(nèi)實(shí)現(xiàn)服務(wù)的注冊(cè)和地址管理。
(2)傳輸服務(wù):必須確保通過(guò)企業(yè)之間的業(yè)務(wù)流程信息傳輸,包括路由功能的基礎(chǔ)上的內(nèi)容,通過(guò)企業(yè)之間的正確傳遞。
(3)中介:提供各種信息傳遞方式,支持普遍使用的其他協(xié)議。
(4)多種服務(wù)集成方式: 如JCA,Web服務(wù),Messaging,Adaptor等。
(5)服務(wù)和事件管理支持:如服務(wù)調(diào)用的記錄、測(cè)量和監(jiān)控?cái)?shù)據(jù);提供事件檢測(cè)、觸發(fā)和分布功能。
4.1SOA組件模型
SOA組件模型包含了服務(wù)提供者、使用者及儲(chǔ)備庫(kù)3個(gè)方面的內(nèi)容,具體如圖1所示:
圖1 SOA組件模型
(1)服務(wù)提供者:服務(wù)提供者可使用網(wǎng)絡(luò)來(lái)解決尋址問(wèn)題,其主要響應(yīng)來(lái)自用戶的請(qǐng)求;
(2)服務(wù)使用者:服務(wù)使用者通過(guò)調(diào)用服務(wù)提供方提供的服務(wù)來(lái)實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)需求;
(3)服務(wù)儲(chǔ)備庫(kù):服務(wù)存儲(chǔ)庫(kù)包含在存儲(chǔ)庫(kù)中注冊(cè)的服務(wù)的描述,而服務(wù)請(qǐng)求者訪問(wèn)存儲(chǔ)庫(kù)中已發(fā)現(xiàn)并向外提供的服務(wù)。
4.2SOA架構(gòu)模型
SOA架構(gòu)讓IT系統(tǒng)變得更有彈性,使得企業(yè)有更好的靈活性來(lái)構(gòu)建應(yīng)用程序和業(yè)務(wù)流。它的架構(gòu)模型如圖2所示:
圖2 SOA架構(gòu)模型
5.1SOA體系結(jié)構(gòu)的具體實(shí)現(xiàn)
SOA作為一種軟件體系結(jié)構(gòu),不限定于某種技術(shù)的結(jié)合,它逾越了技術(shù)范疇。SOA的關(guān)鍵是“服務(wù)”。W3C將服務(wù)定義為:“一個(gè)服務(wù)提供者完成一組工作,需要將最終結(jié)果交付給服務(wù)用戶。最終的結(jié)果常常是使用者的狀態(tài)發(fā)生改變,同時(shí)也可能是服務(wù)提供者的狀態(tài)發(fā)生改變,或兩者都改變”。服務(wù)是網(wǎng)絡(luò)中可用的軟件資源。服務(wù)提供方使用標(biāo)準(zhǔn)機(jī)制方式來(lái)提供相應(yīng)服務(wù),服務(wù)請(qǐng)求者通過(guò)網(wǎng)絡(luò)有計(jì)劃地調(diào)用相應(yīng)服務(wù)。服務(wù)儲(chǔ)備庫(kù)發(fā)布用戶請(qǐng)求服務(wù)的位置,并在用戶請(qǐng)求服務(wù)時(shí)提供位置定位服務(wù)。服務(wù)的請(qǐng)求方和發(fā)送方的角色不是絕對(duì)一樣的,服務(wù)的發(fā)送方也可作為請(qǐng)求方,反過(guò)來(lái)同樣是可以的。SOA有如Web Service及JINI等實(shí)施方式,Web Service技術(shù)受到人們的普遍關(guān)注,它己經(jīng)作為構(gòu)建SOA體系結(jié)構(gòu)的關(guān)鍵技術(shù)。
Web Service技術(shù)是實(shí)現(xiàn)SOA架構(gòu)的關(guān)鍵實(shí)現(xiàn)技術(shù),也是目前異構(gòu)系統(tǒng)設(shè)計(jì)中用得很多的新技術(shù)。SOA是一種軟件架構(gòu),面向商業(yè)應(yīng)用;Web則是一種技術(shù)架構(gòu),面向?qū)崿F(xiàn)模式。
Web Service所涉及的關(guān)鍵技術(shù)包括:
(1)XML:XML標(biāo)準(zhǔn)是一個(gè)基于文本的W3C規(guī)范標(biāo)記語(yǔ)言。
(2)SOAP簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議:客戶端請(qǐng)求和Web服務(wù)響應(yīng)發(fā)送HTTP通過(guò)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議建立客戶端和不同平臺(tái)、不同位置的Web服務(wù)之間的一個(gè)完整的互操作性。HTTP通常用于發(fā)送在互聯(lián)網(wǎng)時(shí)的請(qǐng)求和響應(yīng)的標(biāo)準(zhǔn)協(xié)議的消息,和SOAP是基于XML的協(xié)議,還繼承了HTTP請(qǐng)求和響應(yīng)模式。
(3)WSDLWeb服務(wù)描述語(yǔ)言:web服務(wù)描述語(yǔ)言是描述網(wǎng)絡(luò)服務(wù)的標(biāo)準(zhǔn)語(yǔ)言格式。描述的內(nèi)容包括:服務(wù)名稱、服務(wù)地點(diǎn)、如何與服務(wù)通信。眾多WSDL可以存放于UDDI注冊(cè)表,并在Web上公布。
(4)UDDI:它基于XML的標(biāo)準(zhǔn),使企業(yè)可以對(duì)其產(chǎn)品和服務(wù)的網(wǎng)絡(luò)信息發(fā)布在互聯(lián)網(wǎng)上,并使得這些信息可以被互聯(lián)網(wǎng)的任意用戶訪問(wèn)到??梢詫DDI想像成一個(gè)Web服務(wù)的黃頁(yè)。
5.2SOA體系結(jié)構(gòu)的最佳實(shí)踐
大部分系統(tǒng)規(guī)范的生成是有問(wèn)題的。目前,系統(tǒng)分析測(cè)試員使用文檔行來(lái)對(duì)相關(guān)的業(yè)務(wù)分析說(shuō)明, 在業(yè)務(wù)流程越來(lái)越復(fù)雜的情況下,如果要使得信息交互快速實(shí)現(xiàn),那么就不能再使用這些基本的工具了。 隨著系統(tǒng)應(yīng)用復(fù)雜性的不斷加大,各種規(guī)范逐漸變得不清楚,基于這種原因可能會(huì)出現(xiàn)執(zhí)行錯(cuò)誤。本文敘述了靈活而強(qiáng)大的SOA體系結(jié)構(gòu)外,表明在開(kāi)發(fā)過(guò)程中的不同時(shí)間段中任何成功的SOA實(shí)施需要一系列的指導(dǎo)和最佳實(shí)踐。一組核心的實(shí)踐指導(dǎo)如下:
(1)新的服務(wù)流程必須通過(guò)流程驅(qū)動(dòng)的方法進(jìn)行配置和發(fā)現(xiàn),并且執(zhí)行一個(gè)相對(duì)較長(zhǎng)的手工流程周期,這樣就可以最小的成本投入來(lái)滿足系統(tǒng)設(shè)計(jì)的要求。
(2)SOA的實(shí)現(xiàn)方法用于設(shè)計(jì)服務(wù)是成功的,每個(gè)服務(wù)必須被抽象為一個(gè)粗粒度的服務(wù)功能,并按照企業(yè)之間的耦合可以重復(fù)使用和設(shè)計(jì)。
(3)在響應(yīng)時(shí)間可以減少和整體用戶體驗(yàn)改善的地方,服務(wù)必須是異步的。
(4)客戶端程序一定要用同樣的服務(wù)訪問(wèn)機(jī)制,以一種獨(dú)立于協(xié)議的方式,而且不必考慮提供服務(wù)的位置。而且,用戶還要關(guān)注相應(yīng)的業(yè)務(wù)應(yīng)用,業(yè)務(wù)應(yīng)用一定要從客戶端提取。這確保了集中流水線的邏輯性、較高的開(kāi)放性和易于維護(hù)的應(yīng)用程序的應(yīng)用效率。
(5)在SOA架構(gòu)中組件必須使用一定的標(biāo)準(zhǔn)來(lái)發(fā)布,以促進(jìn)代碼的一致性且能重用。
(6)在業(yè)務(wù)需要的地方添加相應(yīng)的模塊,而不是基于定制和代碼的業(yè)務(wù)邏輯。這就可用最小的成本來(lái)滿足今后業(yè)務(wù)發(fā)展的需要。
(7)可以重復(fù)使用企業(yè)原有的業(yè)務(wù)應(yīng)用。避免要重新去開(kāi)發(fā)新的業(yè)務(wù)邏輯。
在本文中,提出了一個(gè)靈活、動(dòng)態(tài)的、未來(lái)面向業(yè)務(wù)的應(yīng)用程序和業(yè)務(wù)流程的SOA框架方案。該方法的目的是提供一個(gè)具有良好的可擴(kuò)展的和動(dòng)態(tài)的框架,為企業(yè)定義、配置、訪問(wèn)和管理企業(yè)服務(wù)。
[1] 劉忠東,張千.基于SOA的鐵路信息化架構(gòu)研究[J].鐵路計(jì)算機(jī)應(yīng)用,2014(11):20-23.
[2] 潘杰,陳德焜,周咨聰.基于SOA開(kāi)發(fā)框架的異構(gòu)工作流集成方案[J].微計(jì)算機(jī)應(yīng)用,2008(1):99-105.
[3] 童鑫.基于SOA的企業(yè)服務(wù)總線研究與實(shí)現(xiàn)[D].長(zhǎng)沙:湖南大學(xué),2008.
[4] 張敏.基于SOA的工作流管理系統(tǒng)研究[D].長(zhǎng)春:長(zhǎng)春理工大學(xué),2008.
[5] 李海燕.基于SOA技術(shù)的企業(yè)級(jí)信息化架構(gòu)設(shè)計(jì)與IT規(guī)劃方法研究[D].成都:電子科技大學(xué),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-),男,廣西大學(xué)在職研究生,研究方向?yàn)橛?jì)算機(jī)軟件技術(shù)。