999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用SOA和BPM組合架構實時企業

2007-01-01 00:00:00邵貝恩
計算機應用研究 2007年6期

摘 要:實時企業將是未來企業發展的方向。根據對實時企業提出的要求,分析了SOA和BPM這兩種方法各自的特點,從管理和技術兩個角度利用兩者優勢互補,給出了一種SOABPM組合框架,來幫助企業構建實時企業。

關鍵詞:面向服務的架構;業務流程管理; 實時企業

中圖分類號:TP399文獻標志碼:A

文章編號:1001-3695(2007)06-0220-04

0 引言

隨著全球經濟的高速發展和世界產業結構的調整,實時企業(RealTime Enterprise)被認為是未來企業的發展方向。根據Gartner的定義,實時企業是指企業能通過使用最新信息,在關鍵業務流程中消除管理和實施中的延遲,從而提高其競爭力。所以,理想的實時企業應具備很高的靈活性和響應速度,能搶在競爭對手之前建立起靈活高效的運營模式,并能隨著客戶需求變化迅速作出調整。然而要實現這一理想,目前大多數企業均面臨著以下兩方面的問題:

(1)系統重用和集成問題。由于多年來業務流程的變化和IT技術發展變化,使企業內部已經沉淀了各種應用系統、操作系統、數據庫系統等。作為實時企業,要進行業務變革而需要IT技術支持時,總是希望能盡可能利用現有系統來實現新的業務要求,從而降低成本,提高投資回報率。所以當構架實時企業的信息系統時,往往應該重用而不是替換遺留系統,這就帶來了異構系統集成的困難。

(2)流程敏捷化問題。實時企業對應用系統的要求已不僅是簡單的流程自動化。日趨激烈的市場競爭要求企業能夠迅速響應外部環境的變化而及時調整現有的業務流程。而目前企業的IT架構無法支持多變的業務流程,抑制了企業的發展。

當前,在企業信息化的浪潮中,技術領域和管理領域分別出現了兩個熱點,即SOA(ServiceOriented Architecture,面向服務架構)與BPM(Business Process Management,業務流程管理)。

1 面向服務的架構SOA

SOA的一般定義是:一個組件模型,它將應用程序的不同功能單元(服務),通過服務間定義良好的接口和契約聯系起來。接口采用中立方式定義,獨立于具體實現服務的硬件平臺、操作系統和編程語言,使得構建在這樣的系統中的服務可以使用統一和標準的方式進行通信。SOA作為一種新型的應用軟件架構模型,與傳統的分布式組件架構相比,它特別強調基于標準和松散耦合,特點是服務重用和共享,非常適用于設計具有高度靈活性的現代企業應用程序。其發展過程[1]!

軟件開發的最初段是模塊化設計階段,開發者利用子程序或函數來避免重復編寫功能相同的代碼。這一原則在當時起了一定的作用,但是隨著開發人員將相同的函數復制到不同的應用程序時,問題也就隨之出現了:如果一個函數出現錯誤,則不得不找出所有使用這個函數的程序,并修改代碼,然后還要重新部署所有應用程序,相當煩瑣。于是出現了類和面向對象的設計方法,該方法解決了上述以及其他的許多問題。但是隨著軟件復雜度的日益增長,單純的代碼級別的重用和維護已不能滿足。于是又在面向對象基礎上發展出基于組件的設計方法,進一步簡化了軟件的重用和維護。

如上所述,軟件開發從最初的模塊化設計,發展到基于組件的設計,每個階段都解決了一定的問題,但是都無法解決今天企業所面臨的更復雜的情況,比如分布式應用、互聯網、異種平臺、異種協議等,所以迫切需要一種更有效的方法來解決上面的所有問題。SOA提供了一套框架,解決了協議、平臺和編程語言之間兼容匹配之類的問題,使企業能夠根據業務需求快速實現應用系統集成和開發。

2 業務流程管理BPM

