[摘要] BPM是企業(yè)級(jí)的協(xié)調(diào)的商務(wù)流程活動(dòng),而SOA是創(chuàng)建更靈活的企業(yè)基礎(chǔ)架構(gòu)的架構(gòu)方法。SOA使用戶輕松地將商務(wù)流程連接到基礎(chǔ)系統(tǒng),從而節(jié)省時(shí)間和IT資源。將BPM向SOA遷移,可最大程度地降低企業(yè)商務(wù)流程本身的復(fù)雜性,提升企業(yè)信息的集成化水平。
[關(guān)鍵詞] SOA BPM 信息集成 商務(wù)流程
一、SOA溯源
企業(yè)對(duì)于信息技術(shù)的運(yùn)作有兩種基本形式:創(chuàng)建信息和調(diào)用信息。傳統(tǒng)的信息運(yùn)作方式雖然大大推進(jìn)了生產(chǎn)力,但又反作用于信息技術(shù),促使企業(yè)內(nèi)外部商務(wù)信息的大規(guī)模集成。另外,程序語(yǔ)言的發(fā)展也經(jīng)歷了如表1所描述的4個(gè)關(guān)鍵階段。
可以看出,IT和程序語(yǔ)言發(fā)展的過(guò)程實(shí)質(zhì)為逐步降低耦合性的過(guò)程,也是接口和接口實(shí)現(xiàn)之間逐漸分離的過(guò)程。web service實(shí)現(xiàn)了松散耦合的服務(wù)和粗粒度的服務(wù),它雖然采用的標(biāo)準(zhǔn)的SOAP協(xié)議,但其本質(zhì)上只是一個(gè)特定的服務(wù)組件。
SOA(Service-Oriented Architecture,面向服務(wù)的架構(gòu))是在web Service的基礎(chǔ)上發(fā)展起來(lái)的,它最大限度地重用應(yīng)用程序中的服務(wù),包含且超越了現(xiàn)有的一切技術(shù)和架構(gòu),其目的就是做到業(yè)務(wù)和技術(shù)的完全分離,實(shí)現(xiàn)敏捷的、不受限制的信息集成。因此,可以把SOA看作一種哲學(xué)——種描述商務(wù)流程、捆綁各種服務(wù)、組織IT基礎(chǔ)結(jié)構(gòu)的方法論,一種在計(jì)算環(huán)境中設(shè)計(jì)、開(kāi)發(fā)、部署和管理“服務(wù)”的模型。
二、基于SOA架構(gòu)的BPM方案
早在SOA誕生之前,BPM(Business Process Management,商務(wù)流程管理)產(chǎn)品已經(jīng)出現(xiàn)并成功實(shí)施。處于流程1.0時(shí)代的企業(yè)通常從頭至尾地建立各個(gè)業(yè)務(wù)部門相對(duì)獨(dú)立的流程系統(tǒng),其間缺乏配合和協(xié)同。隨著亞當(dāng)斯密的部門分工理論的沒(méi)落,快速變化、整合、分布等方面的困難一度阻礙了BPM的應(yīng)用,使企業(yè)逐步喪失競(jìng)爭(zhēng)優(yōu)勢(shì)。在用完整的價(jià)值鏈考察企業(yè)競(jìng)爭(zhēng)力的今天,缺乏靈活性、高昂的變革成本、以IT為中心的傳統(tǒng)應(yīng)用等因素又促使BPM市場(chǎng)急劇增長(zhǎng)。同時(shí),IDC提出流程企業(yè)應(yīng)進(jìn)化到2.0階段,使用SOA的思想方法和技術(shù)架構(gòu)組裝企業(yè)的BPM,而BPM的重新崛起在很大程度上又推動(dòng)著SOA的發(fā)展。
BPM主要應(yīng)用于商務(wù)流程自動(dòng)化 (BPA)、異構(gòu)系統(tǒng)的無(wú)縫整合(EAI)、企業(yè)流程建模分析(BPM的核心)和監(jiān)控企業(yè)活動(dòng)以實(shí)現(xiàn)流程持續(xù)改進(jìn)(BAM),每個(gè)場(chǎng)合都與SOA關(guān)系密切。要從BPM遷移到SOA,跨越信息技術(shù)與業(yè)務(wù)之間的鴻溝,需引入一個(gè)服務(wù)層,該層包含支持特定業(yè)務(wù)域的服務(wù)線、可跨多個(gè)業(yè)務(wù)域共享的可復(fù)用技術(shù)服務(wù)以及Web Services平臺(tái),允許以各種獨(dú)立于底層服務(wù)和技術(shù)平臺(tái)的方式定義和利用服務(wù)。從技術(shù)層面看,SOA和BPM結(jié)合的方法主要有以下兩種:
1.BPEL+WSDL:先定義好一個(gè)BPEL流程,然后把它納入到SCA容器中去。在定義構(gòu)件時(shí),可使用子元素的process屬性指明這個(gè)可執(zhí)行的BPEL流程的目標(biāo)名稱。
2.BPEL應(yīng)用SCA的某個(gè)構(gòu)件。例如,一個(gè)BPEL的變量聲明可以包含一個(gè)SCA的擴(kuò)展,表明這個(gè)變量代表了一個(gè)SCA構(gòu)件的屬性。
三、企業(yè)商務(wù)信息集成
盡管通向SOA的路徑仍然十分模糊,架構(gòu)承諾實(shí)現(xiàn)的目標(biāo)也遙不可及,但仍有很多企業(yè)做好了實(shí)施路線圖并逐步向SOA看齊。以下列舉一些SOA項(xiàng)目實(shí)施的成功案例。
1.BPM結(jié)合條形碼解決生產(chǎn)數(shù)據(jù)方案。某企業(yè)的生產(chǎn)過(guò)程共有23道工序,BPM系統(tǒng)會(huì)根據(jù)ERP下達(dá)的最新訂單信息自動(dòng)發(fā)起流程。CIO希望在流程發(fā)起時(shí)工人可通過(guò)條碼終端錄入數(shù)據(jù)進(jìn)入BPM系統(tǒng),將流程推入下一環(huán)節(jié),最終實(shí)現(xiàn)數(shù)據(jù)采集和報(bào)表數(shù)據(jù)的分析過(guò)程。據(jù)此,整個(gè)BPM方案應(yīng)基于SOA架構(gòu),將現(xiàn)有ERP和制造執(zhí)行系統(tǒng)中的Bar Code系統(tǒng)相整合,即可解決生產(chǎn)條碼整合的問(wèn)題。
2.商務(wù)系統(tǒng)信息集成方案。X公司內(nèi)部先后實(shí)施了OA、ERP、DSS、B2B電子分銷、SCM等由不同廠家提供或自主開(kāi)發(fā)的相對(duì)獨(dú)立的系統(tǒng)。隨著業(yè)務(wù)的不斷進(jìn)展,需要進(jìn)行如下的集成:(1)企業(yè)內(nèi)部商務(wù)流程的集成——使企業(yè)內(nèi)部整體的商務(wù)流程更加完整和流暢??紤]到業(yè)務(wù)需求,不同的商務(wù)流程之間需要進(jìn)行實(shí)時(shí)無(wú)縫的鏈接,因此可通過(guò)集成中間件平臺(tái),將X公司的各商務(wù)系統(tǒng)的商務(wù)流程與ERP系統(tǒng)進(jìn)行整合。(2)企業(yè)之間商務(wù)流程的集成——使整個(gè)供應(yīng)鏈的商務(wù)流程更加完整和流暢。通過(guò)集成中間件平臺(tái)集成X公司與供應(yīng)商ABC公司的異構(gòu)ERP系統(tǒng)。主要定義了產(chǎn)品信息、產(chǎn)品采購(gòu)、采購(gòu)訂單狀態(tài)這三個(gè)商務(wù)流程標(biāo)準(zhǔn)。其中,產(chǎn)品采購(gòu)商務(wù)流程如圖所示:
3.項(xiàng)目成功的關(guān)鍵因素。實(shí)踐表明,在影響B(tài)PM成功部署的因素中,類似公司政治、變更管理、缺乏技術(shù)嫻熟的業(yè)務(wù)分析師以及組織協(xié)調(diào)等方面的難題遠(yuǎn)大于技術(shù)難題。在戰(zhàn)術(shù)層面,企業(yè)需要合適的系統(tǒng)架構(gòu)師,以正確實(shí)施BPM和SOA的混合分步部署。在BPM流程分析基礎(chǔ)上,持續(xù)改進(jìn),識(shí)別出最有價(jià)值的商務(wù)流程模型去實(shí)施企業(yè)級(jí)SOA;在企業(yè)級(jí)SOA基礎(chǔ)上,逐步積累,更深入廣泛地推廣BPM應(yīng)用。而合理采用融合SOA和BPM的軟件產(chǎn)品,會(huì)帶來(lái)事半功倍的效果。
基于SOA架構(gòu)的BPM使企業(yè)機(jī)構(gòu)快速部署和改變流程,有助于滿足跨越系統(tǒng)、地域和組織界限的端到端商務(wù)流程需求,使企業(yè)具備敏捷的商務(wù)競(jìng)爭(zhēng)優(yōu)勢(shì)。要成功部署SOA,企業(yè)不能僅關(guān)注技術(shù),更應(yīng)把持續(xù)改進(jìn)流程作為先進(jìn)的管理理念和必不可少的長(zhǎng)期商務(wù)戰(zhàn)略。