InfoQ訪談BPEL4People代表

此篇文章地址:http://www.infoq.com/cn/articles/bpel4people-tc

自從 首次公佈BPEL4People/WS-HumanTask將會成爲一個標準 ,在BPM領域構建這個新標準的種種努力就受到了空前的關注(1234 )。BPEL(又名WS-BPEL)繼續分化着工作流陣營 ,BPEL4People也同樣會嗎?(OASIS)技術委員會舉行了首次面對面的會議 ,我們得以有機會對幾位幕後工作者進行了採訪。

Manoj Das是Oracle公司BPM產品管理部門的總監,他關注的領域包括BPMN、BPEL、工作流和業務規則。Monoj曾在Diebel公司負責研發新 一代的流程爲中心的應用平臺。Diebel後來被Oracle公司收購,Manoj也隨之加入Oracle。

Dave Ings是IBM軟件標準工作組的項目總監。他致力於業務流程管理和SOA標準的研究。目前他是結構化信息標準促進組織(以下簡稱OASIS)BPEL4People技術委員會的主席。

Ivana Trickovic是SAP產業標準工作組的一名標準架構師。Ivana代表SAP參與了多次標準的制定,包括OASIS WS-BPEL技術委員會和OASIS BPEL4People技術委員會。她是BPEL4People和WS-HumanTask技術規範的制定者之一。

問:各位能先向對BPEL不熟悉的讀者簡單介紹一下什麼是BPEL嗎?

(IBM,Dave Ings)OASIS WS-BPEL標準爲基於流程同它的參與者間有狀態的、長期的交互的業務流程提供了行爲的描述模型。具體來說,這意味着如果在一個SOA的環境中有一組代 表業務流程各組件的Web Services,BPEL提供了一種能夠把這些服務集成到完整業務流程當中的方法。

(Oracle,Manoj Das)Web Services業務流程執行語言(WS-BPEL),通常被稱爲BPEL,提供了一種被業界廣泛接受的流程編制標準。這一標準被許多軟件供應商所支持, 用來定義這樣一種業務流程:即把服務、系統和人員編排到端到端的業務流程和複合應用。

概括的來說,BPEL是一種XML語言,用來描述可執行業務流程的行爲。這些流程和行爲可以是同步的或是異步的,短暫的或者是長期的;BPEL爲工藝流程、系統交互、數據操作、例外處理、賠償規則等的定義提供了一種精巧的描述語言。

(SAP,Ivana Trickovic)在企業面向服務架構(SOA)中,BPEL是其重要的構建基礎,提供了所需的流程功能。它是一種基於XML的語言,主要用來設計組成可重用(Web)服務的各種流程。

問:能對BPEL4People做一個簡單概述嗎?

(IBM,Dave Ings)“BPEL4Pelple”實際上是兩個補充規範,即“WS-BPEL Extension for People”和“WS-HumanTask”。這兩個規範擴充了WS-BPEL 2.0,使得它在業務流程中能夠集成和支持人工任務。

(Oracle,Manoj Das)BPEL4Peopl是已發佈標準BPEL上的一個擴展,把人工交互作爲“一等公民”引入到BPEL中[譯者注:這裏“一等公民”是指把人工交互 作爲BPEL建模中的模型元素]。大多數真實世界的業務流程都包含了人工交互,包括審批、例外管理和其他一些諸如提醒之類的人工任務。 BPEL4People規範在BPEL中增加了人工活動及其相關概念,使得在BPEL中可以規範定義人工活動——什麼任務需要被執行,誰來執行這個任務, 哪些是相關人員,何時任務被執行以及若沒有按時執行需要怎麼處理等等。

(SAP,Ivana Trickvic)BPEL4People擴展了BPEL,使得它能以能直接的方式支持人工交互。它包含了兩個方面:對人工任務的定義和把人工任務集成到BPEL流程當中。

問:爲什麼需要BPEL4People?僅僅用BPEL不行嗎?

(IBM,Dave Ings)WS-BPEL主要用來定義基於Web Services的可執行流程。而BPEL4People的主要目標是擴展BPEL,使得後者能夠把人工交互作爲BPEL流程的一部分。

(Oracle,Manoj Das)前面提到,BPEL4People是在BPEL之上一個擴展。BPEL提供了集成人工交互的機制,但是它並不區分人的行爲和系統的行爲。在前面的 回答中也提到,我們發現人的行爲有很多特殊點;儘管這些特殊點能在BPEL中得到體現,但是要複雜的多。這就像是試圖用C來做面向對象的開發。

通過用強大而直觀的表述方式來表達人工交互的重要方面,BPEL4People將爲BPEL成爲BPM領域的通用語言鋪平道路。

(SAP,Ivana Trickovic)通常情況下,業務流程需要人的參與,比如要符合某些需要遵從“雙人原則”的規則。對這樣一些業務流程,就需要一種把不同的人工交互模式更直接的集成到WS-BPEL的模式。BPEL4People完美的做到了這一點。

