專利名稱:數(shù)據(jù)處理系統(tǒng)和方法
技術領域:
本發(fā)明涉及一種數(shù)據(jù)處理系統(tǒng)和方法。
設計實現(xiàn)商務系統(tǒng)的計算機軟件始終是一項非常復雜又困難的任務,它需要一支具有綜合技能的隊伍,例如具有系統(tǒng)分析員的各種技能,以便對將要執(zhí)行的或當前正在執(zhí)行的商務過程提出或進行詳細的分析。然后,一般將該分析結果傳送給一組程序員,由他們制作必要的代碼或軟件,以實現(xiàn)商務系統(tǒng)或過程。
應該理解,用諸如Visual Basic等計算機語言或諸如C++等面向對象的語言對軟件編碼需要大量的技能和知識。這類任務由精通相關語言的程序員來承擔。
盡管就制作軟件或編寫軟件而論,一個計算機程序員可以具備相當多的技能和知識,但這并不意味著計算機程序員對將用此軟件實現(xiàn)的商務過程也具有深刻和全面的理解。在各種原因中,正因為這個原因,設計和生產(chǎn)計算機軟件要化費比最初預期更長的時間。
另外,如果系統(tǒng)分析員或計算機程序員對將要執(zhí)行的商務過程缺乏了解,那么還會導致錯誤編碼,或者導致軟件不能滿足商務要求。
對于非常大且復雜的商務過程,通常需要雇傭一組計算機程序員來完成系統(tǒng)分析員規(guī)定的設計要求。再一次,它要求程序員之間或者項目主管所實行的控制之間相當諧調,以保證每個計算機程序員所寫的各種模塊或對象相互作用,并以預期的方式與編程組中其他組員編寫的各種對象或模塊協(xié)作。最終結果是,如此開發(fā)或編寫的計算機軟件也許不能滿足商人的商務要求。
如上所述,計算機軟件的實際編碼總是要求詳細了解某一特定編程語言、相關的編譯程序及其鏈接程序。顯然,每個商人與其編程能力無關,他們不可能去關心計算機軟件的編碼細節(jié);這不是對時間的有效利用。設計商務過程的商人不必精通任何特定的計算機語言。因此,商人必須與系統(tǒng)分析員和計算機程序員組保持聯(lián)系,以便用計算機處理其商務過程。
另外,許多軟件應用是用一個大的程序來實現(xiàn)的,該程序可以滿足或試圖商人的所有要求。這類大的或單體的軟件實體具有以下缺點當所執(zhí)行的商務過程改變時,難以修改。任何這種改變都要求對軟件作相應的修改。變化可以是多方面的,并可以表現(xiàn)為資金資源和人力資源的嚴重耗費。
上述問題是由單體程序的不變性造成的。已試圖通過以下方式來解決上述問題,即提供一個大的程序,該程序包含軟件開關,或標志,用以確定能執(zhí)行程序的哪些部分。但是,并非經(jīng)常能記住用這種可變方式來設計軟件。另外,不能根本改變軟件各組成部分的執(zhí)行次序。
C++之類面向對象的編程語言試圖增加或改進軟件或軟件成分的適應性和再使用性。本領域的技術人員熟習如何操作軟件對象。可以安排每個對象以執(zhí)行一個特定的任務。諸對象用基于信息的變化例相互作用,也就是說,在諸對象之間傳遞信息,以調用接收該信息的對象的方法。對象之間的這種配置和相互作用可以達到軟件的最終目的。
在對象之間傳遞這種信息或參數(shù)要求調用或發(fā)射對象來知道被調用或接收對象的參數(shù)列表結構。顯然,如果需要改變對象的執(zhí)行次序,那么就必須相應地改變每個對象的參數(shù)定義。這種改變會再次表現(xiàn)出要求進行大規(guī)模重新開發(fā)的努力嘗試。
本發(fā)明的一個目的是,緩解現(xiàn)有技術中的問題。
因此,本發(fā)明的第一方面是提供一種用于處理數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)或對數(shù)據(jù)處理系統(tǒng)進行配置的方法,所述數(shù)據(jù)處理系統(tǒng)包括用于存儲多個可執(zhí)行實體的存儲器、用于為可執(zhí)行實體中可選實體建立執(zhí)行次序的裝置,以及根據(jù)所述次序執(zhí)行所選可執(zhí)行實體但不修改所述被選可執(zhí)行實體的裝置,所述方法包括以下步驟將多個可執(zhí)行實體存儲在所述存儲器中;為所述可執(zhí)行實體中可選擇的實體建立執(zhí)行次序;并且根據(jù)所述次序執(zhí)行所述可執(zhí)行實體中的可選擇實體,但不修改所述可執(zhí)行實體。
該數(shù)據(jù)處理系統(tǒng)和方法有利于生產(chǎn)規(guī)??勺兦铱膳渲玫纳虅哲浖?,不需要商人具備任何關于計算機編程語言方面的知識。
本發(fā)明的一較佳實施例提供了一種用于配置數(shù)據(jù)處理系統(tǒng)的方法,所述數(shù)據(jù)處理系統(tǒng)包括多個可執(zhí)行實體,用于存儲多個可執(zhí)行實體的存儲器,用于為多個可執(zhí)行實體產(chǎn)生圖形表示的顯示裝置,用于執(zhí)行所述可執(zhí)行實體的裝置,用于從所述多個可執(zhí)行實體中選擇可選實體以供執(zhí)行的輸入裝置,所述方法包括以下步驟顯示所述多個可執(zhí)行實體,選擇兩個可執(zhí)行實體以供執(zhí)行,為兩個可執(zhí)行實體建立執(zhí)行次序,以及根據(jù)所述次序執(zhí)行所述兩個可執(zhí)行實體,但不修改所述兩個可執(zhí)行實體。
本發(fā)明的另一個特征是提供一種方法,該方法還包括以下步驟在所述存儲器內(nèi)建立一數(shù)據(jù)結構,所述被選的可執(zhí)行實體通??梢栽L問所述數(shù)據(jù)結構,所述數(shù)據(jù)結構被安排成允許所述被選可執(zhí)行實體向其中存儲和從中檢索任何數(shù)據(jù)對象,并且/或者允許在所述被選可執(zhí)行實體之間間接交換數(shù)據(jù)。
本發(fā)明的又一個特征是提供一種方法,在該方法中,所述數(shù)據(jù)處理系統(tǒng)還包括一用于激活執(zhí)行多個可執(zhí)行實體的執(zhí)行引擎,并且執(zhí)行可執(zhí)行實體的步驟還包括下述步驟向所述多個可執(zhí)行實體中的每個可執(zhí)行實體提供一個公共界面,用于激活執(zhí)行可執(zhí)行實體,并且通過所述執(zhí)行引擎,利用所述公共界面來激活執(zhí)行所述兩個可執(zhí)行實體。
本發(fā)明的第二方面是提供一種數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括用于存儲多個可執(zhí)行實體的存儲器、用于為可執(zhí)行實體中的可選擇實體建立執(zhí)行次序的裝置,以及用于根據(jù)所述次序執(zhí)行所選可執(zhí)行實體但不修改所述被選可執(zhí)行實體的裝置。
本發(fā)明第二方面的一個特征是提供一種數(shù)據(jù)處理系統(tǒng),該系統(tǒng)還包括用于在所述存儲器內(nèi)建立一數(shù)據(jù)結構的裝置,所述被選的可執(zhí)行實體通??梢栽L問所述數(shù)據(jù)結構,所述數(shù)據(jù)結構被安排成允許所述被選可執(zhí)行實體向其中存儲和從中檢索任何數(shù)據(jù)對象,并且/或者允許在所述被選可執(zhí)行實體之間間接交換數(shù)據(jù)。
最好,本發(fā)明提供一種數(shù)據(jù)處理系統(tǒng),用于配置所述數(shù)據(jù)處理系統(tǒng)的控制裝置,所述控制裝置包括多個可執(zhí)行實體,用于存儲多個可執(zhí)行實體的存儲器,用于為多個可執(zhí)行實體產(chǎn)生圖形表示的顯示裝置,用于執(zhí)行所述可執(zhí)行實體的裝置,用于從所述多個可執(zhí)行實體中選擇可選實體以供執(zhí)行的輸入裝置,系統(tǒng)包括用于在所述顯示裝置上顯示所述多個可執(zhí)行實體的圖形表示的裝置,用于至少選擇兩個可執(zhí)行實體以供執(zhí)行的裝置,用于為所述至少兩個可執(zhí)行實體建立執(zhí)行次序的裝置,以及用于根據(jù)所述次序執(zhí)行所述至少兩個可執(zhí)行實體但不修改所述至少兩個可執(zhí)行實體的裝置。
本發(fā)明還提供了一數(shù)據(jù)處理系統(tǒng),該系統(tǒng)還包括一用于激活執(zhí)行所述多個可執(zhí)行實體的執(zhí)行引擎,并且每個所述多個可執(zhí)行實體都包括具有公共格式的各自界面,并且用于執(zhí)行所選可執(zhí)行實體的所述裝置使用可執(zhí)行實體各自的界面。
本領域熟練技術人員應該理解,用該軟件預選安裝計算機硬盤驅動器或者用其他磁性存儲媒體(諸如軟盤),都會影響軟件的分布。另外,還可將CD-ROM用作軟件的分布裝置。
因此,本發(fā)明的第三個方面提供了一種計算機程序產(chǎn)品,該產(chǎn)品用于處理數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)或對數(shù)據(jù)處理系統(tǒng)進行配置,所述數(shù)據(jù)處理系統(tǒng)包括用于存儲多個可執(zhí)行實體的存儲器、用于為可執(zhí)行實體中可選實體建立執(zhí)行次序的裝置,以及根據(jù)所述次序執(zhí)行所選可執(zhí)行實體但不修改所述被選可執(zhí)行實體的裝置,所述計算機程序產(chǎn)品包括用于存儲多個可執(zhí)行實體的計算機可讀程序代碼裝置,用于為所述可執(zhí)行實體中可選擇的實體建立執(zhí)行次序的計算機可讀程序代碼裝置,和根據(jù)所述次序用于執(zhí)行所述可執(zhí)行實體中的可選擇實體,但不修改所述可執(zhí)行實體的計算機可讀程序代碼裝置。
最好,本發(fā)明的又一方面提供一種計算機程序產(chǎn)品,該產(chǎn)品還包括用于在所述存儲器內(nèi)建立一數(shù)據(jù)結構的計算機可讀程序代碼裝置,所述被選的可執(zhí)行實體通常可以訪問所述數(shù)據(jù)結構,所述數(shù)據(jù)結構被安排成允許所述被選可執(zhí)行實體向其中存儲和從中檢索任何數(shù)據(jù)對象,并且/或者允許在所述被選可執(zhí)行實體之間間接交換數(shù)據(jù)。
本發(fā)明又一方面的一個特征是提供一種計算機程序產(chǎn)品,其中所述數(shù)據(jù)處理系統(tǒng)還包括一用于激活執(zhí)行所述多個可執(zhí)行實體的執(zhí)行引擎,并且用于至少執(zhí)行所述可執(zhí)行實體的所述計算機可讀程序代碼裝置包括用于向所述多個可執(zhí)行實體提供一個各自的公共界面的計算機可讀程序代碼裝置,用以激活執(zhí)行可執(zhí)行實體,和利用所述公共界面激活執(zhí)行所述可執(zhí)行實體的計算機可讀程序代碼裝置。
在以后敘述的權利要求書中,將定義本發(fā)明的其他特征。
現(xiàn)在參照附圖,僅通過舉例來描述本發(fā)明的各實施例。
圖1示出了適用于執(zhí)行本發(fā)明實施例的計算機系統(tǒng);圖2a至2c示意性地示出了依照現(xiàn)有技術的計算機軟件的結構和工作情況;圖3示意性地示出了通過電視銷售商務過程,本發(fā)明一實施例的工作情況;圖4示意性地示出了依照一實施例的可執(zhí)行實體的一般結構;圖5示意性地示出了本發(fā)明的功能部件,以及操作系統(tǒng)和網(wǎng)絡軟件;圖6示出了依照一實施例的商務過程的圖形表示;圖7顯示一對話框,示出了時間表信息;和圖8顯示一對話框,示出了用戶路徑選項。
參照圖1,該圖是一方框圖,舉例示出了本領域公知的計算機系統(tǒng)10。此計算機系統(tǒng)包括32位處理器14和系統(tǒng)總線12。與系統(tǒng)總線12相連的是中央處理器(CPU)14,例如Intel 80486或Pentium微處理器。CPU 14通過系統(tǒng)總線與其他連到系統(tǒng)總線的設備交換數(shù)據(jù)??偩€控制器16控制總線上的通信量,而中斷控制器18處理由其余設備產(chǎn)生的中斷,并相應地通知CPU 14。
只讀存儲器(ROM)20是非易失性存儲器,用于存儲加電測試過程和基本輸入-輸出系統(tǒng)(BIOS或ROM-BIOS)。系統(tǒng)存儲器22是一隨機存取存儲器,其中裝有一操作系統(tǒng),用于執(zhí)行計算機應用軟件,所述操作系統(tǒng)最好是32位多任務操作系統(tǒng),諸如IBM OS2/WARP或Windows NT,能夠支持并發(fā)進程或多并行線程。與系統(tǒng)總線12相連的計算機10的附加硬件部分包括存儲控制器24和系統(tǒng)配置存儲器26,其中系統(tǒng)配置存儲器26由隨機存取存儲器(RAM)提供。
輔助數(shù)據(jù)存儲由外圍控制器和相關的存儲設備來完成,它們包括軟盤或磁盤控制器28和驅動器30、硬盤驅動控制器32和硬盤驅動設備34,以及帶有CD ROM驅動器38的激光盤(CD)ROM控制器36。SVGA控制器40包括RAM緩沖器44,緩沖器44中存儲有當前幀,供以后顯示在顯示設備上。在一些計算機中,可以從系統(tǒng)存儲器22或輔助存儲控制器直接裝載緩沖器44。
直接存儲器存取(DMA)控制器46處理負責輔助存儲設備或其它輸入輸出設備與系統(tǒng)存儲器22之間的數(shù)據(jù)傳遞,不需要與CPU14相互作用。鍵盤控制器48向鍵盤50提供一個界面,用于用戶輸入,并且可以用來提供大型界面。并行控制器52是關于輸入或輸出設備(例如,通過并行電纜與計算機10相連的打印機)的設備控制器。參照圖5,該圖示意性地示出了本發(fā)明的功能部件,以及操作系統(tǒng)和網(wǎng)絡軟件。
參照圖2a,該圖示意性地示出了傳統(tǒng)計算機軟件的結構和工作情況。諸如遠程銷售過程等商務過程200包括多個可執(zhí)行的實體202至208,每個可執(zhí)行實體執(zhí)行遠程銷售商務過程200的一個特定功能。例如,第一可執(zhí)行實體202允許軟件用戶選擇或輸入客戶信息。第二可執(zhí)行實體204允許用戶輸入與客戶要求的物品或服務相關的定購線路或定購信息。定購線路可以包含用于識別預購項目的項目代碼、項目描述以及將分派或定購的項目數(shù)量。第三可執(zhí)行實體206用于輸入與各種定貨相關的費用信息,而最后的可執(zhí)行實體208完成定購操作。
為了能夠與相鄰的可執(zhí)行實體相互作用,每個可執(zhí)行實體相互間傳遞參數(shù)P1至P6。因此,母可執(zhí)行實體,例如可執(zhí)行實體202,必須知道子可執(zhí)行實體204需要哪些參數(shù),以便后者進行正確的執(zhí)行。
應該理解,如果需要修改遠程銷售過程的處理次序,那么就要對軟件,特別是對在可執(zhí)行實體之間傳遞的參數(shù)或界面作較大的改動。例如,如果在執(zhí)行商務過程時包括以下二個可執(zhí)行實體,一個實體要求與定購物品的運送地址相關的信息,另一個實體要求與相應運送費相關的信息,并且商務過程按此次序執(zhí)行,然后必須或希望改變處理次序,以便在輸入運送地址之前確定運送費,那么必須保證諸如“選擇運送費”之類的可執(zhí)行實體將參數(shù)傳送給可執(zhí)行實體“選擇運送地址”。例如,可以用現(xiàn)有系統(tǒng)將運送地址的指示傳送給需要或確定運送費的函數(shù)。
還可以要求改變可執(zhí)行實體的方法。
一般,在面向對象的環(huán)境內(nèi)對軟件重新排序或重新構造存在特殊的困難。參照圖2b,該圖示意性地示出了子類210和212對于母類214的繼承性和派生。必須確定各對象之間的界面I12和I23,以便通過界面I12和I23將數(shù)據(jù)傳送給對象的各層。不可能按照圖2c重新排列對象,在圖2c中,母對象216是對象2,派生對象218和220分別是對象3和對象1,但類定義和這些對象之間的界面I32和I13沒有改變,也就是說,不改變且不重新編譯基礎代碼。
參照圖3,該圖示意性地示出了依照本發(fā)明的遠程銷售商務過程300,它包括多個可執(zhí)行實體302至308和一個參數(shù)區(qū)或對象310,其中參數(shù)區(qū)或對象310用于存儲由可執(zhí)行實體302至308產(chǎn)生和/或操作的數(shù)據(jù)。可執(zhí)行實體302至308的執(zhí)行次序構成了遠程銷售商務過程300,可以很容易改變該次序,且不需要伴隨地改變可執(zhí)行實體302至308。
可執(zhí)行實體是自含的,并且包括容易運行且不需要進一步編譯的方法,或者另一種情況是,如果已使用一種解釋語言,則包括容易立即解釋的方法。可執(zhí)行實體可以是,但不局限于一個對象、一個函數(shù)、另一種自含式程序或DLL任務。
對象或可執(zhí)行實體包括多個單元。每個單元具有唯一的、與其相關的標識代碼。
以下,表2示出了一可執(zhí)行實體實施例的偽碼。
DLL名類名;唯一標識符執(zhí)行 ;用于調用實體的執(zhí)行方法預覽 ;用于測試的預覽方法其他方法 ;從“執(zhí)行”中調用的方法,用于確定各實體的行為。
表2DLL名表示動態(tài)鏈接庫,它包含對象或可執(zhí)行實體的類定義?!皥?zhí)行”表示與可執(zhí)行實體的界面。對于所有可執(zhí)行實體,界面具有共同的格式,以便表示調用或執(zhí)行可執(zhí)行實體的一致方式。“預覽”允許利用不負責的測試數(shù)據(jù)并獨立于任何其它實體孤立地執(zhí)行一實體。“執(zhí)行”調用“其它方法”,并且進一步定義對象的行為。
應該理解,在分布式系統(tǒng)中,可執(zhí)行實體可以不全部駐留在單個服務器或機器上。因此,可以實現(xiàn)這樣一種實施例,在該實施例中,可執(zhí)行實體類定義的唯一標識符還包括服務器的指示,在該服務器上駐留著包含類定義的DLL。
每個對象在執(zhí)行時至少返回許多終態(tài)中的一個。終態(tài)表示相關對象的執(zhí)行結果,并且確定在該可執(zhí)行實體之后進行哪些執(zhí)行路徑。這在整理可執(zhí)行實體的整個商務過程中,管理了控制流。
例如,可以向用戶呈現(xiàn)一對話框,該對話框包含許多選項,并邀請選擇一個選項。終態(tài)由被選項確定,并因此確定下一個要執(zhí)行的可執(zhí)行實體。
另外,每個可執(zhí)行實體具有一個相關的連接陣列。每個終態(tài)存在一個連接或鏈接。
大多數(shù)可執(zhí)行實體的執(zhí)行可以獨立于任何其余的可執(zhí)行實體。
每個可執(zhí)行實體通過參數(shù)區(qū)310訪問正確操作所需的數(shù)據(jù)。參數(shù)區(qū)是可擴展的數(shù)據(jù)結構,可以向該數(shù)據(jù)結構增加、更新或刪除各種大小和類型的數(shù)據(jù)或對象。利用稱為New Collection的Visual Basic命令動態(tài)地創(chuàng)建參數(shù)區(qū)310。此命令的操作是本領域公知的,并且在MicroSoft Visual Basic第4版聯(lián)機參考手冊中有進一步的詳細描述,其整個內(nèi)容通過參考引用包括在此。
參數(shù)區(qū)310包括多個輸入312。每個輸入包含一個標識字段,用該字段可以識別參數(shù)P1至P6,并由此可以訪問相應的值A至F。
可執(zhí)行實體通過用Visual Basic函數(shù)Get Parameter調用參數(shù)區(qū),訪問與一參數(shù)相關的值,其中Get Parameter函數(shù)將參數(shù)標識符用作一密鑰。Get Parameter函數(shù)返回與該參數(shù)或密鑰相關的值。
例如,如果可執(zhí)行實體O3要求訪問與參數(shù)P4相關的值D,那么對參數(shù)區(qū)310的調用將規(guī)定“P4”為參數(shù)。參數(shù)區(qū)310把參數(shù)P4的相關值D返回給調用的可執(zhí)行實體O3。
諸如由遠程銷售過程300定義的商務過程,其可執(zhí)行實體302至308通??梢栽L問該參數(shù)區(qū)。可以看出,可執(zhí)行實體并不按照常規(guī)的編程方法或根據(jù)常規(guī)的面向對象的技術,直接交換數(shù)據(jù)。依照本發(fā)明的可執(zhí)行實體通過可普遍訪問的參數(shù)區(qū)間接地交換數(shù)據(jù)。因此,不再要求在可執(zhí)行實體之間傳遞參數(shù)。
作為在可執(zhí)行實體之間間接交換數(shù)據(jù)的結果,改變可執(zhí)行實體的執(zhí)行次序或順序不一定對應于改變可執(zhí)行實體。這與現(xiàn)有技術中所用的的直接界面和參數(shù)傳遞技術相反。
在一實施例中,最好提供一執(zhí)行引擎,該執(zhí)行引擎依照由各鏈接規(guī)定的執(zhí)行次序來激活執(zhí)行多個可執(zhí)行實體。
執(zhí)行引擎為每次請求或每例可執(zhí)行實體建立一標識符或句柄。用該句柄或標識符被用來訪問和激活執(zhí)行可執(zhí)行實體的方法。
將可執(zhí)行實體作為“Visual Basic對象”來執(zhí)行。執(zhí)行引擎“ExecuteElemen.Execute”調用諸對象的方法,這里假定一例對象稱為“ExecuteElement”,而對象的方法稱為“執(zhí)行”。
利用“Visual Basic收集對象”設備來執(zhí)行一商務過程?!笆占瘜ο蟆笨梢詮妮^簡單的可執(zhí)行實體產(chǎn)生一復雜的實體。本領域的技術人員容易理解“VisualBasic收集對象”的工作情況,并且Visual Basic第4版聯(lián)機參考手冊對此有進一步的描述。也可以利用一“收集對象”來實現(xiàn)參數(shù)區(qū)。另一種方法是,利用一簡單的兩維陣列和用于搜索該陣列以便從中檢索數(shù)據(jù)的裝置,來實現(xiàn)參數(shù)區(qū)。
每個可執(zhí)行實體內(nèi)的“執(zhí)行”方法激活執(zhí)行該對象,并允許可執(zhí)行實體將公共的界面結構提供給執(zhí)行引擎。
由于商務過程的每個對象提供了公共的界面結構,所以執(zhí)行引擎可以激活執(zhí)行獨立于該對象所執(zhí)行的功能的所有或任何對象。
另外,由于參數(shù)區(qū)存儲了可執(zhí)行實體或其方法所需的數(shù)據(jù),所以執(zhí)行引擎不需要將這些數(shù)據(jù)或參數(shù)傳遞給可執(zhí)行實體。
另外,由于使用外部或分立的數(shù)據(jù)或參數(shù)區(qū)(即,Visual Basic的收集對象)可以免除在諸對象之間傳遞參數(shù),所以不必直接在可執(zhí)行實體之間傳遞參數(shù)。
可以將一可執(zhí)行實體與其它多個可執(zhí)行實體相連,或由它們邏輯地跟隨。根據(jù)當前可執(zhí)行實體的執(zhí)行結果確定下一個要執(zhí)行的實體。每個可執(zhí)行實體在結束時產(chǎn)生一個終態(tài),表示下一個應執(zhí)行哪些可執(zhí)行實體,也就是說,該終態(tài)標識一條鏈路,導向下一個將被執(zhí)行的可執(zhí)行實體。終態(tài)可以是一個簡單的數(shù)字,或者更普通的,可以是一個列舉類型的單元。
每條鏈路具有一個與其相關的標識符,并且每個可執(zhí)行實體包含一個數(shù)據(jù)結構,諸如鏈表或鏈式陣列,該數(shù)據(jù)結構包括從中導出的鏈路標識符。執(zhí)行引擎根據(jù)返回或所產(chǎn)生的終態(tài)來控制處理流。在一些情況下,可執(zhí)行實體可以為數(shù)據(jù)處理系統(tǒng)的用戶提供一對話框,該對話框要求用戶至少從多個較佳進程中選擇一個進程。然后,輸入內(nèi)容確定了緊跟著的鏈接,并由此確定下一個將被執(zhí)行的可執(zhí)行實體。
可以理解,一個商務過程包括多個可執(zhí)行實體,所有可執(zhí)行實體相互連接,形成可執(zhí)行實體的一個復雜圖形或網(wǎng)絡。執(zhí)行商務過程最好應從圖形中的第一個實體開始。起始實體與其類型表示相關。實體類型包括“起始”和“結束”類型,它們分別表示相關的實體是商務過程的第一或起始實體,或商務過程的結束或終結實體。
一旦執(zhí)行引擎位于起始節(jié)點或實體上,就可以開始執(zhí)行該起始實體,以及整個商務過程。
同樣,在貫穿被連接實體的圖形的一條可能的執(zhí)行路徑中,最后的可執(zhí)行實體載有一個標識符,該標識符指定該可執(zhí)行實體為結束或終結實體。應該理解,可執(zhí)行實體的圖形將至少具有一個終結節(jié)點,并且在許多情況下,可以具有多個終結或結束實體。
執(zhí)行引擎利用一例可執(zhí)行實體的一個句柄來標識或訪問可執(zhí)行實體,并且如上所述,利用該句柄來激活執(zhí)行該實體的方法。當該實體執(zhí)行結束時,確定終態(tài),確定與該終態(tài)相關的鏈路,并由此也確定下一個要執(zhí)行的可執(zhí)行實體。
對可執(zhí)行實體的圖形的處理或橫貫繼續(xù)下去,直至完成“結束”類型的實體,這時處理終止。
可選擇地,每個可執(zhí)行實體包括另一種類型,稱為連接模式類型,該類型進一步管理該實體的行為。連接模式類型可以取兩個值“立即”或“預定”中的一個。這些類型的目的是,在一實體執(zhí)行終結時確定是馬上開始執(zhí)行下一個實體,還是在一段預定時間后或在一預定時間點執(zhí)行下一個實體。如果連接模式類型是“立即”,那么馬上開始處理下一個可執(zhí)行實體。但是,如果連接模式類型是“預定”,那么將下一個可執(zhí)行實體加到由其它可執(zhí)行實體組成的表中,表中的可執(zhí)行實體預定在一段預定時間過后或者在至少滿足一條預定條件后執(zhí)行。
參照圖4,該圖示意性地示出了依照一實施例的數(shù)據(jù)處理系統(tǒng)諸元件的結構。系統(tǒng)405具有一圖形用戶界面(GUI)400,該界面可以顯示多個可供選擇的自含的、預編譯的可執(zhí)行實體。圖中還示出了當前正在執(zhí)行的可執(zhí)行實體212。每個實體表示商務過程或自含式商務過程的一部分。將多個可執(zhí)行實體存儲在一合適的存儲媒體上,例如硬盤驅動設備34和32。圖形用戶界面400與執(zhí)行引擎410連接。執(zhí)行引擎的功能如上所述。同樣,可執(zhí)行實體的功能基本上如上所述。
GUI 400允許數(shù)據(jù)處理系統(tǒng)的商人或用戶選擇存儲在硬盤驅動器34上的各種可執(zhí)行實體,以便如本領域公知的,用拖放方法構造一更復雜的商務過程。因此,可以安排或利用許多基本或簡單的可執(zhí)行商務過程來產(chǎn)生一較復雜的過程。再用這些較復雜的過程形成更大的軟件商務系統(tǒng)。
數(shù)據(jù)處理系統(tǒng)的用戶用鼠標器和選擇鍵中一個在各可執(zhí)行實體之間建立鏈接。通過在母實體上點擊,然后在子實體上點擊,在這兩個實體之間建立鏈接。
諸鏈接定義了執(zhí)行那些可執(zhí)行實體的次序,并由此定義了商人想依照其商務過程來處理數(shù)據(jù)所用的軟件的整個工作情況。
在為商務過程設計計算機軟件期間,將諸過程、方法和其間的鏈接存儲在軟件庫中,并且可用圖形顯示。
當希望執(zhí)行一構造好的商務過程時,執(zhí)行引擎210解釋該可執(zhí)行實體及相關的鏈接信息。在用相關鏈接來執(zhí)行諸實體期間,執(zhí)行引擎210創(chuàng)建參數(shù)區(qū)310,它利用簡單的二維陣列或Visual Basic提供的“收集對象”來完成。用參數(shù)區(qū)310來存儲由可執(zhí)行實體訪問和操作的數(shù)據(jù)。
最后,操作系統(tǒng)和網(wǎng)絡工作軟件420通過各種功能實體協(xié)調使用計算機系統(tǒng)資源,諸如圖形用戶界面400和執(zhí)行引擎410,并且協(xié)調管理用于存儲參數(shù)區(qū)的存儲器。
可選擇地,將鏈路實體作為一種更具體的普通可執(zhí)行實體的形式來實現(xiàn)。在該選擇實施中,鏈路實體包含這樣的方法和/或數(shù)據(jù),它們定義了與任何可執(zhí)行實體相連的鏈路的行為或與該鏈路的相互作用。執(zhí)行引擎用存儲在鏈路中的數(shù)據(jù)來確定另一個可執(zhí)行實體或與其相連的可執(zhí)行實體。每條鏈路都具有一鏈路標識符,一母可執(zhí)行實體標識符、一子可執(zhí)行實體標識符,以及用于定義或管理鏈路行為和與母子可執(zhí)行實體之間相互作用的定時信息和方法。
參照圖5,該圖示意性地示出了一工作流程調度程序502,它包含一個由可執(zhí)行實體O1、O3、O2和O4組成的表504。表中的可執(zhí)行實體分別預定在規(guī)定時間T1、T2、T3和T4執(zhí)行。工作流程調度程序502管理對可執(zhí)行實體的執(zhí)行調度。所存儲的信息包含可執(zhí)行實體的句柄,以及預定執(zhí)行時間的指示或開始執(zhí)行前必須滿足的條件。執(zhí)行引擎410通過界面RegisterScheduledExecution(Entity,ConnectionInfo)提供調度可執(zhí)行實體的所需的信息。該界面代表由每個可執(zhí)行實體提供并且由執(zhí)行引擎410使用的公共界面。
另一種方法是,直到表中各參數(shù)狀態(tài)已采用預定值,才可以開始執(zhí)行可執(zhí)行實體。
如果數(shù)據(jù)處理系統(tǒng)包含一支持多個線程的操作系統(tǒng),那么可以為每個實體進行一項定時任務,預定在一規(guī)定的時間段或預定的時間段后開始處理。然后,該任務中斷執(zhí)行引擎410,將實體句柄提供給執(zhí)行引擎410,而后執(zhí)行引擎410可調用該可執(zhí)行實體的執(zhí)行方法。同樣,如果必須滿足一預定條件,或者必須在開始執(zhí)行之前設置預定數(shù)目的變量/標志,那么可以利用各線程創(chuàng)建各自的過程或任務,所述線程檢查標志的條件或狀態(tài)并相應地中斷執(zhí)行引擎。
另一方面,工作流程調度程序502可周期性地掃描整個由預定實體組成的表504,進行上述檢查,并根據(jù)是否已滿足上述條件來激活執(zhí)行各實體。
在又一實施例中,可以安排周期性地執(zhí)行一可執(zhí)行實體,從而例如每5分鐘執(zhí)行一次實體。利用ConnectionInfo的可公開訪問的變量“IncTime”來指示是否需要周期性的執(zhí)行。如果變量“IncTime”包含空值,那么不需要周期性的執(zhí)行。但是,如果“IncTime”包含一其它的值,那么將根據(jù)該其它值定義的時間段建立周期性的執(zhí)行。一旦完成對這種實體的執(zhí)行,工作流程調度程序根據(jù)所指示的時間段自動地重新調度將來對該實體的執(zhí)行。
可以用相對于現(xiàn)時的偏離或者用絕對時間來規(guī)定執(zhí)行時間。時間格式可以是年、月、日、小時和分鐘。
以下表1所示的偽代碼表示依照一實施例的執(zhí)行引擎的控制流。行編號只為了便于參考。
<pre listing-type="program-listing"><![CDATA[ 1DataObject=New Collection 2ElementInfo=FindStartElement(Entity) 3While ElementInfo<>ElementOfTypeEnd 4 ExecuteElement= CreatObject(ElementInfo.Classname) 5 ExecuteElement.Execute;write to DataObject.Terminate how execution terminated 6 ConnectionInfo= FindConnectionMatchingTerminateCondition; 7 If ConnectionInfo.Mode=ImmediateExecution ElementInfo=ConnectionInfo.ElementInfo else RegisterScheduledExecution(Entity,Connec tionInfo) exit while 8 endif 9end while]]></pre>表1“DataObject”是一對象,用于暫時存儲與一可執(zhí)行實體相關的信息,諸如該可執(zhí)行實體的終態(tài)。該終態(tài)存儲在可公開訪問的變量“Terminate”中。
“ElementInfo=FindStartElement(Entity)”定義可執(zhí)行實體的句柄,所述可執(zhí)行實體是實體圖形中的起始實體。由ElementInfo存儲的信息可選擇地包含多個公共變量。各變量包括關于可執(zhí)行實體是否為“結束”類型的指示,以及用于標識對象的類定義或結構的“類名”。其它公共變量有“NodeConnections AsCollection”,它是從該實體到其它可執(zhí)行實體的輸出連接或鏈接的收集或陣列;“Parms as Objects”,用于標識一可以在可執(zhí)行實體的諸方法之間共享的數(shù)據(jù)參數(shù);“ConditionString”,用于標識在開始執(zhí)行實體的方法之前應該滿足的條件的清單;以及“DLLFUNCTION”,用于存儲可以從可執(zhí)行實體內(nèi)訪問并執(zhí)行的外部程序的名稱。
可選擇地,其它公共變量包括屏幕坐標,它們可以定義可執(zhí)行實體的圖形表示的位置。以下敘述關于圖形用戶界面的其他信息。
“ConnectionInfo”包括一公共變量“Mode”,它用來表示是應該立即執(zhí)行可執(zhí)行實體,還是應該預定在一特定時間來執(zhí)行可執(zhí)行實體。可以看出,第7行確定是需要立即開始執(zhí)行實體,還是預定在一特定時間執(zhí)行實體。
如果需要調度,那么調用工作流程調度程序502的方法“RegisterScheduledExecution”,傳遞用于標識可執(zhí)行實體的參數(shù)和相關的連接信息。
繼續(xù)執(zhí)行當型循環(huán)(while-loop),直至預定執(zhí)行一可執(zhí)行實體,或者直到已執(zhí)行一END實體。
參照圖6,該圖示意性地示出了用GUI 400表現(xiàn)的屏幕布局。GUI 400根據(jù)本領域公知的、經(jīng)定義的MicroSoft Windows Standard進行工作。
屏幕600分為兩個部分,左側601按樹狀描述一清單,該清單包含可用的商務對象類或過程、活動和構成商務過程的方法(可執(zhí)行實體)。屏幕600的右側602描述構成商務過程的可執(zhí)行實體。
可見,商務過程包含十個從屏幕左側的樹結構中選出的可執(zhí)行實體。
可執(zhí)行實體“Cash Sale Entry”604是可執(zhí)行實體圖形的起始節(jié)點。在該例中未示出結束節(jié)點。如上所述,可執(zhí)行實體基本上通過鏈路鏈接起來,這些鏈路定義了可執(zhí)行實體的執(zhí)行流。
一旦執(zhí)行引擎位于起始節(jié)點604上,就可以開始執(zhí)行該過程。執(zhí)行稱為“Select Customer”的實體606,以便從多個可能等待著的用戶中選擇一個。用戶可以按電話排隊,或者可以在文檔中預先存儲細節(jié),當調用該實體606或商務過程時,該文檔顯示出來。
在選擇了將處理其命令的客戶后,執(zhí)行傳遞給下一個可執(zhí)行實體608。在該情況下,下一個可執(zhí)行實體608要求從計算機系統(tǒng)的用戶進行輸入。“用戶所選路徑”實體608允許數(shù)據(jù)處理系統(tǒng)的用戶從實體的多個可能的執(zhí)行路徑中至少選擇一條路徑。在該情況下,提供兩種可能的執(zhí)行路徑或鏈路。第一條鏈路引導到稱為“運送地址置換”610的實體,該實體允許用不同的運送地址替換通常與所選客戶相關的默認地址。第二條鏈路引導到實體“Order Header 1”612,該實體向用戶請求典型的命令首部信息(order header information)。
處理繼續(xù)到稱為“命令行輸入”614的實體,該實體允許數(shù)據(jù)處理系統(tǒng)的用戶輸入從所選客戶那里獲得的實際命令信息。輸入命令后,執(zhí)行繼續(xù)到下一個實體“選擇運送類型”616,該實體允許用戶選擇命令的傳遞模式。傳遞模式包括運載器和各種類型的常規(guī)郵寄服務。
然后,通過稱為“命令費用”618的可執(zhí)行實體來計算與命令相關的物品費用?!懊钯M用”可執(zhí)行實體618可以訪問外部的定價軟件,這種軟件根據(jù)不同的且可選擇的定價方式計算與命令相關的成本。同樣,各種定價手續(xù)還可以考慮支付費用所用的貨幣。
然后,“命令完成”620可執(zhí)行實體允許用戶確認命令已完成。“調度程序的下一調用”實體622允許為另一個所選的用戶重復上述過程。
商務過程是通過以下方式來構造的,即從屏幕的左側選擇一可執(zhí)行實體,并且用鼠標器拖放到屏幕的右側。用鼠標器和“橡皮帶式生成線段法”技術再次在可執(zhí)行實體之間建立鏈路。通過以下方式在兩個實體之間建立一鏈路,即用鼠標器左按鈕選擇一實體,然后按著鼠標器按鈕將光標移到第一實體將要連到的另一實體。放開鼠標器按鈕后,在兩個可執(zhí)行實體之間顯示一鏈路。如上所述,可執(zhí)行實體包含一個陣列,用于存儲與其鏈接的可執(zhí)行實體的標識符。因此,在橡皮帶式生成線段法操作期間,將第二可執(zhí)行實體的標識符存儲在該陣列中。
可執(zhí)行實體的圖形描述包括一著色的弓形部分624,該部分表示與另一可執(zhí)行實體連接的一個鏈接或連接。由“運送地址置換”610實體可見,上弓形部分有一箭頭指向左側。如果用戶選擇該輸入連接,那么重復與相應的可執(zhí)行實體相關的處理。
從分割區(qū)下弓形部分出發(fā)的向下箭頭表示取消選項,該選項中斷可執(zhí)行實體的執(zhí)行并恢復執(zhí)行期間被改變的任何數(shù)據(jù)值。
如上所述,關于ElementInfo象的可公開訪問的“條件”變量,每個可執(zhí)行實體已與全局數(shù)據(jù)的指示相聯(lián)系,該全局數(shù)據(jù)必須在可執(zhí)行實體能夠切實操作之前存在。通過在過程中為每個可執(zhí)行實體使用條件信息,可以定義已完成或已構造的商務過程是否具有一個有意義的執(zhí)行流。執(zhí)行引擎檢查可執(zhí)行實體的所有輸入條件,并定義在正常執(zhí)行期間對在先部件的執(zhí)行是否使這些條件得到滿足。該可以對商務過程的控制流進行評定,而不必實際運行完整的商務過程,即,不必執(zhí)行構成商務過程的所有實體。
再參照圖600,可以可選擇地顯示與可執(zhí)行實體的調度信息相關的信息。例如,用鼠標器左按鈕在所顯示的鏈路上“點擊”,產(chǎn)生如圖7所示的對話框。對話框700顯示一可執(zhí)行實體的調度信息??梢?,可以使用各種類型的調度,例如立即執(zhí)行、批量執(zhí)行、或者按時間、日子或者兩者周期性地執(zhí)行。
參照圖700,特別是參照“調度類型”區(qū)域720,由圖可見,提供了四種調度類型或模式,即“用戶控制”704、“自動立即”706、“自動批量”708和“預定批量”710。
當所遇到的可執(zhí)行實體將調度規(guī)定為“用戶控制”704時,系統(tǒng)用戶可看到如圖700所示的對話框,要求或希望用戶完成“調度頻率”712的屏幕區(qū)域。該行為設置調度時間,并且管理各可執(zhí)行實體的執(zhí)行時間。
如果在“自動立即”調度一可執(zhí)行實體,那么基本上馬上執(zhí)行該可執(zhí)行實體。
提供了兩種批量模式執(zhí)行,即“自動批量”708和“預定批量”710。批量模式操作將線程運行用作背景任務,并用該背景線程執(zhí)行被指定進行批量模式執(zhí)行的可執(zhí)行實體。“自動批量”708表示相關的可執(zhí)行實體應該在背景線程上立即開始。相反,“預定批量”710表示只應該在背景線程上,在合適的預定時間開始執(zhí)行相關的可執(zhí)行實體。
另外,可以選擇調度頻率。根據(jù)本實施例的選項包括“定時執(zhí)行”714、“在固定時刻執(zhí)行”716、“周期性地執(zhí)行”718和“周期性地再調度”720,以及用于上述調度模式的各時間輸入字段722。最后,通過點擊“調度日期”724區(qū)域內(nèi)的檢查框,設置操作所述調度的日期。
為了支持商務過程的結構,數(shù)據(jù)處理系統(tǒng)最好應該提供以下原子可執(zhí)行實體。
首先,起始部件,它為包括多個可執(zhí)行實體的任何圖形定義了起始節(jié)點。通常,每個商務圖形都包括一個起始節(jié)點。但是,本發(fā)明的實施例不限于此,并且同樣可以很好地實現(xiàn)具有幾個起始節(jié)點的實施例。
第二,最好提供一個結束部件或節(jié)點,為商務過程的執(zhí)行提供終點。應該理解,一個商務過程可以有幾個結束節(jié)點。
第三,圖6的“用戶所選路徑”608應該使系統(tǒng)用戶能夠指定多個可能的執(zhí)行路徑。當遇到該可執(zhí)行實體時,將顯示以下所述關于圖8的對話框,該對話框提示用戶為繼續(xù)執(zhí)行選擇最佳的路徑。最后,最好應該可以使用第二種類型的“用戶所選路徑”,在該情況下,用戶可以選擇對多個可能的執(zhí)行路徑中的可選擇路徑進行的并行執(zhí)行。圖8描述了對話框800,該對話框800可使用戶選擇鏈路,以定義繼續(xù)的執(zhí)行流。提供給用戶多個節(jié)點名802,即用戶選擇1、用戶選擇2和用戶選擇3。為了控制選擇哪條路徑,如本領域所知的,用戶用鼠標器從節(jié)點名文本框804的節(jié)點中選擇一個節(jié)點。根據(jù)所選的路徑,繼續(xù)執(zhí)行商務過程。
上述說明性實施例在對執(zhí)行進行選擇后,不需要進一步對所述可執(zhí)行實體進行修改。修改至少包括(但不限于)改變用于在可執(zhí)行實體之間交換數(shù)據(jù)的裝置,和/或改變管理控制可執(zhí)行實體行為的方法。
盡管根據(jù)Visual Basic功能已描述或實現(xiàn)了參數(shù)區(qū),但本發(fā)明不限于此。還可以通過以下方式實現(xiàn)本發(fā)明的一實施例,即用例如全局說明的陣列、可全局訪問的被鏈接的列表、或者僅使用可全局訪問的結構指針,它們根據(jù)類型定義來被定義,具有適當分配的存儲器的存儲塊,存儲塊用于保存標識符和與該標識符相關的相應值。
說明書和權利要求書中的參考標號是非限制性的,它們僅用于說明。
請讀者關注與本申請申請文本同時提交或在先提交并已公開的所有論文和文件,這些論文和文件的內(nèi)容通過引用都包括在此。
本說明書中揭示的所有特征(包括所附的權利要求書、摘要和附圖)和/或如此揭示的任何方法或過程的所有步驟可以按任何組合方式組合,除了至少有一些特征和/或步驟相互排斥的組合。
除另有說明之外,本說明書中揭示的每個特征(包括所附的權利要求書、摘要和附圖)可以用具有相同、等價或類似作用的可選擇的特征來代替。因此,除另有說明之外,所揭示的每個特征只是一系列等價或類似特征中的一例。
本發(fā)明不限于上述實施例中的細節(jié)。本發(fā)明可以延及本說明書(包括任何所附權利要求書、摘要和附圖)所揭示的特征的任何新穎組合,或者任何所揭示的方法或過程的步驟的任何新穎組合。
權利要求
1.一種用于處理數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)或對數(shù)據(jù)處理系統(tǒng)進行配置的方法,所述數(shù)據(jù)處理系統(tǒng)包括用于存儲多個可執(zhí)行實體的存儲器、用于為可執(zhí)行實體中可選實體建立執(zhí)行次序的裝置,以及根據(jù)所述次序用于執(zhí)行所選擇可執(zhí)行實體而不修改所述被選的可執(zhí)行實體的裝置,其特征在于,所述方法包括以下步驟將多個可執(zhí)行實體存儲在所述存儲器中;為所述可執(zhí)行實體中可選擇的實體建立執(zhí)行次序;并且根據(jù)所述次序執(zhí)行所述可執(zhí)行實體中的可選擇實體,但不修改所述可執(zhí)行實體。
2.如權利要求1所述的方法,其特征在于,還包括下述步驟在所述存儲器內(nèi)建立一數(shù)據(jù)結構,所述被選的可執(zhí)行實體通??梢栽L問所述數(shù)據(jù)結構,所述數(shù)據(jù)結構被安排成允許所述被選可執(zhí)行實體向其中存儲和從中檢索任何數(shù)據(jù)對象,并且/或者允許在所述被選可執(zhí)行實體之間間接交換數(shù)據(jù)。
3.如前述任何權利要求所述的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)還包括一用于激活執(zhí)行多個可執(zhí)行實體的執(zhí)行引擎,并且,執(zhí)行可執(zhí)行實體的步驟還包括下述步驟向所述多個可執(zhí)行實體中的每個可執(zhí)行實體提供一個公共界面,用于激活執(zhí)行可執(zhí)行實體,并且所述執(zhí)行引擎利用所述公共界面來激活執(zhí)行所述兩個可執(zhí)行實體。
4.如權利要求3所述的方法,其特征在于,所述可執(zhí)行實體已與數(shù)據(jù)和用于激活執(zhí)行的方法相聯(lián)系,用于激活執(zhí)行的所述步驟還包括以下步驟獲得用于激活執(zhí)行可執(zhí)行實體的所述數(shù)據(jù);并且執(zhí)行所述方法。
5.如權利要求4所述的方法,其特征在于,每個可執(zhí)行實體結束時產(chǎn)生多個數(shù)據(jù)值中的一個數(shù)據(jù)值,所述數(shù)據(jù)值表示所述實體的執(zhí)行結果,并且所述方法還包括以下步驟響應于表示所述實體的執(zhí)行結果的所述數(shù)據(jù)值,確定與所述值相關的可執(zhí)行實體,并且激活執(zhí)行與所述值相關的所述可執(zhí)行實體。
6.如前述任何權利要求所述的方法,其特征在于,數(shù)據(jù)處理系統(tǒng)還包括一時鐘,所述方法還包括以下步驟使一預定執(zhí)行時間與至少一個可執(zhí)行實體相關,調度執(zhí)行所述至少一個可執(zhí)行實體,并且在相關的預定執(zhí)行時間,激活執(zhí)行所述至少一個可執(zhí)行實體,從而延遲一段預定時間后執(zhí)行所述可執(zhí)行實體。
7.如權利要求6所述的方法,其特征在于,所述調度步驟至少包括以下步驟中的一個步驟將可執(zhí)行實體的標識符和相關的執(zhí)行時間存儲在一數(shù)據(jù)結構中,重復查詢或檢查所述數(shù)據(jù)結構,以確定是否已過了所述預定時間,以及響應于所述重復查詢,激活執(zhí)行已過了相關執(zhí)行時間的可執(zhí)行實體。
8.如前述任何權利要求所述的方法,其特征在于,所述可執(zhí)行實體至少是對象、函數(shù)、自含式程序或DLL任務中的一個。
9.一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括用于存儲多個可執(zhí)行實體的存儲器、用于為可執(zhí)行實體中的可選擇實體建立執(zhí)行次序的裝置,以及用于根據(jù)所述次序執(zhí)行所選可執(zhí)行實體但不修改所述被選可執(zhí)行實體的裝置。
10.如權利要求9所述的系統(tǒng),其特征在于,還包括用于在所述存儲器內(nèi)建立一數(shù)據(jù)結構的裝置,所述被選的可執(zhí)行實體通??梢栽L問所述數(shù)據(jù)結構,所述數(shù)據(jù)結構被安排成允許所述被選可執(zhí)行實體向其中存儲和從中檢索任何數(shù)據(jù)對象,并且/或者允許在所述被選可執(zhí)行實體之間間接交換數(shù)據(jù)。
11.如權利要求9或10所述的系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)還包括一用于激活執(zhí)行多個可執(zhí)行實體的執(zhí)行引擎,并且用于執(zhí)行兩個可執(zhí)行實體的裝置包括用于向所述多個可執(zhí)行實體中的每個可執(zhí)行實體提供一個公共界面的裝置,用以激活執(zhí)行可執(zhí)行實體,和利用所述公共界面來激活執(zhí)行所述可執(zhí)行實體的裝置。
12.如權利要求11所述的系統(tǒng),其特征在于,所述可執(zhí)行實體已與數(shù)據(jù)和用于激活執(zhí)行的方法相聯(lián)系,用于激活執(zhí)行的裝置還包括用于獲得用來激活執(zhí)行可執(zhí)行實體的所述數(shù)據(jù)的裝置,和用于執(zhí)行所述方法的裝置。
13.如權利要求12所述的系統(tǒng),其特征在于,每個可執(zhí)行實體結束時產(chǎn)生多個數(shù)據(jù)值中的一個數(shù)據(jù)值,所述數(shù)據(jù)值表示所述實體的執(zhí)行結果,并且所述數(shù)據(jù)處理系統(tǒng)還包括響應表示所述實體的執(zhí)行結果的所述數(shù)據(jù)值,用于確定與所述數(shù)據(jù)值相關的可執(zhí)行實體的裝置,和用于激活執(zhí)行與所述數(shù)據(jù)值相關的所述可執(zhí)行實體的裝置。
14.如權利要求9至13中任何一個所述的系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)還包括一時鐘,用于使一預定執(zhí)行時間與至少一個可執(zhí)行實體相關的裝置,用于調度執(zhí)行所述至少一個可執(zhí)行實體的裝置,和用于在相關的預定執(zhí)行時間,激活執(zhí)行所述至少一個可執(zhí)行實體的裝置。
15.如權利要求14所述的系統(tǒng),其特征在于,所述調度裝置至少包括將可執(zhí)行實體的標識符和相關的執(zhí)行時間存儲在一數(shù)據(jù)結構中的裝置,和用于重復查詢或檢查所述表,以確定是否已過了一預定時間的裝置,以及響應所述重復查詢,用于激活執(zhí)行已過了相關執(zhí)行時間的可執(zhí)行實體的裝置;或者用于對執(zhí)行引擎產(chǎn)生中斷,以指示應該開始執(zhí)行一相關可執(zhí)行實體的裝置,和響應所述中斷,用于激活執(zhí)行所述可執(zhí)行實體的裝置。
16.如權利要求9至15中任何一個所述的系統(tǒng),其特征在于,所述可執(zhí)行實體至少是對象、函數(shù)、自含式程序或DLL任務中的一個。
17.一種用于處理數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)或對數(shù)據(jù)處理系統(tǒng)進行配置的計算機程序產(chǎn)品,所述數(shù)據(jù)處理系統(tǒng)包括用于存儲多個可執(zhí)行實體的存儲器、用于為可執(zhí)行實體中可選擇實體建立執(zhí)行次序的裝置,以及根據(jù)所述次序執(zhí)行所選可執(zhí)行實體但不修改所述被選可執(zhí)行實體的裝置,其特征在于,所述計算機程序產(chǎn)品包括用于存儲多個可執(zhí)行實體的計算機可讀程序代碼裝置,用于為所述可執(zhí)行實體中可選擇的實體建立執(zhí)行次序的計算機可讀程序代碼裝置,和根據(jù)所述次序執(zhí)行所述可執(zhí)行實體中的可選擇實體,但不修改所述可執(zhí)行實體的計算機可讀程序代碼裝置。
18.如權利要求17所述的計算機程序產(chǎn)品,其特征在于,還包括用于在所述存儲器內(nèi)建立一數(shù)據(jù)結構的計算機可讀程序代碼裝置,所述被選的可執(zhí)行實體通??梢栽L問所述數(shù)據(jù)結構,所述數(shù)據(jù)結構被安排成允許所述被選可執(zhí)行實體向其中存儲和從中檢索任何數(shù)據(jù)對象,并且/或者允許在所述被選可執(zhí)行實體之間間接交換數(shù)據(jù)。
19.如權利要求17或18所述的計算機程序產(chǎn)品,其特征在于,所述數(shù)據(jù)處理系統(tǒng)還包括一用于激活執(zhí)行多個可執(zhí)行實體的執(zhí)行引擎,并且用于執(zhí)行可執(zhí)行實體的計算機可讀程序代碼裝置包括用于向所述多個可執(zhí)行實體中的每個可執(zhí)行實體提供一個公共界面的計算機可讀程序代碼裝置,用以激活執(zhí)行可執(zhí)行實體,和利用所述公共界面來激活執(zhí)行所述可執(zhí)行實體的計算機可讀程序代碼裝置。
20.如權利要求19所述的計算機程序產(chǎn)品,其特征在于,所述可執(zhí)行實體已與數(shù)據(jù)和用于激活執(zhí)行的方法相聯(lián)系,用于激活執(zhí)行的計算機可讀程序代碼裝置還包括用于獲得用來激活執(zhí)行可執(zhí)行實體的所述數(shù)據(jù)的計算機可讀程序代碼裝置,和用于執(zhí)行所述方法的計算機可讀程序代碼裝置。
21.如權利要求20所述的計算機程序產(chǎn)品,其特征在于,每個可執(zhí)行實體結束時產(chǎn)生多個數(shù)據(jù)值中的一個數(shù)據(jù)值,所述數(shù)據(jù)值表示所述實體的執(zhí)行結果,并且所述計算機程序產(chǎn)品還包括響應表示所述實體的執(zhí)行結果的所述數(shù)據(jù)值,用于確定與所述數(shù)據(jù)值相關的可執(zhí)行實體的計算機可讀程序代碼裝置,和用于激活執(zhí)行與所述數(shù)據(jù)值相關的所述可執(zhí)行實體的計算機可讀程序代碼裝置。
22.如權利要求17至21中任何一個所述的計算機程序產(chǎn)品,其特征在于,所述數(shù)據(jù)處理系統(tǒng)還包括一時鐘,所述計算機程序產(chǎn)品還包括用于使一預定執(zhí)行時間與至少一個可執(zhí)行實體相關的計算機可讀程序代碼裝置,用于調度執(zhí)行所述至少一個可執(zhí)行實體的計算機可讀程序代碼裝置,和在相關的預定執(zhí)行時間,用于激活執(zhí)行所述至少一個可執(zhí)行實體的計算機可讀程序代碼裝置。
23.如權利要求22所述的計算機程序產(chǎn)品,其特征在于,用于調度的所述計算機可讀程序代碼裝置至少包括以下裝置中的一個用于將可執(zhí)行實體的標識符和相關的執(zhí)行時間存儲在一數(shù)據(jù)結構中的計算機可讀程序代碼裝置,和用于重復查詢或檢查所述數(shù)據(jù)結構,以確定是否已過了一預定時間的計算機可讀程序代碼裝置,以及響應所述重復查詢,用于激活執(zhí)行已過了相關執(zhí)行時間的可執(zhí)行實體的計算機可讀程序代碼裝置。
24.如權利要求17至23中任何一個所述的計算機程序產(chǎn)品,其特征在于,所述可執(zhí)行實體至少是對象、函數(shù)、自含式程序或DLL任務中的一個。
25.如前述任何權利要求所述的數(shù)據(jù)處理系統(tǒng)或方法,其特征在于,基本上如這里參考附圖所描述,和/或如附圖所示。
26.一種數(shù)據(jù)處理系統(tǒng)和方法,其特征在于,基本上如這里參考附圖所描述,和/或如附圖所示。
27.一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括多個可執(zhí)行實體,用于存儲多個可執(zhí)行實體的存儲器,用于為多個可執(zhí)行實體產(chǎn)生圖形表示的顯示裝置,用于執(zhí)行所述可執(zhí)行實體的裝置,用于從所述多個可執(zhí)行實體中選擇可選擇實體以供執(zhí)行的輸入裝置,所述系統(tǒng)包括用于在所述顯示裝置上顯示所述多個可執(zhí)行實體的圖形表示的裝置,用于至少選擇兩個可執(zhí)行實體以供執(zhí)行的裝置,用于為所述至少兩個可執(zhí)行實體建立執(zhí)行次序的裝置,以及用于根據(jù)所述次序執(zhí)行所述至少兩個可執(zhí)行實體但不修改所述至少兩個可執(zhí)行實體的裝置。
28.一種用于對數(shù)據(jù)處理系統(tǒng)進行配置的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)包括多個可執(zhí)行實體,用于存儲多個可執(zhí)行實體的存儲器,用于為多個可執(zhí)行實體產(chǎn)生圖形表示的顯示裝置,用于執(zhí)行所述可執(zhí)行實體的裝置,用于從所述多個可執(zhí)行實體中選擇可選擇實體以供執(zhí)行的輸入裝置,所述方法包括以下步驟顯示所述多個可執(zhí)行實體,選擇兩個可執(zhí)行實體以供執(zhí)行,為所述兩個可執(zhí)行實體建立執(zhí)行次序,以及根據(jù)所述次序執(zhí)行所述兩個可執(zhí)行實體,但不修改所述兩個可執(zhí)行實體。
全文摘要
提供了一種數(shù)據(jù)處理系統(tǒng)和方法,它們可用來配置或開發(fā)軟件。本發(fā)明對設計規(guī)??勺兊纳虅障到y(tǒng)有特殊的應用,在這些商務系統(tǒng)中,逐漸構造多個程序代碼實體或對象,以使商務過程計算機化。與目前面向對象的編程技術相關的問題是,對象之間的界面不可變。這種不變性是由直接傳遞參數(shù)或信息的方式造成的,據(jù)此使用的語言可產(chǎn)生重新使用的軟件。但是,該方法引起以下問題,即,特別當必須改變用于實現(xiàn)各種功能的對象的執(zhí)行次序時,軟件必須重新開發(fā)。這種對執(zhí)行次序的改變總是要求修改用于實現(xiàn)對象或程序實體的代碼和參數(shù)或信息傳遞界面。這些改變還要求在執(zhí)行整個商務過程之前進行重新編譯和重新鏈接。因此,本發(fā)明提供了一種數(shù)據(jù)處理系統(tǒng)或方法,它包括用于存儲多個可執(zhí)行實體的存儲器,用于為可執(zhí)行實體中的可選擇實體建立執(zhí)行次序的裝置,以及用于依照所述次序,但不修改所述被選可執(zhí)行實體,執(zhí)行所選可執(zhí)行實體的裝置。
文檔編號G06F9/44GK1245571SQ9718162
公開日2000年2月23日 申請日期1997年12月5日 優(yōu)先權日1996年12月6日
發(fā)明者克里斯托夫·喬治·柯萬, 尼克·約翰·吉爾伯特, 威廉·格拉漢姆·利特爾, 蓋瑞·查里斯·劉易斯 申請人:Jba控股公共有限公司