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