欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

流程處理執(zhí)行方法和設備的制作方法

文檔序號:6463788閱讀:167來源:國知局
專利名稱:流程處理執(zhí)行方法和設備的制作方法
技術領域
本發(fā)明涉及一種用于執(zhí)行流程處理的方法和設備。
背景技術
將一系列流程的操作或者任務稱為"工作流程"。類似地, 將順次執(zhí)行該工作流程的處理稱為"流程處理"。已經利用計算 機和計算機網絡使流程處理自動化以允許信息和操作平滑流動
以支持業(yè)務活動。
例如,通過將在公司特定部門或者成員之間流傳的文檔轉 換為電子格式并通過計算機網絡傳播該信息,可以實現(xiàn)提高的
業(yè)務效率。隨著在計算機和計算機網絡以外Web服務技術的新 近出現(xiàn),流程處理應用領域的范圍越來越廣。
對于流程處理,有必要預先定義用于指定要將該信息傳送 到哪個成員進行處理的流程處理描述文檔。在利用計算機或者 計算機網絡實現(xiàn)自動化的流程處理中,將流程處理描述文檔加 載至能夠分析該流程描述文檔的流程處理寺丸行i殳備以執(zhí)行該流 程處理。
在上述流程處理中,BPEL4WS(Business Process Execution Language for Web Services , Web服務的業(yè)務處理執(zhí)行語言)被廣 泛用作編寫流程處理描述文檔的語言。
BPEL4WS是以XML ( extensible Markup Language,可擴展 標i己i吾言)編寫的流禾呈處理描述"i吾言。由OASIS (Organization for the Advancement of Structured Information Standards, 結構 化信息標準促進組織)的OASIS Web服務業(yè)務處理執(zhí)行語言TC 來管理BPEL4WS技術規(guī)范。BPEL4WS將WSDL (Web Service Description Language, Web服務描述語言)用作為識別Web服務的接口 。 WSDL是用于 編寫Web服務接口的語言,并且萬維網聯(lián)盟(W3C)已經公開 了其技術規(guī)范。可以在http:〃www.w3.org/TR/wsdl查看該內容。在下面給出的說明中,假定使用計算機、計算機網絡以及 Web服務技術使流程處理自動化。在執(zhí)行使用流程處理描述文檔的流程處理時,該流程處理 執(zhí)行設備不能執(zhí)行在該流程處理描述文檔中沒有編寫的處理, 并且不能通過將其鏈接到該流程處理來臨時執(zhí)行不同的流程處 理。因為該原因,在執(zhí)行在流程處理描述文檔中沒有編寫的處 理、或者通過將不同流程處理鏈接到該流程處理來執(zhí)行不同流 程處理時,出現(xiàn)了如下問題即使是臨時性的,也不得不重寫 流程處理描述文檔。此外,在試圖根據(jù)各種可能情況來編寫流 程處理描述文檔時,出現(xiàn)了另一個問題由于使用了許多條件 語句,所得到的流程處理描述文檔將變得復雜。為了解決上述問題,存在一種用于動態(tài)切換流程處理的技 術。例如,在日本特開2004-361993中7>開了該技術。根據(jù)該技 術,通過將流程處理分割為用于定義語義處理流程的上位流程 處理和用于定義實現(xiàn)單個處理的方法的下位流程處理來預先定義流程處理。根據(jù)需要,上位流程處理從下位流程處理調用需 要流程。由此形成整個流程處理。然而,如在日本特開2004-361993中公開的傳統(tǒng)方法需要為 動態(tài)切換而特定設計的流程處理描述文檔。因為該原因,不是 為動態(tài)切換而特定設計的現(xiàn)有流程處理描述文檔不能動態(tài)切換 流程處理。日本特開2006-302032中公開了另 一個例子。根據(jù)該公開技 術,如果在執(zhí)行流程處理期間發(fā)生例外,并且在定義執(zhí)行中的流程處理的流程處理描述文檔中沒有編寫用于解決該例外的處 理,則執(zhí)行該流程處理的動態(tài)切換。具體地,基于由運行中的 流程處理執(zhí)行設備根據(jù)過去執(zhí)行其它流程處理所獲得的經驗來 估計并執(zhí)行的例外處理。
然而,根據(jù)如在日本特開2006-302032中公開的傳統(tǒng)方法, 基于由流程處理執(zhí)行設備根據(jù)過去執(zhí)行流程處理獲得的經驗, 自動確定切換目的地流程處理。因此,不能按用戶的意愿執(zhí)行 流程處理。

發(fā)明內容
本發(fā)明的目的在于提高使用流程處理描述文檔的簡易性。
本發(fā)明的另 一 目的在于即使流程處理描述文檔不能夠改變 處理,仍可以根據(jù)用戶的需要來改變流程處理描述文檔。
根據(jù)本發(fā)明的一個方面,提供了 一種流程處理執(zhí)行方法, 其執(zhí)行、停止并再繼續(xù)流程處理,所述流程處理執(zhí)行方法包括 接收用于指定在第 一 流程處理描述文檔中的位置的指令的步 驟;停止步驟,用于在執(zhí)行根據(jù)所述第一流程處理描述文檔的 流程處理期間,在處理到達所指定位置時,停止根據(jù)所述第一 流程處理描述文檔的流程處理;以及再繼續(xù)步驟,用于根據(jù)第 二流程處理描述文檔,再繼續(xù)已停止的流程處理。
根據(jù)本發(fā)明的另 一個方面,提供了 一種流程處理執(zhí)行設備, 其具有執(zhí)行部件,所述執(zhí)行部件用于執(zhí)行根據(jù)流程處理描述文
檔的流程處理,所述流程處理執(zhí)行設備包括接收部件,用于 接收指定在第一流程處理描述文檔中的位置的指令,其中,所 述執(zhí)行部件在執(zhí)行根據(jù)所述第 一 流程處理描述文檔的流程處理 期間,在處理到達所指定位置時,停止根據(jù)所述第一流程處理 描述文檔的流程處理,并根據(jù)第二流程處理描述文檔來再繼續(xù)該已停止的流程處理。根據(jù)下面參考附圖對典型實施例的說明,本發(fā)明的其它特 征將顯而易見。