實際上早在上世紀20年代,管理學專家Taylor首次提出了業務流程的重要性,當時的研究主要局限于底層作業流程和資產運作效率的提高,提倡以科學明確的管理規程替代過去的經驗管理,并在規章手冊中明確定義出操作流程,這樣能有效提高生產效率,稱之為第一代的流程管理思想。到了上世紀90年代,James Champy和Michael Hammer在他們的著作《Reengineering the Corporation》中提出了BPR的概念,他們認為通過一次徹底的流程重組可以解決企業的所有問題,并通過軟件固化下來,這就是第二代流程管理思想,ERP等應用軟件開始普及,這種應用軟件功能豐富,但是一個明顯的缺點就是比較僵化,需要用企業的流程來適應軟件,IT和業務無法緊密配合,限制了企業的靈活性。在2003年,Howard Smith和Peter Fingar在他們的著作《Business Process Management: The Third Wave》正式明確提出了BPM概念,由此標志著第三代流程管理思想的誕生[2]。

BPM提出要以流程管理為企業的核心,可以讓企業根據自身的業務需求量身訂做自己的流程,并可以方便地控制和管理流程。提高流程管理的靈活性,也就提高了企業的應變能力。一個企業如果想要在激烈的市場競爭中脫穎而出,那么得有自己的特色,歸根結底就是要有適合企業自身的流程。就好像有什么病吃什么藥,不能什么病都吃一種藥。而傳統的ERP類軟件,都是打包的應用程序,可調整性和靈活性很小。

BPM的本質是將流程作為一種新的抽象數據類型,它直接操作和管理的對象就是流程,而不是一個整數、一個字符串或數據庫中的一張表;流程將成為BPM中的最基本的對象。而且BPM有其理論基礎,就如同在數據庫理論中關系代數是數據模型分析的基礎;BPM的數學理論基礎是ProcessCalculi(進程代數),尤其是描述移動進程的Pi演算[3](PiCalculus)。基于此理論基礎實現的BPMS(流程管理系統)將能夠對流程靈活操作,如對流程進行讀、寫、查詢、組合、分解、轉換和分析等操作,就如同操作數據庫中的數據表,但是實現對流程的靈活操作的意義顯然要大得多,企業可根據市場環境和客戶需求的變化,快速調整自身的業務流程。

3 SOA和BPM的組合

根據如上分析,可見SOA更多的是一種技術上的進步,從最初的模塊化設計,發展到面向對象設計,再到基于組件開發,最后步入SOA時代,走的是一條技術進步的道路,它解決了軟件開發中的很多實際問題。而BPM則更傾向于管理上的變革,從Taylor提出的最原始的業務流程概念到James Champy與Michael Hammer提出的BPR的概念,中間又經歷了BPI的過程,發展到今天的第三代流程管理方法BPM,顯然更偏向于哲理性的東西。雖然SOA和BPM是貌似截然不同的兩條發展路線,但是在企業發展過程中技術和管理往往是密不可分的,二者有機地結合將給企業的發展帶來最大的益處,如圖1所示。

所以從這個角度看,SOA是一種很好的技術,是當今最先進的軟件架構模式,但是如果沒有正確的管理思想,就無法最大地發揮它的優勢。而BPM作為第三代流程管理思想,強調流程在企業中的重要性,符合當今對實時企業的管理要求。然而任何一種管理思想都需要一定的技術體系來支撐。對BPM而言,它的核心是流程,而流程最終要落實到具體的執行,就需要涉及到對底層各個應用系統的操作。然而,目前企業應用系統的開發方式大都是以應用程序為中心,而不是真正面向業務和流程。其缺點是對需求表達不夠清晰、效率不高。業務流程和業務規則被固化在系統中,分布在代碼里,如果更換了開發人員,即便文檔齊全,要理清其中的流程也絕非易事,更不用說系統的靈活性和響應速度了。

所以BPM需要一種全新的技術架構,能夠使在企業應用系統開發中充分表達業務的需求,對原本根植在應用系統中的流程作出清晰的定義,將業務流程作為獨立的對象提取出來管理,方便企業對流程進行控制和管理,提高企業的靈活性和響應速度,如圖2所示。

