專利名稱:利用只讀進程組件對服務(wù)進程建模的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及服務(wù)進程(server process)。更具體地說,本發(fā)明涉及使用小進程(processlet)來對服務(wù)進程建模。
背景技術(shù):
業(yè)務(wù)分析員以及業(yè)務(wù)線管理員通常負(fù)責(zé)設(shè)計和開發(fā)新的業(yè)務(wù)進程模型,或者修改現(xiàn)有的模型,以改進他們的公司如何開展業(yè)務(wù)。在業(yè)務(wù)模型就位的情況下,建立定義明確的接口來識別業(yè)務(wù)進程和把業(yè)務(wù)進程變換成面向服務(wù)的應(yīng)用。
業(yè)務(wù)模型建模工具使業(yè)務(wù)分析員能夠快速、有效地模擬、仿真和分析復(fù)雜的業(yè)務(wù)進程。術(shù)語“業(yè)務(wù)進程”不一定意味著執(zhí)行業(yè)務(wù)實踐?!皹I(yè)務(wù)進程”是一種證明向發(fā)出請求的應(yīng)用、用戶或計算機提供某種服務(wù)的服務(wù)。例如,業(yè)務(wù)進程可執(zhí)行機器翻譯、數(shù)字證書驗證、字母或數(shù)字分類或者任何其它有用的功能。
業(yè)務(wù)進程建模工具提供全面、用戶友好的業(yè)務(wù)進程建模和協(xié)作工具以圖形方式對人、合作者和應(yīng)用之間的進程建模。
當(dāng)業(yè)務(wù)需要改變時,允許公司快速重新設(shè)計進程。
支持多種建模方法和行業(yè)標(biāo)準(zhǔn)。
仿真和證實建模的進程,并提供關(guān)鍵的性能量度。
提供團隊環(huán)境,以便共享和保持多個版本的模型。
許多業(yè)務(wù)進程非常復(fù)雜,業(yè)務(wù)進程的建模通常受到允許這些進程的建模的工具的限制。一些目前的可視工具,例如IBM RationalROSE,WBI Modeler和Microsoft Visio超過了計算機程序的基本流程圖,并且允許進程的建模。幾家公司正在就使用業(yè)務(wù)進程執(zhí)行語言(BPEL)作為用于對業(yè)務(wù)進程建模的標(biāo)準(zhǔn)元語言達成協(xié)議。業(yè)務(wù)進程執(zhí)行語言的使用導(dǎo)致產(chǎn)生可執(zhí)行的代碼。
小進程是在對業(yè)務(wù)進程流建模中使用的進程組件。小進程對于進程,就如同小程序?qū)τ趹?yīng)用程序或者小服務(wù)程序?qū)τ诜?wù)器一樣。小進程是具有半獨立的存在性的進程段。即,小進程具有明確的入口點和出口點,并且利用Web服務(wù)接口,小進程的入口點可被暴露,小進程與整個進程共有這些特性。進程由幾個小進程構(gòu)成。進程實現(xiàn)一種業(yè)務(wù)任務(wù),并且可被同時例示,從而運行幾個業(yè)務(wù)任務(wù)。在進程之外,小進程不被例示。另外,一些其它事情,比如業(yè)務(wù)任務(wù)的狀態(tài)報告,版本確定和識別都在進程層面而不是在小進程層面進行。
但是,不存在任何業(yè)務(wù)進程庫和業(yè)務(wù)進程流庫,因為這樣的一個庫會要求軟件解決方案提供者暴露整個業(yè)務(wù)進程實現(xiàn)。為了提供這樣的解決方案,所述提供者目前只運送只在指定的運行時間內(nèi)工作的一個可執(zhí)行文件或者一組可執(zhí)行文件,或者所述提供者運送提供和構(gòu)建解決方案有關(guān)的更多細(xì)節(jié)的軟件開發(fā)工具包(SDK)。
這種解決方案的缺陷是定制并不容易,并且會非常脆弱,微小的變化也要求重建整個計劃,并且該解決方案的輸出可能是一個龐大的可執(zhí)行文件或者一組相關(guān)的可執(zhí)行文件。
發(fā)明內(nèi)容
本發(fā)明的不同方面提供一種使用只讀進程組件來對服務(wù)進程建模的計算機實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng)和計算機可用代碼。接收力圖建立從選擇的只讀進程組件到先前選擇的只讀進程組件的連接的用戶輸入。響應(yīng)于收到用戶輸入,核實該連接是否是有效的連接。響應(yīng)于所有連接都有效,利用該組只讀進程組件構(gòu)建服務(wù)模型,并基于該服務(wù)模型為服務(wù)進程產(chǎn)生可執(zhí)行代碼。
在附加的從屬權(quán)利要求中陳述了本發(fā)明特有的新特征。但是,結(jié)合附圖,參考例證實施例的下述詳細(xì)說明,將最好地理解發(fā)明本身,及其優(yōu)選的使用方式,其他目的和優(yōu)點,其中圖1是其中可實現(xiàn)本發(fā)明的各個方面的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖形表示;圖2是表示其中可實現(xiàn)本發(fā)明的各個方面的數(shù)據(jù)處理系統(tǒng)的方框圖;圖3是描述根據(jù)本發(fā)明的例證實施例,用于實現(xiàn)只讀進程組件的使用的組件的功能方框圖;圖4是根據(jù)本發(fā)明的例證實施例的例證業(yè)務(wù)進程建模的流程圖;圖5是根據(jù)本發(fā)明的例證實施例的例證業(yè)務(wù)進程模型流程圖;圖6是根據(jù)本發(fā)明的例證實施例的業(yè)務(wù)進程建模器的例證圖形用戶界面(GUI);圖7是根據(jù)本發(fā)明的例證實施例的描述復(fù)雜業(yè)務(wù)進程模型的例證圖形用戶界面(GUI);圖8是根據(jù)本發(fā)明的例證實施例的描述在業(yè)務(wù)進程建模器中可利用的其它信息的例證圖形用戶界面(GUI)。
具體實施例方式
本發(fā)明為使用小進程來對服務(wù)進程建模創(chuàng)造條件。小進程是在對服務(wù)進程建模流中使用的進程組件。小進程對于進程,如同小程序?qū)τ趹?yīng)用程序或者小服務(wù)程序?qū)τ诜?wù)器一樣。小進程是具有半獨立的存在性的進程段。即,小進程具有明確的入口點和出口點,并且可利用Web服務(wù)接口暴露小進程的入口點,小進程與整個進程共有這些特性。進程由幾個小進程構(gòu)成。進程實現(xiàn)一種業(yè)務(wù)任務(wù),并且可被同時例示,從而運行幾個業(yè)務(wù)任務(wù)。在進程之外,小進程不被例示。另外,一些其它事情,比如業(yè)務(wù)任務(wù)的狀態(tài)報告,版本確定和識別都在進程層面而不是在小進程層面進行。
在本發(fā)明的許多方面,向客戶提供小進程,但是,對客戶隱瞞小進程內(nèi)的詳細(xì)步驟以保護知識產(chǎn)權(quán)。客戶只能混合和匹配小進程,從而形成他們的進程,而不是小進程內(nèi)的各個步驟。從而,小進程是進程的只讀進程組件。圖1-2是其中可實現(xiàn)本發(fā)明的實施例的數(shù)據(jù)處理環(huán)境的例證圖。要認(rèn)識到圖1-2只是示范性的,并不打算宣稱或暗示對其中可實現(xiàn)本發(fā)明的實施例的各個方面的環(huán)境的任何限制。在不脫離本發(fā)明的精神和范圍的情況下,可對所描述的環(huán)境做出許多修改。
現(xiàn)在參考附圖,圖1是其中可實現(xiàn)本發(fā)明的各個方面的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖形表示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是其中可實現(xiàn)本發(fā)明的實施例的計算機網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,網(wǎng)絡(luò)102是用于在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備和計算機之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可包括諸如有線、無線通信鏈路,或者光纜之類的連接。
在描述的例子中,服務(wù)器104和服務(wù)器106連同存儲單元108一起與網(wǎng)絡(luò)102連接。另外,客戶機110、112和114與網(wǎng)絡(luò)102連接。這些客戶機110、112和114可以是例如個人計算機或網(wǎng)絡(luò)計算機。在描述的例子中,服務(wù)器104向客戶機110、112和114提供數(shù)據(jù),比如引導(dǎo)文件,操作系統(tǒng)映像和應(yīng)用程序。在本例中,客戶機110、112和114是服務(wù)器104的客戶機。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)104可包括未示出的另外的服務(wù)器、客戶機和其它設(shè)備。
在描述的例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是因特網(wǎng),網(wǎng)絡(luò)102代表使用傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)協(xié)議組相互通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的全球集合。因特網(wǎng)的中心是由成千上萬個路由數(shù)據(jù)和消息的商業(yè)、政府、教育和其它計算機系統(tǒng)組成的主節(jié)點或主計算機之間的高速數(shù)據(jù)通信線路的主干線。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100也可被實現(xiàn)成許多不同類型的網(wǎng)絡(luò),比如企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)(LAN)或者廣域網(wǎng)(WAN)。圖1只是一個例子,而不是對本發(fā)明的不同實施例的體系結(jié)構(gòu)限制。
現(xiàn)在參見圖2,圖2是其中可實現(xiàn)本發(fā)明的各個方面的數(shù)據(jù)處理系統(tǒng)的方框圖。數(shù)據(jù)處理系統(tǒng)200是實現(xiàn)本發(fā)明實施例的進程的用戶可用代碼或指令可被裝入其中的計算機,比如圖1中的服務(wù)器104或客戶機110的一個例子。
在描述的例子中,數(shù)據(jù)處理系統(tǒng)200采用包括北橋和存儲控制中心(MCH)202及南橋和輸入/輸出(I/O)控制集線器(ICH)204的集線器體系結(jié)構(gòu)。處理器206、主存儲器208和圖形處理器210與北橋和存儲器控制集線器202連接。圖形處理器210可通過加速圖形端口(AGP)與北橋和存儲器控制集線器202連接。
在描述的例子中,局域網(wǎng)(LAN)適配器212與南橋和I/O控制集線器204連接。音頻適配器216、鍵盤和鼠標(biāo)適配器220、調(diào)制解調(diào)器222、只讀存儲器(ROM)224、硬盤驅(qū)動器(HDD)226、CD-ROM驅(qū)動器230、通用串行總線(USB)端口和其它通信端口232,和PCI/PCIe裝置234通過總線238和總線240,與南橋和I/O控制集線器204連接。PCI/PCIe裝置可包括例如筆記本計算機用以太網(wǎng)適配器,附加卡和PC卡。PCI使用卡總線控制器,而PCIe不使用。ROM 224可以是例如快速二進制輸入/輸出系統(tǒng)(BIOS)。
硬盤驅(qū)動器226和CD-ROM驅(qū)動器230通過總線240與南橋和I/O控制中心204連接。硬盤驅(qū)動器226和CD-ROM驅(qū)動器230可使用例如集成設(shè)備電子器件(IDE)或串行高級技術(shù)附加(SATA)接口。超級I/O(SIO)裝置236可與南橋和I/O控制中心204連接。
操作系統(tǒng)在處理器206上運行,并且協(xié)調(diào)和提供圖2中的數(shù)據(jù)處理系統(tǒng)200內(nèi)的各個組件的控制。作為客戶機,操作系統(tǒng)可以是可從市場上買到的操作系統(tǒng),比如MicrosoftWindowsXP(Microsoft和Windows是微軟公司在美國,其它國家,或者同時在美國和其它國家的商標(biāo))。面向?qū)ο蟮木幊滔到y(tǒng),比如JavaTM編程系統(tǒng)可和操作系統(tǒng)一起運行,并提供從在數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應(yīng)用程序?qū)Σ僮飨到y(tǒng)的調(diào)用(Java是太陽微系統(tǒng)公司在美國,其它國家,或者同時在美國和其它國家的商標(biāo))。
作為服務(wù)器,數(shù)據(jù)處理系統(tǒng)200可以是例如運行高級交互執(zhí)行(AIX)操作系統(tǒng)或者LINUX操作系統(tǒng)的IBM eServerTMpSeries計算機系統(tǒng)(eServer、pSeries和AIX是國際商用機器公司在美國,其它國家,或者同時在美國和其它國家的商標(biāo),而LINUX是LinusTorvalds在美國,其它國家,或者同時在美國和其它國家的商標(biāo))。數(shù)據(jù)處理系統(tǒng)200可以是包括處理單元206中的多個處理器的對稱多處理器(SMP)系統(tǒng)。另一方面,可以采用單處理器系統(tǒng)。
操作系統(tǒng)、面向?qū)ο蟮木幊滔到y(tǒng)和應(yīng)用或程序的指令位于存儲裝置,比如硬盤驅(qū)動器226上,并且可被裝入主存儲器208中以便由處理單元206執(zhí)行。本發(fā)明的實施例的進程由處理單元206利用計算機可用程序代碼實現(xiàn),計算機可用程序代碼可位于存儲器,比如主存儲器208、只讀存儲器224中,或者位于一個或更多的外圍裝置226和230中。
本領(lǐng)域的技術(shù)人員會認(rèn)識到圖1-2中的硬件可隨實現(xiàn)而變化。除了圖1-2中描述的硬件之外,或者代替圖1-2中描述的硬件,可以使用其它內(nèi)部硬件或外圍裝置,比如快速存儲器、等同的非易失性存儲器、或者光盤驅(qū)動器等。另外,本發(fā)明的進程可應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。
在一些說明性的例子中,數(shù)據(jù)處理系統(tǒng)200可以是個人數(shù)字助理(PDA),它配有快速存儲器,以提供保存操作系統(tǒng)文件和/或用戶產(chǎn)生的數(shù)據(jù)的非易失性存儲器。
總線系統(tǒng)可由一個或多個總線,比如圖2中所示的總線238或總線240組成。當(dāng)然,可利用任意類型的通信架構(gòu)或體系結(jié)構(gòu)實現(xiàn)總線系統(tǒng),所述通信架構(gòu)或體系結(jié)構(gòu)為與其連接的不同組件或裝置之間的數(shù)據(jù)傳送創(chuàng)造條件。通信單元可包括用于發(fā)射和接收數(shù)據(jù)的一個或多個裝置,比如圖2的調(diào)制解調(diào)器222或網(wǎng)絡(luò)適配器212。存儲器可以是例如主存儲器208,只讀存儲器224,或者比如可在圖2中的北橋和存儲器控制集線器202中找到的高速緩存。在圖1-2中描述的例子和上述例子并不意味著暗示結(jié)構(gòu)限制。例如,除了采取PDA的形式之外,數(shù)據(jù)處理系統(tǒng)200還可以是寫字板計算機、膝上型計算機或者電話機。
本發(fā)明的不同方面為使用小進程或只讀進程組件對業(yè)務(wù)進程建模創(chuàng)造了條件。術(shù)語“業(yè)務(wù)進程”不一定意味著執(zhí)行業(yè)務(wù)實踐?!皹I(yè)務(wù)進程”是一種證明向發(fā)出請求的應(yīng)用、用戶或客戶提供某種服務(wù)的服務(wù)。例如,業(yè)務(wù)進程可執(zhí)行機器翻譯、數(shù)字證書驗證、字母或數(shù)字分類或者任何其它有用的功能。接收力圖建立從選擇的只讀進程組件到先前選擇的只讀進程組件的連接的用戶輸入。響應(yīng)于收到用戶輸入,核實該連接是否是有效的連接。響應(yīng)于所有連接都有效,隨后利用該組只讀進程組件構(gòu)建業(yè)務(wù)模型,并基于該業(yè)務(wù)模型為業(yè)務(wù)進程產(chǎn)生可執(zhí)行代碼。
圖3是描述根據(jù)本發(fā)明的一個例證實施例,用于實現(xiàn)只讀進程組件的使用的組件的功能方框圖。在例證的功能方框圖300中,服務(wù)器302是諸如圖1的服務(wù)器104或106之類的服務(wù)器。除了未示出的其它組件之外,服務(wù)器302包含應(yīng)用編程接口304,服務(wù)進程建模器306和服務(wù)進程運行時間308。業(yè)務(wù)進程建模器306使用只讀進程組件310(它是用來對服務(wù)進程建模流的進程組件)連同業(yè)務(wù)進程執(zhí)行語言(BPEL)來對服務(wù)進程和服務(wù)進程流建模,隨后產(chǎn)生可執(zhí)行代碼。BPEL中的每個進程組件是一個Web服務(wù)。如果BPEL中的進程組件不具有相關(guān)的BPEL模板,那么該進程組件被看作只讀進程組件。用于對進程組件打包的方法識別進程組件是否是只讀進程組件。BPEL并不直接識別只讀進程組件。雖然在本例中使用業(yè)務(wù)進程執(zhí)行語言,不過為此目的可配置或使用任何建模語言。利用應(yīng)用編程接口304,把使用服務(wù)進程建模器306建模的服務(wù)進程提供給用戶??砂凑杖我夥绞?,例如菜單或一組子菜單,把只讀進程組件310提供給用戶。
只讀進程組件310是當(dāng)被正確排序時,利用后綁定(late-binding)方法連接在一起的進程組件??稍跓o源代碼的情況下提供只讀進程組件310,從而編制者可保護知識產(chǎn)權(quán)。后綁定方法把計時假設(shè)的使用推遲到應(yīng)用的設(shè)計的最后步驟為止?;诮M件的方法,比如后綁定方法可被用于在中間件之上開發(fā)軟件。于是,可以創(chuàng)建能夠與它們將被插入的環(huán)境的計時屬性無關(guān)地證明其屬性的組件。在計時和調(diào)度分析期間,不得不盡可能晚地考慮時間性要求。
只讀進程組件310可以采取任意類型的編程語言,比如Web服務(wù)描述語言(WSDL)或業(yè)務(wù)進程執(zhí)行語言(BPEL)的形式。作為本發(fā)明的一個例證方面,只讀進程組件310采取Web服務(wù)描述語言文件(它是只讀進程組件)和進程執(zhí)行語言文件(它可由用戶修改)的形式。只讀進程組件310還具有定義每個只讀進程組件的服務(wù)說明的相關(guān)屬性和描述。只讀進程組件310的屬性和描述通過應(yīng)用編程接口304被提供給用戶。只讀進程組件310的屬性還定義只讀進程組件如何被連接,以及它如何與其它只讀進程組件連接。與只讀進程組件310相關(guān)的屬性是把只讀進程組件310連接在一起的基礎(chǔ),以及在試圖把只讀進程組件相互連接時可能產(chǎn)生的錯誤的基礎(chǔ)。
圖4是根據(jù)本發(fā)明的一個例證實施例的示范性服務(wù)進程建模的流程圖??捎萌魏谓?yīng)用,比如圖3的建模器306執(zhí)行服務(wù)進程建模。當(dāng)操作開始時,建模器應(yīng)用被初始化(步驟402)。在圖3的服務(wù)進程建模器306內(nèi),利用圖形用戶界面向用戶呈現(xiàn)建模器(步驟404)。當(dāng)建模器被呈現(xiàn)時,還向用戶提供用戶能夠用來對服務(wù)進程建模的不同只讀進程組件的菜單。用戶能夠選擇一個或多個只讀進程組件,并把選擇的只讀進程組件放置在建模區(qū)中(步驟406)。建模區(qū)可以是圖形用戶界面內(nèi)的任意類型的區(qū)域,比如作圖區(qū)或白板區(qū)。用戶可以使用任意類型的選擇過程,比如拖放或者鼠標(biāo)點擊與方向鍵的組合。
當(dāng)每個只讀進程組件被選擇并被排列成用戶所需的順序時,在先前放置的只讀進程組件和目前選擇的只讀進程組件之間進行連接。當(dāng)嘗試所述連接時,核實所嘗試的連接是否是正確的連接(步驟408)。根據(jù)只讀進程組件的屬性內(nèi)的定義,執(zhí)行連接的核實。所述定義可以是可擴展置標(biāo)語言(XML)模式定義(XSD)中的輸入/輸出消息類型和/或Web服務(wù)描述語言(WSDL)端口類型。這種核實確保兩個組件是否可被一起插入。核實可以采取向用戶提供連接是正確還是不正確的可視或可聽指示的形式。例證的可視指示可以是變化顏色的連接線或者彈出式文本框,例證的可聽指示可以是“蜂鳴聲”或“丁當(dāng)聲”,不過可以提供任意類型的指示。如果只讀進程組件不能與先前放置的只讀進程組件連接(步驟410),那么向用戶返回一個錯誤(步驟412)。可按任意類型的文本表示(比如彈出式文本框或者彈出式氣球式文本)的形式向用戶呈現(xiàn)所述錯誤。
如果只讀進程組件能夠與先前放置的只讀進程組件連接(步驟410),那么使該只讀進程組件與先前放置的只讀進程組件連接(步驟414)。隨后確定是否將要放置更多的只讀進程組件(步驟416)。例如,可通過使用提示用戶服務(wù)建模是否已完成的彈出式文本框,或者通過用戶選擇另一只讀進程組件來實現(xiàn)所述確定。如果將要放置另一只讀進程組件(步驟416),那么操作返回步驟406。如果將不放置任何其它的只讀進程組件(步驟416),那么操作著手核實新創(chuàng)建的服務(wù)進程模型(步驟418)。
就核實新創(chuàng)建的服務(wù)進程模型來說,服務(wù)進程建模器使用標(biāo)準(zhǔn)的服務(wù)實踐來確保新創(chuàng)建的所建模的服務(wù)進程模型將工作。標(biāo)準(zhǔn)的服務(wù)實踐是使用Web服務(wù)標(biāo)準(zhǔn)。通過比較每個服務(wù)組件操作,對照標(biāo)準(zhǔn)的服務(wù)實踐,比較新創(chuàng)建的服務(wù)進程模型。但是,服務(wù)進程模型的核實只證實服務(wù)進程模型將工作;它并不保證服務(wù)進程模型如同用戶預(yù)期的那樣工作。如果根據(jù)標(biāo)準(zhǔn)的服務(wù)實踐,新創(chuàng)建的服務(wù)進程模型不正確地工作(步驟420),那么向用戶返回一個錯誤(步驟412)。如果根據(jù)標(biāo)準(zhǔn)的服務(wù)實踐,新創(chuàng)建的服務(wù)進程模型正確地工作(步驟420),那么提示用戶核實新創(chuàng)建的服務(wù)進程模型是否如用戶預(yù)期的那樣工作(步驟422)。
如果用戶不滿意新創(chuàng)建的服務(wù)進程模型(步驟424),那么向用戶返回一個錯誤(步驟412)。如果用戶批準(zhǔn)新創(chuàng)建的服務(wù)進程模型(步驟424),那么根據(jù)新創(chuàng)建的服務(wù)進程模型產(chǎn)生可執(zhí)行代碼(步驟426),之后操作結(jié)束。
為了舉例說明業(yè)務(wù)進程,圖5是根據(jù)本發(fā)明的一個例證實施例的示范性業(yè)務(wù)進程模型流程圖。當(dāng)業(yè)務(wù)進程開始時,從客戶接收定單(步驟502)。檢查定單的各個項目(步驟504),并確認(rèn)定單內(nèi)的每個項目的正確性(步驟506)。如果定單內(nèi)的任意項目無效(步驟508),那么向客戶返回一個錯誤(步驟510)。如果定單內(nèi)的所有項目都有效(步驟508),那么接受該定單(步驟512)。
產(chǎn)生一個定單號,并使之與客戶的定單關(guān)聯(lián)起來(步驟514)。定單號被返回給客戶,這證實定單已被接受(步驟516)。最后,定單被分派以便履行(fill)(步驟518),之后操作結(jié)束。圖5中描述的業(yè)務(wù)進程流是一個示范性的業(yè)務(wù)進程流,并不意圖限制目前存在的或者未來將存在的眾多業(yè)務(wù)進程。本發(fā)明的各個獨創(chuàng)方面將允許任何只讀進程組件被集成到業(yè)務(wù)進程建模器中。
圖6是根據(jù)本發(fā)明的一個例證實施例的業(yè)務(wù)進程建模器的例證圖形用戶界面(GUI)。窗口600是可在圖3的業(yè)務(wù)進程建模器306中實現(xiàn)的圖形用戶界面的一個例子。窗口600由工具欄602,菜單區(qū)604和建模區(qū)606組成。工具欄602向用戶提供可用于操作窗口600的工具。示為工具欄602的一部分的一些例證項目是“File”、“Edit”、“View”、“Insert”、“Format”、“Tools”、“Shape”、“Verify”、“Window”和“Help”。雖然本發(fā)明只描述了這些工具,不過本領(lǐng)域的技術(shù)人員會認(rèn)識到可提供其它特征。
菜單區(qū)604顯示可供用戶用于建模的只讀進程組件608。菜單區(qū)604的例證只讀進程組件608被表示為“Receive”、“Review”、“Validate”、“Accept”、“Create Order#”、“Dispatch”和“ReturnOrder#”,不過在菜單區(qū)604中可提供任何只讀進程組件。建模區(qū)606可以是圖形用戶界面內(nèi)的任意類型的區(qū)域,比如作圖區(qū)或者白板區(qū)。建模區(qū)606是用戶能夠放置用戶從菜單區(qū)604選擇的只讀進程組件的區(qū)域。建模區(qū)606描述業(yè)務(wù)進程模型610,業(yè)務(wù)進程模型610是利用出自菜單區(qū)604的只讀進程組件608創(chuàng)建的例證模型。業(yè)務(wù)進程模型610描述一個簡單的業(yè)務(wù)進程流,其中各個只讀進程組件被順流(direct flow)連接。
圖7是根據(jù)本發(fā)明的例證實施例的描述復(fù)雜業(yè)務(wù)進程模型的例證圖形用戶界面(GUI)。窗口700是可在圖3的業(yè)務(wù)進程建模器306中實現(xiàn)的圖形用戶界面的一個例子。例證的業(yè)務(wù)進程模型702描述一個復(fù)雜的業(yè)務(wù)進程流,其中代表不同任務(wù)的各種只讀進程組件被連接,從而執(zhí)行特定的業(yè)務(wù)工作。業(yè)務(wù)進程模型702顯示不同的只讀進程組件可與任何其它只讀進程組件連接,從而獲得業(yè)務(wù)證明的特定行為,只要只讀進程組件的輸入和輸出相符。
圖8是根據(jù)本發(fā)明的例證實施例的描述在業(yè)務(wù)進程建模器中可利用的其它信息的例證圖形用戶界面(GUI)。窗口800是可在圖3的業(yè)務(wù)進程建模器306中實現(xiàn)的圖形用戶界面的一個例子。在例證的窗口800中,正在對模型802建模。如圖所示,用戶正在試圖把只讀進程組件“Receive”排列在先前放置的只讀進程組件“Create”之后。作為本發(fā)明的一個獨創(chuàng)方面,在試圖排列只讀進程組件“Receive”時,向用戶呈現(xiàn)一個表明“錯誤進程不能按該順序排序”的錯誤消息。錯誤消息804是一個例證性的錯誤,可向用戶呈現(xiàn)任意類型的錯誤消息。
作為本發(fā)明的另一獨創(chuàng)方面,還向用戶呈現(xiàn)補充消息806。補充消息806是一個幫助消息,其中就可排列在只讀進程組件“Create”之后的可能的只讀進程組件向用戶提出建議。補充消息806是一個例證性的消息,可向用戶提供任意類型的消息。補充消息806是根據(jù)標(biāo)準(zhǔn)的業(yè)務(wù)實踐向用戶提供的消息,以確保新創(chuàng)建的所建模的業(yè)務(wù)進程模型將工作。
從而,本發(fā)明的不同方面提供一種使用只讀進程組件來對服務(wù)進程建模的計算機實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng)和計算機可用代碼。接收力圖建立從選擇的只讀進程組件到先前選擇的只讀進程組件的連接的用戶輸入。響應(yīng)于收到用戶輸入,核實該連接是否是有效的連接。響應(yīng)于所有連接都有效,利用該組只讀進程組件構(gòu)建服務(wù)模型,并基于該服務(wù)模型為服務(wù)進程產(chǎn)生可執(zhí)行代碼。
本發(fā)明可以采取純硬件實施例、純軟件實施例或者包含硬件元件和軟件元件的實施例的形式。在一個例證實施例中,用軟件實現(xiàn)本發(fā)明,軟件包括(但不限于)固件、駐留軟件、微代碼等。
此外,本發(fā)明可以采取可從提供供計算機或者任何指令執(zhí)行系統(tǒng)使用或者與之有關(guān)的程序代碼的計算機可用或計算機可讀介質(zhì)訪問的計算機程序產(chǎn)品的形式。對于本說明來說,計算機可用或計算機可讀介質(zhì)可以是能夠包含、保存、傳遞、傳播或傳送供指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用或者與之有關(guān)的程序的任何有形設(shè)備。
介質(zhì)可以是電、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)(或者設(shè)備或裝置)或傳播介質(zhì)。計算機可讀介質(zhì)的例子包括半導(dǎo)體、固體存儲器、磁帶、可拆卸的計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當(dāng)前例子包括光盤-只讀存儲器(CD-ROM),讀/寫光盤(CD-R/W)和DVD。
適合于保存和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)包括通過系統(tǒng)總線,直接或間接地與存儲元件耦接的至少一個處理器。存儲元件可包括在程序代碼的實際執(zhí)行期間采用的本地存儲器,大容量存儲器,和提供至少一些程序代碼的臨時存儲,以便減少執(zhí)行期間,必須從大容量存儲器取回代碼的次數(shù)的高速緩存。
輸入/輸出或I/O裝置(包括但不限于鍵盤、顯示器、指示裝置等)可通過插入I/O控制器,直接或間接地與系統(tǒng)耦接。
網(wǎng)絡(luò)適配器也可與系統(tǒng)耦接,從而使數(shù)據(jù)處理系統(tǒng)能夠通過插入專用或公共網(wǎng)絡(luò),與其它數(shù)據(jù)處理系統(tǒng)或者遠(yuǎn)程打印機或存儲裝置耦接。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡只是目前可用的各種網(wǎng)絡(luò)適配器中的一些。
出于舉例說明的目的,給出了本發(fā)明的說明,所述說明不是詳盡的,也不打算把本發(fā)明局限于所公開的形式。對于本領(lǐng)域的普通技術(shù)人員來說,許多修改和變化是明顯的。為了最好地解釋本發(fā)明的原理,實際應(yīng)用,以及使本領(lǐng)域的其它普通技術(shù)人員在具有各種修改的各個實施例同樣適合于預(yù)期的特定用途方面理解本發(fā)明,選擇和說明了實施例。
權(quán)利要求
1.一種使用只讀進程組件來對服務(wù)進程建模的計算機實現(xiàn)的方法,所述計算機實現(xiàn)的方法包括接收用于在一組只讀進程組件中建立從選擇的只讀進程組件到先前選擇的只讀進程組件的連接的用戶輸入;響應(yīng)于收到用戶輸入,核實該連接是否是有效;如果所有連接有效,利用該組只讀進程組件構(gòu)建服務(wù)模型;和基于服務(wù)模型為服務(wù)進程產(chǎn)生可執(zhí)行代碼。
2.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,其中響應(yīng)于指示已為服務(wù)進程放置了所有只讀進程組件的后續(xù)用戶輸入,啟動構(gòu)建步驟。
3.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,其中有效連接的核實以只讀進程組件的屬性為基礎(chǔ)。
4.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,其中選擇的只讀進程組件選自該組只讀進程組件,并且其中在只讀進程組件菜單中呈現(xiàn)該組只讀進程組件。
5.按照權(quán)利要求4所述的計算機實現(xiàn)的方法,其中從只讀進程組件菜單中選擇所述選擇的只讀進程組件包括提供選擇工具;和提供該組只讀進程組件的子菜單。
6.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,其中利用該組只讀進程組件構(gòu)建服務(wù)模型包括響應(yīng)于核實連接有效,連接選擇的只讀進程組件和先前選擇的只讀進程組件;和提供對所述連接的指示。
7.按照權(quán)利要求6所述的計算機實現(xiàn)的方法,其中所述連接的指示是可聽信號或視覺信號中的至少一個。
8.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,還包括響應(yīng)于無效的連接,向用戶發(fā)送出錯消息。
9.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,還包括響應(yīng)于無效的連接,提供該組只讀進程組件中可與先前選擇的只讀進程組件正確連接的只讀進程組件的列表。
10.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,其中利用該組只讀進程組件構(gòu)建服務(wù)模型包括在圖形用戶界面中呈現(xiàn)所述服務(wù)模型。
11.按照權(quán)利要求1所述的計算機實現(xiàn)的方法,還包括核實服務(wù)模型正確地操作。
12.按照權(quán)利要求11所述的計算機實現(xiàn)的方法,其中通過比較服務(wù)模型與服務(wù)進程標(biāo)準(zhǔn),核實服務(wù)模型的操作。
13.按照權(quán)利要求11所述的計算機實現(xiàn)的方法,其中通過提示用戶核實服務(wù)模型,核實服務(wù)模型的操作。
14.一種數(shù)據(jù)處理系統(tǒng),包括總線系統(tǒng);與總線系統(tǒng)連接的通信系統(tǒng);與總線系統(tǒng)連接的存儲器,其中所述存儲器包括一組指令;和與總線系統(tǒng)連接的處理單元,其中所述處理單元執(zhí)行該組指令,從而接收用于在一組只讀進程組件中建立從選擇的只讀進程組件到先前選擇的只讀進程組件的連接的用戶輸入;響應(yīng)于收到用戶輸入,核實該連接是否是有效;如果所有連接有效,利用該組只讀進程組件構(gòu)建服務(wù)模型;和基于該服務(wù)模型為服務(wù)進程產(chǎn)生可執(zhí)行代碼。
15.按照權(quán)利要求14所述的數(shù)據(jù)處理系統(tǒng),其中選擇的只讀進程組件選自該組只讀進程組件,其中在只讀進程組件菜單中呈現(xiàn)該組只讀進程組件,其中從只讀進程組件菜單中選擇所述選擇的只讀進程組件包括所述處理單元執(zhí)行該組指令,從而提供選擇工具;和提供該組只讀進程組件的子菜單。
16.按照權(quán)利要求14所述的數(shù)據(jù)處理系統(tǒng),其中利用該組只讀進程組件構(gòu)建服務(wù)模型包括所述處理單元執(zhí)行該組指令,從而響應(yīng)于核實連接有效,連接選擇的只讀進程組件和先前選擇的只讀進程組件;和提供所述連接的指示。
全文摘要
提供一種使用只讀進程組件來對服務(wù)進程建模的計算機實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng)和計算機可用代碼。接收力圖建立從選擇的只讀進程組件到先前選擇的只讀進程組件的連接的用戶輸入。響應(yīng)于收到用戶輸入,核實該連接是否是有效的連接。響應(yīng)于所有連接都有效,利用該組只讀進程組件構(gòu)建服務(wù)模型,并基于該服務(wù)模型為服務(wù)進程產(chǎn)生可執(zhí)行代碼。
文檔編號G06F9/46GK1949179SQ200610128190
公開日2007年4月18日 申請日期2006年9月6日 優(yōu)先權(quán)日2005年10月13日
發(fā)明者蘭吉特·K·納亞克, 哈里·哈拉納斯·馬杜里, 尤格斯瓦爾·查拉帕里 申請人:國際商業(yè)機器公司