1 引言
業(yè)務(wù)流程是為了實(shí)現(xiàn)一定的業(yè)務(wù)目標(biāo)而執(zhí)行的一系列邏輯相關(guān)的活動的集合,業(yè)務(wù)流程的輸出是滿足市場需求的產(chǎn)品或服務(wù)。對于企業(yè)而言,業(yè)務(wù)流程是企業(yè)重要的知識資產(chǎn),是核心競爭力的體現(xiàn),一個(gè)精心設(shè)計(jì)和執(zhí)行的業(yè)務(wù)流程能夠?yàn)槠髽I(yè)創(chuàng)造價(jià)值并節(jié)約成本。
現(xiàn)代業(yè)務(wù)流程管理系統(tǒng)的歷史可以追溯到工作流系統(tǒng)。在企業(yè)IT環(huán)境中,工作流軟件通常與企業(yè)應(yīng)用集成系統(tǒng)結(jié)合在一起,成為企業(yè)應(yīng)用的“黏合劑”,幫助企業(yè)實(shí)現(xiàn)業(yè)務(wù)流程的自動化和流水線化。傳統(tǒng)工作流系統(tǒng)的最大缺陷就是:它們大多采用了專有技術(shù),這使得業(yè)務(wù)流程與企業(yè)應(yīng)用的結(jié)合變得非常復(fù)雜,通常需要很長時(shí)間進(jìn)行部署和實(shí)施,而與企業(yè)外部系統(tǒng)進(jìn)行集成則更加困難,無法適應(yīng)全球化浪潮和互聯(lián)網(wǎng)時(shí)代對企業(yè)靈活、無縫集成的需求。人們開始考慮利用Web服務(wù)的開放性和標(biāo)準(zhǔn)化,來解決業(yè)務(wù)流程與企業(yè)應(yīng)用之間的互操作性問題。
這正是Web服務(wù)組合的思想,Web服務(wù)體系結(jié)構(gòu)最引人注目的功能之一就是提供一個(gè)允許通過組合現(xiàn)有流程和服務(wù)來建立新服務(wù)的框架,即Web服務(wù)組合。盡管Web服務(wù)從各個(gè)方面(數(shù)據(jù)、通信、描述和發(fā)現(xiàn))為實(shí)現(xiàn)大規(guī)模的業(yè)務(wù)協(xié)作奠定了良好的基礎(chǔ),但由于各個(gè)服務(wù)之間仍然是獨(dú)立的狀態(tài),從而仍未解決企業(yè)內(nèi)和企業(yè)間的業(yè)務(wù)集成問題。Web服務(wù)的交互及協(xié)作必然要求構(gòu)造復(fù)雜的Web服務(wù)。通過Web服務(wù)交互,可以實(shí)現(xiàn)多個(gè)系統(tǒng)的相互協(xié)作,集成分布式應(yīng)用中的各個(gè)組件就有了一個(gè)公共的框架。Web服務(wù)最終趨向于Web服務(wù)的組合,而不是孤立存在的Web服務(wù)。組合的本質(zhì)就是若干Web服務(wù)協(xié)調(diào)工作,從而靈活地滿足更復(fù)雜的業(yè)務(wù)需求。
2 基于Web服務(wù)組合的業(yè)務(wù)流程集成
2.1 Web服務(wù)組合的概念
Web服務(wù)組合,是指把Internet上已有的相對簡單的Web服務(wù)按一定的業(yè)務(wù)流程邏輯組合起來以構(gòu)成復(fù)雜的復(fù)合服務(wù),從而提供更強(qiáng)大、更完整的商業(yè)功能。其中的業(yè)務(wù)流程邏輯通常對應(yīng)于一定的商業(yè)邏輯,被組合的每個(gè)Web服務(wù)完成其中的一個(gè)任務(wù)。Web服務(wù)組合意味著通過組合基本服務(wù)來構(gòu)建組合服務(wù),從而提供增值服務(wù)的能力。
隨著Web服務(wù)應(yīng)用的推廣和用戶的增加,Web服務(wù)組合技術(shù)己經(jīng)受到很多大型企業(yè)和研究機(jī)構(gòu)的關(guān)注,在語言和相應(yīng)支撐系統(tǒng)方面已有一些初步成果,目前,比較有代表性的Web服務(wù)組合方面的工作有BPEL4WS、WSFL、XLANG、WSCI、BPML,OGSA,Self-Serv等,它們分別在組合語言、組合工具以及執(zhí)行環(huán)境方面開展了富有成效的研究工作。但是從已有的各種Web服務(wù)組合模型以及具體的實(shí)現(xiàn)方案來看,Web服務(wù)組合技術(shù)仍然沒有達(dá)到期待的成熟度。
2.2 基于Web服務(wù)組合的業(yè)務(wù)流程集成
隨著企業(yè)信息化建設(shè)的不斷深入及業(yè)務(wù)需求的不斷改變,現(xiàn)有的將業(yè)務(wù)流程固化到應(yīng)用系統(tǒng)中的開發(fā)模式,與不斷變化的業(yè)務(wù)流程間的矛盾日漸顯現(xiàn),已不能適應(yīng)業(yè)務(wù)敏捷性的需求。業(yè)務(wù)敏捷性是指企業(yè)對變更快速和有效地進(jìn)行響應(yīng)、并且利用變更來獲得競爭優(yōu)勢的能力。業(yè)務(wù)流程集成意味著在合作伙伴之間協(xié)同運(yùn)作,在采購商和供應(yīng)商之間實(shí)現(xiàn)協(xié)同工作、產(chǎn)品共同開發(fā)、通用系統(tǒng)以及信息共享。通過這種流程集成的方式,企業(yè)可以更關(guān)注其核心競爭力開發(fā),而把其它活動交給合作伙伴去做。做到“各盡所能,各取所需”。
基于Web服務(wù)組合的業(yè)務(wù)流程集成著眼于將業(yè)務(wù)分解為一組離散的業(yè)務(wù)功能和流程,即所謂“服務(wù)”,使已有的信息系統(tǒng)和新建的應(yīng)用系統(tǒng)按流程驅(qū)動的方式整合在一起,實(shí)現(xiàn)業(yè)務(wù)流程管理與應(yīng)用系統(tǒng)間的松耦合。這些服務(wù)就像大小不一的樂高玩具中的積木,它們之間的靈活組合可適應(yīng)不同的業(yè)務(wù)敏捷性需要。當(dāng)需要完成一定的功能時(shí),只需將其進(jìn)行組合即可。當(dāng)業(yè)務(wù)需求發(fā)生改變的時(shí)候,只需增加個(gè)別新增的業(yè)務(wù)功能,同時(shí)改變業(yè)務(wù)流程即可,而不必改變整個(gè)應(yīng)用。從而從根本上解決了應(yīng)用系統(tǒng)因業(yè)務(wù)流程變化,而需不斷重新建設(shè)的技術(shù)難題。
3 基于與/或樹的Web服務(wù)組合模型
3.1 輸入/輸出依賴與/或樹
(1)Web服務(wù)
在一個(gè)Web服務(wù)集合WS={ws1,ws2,...,wsn}中,一個(gè)Web服務(wù)ws是一個(gè)三元組(SI,SO,K),其中:
SI:ws的輸入信息集合;
SO:ws的輸出信息;
K:ws的輸入信息集合與輸出信息之間的依賴關(guān)系,表現(xiàn)為一個(gè)深度為2的與樹,其中根節(jié)點(diǎn)為ws的輸出信息,葉節(jié)點(diǎn)為ws的輸入信息集合,各原子輸入信息之間為“與”的關(guān)系,即只有當(dāng)所有原子輸入信息都滿足時(shí)才能獲得輸出信息SO。這里是應(yīng)用問題歸約對WS的輸出信息問題進(jìn)行分解。例如,一個(gè)票務(wù)查詢服務(wù)ws----(I,O,K)用于查詢某個(gè)日期某個(gè)車次是否有票,其可用基于輸入/輸出依賴與/或樹的形式表示如下:
I={車次,日期,起點(diǎn),終點(diǎn)}
O={車票信息}
K:輸入,輸出依賴與,或樹如圖1所示。
圖1 輸入/輸出依賴與/或樹
圖1中從輸出到輸入的箭頭表示輸出對輸入的依賴關(guān)系。小圓弧表示只有當(dāng)所有輸入信息{車次,日期;起點(diǎn),終點(diǎn)}都滿足時(shí),才能獲得輸出信息{車票信息}。
(2)Web服務(wù)組合
Web服務(wù)組合問題是一個(gè)三元組(WS,CI,CO),其中:WS={ws1,ws2,...,wsn}:是將要進(jìn)行組合的Web服務(wù)的集合;
CI={ci1,ci2,...,cim}:輸入信息集合
CO={co1,co2,...,cop}:輸出信息集合
Web服務(wù)組合問題的解是一個(gè)Web服務(wù)的流程序列,其輸入輸出分別為CI和CO。
(3)輸入,輸出依賴與/或樹
一個(gè)Web服務(wù)組合問題的輸入/輸出依賴與/或樹,是一個(gè)與/或樹形式的輸入/輸出依賴關(guān)系,它的根節(jié)點(diǎn)為服務(wù)組合問題的輸出集合,葉子節(jié)點(diǎn)為服務(wù)組合問題的輸入。輸入/輸出依賴與/或樹通過與/或樹搜索算法來建立,其基于問題歸約,對服務(wù)組合問題進(jìn)行分解及變換,直至到可解的問題,即已知輸入。這樣的一棵輸入,輸出依賴與/或樹,其實(shí)就是服務(wù)組合問題的解樹。
3.2 搜索算法
輸入/輸出依賴與,或樹的建立基于與/或樹搜索算法。(1)初始節(jié)點(diǎn)的確定。首先加入一個(gè)虛擬的初始節(jié)點(diǎn)SO,作為與/或樹的根節(jié)點(diǎn),表示服務(wù)組合問題的目標(biāo)狀態(tài)。
(2)初始節(jié)點(diǎn)的擴(kuò)展。根據(jù)CO中的輸出信息,將SO擴(kuò)展為P個(gè)節(jié)點(diǎn)co1,co2,...,con,這P個(gè)節(jié)點(diǎn)之間是“與”的關(guān)系,表示服務(wù)組合問題Q可以分解為P個(gè)子問題co1,co2,...,cop,只有當(dāng)這P個(gè)子問題都有解,原問題才有解。如圖2所示。
圖2 初始節(jié)點(diǎn)的擴(kuò)展
(3)下屬節(jié)點(diǎn)的擴(kuò)展。為便于討論,在此擴(kuò)展節(jié)點(diǎn)co1。其擴(kuò)展策略為:搜索Web服務(wù)集合WS={ws1,ws2,...,wsn},用所有滿足co1∈sc.so(即能產(chǎn)生輸出co1的服務(wù))的服務(wù)對節(jié)點(diǎn)co1進(jìn)行擴(kuò)展,擴(kuò)展后的各服務(wù)之間是“或”的關(guān)系,即其中任何一個(gè)服務(wù)都可以產(chǎn)生輸出co1。節(jié)點(diǎn)co1的擴(kuò)展結(jié)果如圖3所示。
圖3 節(jié)點(diǎn)co1的擴(kuò)展
(4)終止節(jié)點(diǎn)。組合服務(wù)的輸入為終止節(jié)點(diǎn)。
4 算例分析
本節(jié)以鐵路貨物運(yùn)輸費(fèi)用的計(jì)算流程為例,介紹基于Web服務(wù)組合的業(yè)務(wù)流程集成的實(shí)施步驟。
4.1 例子
在鐵路貨物運(yùn)輸中,貨物運(yùn)輸費(fèi)用的計(jì)算(不包括雜費(fèi))包括如下幾個(gè)步驟:(1)按《貨物運(yùn)價(jià)里程表》計(jì)算出發(fā)站至到站的運(yùn)價(jià)里程;(2)根據(jù)貨物運(yùn)單上填寫的貨物名稱查找《鐵路貨物運(yùn)輸品名分類與代碼表》、《鐵路貨物運(yùn)輸品名檢查表》,確定適用的運(yùn)價(jià)號;(3)整車、零擔(dān)貨物按貨物適用的運(yùn)價(jià)號,集裝箱貨物根據(jù)箱型、冷藏車貨物根據(jù)車種分別在“鐵路貨物運(yùn)價(jià)率表”中查出適用的運(yùn)價(jià)率(即發(fā)到基價(jià)和運(yùn)行基價(jià));(4)貨物適用的發(fā)到基價(jià)加上運(yùn)行基價(jià)與貨物的運(yùn)價(jià)里程相乘之積后,再與按本規(guī)則確定的計(jì)費(fèi)重量(集裝箱為箱數(shù))相乘,計(jì)算出運(yùn)費(fèi)。
業(yè)務(wù)敏捷性的需求是把這四個(gè)功能模塊分別包裝成獨(dú)立的Web服務(wù)以供組合,而不是固化到一個(gè)應(yīng)用中去。這四個(gè)功能分別對應(yīng)表1中的四個(gè)Web服務(wù)。
表1 貨物運(yùn)輸費(fèi)用計(jì)算對應(yīng)的服務(wù)
剩下的問題就是通過Web服務(wù)組合算法將這四個(gè)服務(wù)組合成一個(gè)完整的流程來計(jì)算貨物運(yùn)輸費(fèi)用。
4.2 算法實(shí)現(xiàn)
在這里采用基于與/或樹的Web服務(wù)組合模型進(jìn)行服務(wù)組合,選擇與/或樹深度優(yōu)先算法作為我們的服務(wù)組合算法。算法實(shí)現(xiàn)基于卡內(nèi)基梅隆大學(xué)人工智能庫中的“AIC++搜索類庫”。
在程序中,Web服務(wù)的輸入,輸出依賴關(guān)系,表現(xiàn)為“改寫規(guī)則”的形式:(g1,g2,...,gn,End)。其中,第一個(gè)符號是Web服務(wù)的輸出,最后一個(gè)符號END用于程序判斷規(guī)則的結(jié)束,其余的符號是Web服務(wù)的輸入!案膶懸(guī)則”意味著對節(jié)點(diǎn)的擴(kuò)展:當(dāng)遇到g1(輸出)時(shí),可以用序列g(shù)2,...,gn(輸入)來替代。這些輸入信息間的關(guān)系是“與”的關(guān)系。
例如Web服務(wù)Calculate-mile的改寫規(guī)則為:(mile,dep,des,END)
對于組合服務(wù)com,由于其輸出為pri(運(yùn)輸費(fèi)用),故其改寫規(guī)則為:
(com,pri,END)
4.3 運(yùn)行結(jié)果
程序的運(yùn)行結(jié)果是輸出解樹中按深度優(yōu)先順序搜索到的節(jié)點(diǎn)的序列:com,pri,mile,dep,des,rate,num,carg,weig
輸入/輸出依賴與/或樹(即服務(wù)組合的解樹,不包括虛擬的根節(jié)點(diǎn))如圖4所示。其中顏色較深的節(jié)點(diǎn)為可解節(jié)點(diǎn),即組合服務(wù)的輸入信息,根節(jié)點(diǎn)為組合服務(wù)的目標(biāo)輸出信息。根據(jù)服務(wù)組合的解樹,可以將組合服務(wù)的執(zhí)行流程表示為圖5的形式。
圖4 輸入/輸出依賴與/或樹
圖5 組合服務(wù)執(zhí)行流程
4.4 結(jié)果分析
服務(wù)組合通過對單獨(dú)的業(yè)務(wù)功能模塊進(jìn)行組合,來完成復(fù)雜的業(yè)務(wù)流程,從而滿足企業(yè)信息部門對業(yè)務(wù)流程集成的動態(tài)、敏捷性需求。在服務(wù)組合輸入,輸出依賴關(guān)系的表達(dá)上,基于與/或樹的服務(wù)組合模型強(qiáng)于基于AI規(guī)劃及圖搜索的方法,更適于表達(dá)實(shí)際的業(yè)務(wù)流程中網(wǎng)狀的輸入/輸出依賴關(guān)系,可以滿足更復(fù)雜的服務(wù)組合需求。同時(shí),人工智能的成熟與發(fā)展為基于與/或樹的服務(wù)組合提供了堅(jiān)實(shí)的理論基礎(chǔ),無需過多的專業(yè)化操作,就可以進(jìn)行Web服務(wù)的動態(tài)組合。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于Web服務(wù)組合的企業(yè)業(yè)務(wù)流程集成研究
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401932270.html