當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 河北O(jiān)A系統(tǒng) > 石家莊OA系統(tǒng) > 石家莊OA信息化
Web服務(wù)內(nèi)幕,第5部分:進(jìn)入流--用WSFL建模的商業(yè)流程
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
AMTeam.orgWeb服務(wù)內(nèi)幕,第5部分:進(jìn)入流
--用WSFL建模的商業(yè)流程
James Snell (jasnell@us.ibm.com)
軟件工程師,Emerging Technologies,IBM
2001 年 7 月
在 Web 服務(wù)內(nèi)幕的上一部分中,我已經(jīng)向您介紹了 Web 服務(wù)流語言(Web Services Flow
Language,WSFL)的基本原理。在這一部分,我將兌現(xiàn)我的許諾,循序漸進(jìn)地闡述如何設(shè)計(jì)和創(chuàng)建用 WSFL
實(shí)現(xiàn)的商業(yè)流程模型的具體步驟。
商業(yè)流程建模對(duì)于許多開發(fā)人員并不是很容易掌握,因?yàn)樗⒉皇呛?jiǎn)單地下載一個(gè)代碼片段然后進(jìn)行適當(dāng)?shù)男薷木涂赏瓿傻摹N覀円姓J(rèn)這樣一個(gè)事實(shí),有時(shí)我們開發(fā)人員是相當(dāng)懶惰的。適當(dāng)?shù)纳虡I(yè)建模需要花費(fèi)一定的時(shí)間,它要求接受整體規(guī)劃的能力,不僅能夠組合應(yīng)用程序的特殊
kibbles'n' 字節(jié),而且能夠使應(yīng)用程序適合整個(gè)架構(gòu),該架構(gòu)用于實(shí)現(xiàn)一些截然不同的商業(yè)目標(biāo)。
在上一期中(請(qǐng)參閱參考資料),我花費(fèi)了一些時(shí)間向您介紹一個(gè)新規(guī)范,這個(gè)規(guī)范適用于在 Web 服務(wù)架構(gòu)的框架內(nèi)實(shí)現(xiàn)商業(yè)流程。WSFL 使開發(fā)人員能夠很容易地創(chuàng)建、執(zhí)行 Web 服務(wù),以及將 Web 服務(wù)合并到復(fù)雜的過程和工作流中。
在 Web 服務(wù)內(nèi)幕的這一部分中,我將探究如何創(chuàng)建一個(gè) WSFL 商業(yè)流程的實(shí)現(xiàn),首先是介紹一般商業(yè)流程建模的基本原理。然而,這將是一個(gè)相當(dāng)高深的討論,涵蓋許多更復(fù)雜的問題,不過有時(shí)會(huì)完全忽略其它問題。要牢記的重要一點(diǎn)是,它只不過是一個(gè)介紹,被設(shè)計(jì)用來幫助您從正確的方向開始。強(qiáng)烈推薦您利用本文結(jié)束處所包含的參考資料。
商業(yè)流程
101
太多情況下,開發(fā)人員習(xí)慣于根據(jù)他們要實(shí)現(xiàn)的技術(shù)或功能來看他們正在編寫的應(yīng)用程序;這兒是一個(gè)地址薄,那兒是一個(gè)購物車,或許甚至是即時(shí)消息或?qū)Φ燃軜?gòu)等等。他們經(jīng)常不考慮需要使用那些應(yīng)用程序的整體規(guī)劃,而這些整體規(guī)劃,在許多情況下,可解決某些類型的關(guān)鍵商業(yè)需要。
冒著聽起來好象是在鼓吹公司的危險(xiǎn),人們常常把電子商務(wù)看成是“電子”而非“商務(wù)”。商業(yè)流程建模通過將框架植入個(gè)別應(yīng)用程序(為滿足流程中每一步的要求,可能要插入這些應(yīng)用程序),努力把“商務(wù)”做成了一個(gè)圖 — 就象為一個(gè)汽車裝配線購買原材料,或雇用一個(gè)新員工或支持一個(gè)重要的客戶帳號(hào)。商業(yè)流程建模從一個(gè)能表達(dá)流程整體樣子的圖開始,并按照以下因素分解開來:必須完成的特定活動(dòng)、必須完成這些活動(dòng)的順序、這些活動(dòng)間的依賴性以及確保完成這些活動(dòng)的角色的定義。
圖 1:一個(gè)商業(yè)流程模型的示例
圖 1 描繪了一個(gè)從 WSFL
規(guī)范完全復(fù)制而來的簡(jiǎn)單商業(yè)流程。您會(huì)注意到上面的圖中,流程中的每個(gè)重要步驟都被標(biāo)識(shí)出來,且與定義了特定順序(每個(gè)步驟都必須按這個(gè)順序完成)的工作流一致。無論使用一些
Java 應(yīng)用程序、或 Web
服務(wù)、或任何不相關(guān)的內(nèi)容能或不能嚴(yán)格地實(shí)現(xiàn)這些步驟中的任何一個(gè)。換句話說,一個(gè)商業(yè)流程模型是關(guān)于必須發(fā)生的事件鏈而不是關(guān)于這些事件將如何發(fā)生的特定細(xì)節(jié)。
圖 1 中的一個(gè)橢圓表示一個(gè)活動(dòng)。每個(gè)活動(dòng)表示必須由某人或某物完成的某事。所有的活動(dòng)都用箭頭鏈接在一起,稱為 有向邊,它指出從一個(gè)活動(dòng)到下一活動(dòng)的流向。這個(gè)流向可能是有條件的也可能是無條件的;也即,可能有一些指定條件的規(guī)則,要執(zhí)行流程中的下一個(gè)活動(dòng)必須滿足這些規(guī)則??赡苓€有一些規(guī)則指定完成某個(gè)活動(dòng)的確切時(shí)間或發(fā)生錯(cuò)誤時(shí)如何處理。圖中虛線行指出活動(dòng)間的信息流,這一點(diǎn)我將在創(chuàng)建 WSFL 全局模型這一部分進(jìn)行更深入的說明。
整體規(guī)劃中的 Web 服務(wù)
WSFL 使 Web
服務(wù)在整個(gè)商業(yè)流程或“流”模型中扮演實(shí)現(xiàn)活動(dòng)的角色。在整體規(guī)劃中,這意味著個(gè)別類型的 Web
服務(wù)(地址薄、即時(shí)消息,信用卡驗(yàn)證服務(wù)等)不如正在實(shí)現(xiàn)的整個(gè)工作流重要,至少從希望使用那些服務(wù)的公司來看是如此。用另一種方法解釋,Web
服務(wù)的真正價(jià)值在于它們能夠使開發(fā)人員真正地引導(dǎo)商務(wù)或共享信息,而不在于 Web 服務(wù)自身的個(gè)別優(yōu)點(diǎn)。
構(gòu)建流模型
這一次,我需要指出這樣一個(gè)事實(shí),即 WSFL
自身,不是一個(gè)關(guān)于如何創(chuàng)建商業(yè)流程模型的規(guī)范,而是一個(gè)關(guān)于如何實(shí)現(xiàn)使用新興 Web 服務(wù)架構(gòu)的商業(yè)流程模型的規(guī)范。換句話說,您并不實(shí)際使用 WSFL
定義商業(yè)流程模型;這些工作由一些 UML 行執(zhí)行。您將更愿意使用 WSFL 來創(chuàng)建商業(yè)模型的一個(gè) XML 表示法,然后將 XML
表示法供給中間件應(yīng)用程序,這些中間件應(yīng)用程序被設(shè)計(jì)用來調(diào)用和管理過程(例如,通過使用 IBM 的 MQSeries Workflow,或 Rational
Rose)。然后,您需要理解如何將商業(yè)流程模型圖轉(zhuǎn)換為 WSFL 流模型。
這個(gè)過程其實(shí)很簡(jiǎn)單,一旦有這樣一個(gè)工具,它可暗箱處理這個(gè)步驟,根據(jù)圖形化商業(yè)流程模型自動(dòng)生成 WSFL 流模型,這就將成為一個(gè)您不必理會(huì)的問題了。但現(xiàn)在,理解在 WSFL 中各種事物是如何結(jié)合在一起的,有助于理解它在 Web 服務(wù)架構(gòu)中的用處和功能。
根據(jù)商業(yè)流程模型創(chuàng)建 WSFL 流模型實(shí)際僅取決于對(duì) WSFL 語法中使用的每個(gè) XML 元素的功能的理解,以及對(duì)在流程模型中互相通信的每個(gè)重要信息片段之間的差別的理解。
在模型中,您會(huì)注意到有三個(gè)截然不同的角色,活動(dòng)的實(shí)現(xiàn)要貫穿這三個(gè)角色。這些角色代表了誰負(fù)責(zé)實(shí)現(xiàn)特定活動(dòng)。例如,旅游者計(jì)劃行程,代理商選擇行程路線而航空公司簽發(fā)電子機(jī)票。WSFL 要求明確指定這些角色,以作為流程實(shí)現(xiàn)的一部分。您將使用 WSFL serviceProviderType 元素來完成這項(xiàng)工作。
清單 1:描述旅游過程中的角色的 WSFL 語句
serviceProviderType 元素在給定商業(yè)流程模型的上下文中標(biāo)識(shí)每個(gè)角色類型和特定 Web 服務(wù)接口(以 WSDL 定義的 portTypes 形式),它們必須由 Web 服務(wù)提供者來實(shí)現(xiàn),以履行那些角色。
在這個(gè)示例中,實(shí)際上有兩個(gè)不同的子過程需要您關(guān)心:登記行程與訂票和簽發(fā)機(jī)票過程。一般情況下,應(yīng)使用不同的 WSDL flowModel 為每個(gè)過程建模。每個(gè) flowModel 由幾個(gè)至關(guān)重要的信息片段組成,它們是管理過程實(shí)現(xiàn)的工作流引擎在工作時(shí)所必需的。這些信息包括:
服務(wù)提供者的身份,該提供者履行必需的角色,負(fù)責(zé)每個(gè)活動(dòng)
啟動(dòng)過程的條件(稱為 flowSource)
過程的外部接口,通過這個(gè)接口可使信息進(jìn)出該過程
每個(gè)活動(dòng)的定義(根據(jù)實(shí)現(xiàn)方法以及預(yù)期實(shí)現(xiàn)者進(jìn)行定義)
在過程被執(zhí)行時(shí),控件和信息如何從一個(gè)活動(dòng)流向下一個(gè)活動(dòng)的定義,包括每個(gè)活動(dòng)和過程自身的各種退出和啟動(dòng)條件
遺憾的是,我沒有時(shí)間詳細(xì)描述每個(gè)元素,所以我能做的是提供一個(gè)類似用于購買機(jī)票的 flowModel 的示例。這是來自 WSFL
規(guī)范自身的又一個(gè)示例,所以為更多地了解這個(gè)示例,我推薦您花費(fèi)些時(shí)間閱讀它。
清單 2:旅游過程的流模型
構(gòu)建全局模型
WSFL flowModel 中定義的每個(gè)活動(dòng)都是以 WSDL
定義的 Web 服務(wù)的形式實(shí)現(xiàn)的。每個(gè)活動(dòng)代表給定的 portType 中的一個(gè)操作或操作組合。在給定過程中履行角色的每一方都必須正確執(zhí)行由 flowModel
中的 serviceProviderType 元素定義的 portTypes。然后必需的是一個(gè)映射 portTypes 的方法和一個(gè)由服務(wù)提供者使用
portTypes 實(shí)現(xiàn)的操作以及由另一個(gè)服務(wù)提供者實(shí)現(xiàn)的操作,這樣 flowModel
中定義的控件和數(shù)據(jù)鏈接知道執(zhí)行活動(dòng)或交換信息時(shí)要調(diào)用活動(dòng)的哪個(gè)操作?,F(xiàn)在,如果您不確定這是否有意義,請(qǐng)這樣考慮:如果您要寄一盒巧克力給我 — 我很樂意接受 —
您需要知道我的地址。在 WSFL 中,這個(gè)地址是以給定的 Web 服務(wù)接口上的操作的形式表示的,并通過 globalModel 進(jìn)行通信。
清單 3:旅游過程的全局模型
operation="receiveTicketOrder"/>
flowModel 和 globalModel 分開使您能夠把工作流過程的抽象定義(flowModel)與關(guān)于給定過程是如何實(shí)現(xiàn)的特定細(xì)節(jié)( globalModel)分開。
下一部分內(nèi)容?
在本欄目的下一部分中,我將討論服務(wù)提供者必須要做哪些工作,來履行
WSFL flowModel 所定義的角色。該過程具有從現(xiàn)有的商業(yè)流程中重新組合新的商業(yè)流程的能力,表現(xiàn)出 WSFL
強(qiáng)大的、引人注目的功能中的一種。同時(shí),您可能希望通過使用下面列出的參考資料來繼續(xù)學(xué)習(xí)商業(yè)流程建模和 WSFL。
參考資料
- 請(qǐng)務(wù)必查閱本欄目的前三個(gè)部分:第 2 部分、第 3 部分 和
第 4 部分。
- 請(qǐng)閱讀 WSFL 規(guī)范。
- 請(qǐng)?jiān)?Google 處查閱商業(yè)流程建模的參考資料。
- 請(qǐng)學(xué)習(xí) SOAP、WSDL 和
UDDI。
- 請(qǐng)學(xué)習(xí) BPML、 ebXML 和
Workflow Management
Coalition。(在以后的部分中,我將使用 WSFL 比較和對(duì)照這些內(nèi)容。)
- 請(qǐng)參閱 dW Web 服務(wù)的更多參考資料。
James 是一位撰稿人和開發(fā)人員,他也是 IBM Web 服務(wù)開發(fā)小組的最新成員之一。他在進(jìn)入 IBM 之前,已經(jīng)具有關(guān)于定制企業(yè)應(yīng)用開發(fā)和商家對(duì)商家集成這些方面的深厚背景,而且他對(duì) Web 前沿技術(shù)有極大的熱情??赏ㄟ^ jasnell@us.ibm.com 與他聯(lián)系。
瀏覽:Web服務(wù)內(nèi)幕,第1部分
Web服務(wù)內(nèi)幕,第2部分
Web服務(wù)內(nèi)幕,第3部分
Web服務(wù)內(nèi)幕,第4部分
Web服務(wù)內(nèi)幕,第6部分
Web服務(wù)內(nèi)幕,第7部分
Web服務(wù)內(nèi)幕,第8部分
Web服務(wù)內(nèi)幕,第9部分
Web服務(wù)內(nèi)幕,第10部分
- 1泛普軟件如何實(shí)現(xiàn)知識(shí)庫雙機(jī)熱備
- 2Web服務(wù)的(革)創(chuàng)新,第1部分
- 3石家莊泛普OA辦公軟件的用戶界面定制
- 4《變革之舞-學(xué)習(xí)型組織持續(xù)發(fā)展面臨的挑戰(zhàn)》
- 5ColdFusion MX增加對(duì)J2EE、XML和Web服務(wù)的兼容
- 6Web服務(wù)設(shè)計(jì)師,第1部分:動(dòng)態(tài)電子商務(wù)介紹
- 7Generating a Strongly-Typed DataSet from a Web Service
- 8KnowledgeManagement at Best Buy
- 9美國三大IT巨頭將向OASIS提交Web服務(wù)安全標(biāo)準(zhǔn)
- 10包裝你知道的一切
- 11Web服務(wù)的(革)創(chuàng)新,第4部分
- 12Web Services: Building Reusable Web Components with SOAP and
- 13What is a digital dashboard?
- 14微軟:“Web服務(wù)我們領(lǐng)先Sun 18個(gè)月”
- 15協(xié)同辦公系統(tǒng)整合了多層次的安全控制方案
- 16石家莊OA信息化的基本XML和RDF 技術(shù)(五):定義RDF和DAML+OIL圖示
- 17源天軟件為特優(yōu)仕照明實(shí)施協(xié)同辦公管理系統(tǒng)
- 18復(fù)明集團(tuán)網(wǎng)上審批管理OA辦公軟件系統(tǒng)系統(tǒng) V1.0 ...
- 19關(guān)于知識(shí)的問題
- 20Web服務(wù)內(nèi)幕,第9部分:研究問題--安全性與保密性
- 21換個(gè)角度切蘋果
- 22微軟將于10月采取訂閱銷售模式
- 23石家莊OA信息化隨筆之一:石家莊OA信息化“突圍”(by AMT 夏敬華)
- 24石家莊OA信息化新典范--深入訪談中華汽車石家莊OA信息化推動(dòng)團(tuán)隊(duì)
- 25bindingTemplate與Web服務(wù)調(diào)用
- 26對(duì)于石家莊OA信息化的幾種不同理解(BY AMT 夏敬華)
- 27微軟、IBM和BEA聯(lián)合發(fā)表Web服務(wù)新標(biāo)準(zhǔn)
- 28網(wǎng)絡(luò)服務(wù)熱火如潮 前景撲朔迷離
- 29追問石家莊OA信息化(高麗華)
- 30解讀德魯克
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
版權(quán)所有:泛普軟件 渝ICP備14008431號(hào)-2 渝公網(wǎng)安備50011202501700號(hào) 咨詢電話:400-8352-114