問:爲什麼各位的公司對BPEL4People如此關注?

(IBM,Dave Ings)業務流程經常包含有人工任務(比如一個經理對訂單的審批)。許多業務流程和工作流產品都支持人工任務案例,但是卻是由各自的方式實現的。一個基於集成人工任務的標準很好的體現了用戶對互用性和可以執行方面的重要需求。

(Oracle,Manoj Das)我們許多的用戶充分地利用了目前在我們的BPEL產品中所支持的、符合BPEL4People的人工活動(功能)。隨着用戶對這些功能的廣泛和逐 步增長的使用,對這方面的標準化不僅關係到可移植性和互用性的增強,而且對增加產品選擇和降低使用成本也是至關重要。標準化也有助於降低培訓成本和增強熟 練人員的使用效率。

(SAP,Ivana Trickovic)SAP是BPEL4WS 1.1規範的共同制定商之一、BPEL技術的早期倡導者,SAP在OASIS WS-BPEL技術委員會中起着非常重要的作用。由於BPEL4People體現了重要用戶的需求,因此SAP積極倡導對BPEL4People進行標準 化。一個重要的需求是互用性,例如使用一家供應商提供的任務組織結構,另一家的流程組織結構而使用第三方的任務列表客戶端。

問:各位認爲什麼是BPEL4People最重要的方面?

(IBM,Dave Ings)從技術角度來講,它(BPEL4People)是用來支持人工任務的對BPEL的擴展。從行業角度來講,它是領先的BPM供應商通力合作來制定一套一旦標準化就使整個行業受益的規範。

(Oracle,Manoj Das)對超時和任務調升的處理(技術上是WS-HumanTask的一部分)。編排人工交互的其好處之一是確保任務是依據SLAs和其他一些目標來執行 的,並且在任務有不能被按照預定目標完成的風險時採取適當的措施,而不是把它們留給adhoc。超時和任務調升機制能把多個計時器綁定到一個任務,回到前 面的問題,這個例子很好地說明了有些任務能夠雖然能用BPEL完成但是非常困難。

(SAP,Ivana Trickovic)要強調的一點是服務交互和人工交互的統一視圖。這意味着對人工任務的調用和普通服務的調用將被視作相同的方式。諸如流程與人工任務間 協作等細節不用再明確地在BPEL中建模。協作協議將作爲流程和任務的基礎結構在底層實現。這會大大簡化業務邏輯的建模。

問:那WS-HumanTask將會怎樣?

(IBM,Dave Ings)它絕不會消失!換句話說“BPEL4People”指的是兩個規範,而不僅僅是稱爲BPEL4People的一個規範。

(Oracle,Manoj Das)BPEL4People用來處理人工流程交互,WS-HumanTask則用來處理任務的呈現和執行。它是規範當中用來詳細描述任務連同他們的期限、提醒和升級如何被分配、展示以及終止。

(SAP,Ivana Trickovic)它是BPEL4People標準化工作的一部分。它可以用來表述一些沒有BPEL流程而使用了人工任務的情況,因此是很重要的一部分。

問:公平地說目前爲止BPM有一個備受爭議的歷史。一些分析家推崇它,而另一些則不然。各位認爲BPEL4People有助於化解那些爭議嗎?

(IBM,Dave Ings)BPM正經歷着許多新興技術都經歷過的老路——很少有新技術是一夜之間便獲得成功的。然而,一些分析家對BPEL不能明確地支持人工任務的批評 也不無道理。而BPEL4People正體現了這一重要需求,它將有助於基於BPEL的解決方案成爲市場主流。

(Oracle,Manoj Das)市場總會從標準化中獲益,尤其是像BPM這樣一個嚴重分化的市場。顯然,使得端到端的流程具有良好的可見性從而可以被監控和預先採取適當的措施是 非常有好處的。風險和成本一直以來就是我們面臨的問題。BPEL、BPEL4People以及相關標準可以使我們拓寬選擇、降低成本、控制風險,從而進一 步推動BPM成爲市場主流。

(SAP,Ivana Trickovic)在最富聲望的BPM分析家之一Bruce Silver的一遍blog中寫道:“BPMS世界爲化爲BPEL擁戴者和BPEL反對者,而看起來最使BPEL反對者詬病的是OASIS標準把人工任務 排除在外。因此我相信BPEL4People能很好的解決這一問題。

問:爲什麼BPEL4People的制定花了這麼長時間(而BPEL早在2003年就已出現)

(IBM,Dave Ings)制定商們認爲在完成BPEL4People之前,BPEL 2.0首先成爲正式通過的標準是很重要的。而BPEL 2.0標準直到2007年才完成。

(Oracle,Manoj Das)首先,BPEL4WS 1.0在2002年7月首次發佈,2003年5月提交給OASIS,而它成爲一個標準則是在2007年的4月12號。在這期間,一直致力於使之成爲一個穩 定的BPEL標準,使得它之於流程編排就像SQL之於RDBSM。另外,在這三年期間致力於以上工作的技術委員會是OASIS最大的技術委員會之一。只有 等到BPEL工作結束之後,BPEL4People的標準化工作才能開始全力進行。所以說我們並沒有浪費時間拖延進度。

