楊倩 秦鳳梅
摘要:低成本不再是中國軟件外包產(chǎn)業(yè)中的優(yōu)勢,在人力成本方面會失去優(yōu)勢。在這種情況下,BPO(業(yè)務(wù)流程外包)將成為更加主流的外包形式,BPO帶來的不只是技術(shù)上的先進,更多的是服務(wù)和管理上的進步。該文從介紹SOA體系架構(gòu)的思想和分析BPO業(yè)務(wù)流程入手,分析了當前BPO業(yè)務(wù)的需求,進而提出了一種基于SOA體系架構(gòu)的BPO業(yè)務(wù)流的構(gòu)建方式,并描述了這過程中涉及到幾個關(guān)鍵步驟。
關(guān)鍵詞:SOA;BPO;業(yè)務(wù)流;Web Server
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)07-1686-03
當前,許多企業(yè)隨著規(guī)模不斷擴大,企業(yè)的地理位置也越來越多分散,各個部門之間資源共享和信息交互的需求非常突出。而分散的企業(yè)信息系統(tǒng)具有多系統(tǒng),多平臺等復雜的結(jié)構(gòu)。這些對企業(yè)的管理以及業(yè)務(wù)流程的執(zhí)行帶來了一定的困難。
本文針對集團企業(yè)特點和集成的需求,基于SOA架構(gòu)和工作流技術(shù)框架,以BPO的業(yè)務(wù)流程為例,詳細分析了如何為企業(yè)提供更好的重用性和更好的靈活性。
1 SOA體系架構(gòu)
SOA(Service-Oriented Architecture,面向服務(wù)的體系結(jié)構(gòu))是一種企業(yè)級的IT系統(tǒng)架構(gòu)。它的基本思想是將一個完整的系統(tǒng)分解為一個一個的“服務(wù)”,然后將各個“服務(wù)”再映射到不同部門。比如硬件集成商專門為系統(tǒng)硬件方面提供業(yè)務(wù)咨詢,維護等,軟件開發(fā)商則為本系統(tǒng)提供軟件服務(wù)。所有“服務(wù)”之間通過制定好的標準接口進行耦合,從而使得系統(tǒng)的服務(wù)就像鏈表一樣,可以靈活地增加、修改而不影響原有系統(tǒng)基礎(chǔ)。
SOA憑借其松耦合的特性,使企業(yè)可以按照模塊化的方式來添加新服務(wù)或更新現(xiàn)有服務(wù),以解決新的業(yè)務(wù)需求。W3C把SOA定義為“一組可調(diào)用的組件,其接口描述可以被公開和發(fā)現(xiàn)”。意思即SOA中的術(shù)語“服務(wù)”并不是指某個具體的功能,而是指一種功能明確,容易被人發(fā)現(xiàn),且不依賴于其他的操作系統(tǒng)、編程語言和軟件部署的接口。這種接口設(shè)計出來后可以不斷地被重用,而且也易于軟件的整合。
2 BPO業(yè)務(wù)流分析
BPO(Business Process Outsourcing,業(yè)務(wù)流程外包),是指企業(yè)將非核心的業(yè)務(wù)流程外包給外部專業(yè)服務(wù)商以降低運營成本、提升運營效率。BPO將職能部門的全部功能(比如事務(wù)處理、人力資源、財務(wù)等)都轉(zhuǎn)移給供應(yīng)商。外包供應(yīng)商根據(jù)服務(wù)協(xié)議在自己的系統(tǒng)中對這些職能進行管理。如此,外包供應(yīng)商就可能面對很多不同的企業(yè),不同的業(yè)務(wù)需求,且要求能夠不斷地增加企業(yè)用戶。其BPO業(yè)務(wù)流程如圖1所示。
BPO服務(wù)供應(yīng)商可能面對三種不同的對象:
1)客戶:向本企業(yè)請求提供某些服務(wù);
2)合作企業(yè):本企業(yè)的某些服務(wù)與合作企業(yè)共同協(xié)作完成;
3)另外的BPO服務(wù)供應(yīng)商:將本企業(yè)某部分業(yè)務(wù)流程外包出去。
不同種類的操作系統(tǒng),應(yīng)用軟件,系統(tǒng)軟件和應(yīng)用基礎(chǔ)結(jié)構(gòu)相互交織,一些現(xiàn)存的應(yīng)用程序被用來處理當前的業(yè)務(wù)流程,這就是當前BPO企業(yè)的現(xiàn)狀。當需要增加一個業(yè)務(wù)時,從頭建立一個新的基礎(chǔ)環(huán)境是不可能的,只能利用現(xiàn)有的應(yīng)用程序和應(yīng)用基礎(chǔ)結(jié)構(gòu)來解決新的業(yè)務(wù)需求,然后為客戶,商業(yè)伙伴以及供應(yīng)商提供新的互動渠道。
BPO供應(yīng)商要面對多種不同的對象,不同的應(yīng)用基礎(chǔ)結(jié)構(gòu),要滿足不同的業(yè)務(wù)需求。BPO業(yè)務(wù)主要有以下幾點需求:
1)穩(wěn)定性 新業(yè)務(wù)的增加,不能影響到已有業(yè)務(wù)的運行。
2)靈活性 新業(yè)務(wù)的增加,不是在原來的系統(tǒng)上增加一個新的龐大的業(yè)務(wù)處理流程,而是在已有的流程上,對已有服務(wù)進行業(yè)務(wù)重組。如果實在不能滿足新業(yè)務(wù)需求,再增加少量功能。甚至說進入BPO市場的服務(wù)供應(yīng)商互相聯(lián)合重組,以形成新的聯(lián)合體增加他們服務(wù)提供的能力。
3)安全性 業(yè)務(wù)所涉及的數(shù)據(jù)必須保證只能由當前業(yè)務(wù)的所有人和執(zhí)行者查看。不能在多個業(yè)務(wù)之間出現(xiàn)數(shù)據(jù)混亂
4)專業(yè)性 行業(yè)專家參與涉足行業(yè)縱深部門的企業(yè)。從他們擅長的業(yè)務(wù)領(lǐng)域進入相應(yīng)的BPO市場。如:曾經(jīng)專注于金融服務(wù)的公司完全可以提供跨行業(yè)的金融服務(wù),以擴展服務(wù)對象的范圍?;蛘邔⑺麄兊膶I(yè)知識延伸到新的縱深行業(yè)。
3 解決方案
SOA體系架構(gòu)可以完美地解決如上的需求,即將整個核心業(yè)務(wù)再劃分為一個一個更小的“應(yīng)用”,這些現(xiàn)有的應(yīng)用通過標準接口來提供功能。若有新的業(yè)務(wù),再將各個“應(yīng)用”按照業(yè)務(wù)需求,通過標準接口,靈活地進行耦合。如此這樣,BPO服務(wù)就像是我們?nèi)粘I钪械慕M裝一樣。一旦設(shè)計出了能滿足各種情況的不同的組件,那么在需要的時候,只要直接將這些組件組裝在一起就可以工作了,大大加快了速度。
3.1 基于SOA的服務(wù)框架,讓BPO業(yè)務(wù)系統(tǒng)更穩(wěn)定、靈活
傳統(tǒng)的業(yè)務(wù)流程管理都是非常局限的,通常必須在同一系統(tǒng)中進行業(yè)務(wù)的運轉(zhuǎn),而無法實現(xiàn)跨系統(tǒng)、跨平臺的業(yè)務(wù)運轉(zhuǎn)。而現(xiàn)目前的需求卻是要在不同的平臺中進行數(shù)據(jù)調(diào)度。特別是BPO業(yè)務(wù)流可能經(jīng)過很多不同的企業(yè),不同的系統(tǒng),不同的平臺。如何在這么多不同中實現(xiàn)相同數(shù)據(jù)的傳遞呢。這就需要一個服務(wù)的基礎(chǔ)框架,用它來將這些東西進行整合。其BPO服務(wù)框架如圖2所示:
在圖2中,客戶可以通過發(fā)送消息來調(diào)用服務(wù)。這些消息由一個服務(wù)總線轉(zhuǎn)換后發(fā)送給適當?shù)姆?wù)實現(xiàn)。同時服務(wù)總線提供一個業(yè)務(wù)規(guī)則引擎,該引擎容許業(yè)務(wù)規(guī)則被合并在一個服務(wù)或多個服務(wù)里。這種服務(wù)基礎(chǔ)框架也提供了一個服務(wù)管理功能,用來管理服務(wù)調(diào)度,服務(wù)添加,服務(wù)審核等。此外,該基礎(chǔ)框架給企業(yè)提供了靈活的業(yè)務(wù)流程,并且可以在不影響其他服務(wù)的情況下更改某項服務(wù)。
3.2 BPO業(yè)務(wù)流中的服務(wù)耦合機制,更安全
BPO業(yè)務(wù)流程中,不僅需要接收客戶信息為客戶提供所需要應(yīng)用服務(wù),還會涉及向其他的服務(wù)供應(yīng)商發(fā)送消息,接收自己所需要應(yīng)用服務(wù),以及和合作企業(yè)共享信息的情況。傳送的消息多種多樣,接收的應(yīng)用也名不相同。這就需要有適當?shù)胤?wù)調(diào)試的機制來完成這一系列數(shù)據(jù)與應(yīng)用之間的調(diào)度問題,這就是圖2中服務(wù)耦合部分的主要功能。其SOA基礎(chǔ)結(jié)構(gòu)如圖3所示:
web服務(wù)架構(gòu)是基于標準的集成方法,web服務(wù)規(guī)范使相應(yīng)的技術(shù)能夠有效地跨平臺。而布置web服務(wù)架構(gòu)之前,必須得注意SOA基礎(chǔ)結(jié)構(gòu)的搭建。圖3通過SOA的基礎(chǔ)部件WSDL,UDDI,SOAP,然后使用一種常用的應(yīng)用程序開發(fā)平臺,再利用web服務(wù)規(guī)范來形成所有數(shù)據(jù)與服務(wù)之間的數(shù)據(jù)調(diào)試。而這一切都是在業(yè)務(wù)規(guī)則引擎的控制下完成的。
3.3 BPO業(yè)務(wù)流程中服務(wù)中心的建立,更專業(yè)
為用戶提供的所有具體業(yè)務(wù)都是在服務(wù)中心中調(diào)用相關(guān)的服務(wù)完成,所以服務(wù)中心的建立是整個系統(tǒng)結(jié)構(gòu)中最重要的一點。
BPO的服務(wù)中心只涉及本企業(yè)對外提供的服務(wù),應(yīng)該先分析需要實現(xiàn)的業(yè)務(wù),并為每一個業(yè)務(wù)建立自己的模型,如圖4所示,每一個業(yè)務(wù)都是獨立的。分別為其分析業(yè)務(wù)模型。然后將每一個業(yè)務(wù)確立成一個個的具體業(yè)務(wù)服務(wù)點;再將所有業(yè)務(wù)服務(wù)點所提供的服務(wù)建成一個全局的服務(wù)模型。其服務(wù)模型如圖4所示:
所有服務(wù)中心的總和就是全局的服務(wù)模型。此時再按照各個系統(tǒng)平臺的業(yè)務(wù)承載能力,將不同的“服務(wù)”分配到不同的服務(wù)器。最后由業(yè)務(wù)規(guī)則引擎統(tǒng)一進行提取、重組。
4 總結(jié)
本文主要提出了基于SOA系統(tǒng)架構(gòu)的BPO業(yè)務(wù)流程布署涉及到三個要點:整體服務(wù)服務(wù)框架的搭建、服務(wù)耦合機制的設(shè)置、服務(wù)中心的創(chuàng)建?;赟OA系統(tǒng)架構(gòu)的BPO業(yè)務(wù)的主要思想就是將核心業(yè)務(wù)分解為小的“接口”,對各種平臺進行兼容測試。再在用戶提出需求時,合理地使用已經(jīng)編制好的“接口”,通過特定的服務(wù)平臺快速,高效的完成用戶需求。基于SOA系統(tǒng)架構(gòu)的BPO業(yè)務(wù)流程較復雜,在處理單一事件時,可能執(zhí)行速度較慢,但是他的優(yōu)點在于能靈活,快速地處理大量事務(wù)。且能快速利用已有服務(wù)擴展新的服務(wù)。
參考文獻:
[1] 李建華,陳松喬,馬華.面向服務(wù)架構(gòu)參考模型及應(yīng)用研究[J].計算機工程,2006(20).
[2] 陳桂鴻.基于SOA和工作流技術(shù)的圖書館集成信息平臺研究[J].圖書館學研究,2009(6).
[3] 趙亮,姚青.基于SOA的可變業(yè)務(wù)流程管理系統(tǒng)[J].計算機工程與設(shè)計,2010(04).
[4] 潘慶鋒 關(guān)于SOA電力信息系統(tǒng)集成平臺的研究與方案[J].北京電力高等??茖W校學報:社會科學版,2012(24).
[5] 江虹.淺談基于SOA的企業(yè)信息化架構(gòu)總體規(guī)劃的意義[J].中國科技縱橫,2012(22).