SOA的出現正是給了BPM很好的支持,它基于標準和松散耦合以及服務重用和共享的特點,能夠使BPM的管理思想能夠落到實處。

下面即從兩方面說明通過SOA和BPM優勢互補可以幫助企業建立起業務驅動,以流程為中心的信息系統,加速邁向實時企業的步伐:

SOA需要BPM,脫離了BPM的SOA就缺乏了靈魂,縱然企業的基礎架構再好(松散耦合、開放標準等),但只是技術上的提升,沒有完全和業務結合;

BPM需要SOA,脫離了SOA的BMP就好比脫離了C++、Java來談面向對象,如空中樓閣、紙上談兵。

3.1 SOA需要BPM,通過BPM確定SOA服務

SOA中確定服務模塊的一個方法是將現有應用系統中所能提供的功能以列表的形式列出,按照功能域進行劃分,然后封裝成服務[4]。雖然可以此作為建立新系統的依據,但是,由于過多地考慮了軟件系統的功能要求,而不是從業務需求出發,所以不能充分發揮其作用。

所以對于SOA架構的系統而言,服務模塊最好通過BPM來確定。如圖3所示,即通過BPM來分析企業的業務流程,將主要業務流程以圖表的方式表示,然后層層分解,這樣可以很清楚地知道企業需要完成什么樣的工作,對于這些工作又需要什么樣的服務模塊。然后對比現有系統的功能模塊,可以確定哪些服務可以從現有系統中封裝實現,而哪些服務必須要新實現。從而可以以更合適的方式來實現所需要的功能服務。這樣不但能更好地實現資源共享,而且可以使整個系統發揮最大效能。此外,通過對業務流程的分析,使得企業管理者更清楚地知道信息系統所提供的功能,以及這些信息系統對于企業運作的真正價值。

圖3 通過BPM來確定SOA中的服務

如果只是實施了新的基于SOA架構的系統,而沒有對流程進行充分的管理和分析,那企業不會真正知道哪些功能應該封裝成服務進行重用。另外,對業務流程進行充分的分析還可以幫助企業更好地了解其業務流程,明白真正需要的是什么,從而更好地改善企業流程,提高效能。

脫離BPM的SOA就缺乏了靈魂,縱然企業的基礎架構再好也只是技術上的提升,沒有完全和業務結合。而BPM可以讓SOA發揮它的真正優勢。

3.2 BPM需要SOA,用SOA銜接BPM和后端應用

BPM強調業務流程,然而由于企業現在面臨的情況越來越復雜,所以單個應用程序是無法滿足企業的各種要求,即使是一個大型的ERP來解決方案,仍然會存在功能上的不足,無法為企業提供所需的特定功能。因此今后的企業往往要求多個應用程序來實現其業務流程。而傳統的集成方法是將流程內嵌在集成工具中的,采用的是私有模型(如工作流)。有的則是直接將流程散布在代碼里面并沒有顯式地標志流程。而BPM中的核心思想是將流程作為一個新的抽象數據類型單獨提取出來操作和管理,所以傳統的集成方法不能很好地支持BPM。

服務是SOA的核心,所以采用SOA的架構意味著企業的業務功能均以服務的形式存在,而服務具有基于標準的開放接口以及松散耦合等優良特點,所以BPM可以非常方便地通過服務的組合來實現流程的構建。SOA可以作為一座橋梁,將BPM和底層的集成框架無縫連接。如圖4所示。

圖4 通過SOA來銜接BPM和后端系統

可見,任何一個流程均由一個個活動組成,在SOA中這些活動就對應著服務,所以企業可根據業務的需求通過服務的組合來創建流程,實現量身定做。而且利用服務固有的特性,BPM可以快速動態地構建出新的流程,創建流程就如同搭積木一樣簡單,甚至可以由企業業務人員來自行構建流程。通過將原來隱藏在系統中的各種流程,顯式地提升到BPM中進行直接的控制和管理,其優點:

(1)由于采用服務作為業務流程的組成元素,流程可以方便的組合和分解,從而使流程具有更強的靈活性,能快速適應新的業務要求。 

(2)業務人員可以實時地監控流程的執行狀態,也可以向客戶提供更透明的服務。

(3)由于流程可以方便地監控和跟蹤,便于對流程的分析和優化。 

由以上分析可知,在企業中獨立地實施SOA或BPM都不能最大地發揮各自的優勢,唯有將兩者組合使用才能讓企業獲得更大的收益。再回顧本文開頭提到的實時企業必須解決的兩個問題,即應用集成和流程敏捷化。如果本文采用這樣一種架構:即前端用BPM的思想來構建業務驅動的流程管理平臺,而后端由SOA來集成企業中的現有系統并封裝成服務提供給BPM調用組合,則可以很好地解決這兩大問題,幫助企業實現實時企業的理想。

3.3 SOABPM組合框架

如圖5所示,面向實時企業的SOABPM組合框架分為四層。各層的主要作用及相互之間的關系如下。

圖5 SOABPM組合框架

(1)企業資源層

該層主要包括企業現有系統,如ERP、CRM、SCM和數據庫服務器等。這些應用系統目前在企業中對業務起了一定的支撐作用,今后仍將在企業內使用。但是各系統之間交互能力較差,數據和功能難以重用。典型的應用需求實例是:企業現在需要一個面向客戶的訂單查詢系統。如果使用原有系統,客戶首先要登錄CRM系統驗證身份、獲取客戶信息,然后須通過ERP系統查看訂單詳情,最后可能還得進入SCM系統中獲得訂單當前的執行狀態等。這時,SOA的作用是將現有系統的某些功能封裝成服務以便重用、集成或組合成流程。

(2)SOA層

該層建立在企業資源層之上,根據業務需求將某些功能封裝成服務,向上提供給BPM層調用組合成流程,起到承上啟下的作用。可以將整個SOA層看成一條服務總線,企業通過Web服務適配器將后端應用中需要重用的功能以服務的形式掛接在總線上。當上層的BPM層需要調用某個服務時,可以向Web服務器發出SOAP請求,然后通過SOAP路由轉發到掛接在總線上的相應的服務適配器,并通過適配器連接到后端應用系統,最后再將SOAP響應返回給BPM層。

在開發或購買不同的服務適配器時需注意:構建SOA的平臺與現有系統的技術標準之間的關系。微軟.NET和J2EE是架構SOA的兩種主流平臺。而企業原有系統采用的技術一般是基于微軟標準或者基于Java標準。顯然,這樣可能有四種組合方式(表1)。一般來說用同脈相傳的技術開發適配器顯然會更方便些。所以企業在選擇SOA層的技術平臺時需要對現有系統的技術架構進行分析。

對于②、③這種情況,建議企業尋求系統供應商的幫助或購買商用中間件產品。而對于情況①,則根據現有系統的情況可分為三種類型[5] :

①可提供COM接口。可利用微軟提供的SOAP Toolkit將COM組件中的方法封裝成Web服務。

②可提供動態鏈接庫DLL。可以通過.NET平臺來將其中的Cstyle函數封裝成Web服務。

③只是一個獨立的EXE執行程序。此種情況下雖然可以通過將EXE轉化成DLL來調用。但是需要慎重考慮,因為這種獨立的EXE程序一般是針對單用戶模式設計的,如果通過Web服務封裝后多用戶同時訪問可能會帶來諸如線程、狀態管理、性能和安全等問題。所以不建議直接將其封裝成Web服務,最好的方法是能得到程序源代碼,然后用C++管理擴展封裝再發布成Web服務。

如果是情況④,則可通過JMS或JCA來連接現有系統并封裝成Web服務[6]。

(3)BPM層

該層主要功能是對企業的核心業務流程進行管理、維護和運行。業務活動是流程的組成部分,由SOA層提供的服務實現。業務對象為流程操作的對象,如采購訂單、發貨單等;而業務規則為流程執行的判斷依據,如當采購訂單數量超過1萬時須經理批準;否則由采購主管批準即可。