(SAP,Ivana Trickovic)我們知道標準化的過程是複雜的。SAP和IBM通過在2005發佈BPEL4People白皮書就開始了對BPEL4People的 標準化進程,因爲我們想盡早地從我們的客戶和技術社區那兒得到反饋。我們也想在完成BPEL4People和WS-HumanTask規範前看到 OASIS WS-BPEL技術委員會的成果,這兩個規範最終在去年夏天已經發布。

問:好的BPM解決方案總是從最終用戶那兒得到反饋而不斷改進。那目前爲止BPEL4People從最終用戶那兒得到多少幫助呢?

(IBM,Dave Ings)我們BPEL4People的開發就是在許多客戶的需求基礎之上的,所以前期我們得到的反饋是肯定的。

(Oracle,Manoj Das)許多用戶用類似的方法把人工交互加入到BPEL當中。他們的用例和建議給了我們很多幫助。

(SAP,Ivana Trickovic)從BPEL4People白皮書發佈以來,我們從客戶、合作商和終端用戶那兒得到了肯定的反饋。看起來最重要的方面之一是和各種任務列表客戶端的互用性。

問:現在有對BPEL4People的實現嗎?

(IBM,Dave Ings)包括來自BPEL4People制定商的一些BPEL產品都已經提供了對人工任務的支持。首先對其主要概念的實現已經有了!更完整的回答是在供應商能夠發佈完全兼容的實現之前,OASIS必須完成標準化的工作。

(SAP,Ivana Trickovic)SAP NetWeaver已經具備對既包含自動行爲又有人工活動的業務流程進行建模和執行的能力。隨着的BPEL4People標準化進程,我們將會看到更多的兼容BPEL4People的實現。

問:很多人對BPEL的主要關注點之一是它對WSDL的依賴。BPEL4People大概也會是這樣嗎?

(IBM,Dave Ings)BPEL用WSDL來定義在業務流程和所使用服務之間交互的信息。類似的,BPEL4People也用WSDL來定義參與到業務流程當中的人需 要處理的數據結構。如果不用WSDL,就必須另外開發一種新的語言來代替,而我們的總的原則是儘可能合理的使用現行的標準。

(Oracle,Manoj Das)是的,BPEL4People是依賴於WSDL。然而,這要依賴於實現它的工具來提供好的終端用戶體驗。

(SAP,Ivana Trickovic)BPEL主要用來設計基於Web Services的流程,而WSDL就是用來描述Web Services的語言。在BPEL4People中,人工任務將被視爲一種“服務(services)”,因此WSDL也用來描述任務接口。這使得訪問 別的基於SOA的應用的人工任務成爲可能,因此顯得尤爲重要。

問:這次技術委員會的時間表是怎樣的呢?

(IBM,Dave Ings)OASIS技術委員會在2008年3月5日舉行了首次會議。時間表將由委員會自己來制定。

(SAP,Ivana Trickovic)按照技術委員會的章程,標準化工作應該會持續大約18個月。我們相信我們能在既定日期之前完成這項工作。

問:BPEL會因爲這次的工作發生什麼變化嗎?

(IBM,Dave Ings)應該不會,因爲制定商們要先等BPEL 2.0的工作結束纔去完成BPEL4People。

(Oracle,Manoj Das)我們不會引致BPEL的變化。BPEL的設計允許在其上增加擴展,而BPEL4People是遵從這一擴展機制的。

(SAP,Ivana Trickovic)BPEL4People是通過BPEL的擴展模型來實現的,因此並不會導致對OASIS WS-BPEL 2.0的更改。

問:在BPEL4People之後會有什麼計劃?

(IBM,Dave Ings)在BPM標準的發展中,BPEL4People對OASIS的貢獻標誌着很重要的一個里程碑。我們認爲BPM標準發展的下一步將是對模型標註提 供類似級別的標準化。爲了這一目標,一些BPEL4People的制定者正積極的參與到對象管理組織(OMG)的業務流程標註建模2.0的制定當中。

(Oracle,Manoj Das)下一階段的主要工作將會在流程標註這一塊,包括它與BPEL和BPEL4People的結合。對通用人工工作流模式的初級支持也可能會出現。

(SAP,Ivana Trickovic)在進的BPEL4People標準化工作的同時,我們也會確保這個BPEL的擴展同業務流程建模標註(BPMN)的相關OMG工作可以兼容,使得人工交互也可用BPMN進行建模。

查看英文原文: InfoQ Interviews BPEL4People Representatives


譯者簡介: 連小劍,從2003年開始就使用Java,對基於CORBA和J2EE架構的企業應用的開發有深入研究。最近正關注於Agile方法論以及其應用,對Flex也比較感興趣。目前在IBM從事DB2內容管理方面的開發與研究。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章