圖1是示出根據(jù)本發(fā)明實施例的系統(tǒng)的結構的圖。圖2是示出使用BPEL4 WS的流程處理描述文檔的例子的圖。圖3是示出根據(jù)本發(fā)明實施例1的系統(tǒng)的流程處理的圖。 圖4是示出從流程處理服務用戶傳送到流程處理執(zhí)行模塊的流程處理調用消息的圖。圖5是示出分支點(branch point)分析的結果的圖。圖6是示出切換目的地流程處理信息描述部分的圖。圖7是示出由流程處理執(zhí)行模塊執(zhí)行的流程處理的動態(tài)切換的處理的流程圖。圖8是示出流程處理描述文檔的例子的圖。 圖9是示出切換定義文檔的例子的圖。圖IO是示出執(zhí)行了從圖8的流程處理802到圖9的流程處理 9 0 5的動態(tài)切換后執(zhí)行的處理的流程圖。圖11是示出將本發(fā)明的實施例應用于旅行預訂系統(tǒng)的例子的圖。圖12是示出根據(jù)本發(fā)明實施例的系統(tǒng)的結構的圖。圖13是示出正常條件下進行的根據(jù)本發(fā)明實施例的系統(tǒng)的處理流程的流程圖。圖14是示出流程處理調用消息的例子的圖。圖15是示出由根據(jù)本發(fā)明實施例的系統(tǒng)進行的包括切換分支點的處理流程的流程圖。圖16是示出在執(zhí)行了流程處理的動態(tài)切換后進行的處理的 流程圖。
圖17是示意性示出計算機設備的結構的圖。
具體實施例方式
下面,將參考附圖詳細說明應用了本發(fā)明的優(yōu)選實施例。 首先,將說明本發(fā)明的實施例l。
現(xiàn)在將說明使用BPEL4WS的流程處理描述文檔。 BPEL4WS具有用于定義流程處理的元素,如變量、過程標識符 (process identifier)、 變量和過程標識符的包裝(encapsulation)、 與Web服務的關系、事件發(fā)生時的行為、例外發(fā)生時的行為以 及正常條件下的4于為等。在BPEL4WS中,處理單位被定義為"活 動(activity)"。存在兩種類型的活動處理活動和構造活動。
首先,由定義流程處理的元素來定義處理流程,然后將實 際進行的處理編寫為處理活動。將如下定義為處理活動接收 外部消息、返回響應、執(zhí)行Web服務、It據(jù)處理、排隊、發(fā)出 關于發(fā)生例外的信號、發(fā)出關于發(fā)生異常的信號以及不做任何 處理的空處理。
同時,將順次處理、并行處理、重復以及由外部輸入進行 的判斷定義為用于構造處理流程的構造活動。將處理活動編寫 為構造活動的子元素。
圖2是示出使用BPEL4WS的流程處理描述文檔的例子的圖。
圖2的流程處理描述部分代表整個處理流程描述文檔,其中 <process>元素用作才艮元素。作為<process>元素的屬性的 targetNamespace屬性是用于唯 一 定義流程處理描述文檔的名稱 空間。將該流程處理描述文檔粗略劃分為兩個描述部分流程
8處理定義描述部分和執(zhí)行處理描述部分。在流程處理定義描述部分,編寫了定義各種流程處理的元素。這里,編寫了與Web服務的關聯(lián)和變量定義。在Web服務 關聯(lián)描述部分,編寫了該流程處理描述文檔與由該流程處理執(zhí) 行的處理之間的外部關系。作為描述方法,使用<partnerLinks〉 元素進行定義。在變量定義描述部分,使用〈variables〉元素來 定義該流程處理中使用的變量。利用構造和處理活動來編寫執(zhí)行處理描述部分。這里,作 為表示順次處理的構造活動的〈sequence〉元素用于定義該處 理。將用于乂人外部源-接收消息的定義編寫為〈receive〉元素。將 數(shù)據(jù)處理的定義編寫為〈assign〉元素。將用于執(zhí)行Web服務的定 義編寫為〈invoke〉元素。將用于發(fā)送應答的定義編寫為<reply> 元素。將々eceive〉、 <assign>、 <invoke>"及々eply〉元素描寫為 〈sequence〉元素的子元素,并且對其進行定義4吏得從頂部開始 順次扭^于這些元素。圖l是示出根據(jù)本實施例的系統(tǒng)的結構的圖。根據(jù)本實施例的系統(tǒng)由均連接至網絡的流程處理執(zhí)行設備 210、由流程處理服務用戶使用的如PC等通信終端220以及流程 處理描述文檔存儲單元230配置成。在下面給出的說明中,將由 流程處理服務使用的如P C等通信終端22 0稱為"流程處理服務 用戶220"。換句話說,流程處理服務用戶220實際上是如PC等 通信終端而不是人。流程處理執(zhí)行設備210包括流程處理執(zhí)行模塊211、切換分 支點分析模塊212以及切換處理執(zhí)行模塊213。流程處理執(zhí)行設 備210由具有如圖17所示的構造的計算機設備配置成。流程處理 執(zhí)行模塊211、切換分支點分析模塊212以及切換處理執(zhí)行模塊213是由該計算機執(zhí)行的程序模塊。通過單個計算機設備或者通 過根據(jù)需要向多個計算機設備分配功能,可以實現(xiàn)流程處理執(zhí) 行設備210。在配置有多個計算機設備的情況下,通過LAN(局 域網)等連接計算機設備,使得它們可以互相通信。在圖17中,附圖標記1901表示控制整個計算機設備1900的 CPU(中央處理單元)。附圖標記1902表示存儲不需要改變的程 序和參數(shù)的ROM (只讀存儲器)。附圖標記1903表示臨時存儲 從外部設備等提供的程序和數(shù)據(jù)的RAM (隨機存取存儲器)。 附圖標記1904表示如硬盤或者存儲卡等固定安裝在計算機設備 19 0 0中的外部存儲設備。其它適合的外部存儲設備的例子包括 可從計算機設備1900拆卸的軟盤(FD)、如CD(致密盤)等光 盤、磁卡或者光卡、IC卡以及存儲卡。附圖標記1905表示通過 用戶的操作輸入數(shù)據(jù)的、如指示裝置或者鍵盤等輸入裝置1909計算機設備1900中的數(shù)據(jù)的監(jiān)視器1910的顯示接口 。附圖標記 1907表示用于連接到如因特網1911等網線的網絡接口 。附圖標 記1908表示可通信地連接單元1901至1907的系統(tǒng)總線。流程處理執(zhí)行模塊211、切換分支點分析模塊212以及切換 處理執(zhí)行模塊213是由圖17中示出的計算機設備1900的CPU 1901運行的程序。流程處理執(zhí)行模塊211、切換分支點分析模塊 212以及切換處理執(zhí)行模塊213被存儲在外部存儲設備1904中, 并將它們加載到RAM 1903中,并在需要時由CPU 1901#1行這 些模塊。流程處理執(zhí)行模塊211具有用于將流程處理描述文檔加載 到如RAM 1903等存儲器內并生成流程處理定義實體的功能、以 及用于順次執(zhí)行該流程處理定義實體的流程處理的功能。該流 程處理執(zhí)行模塊211還具有下面的功能以處置該流程處理的動態(tài)切換。具體地,流程處理執(zhí)行模塊211具有用于在流程處理的
自動執(zhí)行期間在流程處理中的任意處理單位處暫停/再繼續(xù)流 程處理的功能、以及在流程處理的執(zhí)行期間重構流程處理定義
實體的功能。流程處理執(zhí)行模塊211還具有用于傳送/接收如下 消息的功能該消息判斷在流程處理的任意處理單位處是否切 換到外部處理。
切換分支點分析模塊212具有用于在將流程處理描述文檔 加載到如RAM 1903等的存儲器內時,分析在開始執(zhí)行流程處理 時所指定的分支點的位置、以及將分支點信息添加至流程處理 定義實體的功能。切換分支點分析模塊212還具有用于將在包括 分支點信息的狀態(tài)下已經加載到該存儲器內的流程處理定義實 體傳達至流程處理執(zhí)行模塊211的功能。
切換處理執(zhí)行模塊213具有用于將切換目的地流程處理加 載到如RAM 1903等存儲器內、并基于切換目的地文檔(后面將 說明)來生成流程處理定義實體的功能。切換作業(yè)執(zhí)行模塊213 還具有用于將在切換源流程處理中處置的數(shù)據(jù)映射到在切換目 的地流程處理中要處置的數(shù)據(jù)的功能、以及用于將切換目的地 流程處理的流程處理定義實體傳達到流程處理執(zhí)行模塊211的 功能。
上述的流程處理服務用戶220是使用由流程處理執(zhí)行模塊 211執(zhí)行的流程處理提供的服務的用戶的通信終端。服務用戶的 作用是在流程處理到達切換分支點時判斷是否切換該流程處 理。服務用戶可以實現(xiàn)兩個單獨的作用4丸行該流程處理的作 用以及判斷是否切換該流程處理的作用。
流程處理描述文檔存儲單元230具有用于存儲流程處理描 述文檔的功能。流程處理描述文檔存儲單元2 3 0位于流程處理執(zhí) 行設備210的外部,并且可以直接或者通過網絡連接到流程處理執(zhí)行設備210 。流程處理描述文檔存儲單元2 3 0可以位于流程處 理執(zhí)行設備210內。在這種情況下,流程處理描述文檔存儲單元 230對應于圖17的外部存儲設備1904。圖3是示出根據(jù)本實施例的系統(tǒng)的處理流程的圖。參考圖3 說明根據(jù)本實施例的系統(tǒng)的處理流程。首先,流程處理服務用戶220將已經添加了分支點信息的流 程處理調用消息(后面將說明)傳送到流程處理^丸行設備210 (301)。然后,設置在流程處理執(zhí)行設備210中的流程處理執(zhí)行 模塊211接收該消息,并將包括作為在301傳送的消息的一部分 的分支點信息的執(zhí)行請求傳送到設置在流程處理執(zhí)行設備210 中的切換分支點分析模塊212 ( 3 02 )。后面將說明流程處理調用 消息的具體例子。切換分支點分析模塊212讀取出由在3 0 2中接收到的執(zhí)行請 求所請求的流程處理描述文檔。然后,基于在302中接收到的分 支點信息,切換分支點分析模塊212將處于包括分支點信息的狀 態(tài)下的最初不包括分支點信息的流程處理描述文檔加載到如 RAM 1903等存儲器內,以生成流程處理定義實體(303 )。在將流程處理描述文檔加載到存儲器內后,切換分支點分 析模塊212將在303中加載至存儲器內的要執(zhí)行流程處理傳達至 流程處理執(zhí)行模塊211 ( 304 )。此后,流程處理執(zhí)行模塊211繼續(xù)執(zhí)行該流程處理(305 ), 直到該處理到達在3 01中指定的切換分支點為止。在該處理到達該切換分支點時,流程處理執(zhí)行模塊211暫停 該流程處理(306 )。然后,流程處理執(zhí)行模塊211將提示流程處 理服務用戶2 2 0判斷是否執(zhí)行流程切換處理的消息傳送到流程 處理服務用戶220 ( 307 )。如果該消息表示要切換該流程處理,則已經接收到該消息的流程處理服務用戶22 0將切換該流程處理的指令以及切換定 義文檔(后面將說明)傳送到切換處理執(zhí)行模塊213 ( 308 )。在 該切換指令內、即在將切換源流程處理鏈接至切換目的地流程 處理的請求內編寫該切換定義文檔,或者在該請求內指定該切 換定義文檔。后面將說明切換定義文檔的具體例子。另一方面, 如果將不切換該處理流程,則該流程處理服務用戶22 0僅發(fā)送不 切換該流程處理的指令。
已經接收到切換指令和切換定義文檔的切換處理執(zhí)行模塊 213根據(jù)該切換指令將該流程處理從指定的流程處理描述文檔 加載到如RAM 1903等存儲器內(309 )。
然后,基于在308中接收到的切換定義文檔,切換處理執(zhí)行 模塊213將在切換源流程處理中處置的數(shù)據(jù)映射到在切換目的 地中處置的數(shù)據(jù)(310)。這樣完成了切換目的地流程處理的準 備,因此,切換處理執(zhí)行模塊213將切換目的地流程處理傳達到 流程處理執(zhí)行模塊211 (311)。
通過將在暫停該切換源流程處理之前已經完成的切換源流 程處理的存儲樹(memory tree)鏈接到切換目的地流程處理的 存儲樹,已經在311中接收到切換目的地流程處理的流程處理執(zhí) 行模塊211重構該流程處理(312)。具體地,通過將該切換目的 地流程處理鏈接到切換源流程處理的切換分支點位置,進行該 流程處理的重構。然后,流程處理執(zhí)行模塊211再繼續(xù)所暫停的 流程處理(313)。這樣完成該流程處理的動態(tài)切換。
如果當在301傳送流程處理調用消息時已經設置了切換目 的地文檔,則可以在301中傳送已經添加了切換定義文檔和分支 點信息的流程處理調用消息。在這種情況下,在307中,對流程 處理服務用戶220進行關于是否切換到切換目的地流程處理以 切換并繼續(xù)該切換源流程處理的查詢。根據(jù)來自流程處理服務用戶220的指令,執(zhí)行后續(xù)流程處理。在該處理到達切換分支點時,還可以在沒有來自流程處理 服務用戶220的指令的情況下切換到切換目的地流程處理。在這 種情況下,無需在307中對流程處理服務用戶220進行詢問。圖4是示出在301中從流程處理服務用戶220傳送到流程處 理執(zhí)行模塊211的流程處理調用消息的圖。流程處理調用消息采用了 SOAP ( Simple Object Access Protocol,簡單對象訪問協(xié)議)消息。SOAP消息是以XML編寫的 文檔,其實體構成信封(envelope)。作為包絡的子元素,有標頭 (header )和主體(body )。萬維網聯(lián)盟(W3C )已經公開了 SOAP 的技術規(guī)范,而且在http:〃www.w3.org/TR/SOAP可以查看其內 容。在流程處理調用消息中,在S O AP消息的標頭中編寫分支點 信息,并將實際調用流程處理的參數(shù)存儲在該主體中。以XPath ( XML路徑語言)編寫標頭的分支點信息。XPath 是用于在XML文檔中指定給定地址的語言。因此,在以XML編 寫的流程處理文檔中可以指定任意地址。萬維網聯(lián)盟(W3C) 已經 開 了 XPath的少見范, 并且可以在http:〃www.w3.org/TR/xpath查看其內容。圖5是示出分支點分析的結果的圖。在該分支點分析方法 中,提取在SOAP消息的標頭中編寫的分支點信息,并將所提取 的信息應用到流程處理描述文檔。以XPath "process/sequence/invoke[position()-2],,編寫的分支點信息表示 XML文檔的〈process〉元素的〈sequence〉元素中的第二〈invoke〉 元素的位置。因此,分支點的位置為圖5所示的位置。圖6是示出切換定義文檔的例子的圖。切換定義文檔是具有 專有定義的構造并以XML編寫的文檔。在該切換定義文檔中,才艮元素是〈switch〉元素,并且該<s witch〉元素具有兩個子元素。
〈switch〉元素的第一子元素是〈flow〉元素?!磃low〉元素是 用于指定切換目的地流程處理描述文檔的元素。在該例子中, 通過直接在〈flow〉元素內編寫新的流程處理描述文檔來指定切 換目的地流程處理描述文檔。然而,代替直接在〈flow〉元素內 編寫流程處理描述文檔,利用如U RI等可以唯 一 確定流程處理 描述文檔的方法,可以指定存儲在流程處理描述文檔存儲單元 230中的流程處理描述文檔。在這種情況下,切換處理執(zhí)行模塊 213基于URI等來獲取流程處理描述文檔。注意,URI是"統(tǒng)一資 源標識符"的縮寫。
<switch>元素的第二子元素是<datadelivery>元素。 〈datadelivery〉元素是用于編寫關于在切換源和切換目的地中 使用的變量的數(shù)據(jù)映射的信息的元素。這里編寫的 <datadelivery>元素的量對應于要移動的變量的數(shù)量。 〈datadelivery〉元素具有用于切換源和切換目的地的流程處理 描述文檔的targetNamespace作為屬性。包含用于切換源和切換: 目的地的流程處理描述文檔的targetNamespace作為屬性,4吏得 可以指定在切換源和切換目的地的各流程處理描述文檔中定義 變量?!磀atadelivery〉元素具有兩個子元素,即〈source〉元素和 〈target〉元素?!磗ource〉元素指定切換源的變量,并且〈target〉 元素指定切換目的地的變量。
通過讀取出切換定義文檔,切換處理執(zhí)行模塊213識別切換 目的地流程處理描述文檔,從而使能在切換源流程處理與切換 目的地流程處理之間進行數(shù)據(jù)映射。
圖7是示出由流程處理執(zhí)行模塊211進行的流程處理的動態(tài) 切換的處理的流程圖。
首先,在S701,流程處理執(zhí)行才莫塊211執(zhí)行流程處理中的第一處理。在S702,流程處理執(zhí)行模塊211在每次單個處理結 束時判斷是否存在分支點。如果不存在分支點,則該處理進入 S703。在S703,流程處理執(zhí)行模塊211確定該流程處理是否結 束。如果判斷為該流程處理結束,則流程處理執(zhí)行模塊211終止 該流程處理。如果判斷為該流程處理沒有結束,則流程處理執(zhí) 行模塊211返回S701,并執(zhí)行下一處理。這樣,流程處理執(zhí)行 模塊211在判斷是否存在分支點時,逐一執(zhí)行在流程處理描述部 分的執(zhí)行處理描述部分中編寫的處理。如果在S702,流程處理執(zhí)行模塊211判斷為存在分支點, 則在S711,暫停該流程處理。在S712,流程處理執(zhí)行模塊211 將詢問是否切換流程處理的消息傳送到流程處理服務用戶220。 然后,在S713,流程處理執(zhí)行模塊211基于對該消息的響應來 判斷是否實際切換該流程處理。作為在S713判斷的結果,如果 已經發(fā)出了切換該流程處理的指令,則在S714,流程處理執(zhí)行 模塊211重構該流程處理,并動態(tài)切換該流程處理。此后,在S715,流程處理執(zhí)行模塊211再繼續(xù)在S711暫停 的流程處理。相反,如果作為在S713進行判斷的結果沒有發(fā)出 切換指令,則在S715,流程處理執(zhí)行模塊211再繼續(xù)該流程處 理而不執(zhí)行S714的處理。在S715再繼續(xù)該流程處理后,該處理 返回S701,并且流程處理執(zhí)行模塊211執(zhí)行下一處理。圖8是示出流程處理描述文檔的例子的圖。附圖標記8 01表 示以BPEL4WS編寫的流程處理描述文檔。附圖標記802示出流 程處理描述文檔8 01的處理作為流程圖。圖9是示出切換定義文檔的例子的圖。附圖標記901表示使 用XML編寫的切換定義文檔及其專有定義。附圖標記902表示 在切換定義文檔中指定切換目的地流程處理的部分。直接以 BPEL4WS編寫切換目的地流程處理902。附圖標記905示出切換目的地流程處理描述文檔902的處理作為流程圖。附圖標記903 和904表示數(shù)據(jù)映射信息。
圖10是示出在執(zhí)行了從圖8的流程處理802到圖9的流程處 理9 0 5的動態(tài)切換后進行的處理的流程圖。
附圖標記IOIO表示通過對流程圖802設置分支點信息 "process/sequence/invoke[position()二2],,所獲得的、添力口 了切換 分支點的流程圖。在IOIO,流程處理執(zhí)行模塊211從"開始"開始 順次執(zhí)行處理。在該處理到達切換分支點1001時,流程處理執(zhí) 行模塊211將詢問是否切換該流程處理的消息傳送到流程處理 服務用戶220。在接收到該消息時,流程處理服務用戶220傳送 由901指示的切換定義文檔。然后,通過由附圖標記1011指示的 切換處理執(zhí)行模塊來實現(xiàn)由905指示的切換目的地流程處理描 述文檔??蛇x擇地,流程處理執(zhí)行纟莫塊211可以從存儲器逐一讀 取出在流程處理描述部分的執(zhí)行處理描述部分中編寫的處理,
并判斷是否每個讀取出的處理均是由分支點信息指定的處理。 如果該讀取出的處理不是由該分支點信息指定的處理,則流程 處理執(zhí)行模塊211執(zhí)行該讀取出的處理。
在實現(xiàn)了切換目的地流程處理描述文檔后,使用在切換定 義文檔901的〈datadelivery〉元素內編寫的凄史據(jù)映射信息來進行 切換源與切換目的地之間的數(shù)據(jù)映射。具體地,使用數(shù)據(jù)映射 信息項903和904。
在903中編寫的〈source〉元素指定1010使用的Variablell, 并且〈target〉元素指定1011要使用的Variable21。因此,將IOIO 中使用的Variablel 1的值復制到1011中要使用的Variable21的 值。類似地,基于關于〈source〉元素和〈target〉元素的信息904, 將1010中使用的Variablel2的值復制到1011中使用的Variable22 的值。然后,基于流程處理1010和1011,流程處理纟丸行設備210 重構流程處理IOOO。因此,在執(zhí)行流程處理1010期間,動態(tài)切 換流程處理1011。
更具體地,現(xiàn)在以Receive、 Assignll 、 Invokell 、 Assignl2、 Assign21、 Invoke21、 Assign22、 Invoke22和Reply的順序來處 理以Receive、 Assignl 1、 Invokell 、 Assignl2、 Invoke 12和Reply 的順序處理的流程處理。
下面將說明旅行預訂系統(tǒng)的例子。
在該例中,流程處理服務用戶基于流程處理描述文檔使流 程處理運行在流程處理執(zhí)行設備上,從而執(zhí)行該流程處理。
具體地,流程處理服務用戶將包括進行旅行預訂所需的參 數(shù)的流程處理開始消息傳送到流程處理執(zhí)行設備。然后,利用 航班預訂服務,流程處理執(zhí)行設備進行航班預訂。接著,利用 旅館預訂服務,流程處理執(zhí)行設備進行旅館預訂。最后,流程 處理執(zhí)行設備將航班預訂結果和旅館預訂結果傳送到流程處理 服務用戶。
該例子假定流程處理描述文檔不包括調用出租車預訂服務 的描述。
下面將參考圖ll說明流程處理服務用戶220期望在應用了 本實施例的》艮行預訂系統(tǒng)的流程處理中進行出租車預訂的情 況。
如果流程處理服務用戶1210期望進行出租車預訂,則在指 示流程處理執(zhí)行設備1220執(zhí)行流程處理描述文檔1240的同時, 傳送指示流程處理描述文檔1240的"3.發(fā)送結果"的位置的切換 分支點指定信息。在接收到包括該切換分支點指定信息的開始 消息時,流程處理執(zhí)行設備12 2 0在將流程處理描述文檔12 40加 載到存儲器內時,生成包括分支點信息的流程處理定義實體。此后,流程處理執(zhí)行設備1220執(zhí)行,艮據(jù)流程處理描述文檔1240 的流程處理。首先,流程處理執(zhí)行設備1220利用航班預訂服務 1231進行4元班預訂,接著利用旅館預訂服務1232進行旅館預訂。
因此,流程處理執(zhí)行設備122 0將詢問是否切換該流程處理的;肖 息發(fā)送到流程處理i良務用戶1210。
流程處理服務用戶1210傳送進行切換的信息以及切換定義 文檔,該切換定義文檔包括關于流程處理描述文檔1240中處置 的數(shù)據(jù)與流程處理描述文檔1241中要處置的數(shù)據(jù)之間的數(shù)據(jù)映 射的信息。
在接收到該切換定義文檔時,流程處理執(zhí)行設備1220生成 用于流程處理描述文檔1241的流程處理定義實體。然后,流程 處理執(zhí)行設備122 0當執(zhí)行在流程處理描述文檔124 0中編寫的流 程處理時所使用的數(shù)據(jù)與執(zhí)行在流程處理描述文檔12 41中編寫 的流程處理所需的數(shù)據(jù)之間進行數(shù)據(jù)映射。
隨后,流程處理執(zhí)行設備1220將流程處理從在流程處理描 述文檔124 0中編寫的流程處理動態(tài)切換到在流程處理描述文檔 1241中編寫的流程處理,如1250所示。因此,利用出租車預訂 服務1233可以進行出租車預訂。最后,流程處理執(zhí)行設備1220 將包括航班預訂信息、旅館預訂信息以及出租車預訂信息的旅 行預訂結果發(fā)送到流程處理服務用戶1210。
在上述實施例中,使用作為服務鏈接描述語言的BPEL4WS 作為用于編寫流程處理描述文檔的語言,但是也可以采用如 WSCI( Web Service Choreography Interface, Web刀艮務纟扁4非3妾口 ) 等其它服務鏈接描述語言。在這種情況下,選擇使用XML作為 流程處理描述語言的用于We b服務的語言。
圖12是示出應用了本實施例的數(shù)據(jù)輸出系統(tǒng)的結構的圖。如圖12所示,根據(jù)本實施例的整個系統(tǒng)配置有流程處理服務用 戶1300、多功能單色打印機1310、多功能彩色打印機1320以及 數(shù)據(jù)服務器1330。多功能單色打印機1310用作流程處理執(zhí)行設備。
多功能單色打印機1310設置有流程處理執(zhí)行模塊1311、切 換分支點分析模塊1312、切換處理執(zhí)行模塊1313、流程處理描 述文檔存儲單元1314以及單色輸出執(zhí)行單元1315。流程處理執(zhí) 行模塊1311、切換分支點分析模塊1312、切換處理執(zhí)行模塊1313 以及單色輸出執(zhí)行元素1315是由多功能單色打印機1310的CPU 執(zhí)行的程序模塊。流程處理執(zhí)行模塊1311、切換分支點分析模 塊1312以及切換處理執(zhí)行模塊1313具有與流程處理執(zhí)行模塊 211、切換分支點分析模塊212以及切換處理執(zhí)行模塊213的功能 相同的功能。多功能彩色打印機1320設置有彩色輸出執(zhí)行單元 1321,并且數(shù)據(jù)服務器1330設置有布局數(shù)據(jù)存儲元素1331。
現(xiàn)在,利用圖12所示的系統(tǒng)將說明流程處理的動態(tài)切換的 例子。在正常情況下,圖12所示的系統(tǒng)處于可以執(zhí)行圖13所示 流程處理的狀態(tài)。圖13所示的流程處理示出以BPEL4WS編寫的 上述流程處理描述文檔的處理作為流程圖。在正常情況下,流 程處理執(zhí)行模塊1311根據(jù)圖13的流程處理從"開始"開始順次執(zhí) 行處理。
首先,流程處理執(zhí)行模塊1311接收來自流程處理服務用戶 1300的消息作為接收處理(S1401 )。然后,流程處理執(zhí)行模塊 1311將存儲在接收到的消息中的數(shù)據(jù)存儲在變量中(S1402 )。
隨后,流程處理執(zhí)行模塊1311從數(shù)據(jù)服務器1330獲取布局 數(shù)據(jù)(S1403),并將從數(shù)據(jù)服務器1330獲取的數(shù)據(jù)存儲在變量中 (S1404 )。
然后,流程處理執(zhí)行模塊1311基于存儲在變量中的數(shù)據(jù)來創(chuàng)建頁面布局(S1405 )。接著,流程處理執(zhí)行模塊1311將所生 成的頁面輸出到多功能單色打印機1310的屏幕(S1406 ),并利 用多功能單色打印才幾1310來打印出該頁面(S1407 )。最后,流 程處理執(zhí)行模塊1311將應答發(fā)送到流程處理服務用戶1300作為 應答處理(S1408 )。
通常,在每次進行請求時,通過調用圖13所示的流程處理 來實現(xiàn)服務。下面說明了進行用于利用多功能彩色打印機來輸 出輸出結果的臨時請求的情況。
在根據(jù)本實施例的系統(tǒng)中,不需要為了臨時改變而準備包
括利用多功能彩色打印機進行打印處理的新的流程處理描述文 檔。也不需要改變圖13所示的流程處理。下面將說明用于在根 據(jù)本實施例的系統(tǒng)中臨時切換到彩色輸出的方法。
在才艮據(jù)本實施例的系統(tǒng)中,首先,在流程處理服務用戶1300
傳送調用圖13所示流程處理的流程處理調用消息的同時,傳送 切換分支點信息。具體地,在該例中,有必要在利用多功能單 色打印機1310進行輸出處理之前切換該流程處理。由于該原因, 傳送圖14所示的流程處理調用消息?;谠诜种c信息描述部 分中編寫的"process/sequence/invoke[position()=4],,, 以與上述 相同的方式來進行切換分支點分析,并指定圖15所示的切換分 支點1600。注意,在圖15中,以與圖13的方式相同的方式,#1 行與圖13中的附圖標記相同的附圖標記的處理步驟。
此后,由設置在多功能單色打印機1310中的流程處理執(zhí)行 模塊1311來順次執(zhí)行處理,直到該處理到達切換分支點為止。 在該處理到達切換分支點1600時,流程處理執(zhí)行模塊1311暫停 正執(zhí)行的流程處理,并詢問流程處理服務用戶1300是否切換該 流程處理。
如果流程處理服務用戶1300期望將該流程處理從單色輸出臨時切換到彩色輸出,則流程處理服務用戶1300將切換該流程
處理的指令和流程處理切換定義文檔傳送到切換處理執(zhí)行模塊
1313。在如圖6所示配置的流程處理切換定義文檔中,切換目的 地流程處理信息描迷部分指定如下流程處理描述文檔在該流 程處理描述文檔中,編寫包括使用多功能彩色打印機進行輸出 的步驟和返回響應的步驟的流程處理。然后,基于流程處理切 換定義文檔的數(shù)據(jù)映射信息描述部分,在切換源流程處理文檔 與切換目的地流程處理文檔之間進行數(shù)據(jù)映射處理。
此后,切換處理執(zhí)行模塊1313將切換目的地流程處理傳達 到流程處理執(zhí)行模塊1311 。通過將在暫停切換源流程處理之前 已經完成的存儲樹與切換目的地流程處理的存儲樹鏈接,已經 接收到該切換目的地流程處理的流程處理執(zhí)行模塊1311重構該 流程處理。然后,流程處理執(zhí)行模塊1311再繼續(xù)所暫停的流程 處理。這樣完成了該流程處理的動態(tài)切換。
圖16是示出在執(zhí)行流程處理的動態(tài)切換后進行的處理的流 程圖。
由于動態(tài)切換該流程處理,因此流程處理執(zhí)行模塊1311接 收來自流程處理服務用戶1300的消息作為接收處理(S1801 )。 由流程處理執(zhí)行模塊131 l執(zhí)行的后續(xù)步驟,即從S 1802到S1805 的步驟與圖13的步驟S1402到S1405相同。
流程處理執(zhí)行模塊1311將生成的頁面輸出到多功能單色打 印機1310的屏幕上(S1806 ),對該流程處理寺丸行動態(tài)切換處理 (S1807 ),并利用多功能彩色打印機1320來打印出所生成的頁 面(S1808)。最后,流程處理執(zhí)行模塊1311將應答返回至流程 處理服務用戶1300作為應答處理(S1809 )。如上所述,在正常 情況下僅能向多功能單色打印機進行輸出的流程處理中,可以 將結果臨時輸出到多功能彩色打印機。在上述的實施例中,使用作為服務鏈接描述語言的
BPEL4WS作為用于編寫流程處理描述文檔的語言,但是也可以 4吏用^口WSCI ( Web Service Choreography Interface, Web月l務纟扁 排接口 )等其它服務鏈接描述語言。在這種情況下,選擇使用 XML作為流程處理描述語言的用于Web服務的語言。
上述實施例使得可以切換到在流程處理描述文檔中沒有編 寫的流程處理。因此,不需要像傳統(tǒng)技術那樣,在單個流程處 理描述文檔內編寫所有流程處理。因此,僅需要準備包括更多 相關處理的幾個流程處理描述文檔,因此,更容易再利用流程 處理的一部分。
在由于流程處理描述文檔的編寫者和用戶不同而不能改變 流程描述的情況下,本發(fā)明也有效,例如,在鏈接并執(zhí)行了多 個流程處理時。根據(jù)本發(fā)明,可以在任何時間之后在流程處理 中設置切換分支點,并且可以對任意流程處理指定切換目的地, 因此,用戶可以改變該流程處理自身,而無需重寫流程處理描 述文檔,從而提高了流程處理的利用率。
應該注意,通過對系統(tǒng)或者設備提供記錄了用于實現(xiàn)上述 實施例的功能的軟件程序代碼的記錄介質以及加載并執(zhí)行存儲 在該記錄介質中的程序代碼的該系統(tǒng)的計算機等,也可以實現(xiàn) 本發(fā)明的目的。
在這種情況下,從該記錄介質加載的程序代碼本身實現(xiàn)上 述實施例的功能,而且本發(fā)明由程序代碼本身和存儲了該程序 代碼的記錄介質配置成。
可以用于提供程序代碼的記錄介質的例子包括軟盤、硬盤、 光盤、磁光盤、CD-ROM、 CD-R、磁帶、非易失性存儲卡以及 ROM。
如下情況也包括在本發(fā)明的范圍中運行在計算機上的操作系統(tǒng)(OS)等根據(jù)該由計算機加載的程序代碼的指令來進行實際處理的部分或者全部,而且通過該處理可以實現(xiàn)上述實施 例的功能。此外,本發(fā)明還可以應用于如下情況將/人該記錄介質加 載的程序代碼寫入設置在連接到該計算機的功能擴充單元等上 的存儲器內,CPU等根據(jù)該程序代碼的指令執(zhí)行實際處理,并 且利用該處理實現(xiàn)上述實施例的功能。通過如因特網等的通信介質將該程序代碼提供到計算機的 配置也包括在本發(fā)明的范圍內。盡管已經參考典型實施例說明了本發(fā)明,但是應該理解, 本發(fā)明不限于所公開的典型實施例。所附權利要求書的范圍符 合最寬的解釋,以包含所有這類修改、等同結構和功能。
權利要求
1.一種流程處理執(zhí)行方法,其執(zhí)行、停止并再繼續(xù)流程處理,所述流程處理執(zhí)行方法包括接收用于指定在第一流程處理描述文檔中的位置的指令的步驟;停止步驟,用于在執(zhí)行根據(jù)所述第一流程處理描述文檔的流程處理期間,在處理到達所指定位置時,停止根據(jù)所述第一流程處理描述文檔的流程處理;以及再繼續(xù)步驟,用于根據(jù)第二流程處理描述文檔,再繼續(xù)已停止的流程處理。
2. 根據(jù)權利要求l所述的流程處理執(zhí)行方法,其特征在于, 所述停止步驟包括如下步驟在執(zhí)行根據(jù)所述第 一 流程處理描 述文檔的流程處理期間,在處理到達所指定位置時,接收所述 第二流程處理描述文檔。
3. 根據(jù)權利要求l所述的流程處理執(zhí)行方法,其特征在于, 所述停止步驟包括如下步驟在執(zhí)行根據(jù)所述第 一 流程處理描 述文檔的流程處理期間,在處理到達所指定位置時,選擇是繼 續(xù)根據(jù)所述第 一 流程處理描述文檔的流程處理,還是切換到根 據(jù)所述第二流程處理描述文檔的流程處理。
4. 根據(jù)權利要求l所述的流程處理執(zhí)行方法,其特征在于, 所述再繼續(xù)步驟包括如下步驟在根據(jù)所述第 一 流程處理描述 文檔的流程處理中處置的數(shù)據(jù)與在根據(jù)所述第二流程處理描述 文檔的流程處理中處置的數(shù)據(jù)之間進行映射。
5. —種流程處理執(zhí)行設備,其具有執(zhí)行部件,所述執(zhí)行部 件用于執(zhí)行根據(jù)流程處理描述文檔的流程處理,所述流程處理 執(zhí)行設備包括接收部件,用于接收指定在第一流程處理描述文檔中的位 置的指令,其中,所述執(zhí)行部件在執(zhí)行根據(jù)所述第一流程處理描述文 檔的流程處理期間,在處理到達所指定位置時,停止根據(jù)所述 第 一 流程處理描述文檔的流程處理,并根據(jù)第二流程處理描述 文檔來再繼續(xù)該已停止的流程處理。
6. 根據(jù)權利要求5所述的流程處理執(zhí)行設備,其特征在于, 在執(zhí)行根據(jù)所述第一流程處理描述文檔的流程處理期間,在處 理到達所指定位置時,所述接收部件接收所述第二流程處理描 述文檔。
7. 根據(jù)權利要求5所述的流程處理執(zhí)行設備,其特征在于, 在執(zhí)行根據(jù)所述第一流程處理描述文檔的流程處理期間,在處 理到達所指定位置時,所述接收部件接收是繼續(xù)基于所述第一 流程處理描述文檔的流程處理還是切換到基于所述第二流程處 理描述文檔的流程處理的選擇。
8. 根據(jù)權利要求5所述的流程處理執(zhí)行設備,其特征在于, 所述執(zhí)行部件在根據(jù)所述第 一 流程處理描述文檔的流程處理中 處置的數(shù)據(jù)與在根據(jù)所述第二流程處理描述文檔的流程處理中 處置的數(shù)據(jù)之間進行映射。
全文摘要
本發(fā)明涉及一種流程處理執(zhí)行方法和設備。流程處理執(zhí)行設備接收用于指定在第一流程處理描述文檔中的位置的指令。在執(zhí)行根據(jù)第一流程處理描述文檔的流程處理期間,在處理到達所指定位置時,流程處理執(zhí)行設備停止根據(jù)第一流程處理描述文檔的流程處理,并根據(jù)第二流程處理描述文檔來再繼續(xù)已停止的流程處理。
文檔編號G06Q10/00GK101320452SQ20081011080
公開日2008年12月10日 申請日期2008年6月10日 優(yōu)先權日2007年6月7日
發(fā)明者月川剛德 申請人:佳能株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
海林市| 武山县| 闸北区| 丹凤县| 德令哈市| 鄂托克前旗| 拉孜县| 灵璧县| 福鼎市| 长寿区| 昌平区| 大丰市| 大竹县| 绥阳县| 沅陵县| 内黄县| 盘锦市| 敦煌市| 遂宁市| 寿光市| 西安市| 且末县| 民丰县| 白山市| 咸宁市| 大竹县| 卫辉市| 江源县| 吴忠市| 正阳县| 若尔盖县| 白沙| 博湖县| 洛阳市| 嘉定区| 平邑县| 云阳县| 永春县| 泰宁县| 白城市| 准格尔旗|