免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
流程驅動面向服務的架構
流程驅動面向服務的架構

 

分離關注,松散耦合是軟件系統(tǒng)開發(fā)的一個目標,Aop & Ioc是這種思想很好的詮釋。下面要介紹的SOAWorkflow是這種思想更高層次的應用。

 

傳統(tǒng)的軟件系統(tǒng)中,業(yè)務邏輯沒有被分離。直到Workflow引擎的不斷開發(fā),業(yè)務邏輯才逐漸從整個系統(tǒng)中被單獨分離。加上SOA這一概念,讓業(yè)務邏輯采用松耦合的調用機制,粗粒度的服務也讓系統(tǒng)的使用者更易操作。本人將兩個概念結合起來,談如何用Workflow來驅動SOA。

 

引言

 

傳統(tǒng)的三層架構(表示層,業(yè)務邏輯層,數(shù)據(jù)訪問層)應用由于業(yè)務流程邏輯被硬編碼于程序代碼中,并且采用了緊耦合功能調用機制,使得應用系統(tǒng)缺乏敏捷性和互操作性。本文提出了一個流程驅動面向服務的架構,它采用了松耦合web服務調用機制。它使得系統(tǒng)設計不再是以對象,接口和組件等技術術語為中心,而是以流程和服務為中心。它將流程提升到架構的中心地位,形成獨立的流程層,采用業(yè)務流程管理系統(tǒng)實現(xiàn)流程的獨立管理和控制,提升了流程動態(tài)調整的能力,從而大大提升了系統(tǒng)的敏捷性。

 

傳統(tǒng)的業(yè)務流程處理問題

 

傳統(tǒng)的兩層或者多層應用架構存在以下問題:

 

1.業(yè)務流程硬編碼于程序中,無法可視化,不利于分析和設計

2.無法方便地修改和調整代碼以適應流程變化。

3.流程設計到流程實現(xiàn)需要大量人工轉換,效率低,代碼可能脫離需求

4.多種應用標準(COM, J2EE)導致互操作和集成困難

5.系統(tǒng)集成采用轉有技術,成本高,維護困難

 

新技術的解決之道

 

本文為解決長期以來困擾企業(yè)系統(tǒng)建設中存在的系統(tǒng)隔離,缺乏靈活性等問題,提出了一種不同于傳統(tǒng)應用架構的新的應用架構,稱之為流程驅動面向服務的架構——PdSoA。該架構充分采用了XML, WebServiceBPM(Business Process Management)等新的技術,為構造敏捷的,互操作的應用打下了堅實的基礎。

 

首先,XML為數(shù)據(jù)描述提供了一種通用的,開放的,平臺無關的表示方案,它已成為系統(tǒng)間數(shù)據(jù)交換的標準格式。

 

其次,WebService技術的出現(xiàn)極大的簡化了程序功能的調用,特別是跨組織(異構)的遠程調用,這對跨組織的應用集成具有重要意義。

 

但是,離散的,孤立的Web服務尚不足以發(fā)揮最大的價值,而將各種相關的Web服務組合連結起來,形成完整的業(yè)務流程將會給企業(yè)帶來突破性的效益。此時BPM可以發(fā)揮它的威力了。它使得應用開發(fā)范式由傳統(tǒng)的面向對象的范式轉變到以流程為中心的范式,開發(fā)人員直接使用與現(xiàn)實世界相符的流程概念進行設計,設計結果可以在BPMS中立即執(zhí)行,無需復雜的人工轉換。

 

PdSoA架構組成

 

由于WebSerive技術的成功,許多廠商提出了SOA的概念,SOA強調了服務(通常由WebService實現(xiàn))在應用架構中的重要地位。但僅有服務尚不夠,所以本文提出了一種新的應用架構PdSoA。

 

表示層                                                 用戶接口

 

業(yè)務流程層                        業(yè)務流程,業(yè)務規(guī)則           |

                                                                              |      (服務注冊庫)

業(yè)務服務接口層                                  業(yè)務服務                    |

 

業(yè)務服務實現(xiàn)層                 遠程調用,業(yè)務組件,Web服務

 

數(shù)據(jù)訪問層                          數(shù)據(jù)訪問組件或服務

 

數(shù)據(jù)源層                                 DB, XML, File

 

 

整個PdSoA架構的運行過程大概是這樣的:

 

1.用戶通過用戶接口啟動相應的業(yè)務流程(也可以由其他流程或組件啟動)

2.業(yè)務流程編排調用相應的業(yè)務服務(通常實現(xiàn)為Web服務)

3.業(yè)務服務代表系統(tǒng)內(nèi)部功能對外的業(yè)務接口,它調用下一層的業(yè)務組件

4.業(yè)務組件調用數(shù)據(jù)訪問組件訪問數(shù)據(jù)庫

5.不同的數(shù)據(jù)源可以通過數(shù)據(jù)轉換服務形成全局性的聯(lián)邦數(shù)據(jù)虛擬視圖,供上層調用

 

PdSoA架構不同于傳統(tǒng)架構之處在于:

 

1.        首先,它多了一層業(yè)務服務接口層(WebService實現(xiàn))。服務設計面向業(yè)務而非技術。該層通常以粗粒度的WebService暴露系統(tǒng)的業(yè)務功能,而非傳統(tǒng)的細粒度的組件和對象。這樣,即使業(yè)務人員也可以編排業(yè)務服務。

 

2.        其次,它將業(yè)務流程抽象出來,形成一種獨立,可視化的業(yè)務流程層。

 

a)          流程可以由業(yè)務人員(而非技術人員)可視化設計。例如可以用BPMN可視化建模。

 

