久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

流程驅(qū)動面向服務(wù)的架構(gòu)

 ljjzlm 2006-08-01
流程驅(qū)動面向服務(wù)的架構(gòu)

 

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

 

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

 

引言

 

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

 

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

 

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

 

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

2.無法方便地修改和調(diào)整代碼以適應(yīng)流程變化,。

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

4.多種應(yīng)用標(biāo)準(zhǔn)(COM, J2EE)導(dǎo)致互操作和集成困難

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

 

新技術(shù)的解決之道

 

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

 

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

 

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

 

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

 

PdSoA架構(gòu)組成

 

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

 

表示層                                                 用戶接口

 

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

                                                                              |      (服務(wù)注冊庫)

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

 

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

 

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

 

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

 

 

整個PdSoA架構(gòu)的運行過程大概是這樣的:

 

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

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

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

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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

g)          簡化異常處理,。

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

 

BPMS

 

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

 

應(yīng)用開發(fā)范式的轉(zhuǎn)變

 

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

 

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

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

 

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

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

 

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

 

PdSoA架構(gòu)支持標(biāo)準(zhǔn)

 

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

 

流程符號         BPMN

流程實施         BPML        (BPML4WS)

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

服務(wù)描述         WSDL

服務(wù)傳輸         SOAP

 

結(jié)語

 

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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多