目前,SOA中服務的主要形式就是Web服務,所以BPM通過對Web服務的組合和編排創建流程。

(4)界面層

主要是展現給系統用戶的操作界面,可能是調用流程或服務的客戶程序,如Web應用、桌面程序等;也可能是業務伙伴調用。

SOABPM組合框架中最核心的部分就是SOA層和BPM層;最主要的特點就是通過SOA層對資源層的功能進行服務封裝,并將業務流程、業務規則單獨提取到BPM層中進行管理,提高了現有系統的利用率,強化了流程的概念,加強了企業的靈活性和響應速度。

4 結束語

SOA與BPM兩種方法相結合,能實現優勢互補。其中SOA重點解決技術層面的問題,即系統集成和服務封裝。而BPM則重在管理模式上的轉變,以流程為中心的管理方式,要求企業建立明確的流程體系,并實現切實有效的執行和管理。SOABPM組合框架從管理和技術兩方面提高企業的靈活性和響應速度,幫助企業向實時企業邁進。然而,SOA與BPM的相關技術仍在發展中,有些標準還未統一,如Web服務組合語言等,所以要將它們統一應用于一個整體,還面臨著許多挑戰。未來的工作將著眼于這些技術和理念之間的融合,使它們能夠無縫地應用于所提出的SOABPM系統體系框架之中。

本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 国产黄色爱视频| 成人福利一区二区视频在线| 国产特级毛片| 99精品视频在线观看免费播放| 真人免费一级毛片一区二区 | AⅤ色综合久久天堂AV色综合| 国产精品漂亮美女在线观看| 亚洲精品视频在线观看视频| 色香蕉网站| 欧美成人二区| 91久久偷偷做嫩草影院电| 久久99这里精品8国产| 欧美国产日本高清不卡| 日本不卡在线视频| 中文字幕亚洲精品2页| 波多野结衣第一页| 91伊人国产| 色成人亚洲| 久久午夜夜伦鲁鲁片无码免费| 色精品视频| 真实国产乱子伦高清| 色呦呦手机在线精品| 亚洲视频一区在线| 天天操精品| 免费观看三级毛片| 亚洲精品天堂自在久久77| 国产成人喷潮在线观看| 国产精品尤物铁牛tv | 中文无码精品A∨在线观看不卡| 国产亚洲精品va在线| 秋霞国产在线| 99热这里只有精品在线播放| 久久精品无码专区免费| 精品福利视频导航| 国产微拍一区二区三区四区| 国产JIZzJIzz视频全部免费| 欧美色图久久| 91热爆在线| 熟女成人国产精品视频| 国产成人永久免费视频| 天堂网亚洲系列亚洲系列| 亚洲第一黄片大全| 天堂网亚洲系列亚洲系列| jizz国产视频| 欧美精品v日韩精品v国产精品| 亚洲国产天堂久久九九九| 日韩欧美中文| 91无码人妻精品一区| 国产91视频免费| 美女免费黄网站| 国产乱人视频免费观看| 91成人免费观看在线观看| 日本黄网在线观看| 伊人久久综在合线亚洲91| 国产一区二区三区夜色| 免费日韩在线视频| 在线国产资源| 久久久久国产精品免费免费不卡| 国产91小视频在线观看| 中文天堂在线视频| 中文国产成人精品久久| 青青草原国产av福利网站| 国产一级视频在线观看网站| 欧美丝袜高跟鞋一区二区| 亚洲国产清纯| 全裸无码专区| 国产午夜精品一区二区三区软件| 免费在线看黄网址| 久久亚洲高清国产| 国产一线在线| 国产精品19p| 国产福利免费观看| 国产在线精彩视频论坛| 在线免费无码视频| 国产福利免费观看| 黄色网页在线观看| 亚洲欧美另类日本| 亚洲伊人久久精品影院| 亚洲一区二区三区国产精华液| 国产麻豆91网在线看| 人妻中文字幕无码久久一区| 在线毛片免费|