b)          設計好的流程幾乎可以直接部署執(zhí)行,解決了傳統(tǒng)上從設計到實現(xiàn)的轉換問題。建好的模型可以由BPMS自動轉化為一種非可視的模型(BPEL4WS)來表達的,然后BPMS可以解釋相應的BPEL4WS并執(zhí)行之。

 

c)          極大地提高了流程動態(tài)調整的能力。由于流程可以以可視化方式表達(BPMN),不再固化于程序代碼中,業(yè)務人員可以方便的以可視化方式修改流程并由BPMS執(zhí)行,整個過程在最好的情況下甚至無需編碼。這就為業(yè)務人員調整流程打開了新的途徑,動態(tài)調整流程以適應業(yè)務變化已不再是業(yè)務人員和技術人員的夢魘。

 

d)          更好地控制業(yè)務流程。使用流程服務可以提供一個中心服務,該中心服務控制器它服務的交互,從而可以查詢運作信息和管理信息,這將進一步改善系統(tǒng)的管理和維護。

 

e)          減少依賴項的數(shù)量。當許多服務直接交互時,這些服務必須辨別出彼此的服務接口。這樣,在合并更多服務時,依賴項數(shù)量將按服務數(shù)的指數(shù)增長。而利用流程服務提供的中心管理點,則可以形成星形拓撲,其在系統(tǒng)中保留的依賴項總數(shù)與涉及的服務呈線性比例關系。

 

f)           簡化外部通信。僅向外部公開一個入口點,即流程服務入口點。

 

g)          簡化異常處理。

PdSoA中,以BPEL4WS表達的業(yè)務流程本身也可以作為一個Web服務對外展示自己,供其它系統(tǒng)以一致的方式調用,這種基于業(yè)務流程的服務稱為流程服務。不管是業(yè)務服務還是流程服務都可以將自己注冊到服務注冊庫,供其它系統(tǒng)查找。業(yè)務流程層的業(yè)務規(guī)則是流程執(zhí)行時所遵循的規(guī)則,由BPMS維護。

 

BPMS

 

如上所述,PdSoA架構將業(yè)務流程提升到架構的中心地位,專門增加了一個流程抽象層來表達和管理流程,但這需要一類特定的軟件系統(tǒng)來管理和控制業(yè)務流程,這就是業(yè)務流程管理系統(tǒng)BPMS。在BPMS中,業(yè)務流程成為新的數(shù)據(jù)類型,它不僅可以被IT人員理解和操縱,而且可以直接被業(yè)務人員理解和操縱,在BPMS中創(chuàng)建的流程模型幾乎不需任何編碼就可以立即執(zhí)行。BPMS應該具有的基本功能包括:定義業(yè)務流程,運行業(yè)務流程,監(jiān)控業(yè)務流程,集成人,流程和應用,仿真業(yè)務流程,實現(xiàn)業(yè)務流程規(guī)則引擎。

 

應用開發(fā)范式的轉變

 

隨著企業(yè)開發(fā)的業(yè)務服務越來越多,業(yè)務服務將成為企業(yè)最重要的基礎設施和資產(chǎn)。

 

傳統(tǒng)開發(fā)范式

建立業(yè)務模型 -à 系統(tǒng)設計(業(yè)務模型轉化為設計模型) -à 系統(tǒng)實現(xiàn)(編碼)-à 系統(tǒng)部署與執(zhí)行。

 

基于PdSoA架構的開發(fā)范式

建立業(yè)務模型(主要是業(yè)務流程模型) -à 直接部署與執(zhí)行。

 

對比上面兩種開發(fā)范式,可以看出,基于PdSoA架構的應用開發(fā)范式由于采用了BPM技術,其業(yè)務模型在設計好后可以通過BPMS直接部署和執(zhí)行,而無需象傳統(tǒng)范式那樣經(jīng)過繁瑣的業(yè)務模型到設計模型的轉換以及后續(xù)地編碼,這就極大的簡化了開發(fā)過程,提高了開發(fā)效率。

 

PdSoA架構支持標準

 

PdSoA架構相對于傳統(tǒng)三層架構實際上增加了兩個技術層次,一是業(yè)務服務接口層,二是業(yè)務流程層。目前,業(yè)界已開發(fā)了比較成熟的技術標準支持這兩個層次,從而使PdSoA架構具有了廣泛應用的可能性,支持這兩層的技術標準棧如圖所示

 

流程符號         BPMN

流程實施         BPML        (BPML4WS)

流程接口         BPQL,UDDI,WSCI,WS-Security,WS-Transaction,WS-Coordination

服務描述         WSDL

服務傳輸         SOAP

 

結語

 

傳統(tǒng)的三層架構應用由于流程邏輯硬編碼與程序代碼中,使得程序難以動態(tài)調整以適應業(yè)務流程的變化,缺乏敏捷性;又因為采用了緊耦合的技術,使得程序互操作性差,難以有效集成。而流程驅動的面向服務地架構采用了松耦合的Web服務技術,大大提高了系統(tǒng)的互操作性,同時,由于采用了現(xiàn)代BPM技術,將流程獨立出來,實現(xiàn)了對流程的獨立管理和控制,使得流程的動態(tài)調整得以實現(xiàn),系統(tǒng)敏捷性得到巨大提升。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
一分鐘讀懂RPA與BPM的區(qū)別
分析:BPM與SOA之間的區(qū)別及聯(lián)系
標準在SOA領域的應用
企業(yè)IT架構持續(xù)優(yōu)化需要技術平臺的有力支撐
SOA 流程項目:業(yè)務流還是工作流
BPM 讓IT 部門與企業(yè)業(yè)務團隊緊密協(xié)作
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服