向大型機(jī)系統(tǒng)的指令提供的制作方法
【專利摘要】本發(fā)明提供了用于向大型機(jī)系統(tǒng)提供指令的方法和系統(tǒng)。在客戶端系統(tǒng)處的方法包括:構(gòu)建作業(yè)控制語(yǔ)言(JCL)作業(yè),該作業(yè)控制語(yǔ)言作業(yè)嵌入有解釋型語(yǔ)言程序以向大型機(jī)操作系統(tǒng)提供指令。在大型機(jī)系統(tǒng)處的方法包括:接收作業(yè)控制語(yǔ)言(JCL)作業(yè),該作業(yè)控制語(yǔ)言作業(yè)嵌入有解釋型語(yǔ)言程序以向大型機(jī)操作系統(tǒng)提供指令;將解釋型語(yǔ)言程序復(fù)制到暫時(shí)可執(zhí)行區(qū)域;以及執(zhí)行解釋型語(yǔ)言程序。
【專利說(shuō)明】向大型機(jī)系統(tǒng)的指令提供
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及向大型機(jī)系統(tǒng)提供指令的領(lǐng)域。特別地,本發(fā)明涉及向大型機(jī)系統(tǒng)提 供指令而不使用服務(wù)器安裝的組件形式的附加組件或單獨(dú)的終端。
【背景技術(shù)】
[0002] 大型機(jī)已經(jīng)與作為訪問(wèn)系統(tǒng)功能的主要方式的啞終端一起成長(zhǎng)。較新的裝置(例 如具有圖形用戶接口(GUI)操作系統(tǒng)的個(gè)人計(jì)算機(jī),諸如智能電話和平板電腦之類(lèi)的移動(dòng) 裝置,或者在情景應(yīng)用中使用的混搭裝置)已經(jīng)有所成長(zhǎng)。提供一種通過(guò)這些多樣化的客 戶端裝置以及未來(lái)的形狀因素(例如移動(dòng)和觸摸裝置)來(lái)驅(qū)動(dòng)大型機(jī)的方式對(duì)于大型機(jī)的 繼續(xù)存在和相關(guān)性而目是關(guān)鍵的。
[0003] 大型機(jī)中的功能的45年的遺產(chǎn)意味著存在數(shù)百個(gè)命令,這些命令已經(jīng)被證明對(duì) 于執(zhí)行任務(wù)(例如開(kāi)始地址空間,查詢系統(tǒng)信息,或者對(duì)系統(tǒng)事件做出響應(yīng))而言是可靠和 受信任的。需要一種解決方案,其解鎖用于通過(guò)任何客戶端裝置進(jìn)行訪問(wèn)的命令,而不會(huì)引 起來(lái)自于明確的客戶端/服務(wù)器邊界配置或耦合的開(kāi)銷(xiāo)。
[0004] IBM?, 3270 (IBM是國(guó)際商用機(jī)器公司在全球許多司法管轄區(qū)注冊(cè)的商標(biāo))是 IBM自從1972年以來(lái)制造的一類(lèi)面向塊的終端(被稱為"顯示裝置"),其通常被用于與IBM 大型機(jī)通信。
[0005] 當(dāng)前的實(shí)現(xiàn)要么使用IBM3270接口,要么使用服務(wù)器組件,這會(huì)引起下面描述的 問(wèn)題。
[0006] 客戶端實(shí)現(xiàn)IBM3270數(shù)據(jù)流,或者屏幕搜集IBM3270終端仿真器并使用該會(huì)話發(fā) 布命令。
[0007] 缺陷:
[0008] ㈧需要用戶的用戶id來(lái)登錄到系統(tǒng),意味著用戶id不能被單獨(dú)地使用以登錄到 系統(tǒng)。這意味著如果用戶登錄到單獨(dú)的3270會(huì)話,那么用戶會(huì)從該會(huì)話注銷(xiāo),或者客戶端 將無(wú)法發(fā)布命令使得客戶端的生產(chǎn)力降低。當(dāng)前的變通方案需要?jiǎng)?chuàng)建多個(gè)用戶id,這會(huì)具 有成本開(kāi)銷(xiāo)并且靈活度降低。
[0009] (B)解釋和響應(yīng)3270數(shù)據(jù)流需要顯著的邏輯。這意味著任何這類(lèi)實(shí)現(xiàn)的開(kāi)發(fā)、試 驗(yàn)和維護(hù)的成本昂貴。
[0010] (C)屏幕搜集會(huì)添加復(fù)雜性并需要客戶端代碼與服務(wù)器3270面板之間的耦合。如 果面板改變而沒(méi)有對(duì)客戶端進(jìn)行修改,那么該應(yīng)用會(huì)出故障。這個(gè)問(wèn)題使得這種方法脆弱、 難以維持和不可靠。
[0011] 在服務(wù)器存儲(chǔ)的程序中,客戶端發(fā)送作業(yè)控制語(yǔ)言(JCL),其利用在JCL中傳達(dá)的 命令執(zhí)行存儲(chǔ)的程序。作業(yè)控制語(yǔ)言(JCL)是在大型機(jī)操作系統(tǒng)上用于指示系統(tǒng)如何運(yùn)行 批處理作業(yè)或啟動(dòng)子系統(tǒng)的腳本語(yǔ)言。
[0012] 缺陷:
[0013] (D)該方法需要一個(gè)或多個(gè)程序被預(yù)安裝在服務(wù)器上。這會(huì)引入配置的成本和復(fù) 雜性、并限制客戶端附接到任何服務(wù)器并執(zhí)行命令的能力。
[0014] (E)任何維護(hù)變更必須施加到客戶端和所有目標(biāo)服務(wù)器。這會(huì)引入配置的成本和 復(fù)雜性。
[0015] (F)服務(wù)器配置變更由系統(tǒng)管理員密切控制和管理,并且常常受固定維護(hù)窗口的 約束。這意味著更新被延遲并且會(huì)引起較高的部署成本。
[0016] 因此,在本領(lǐng)域中存在著解決上述問(wèn)題的需要。
【發(fā)明內(nèi)容】
[0017] 根據(jù)本發(fā)明的第一方面,提供了一種在客戶端系統(tǒng)處用于向大型機(jī)系統(tǒng)提供指令 的方法,其包括:構(gòu)建作業(yè)控制語(yǔ)言(JCL)作業(yè),該作業(yè)控制語(yǔ)言作業(yè)嵌入有解釋型語(yǔ)言程 序以向大型機(jī)操作系統(tǒng)提供指令。
[0018] 根據(jù)本發(fā)明的第二方面,提供了一種在大型機(jī)系統(tǒng)處用于接收指令的方法,其包 括:接收作業(yè)控制語(yǔ)言(JCL)作業(yè),該作業(yè)控制語(yǔ)言作業(yè)嵌入有解釋型語(yǔ)言程序以向大型 機(jī)操作系統(tǒng)提供指令;將解釋型語(yǔ)言程序復(fù)制到暫時(shí)可執(zhí)行區(qū)域;以及執(zhí)行解釋型語(yǔ)言程 序。
[0019] 根據(jù)本發(fā)明的第三方面,提供了一種用于向大型機(jī)系統(tǒng)提供指令的客戶端系統(tǒng), 其包括:處理器;用于構(gòu)建作業(yè)控制語(yǔ)言(JCL)作業(yè)的組件,所述作業(yè)控制語(yǔ)言作業(yè)嵌入有 解釋型語(yǔ)言程序以向大型機(jī)操作系統(tǒng)提供指令。
[0020] 根據(jù)本發(fā)明的第四方面,提供了一種用于接收指令的大型機(jī)系統(tǒng),其包括:作業(yè)輸 入子系統(tǒng),用于接收作業(yè)控制語(yǔ)言(JCL)作業(yè),該作業(yè)控制語(yǔ)言作業(yè)嵌入有解釋型語(yǔ)言程 序以向大型機(jī)操作系統(tǒng)提供指令;復(fù)制組件,用于將解釋型語(yǔ)言程序復(fù)制到暫時(shí)執(zhí)行區(qū)域; 以及解釋型語(yǔ)言執(zhí)行組件,用于執(zhí)行解釋型語(yǔ)言程序。
[0021] 根據(jù)本發(fā)明的第五方面,提供了一種計(jì)算機(jī)程序,其存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上并 且可加載到數(shù)字計(jì)算機(jī)的內(nèi)部存儲(chǔ)器中,包括當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí)用于執(zhí)行本發(fā) 明的任何第一方面的方法的軟件代碼部分。
[0022] 根據(jù)本發(fā)明的第六方面,提供了一種計(jì)算機(jī)程序,其存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上并 且可加載到數(shù)字計(jì)算機(jī)的內(nèi)部存儲(chǔ)器中,包括當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí)用于執(zhí)行本發(fā) 明的第二方面的方法的軟件代碼部分。
[0023] 根據(jù)本發(fā)明的第七方面,提供了基本上如參照附圖所述的方法。
[0024] 根據(jù)本發(fā)明的第八方面,提供了基本上如參照附圖所述的系統(tǒng)。
[0025] 本發(fā)明的所描述的方面提供了以下優(yōu)點(diǎn):向大型機(jī)系統(tǒng)提供指令而無(wú)需使用服務(wù) 器安裝的組件形式的附加組件或單獨(dú)的終端。
【專利附圖】
【附圖說(shuō)明】
[0026] 在本說(shuō)明書(shū)的結(jié)論部分中特別指出并清楚地要求保護(hù)被視為本發(fā)明的主題。當(dāng)與 附圖一起閱讀時(shí),通過(guò)參照以下詳細(xì)描述,可以最佳地理解關(guān)于組織和操作方法以及目的、 特征和優(yōu)點(diǎn)方面的本發(fā)明。
[0027] 現(xiàn)在將僅通過(guò)示例的方式,參照以下附圖來(lái)描述本發(fā)明的優(yōu)選實(shí)施例,在附圖 中:
[0028] 圖1是根據(jù)本發(fā)明的系統(tǒng)的示例實(shí)施例的框圖;
[0029] 圖2是本發(fā)明可以在其中實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)的實(shí)施例的框圖;
[0030] 圖3是根據(jù)本發(fā)明的方法的一個(gè)方面的示例實(shí)施例的流程圖;
[0031] 圖4是根據(jù)本發(fā)明的方法的一個(gè)方面的示例實(shí)施例的流程圖;并且
[0032] 圖5是與系統(tǒng)組件相關(guān)地示出根據(jù)本發(fā)明的方法的實(shí)施例的流程的示意圖。
[0033] 具體實(shí)現(xiàn)方式
[0034] 應(yīng)當(dāng)理解,為了說(shuō)明的簡(jiǎn)化和清楚起見(jiàn),附圖中示出的元件不一定按比例繪制。例 如,為了清楚起見(jiàn),某些元件的尺寸可能會(huì)相對(duì)于其他元件而被夸大。此外,在認(rèn)為適當(dāng)時(shí), 在附圖中可以重復(fù)附圖標(biāo)記以指示對(duì)應(yīng)或相似的特征。
[0035] 在以下具體描述中,闡述許多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。然而,本領(lǐng) 域的技術(shù)人員將理解的是,可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在其他實(shí)例中, 眾所周知的方法、過(guò)程和組件并未詳細(xì)描述以便不會(huì)模糊本發(fā)明。
[0036] 提供了用于與大型機(jī)系統(tǒng)交互而不使用附加組件(例如,服務(wù)器安裝的組件,單 獨(dú)的終端)的方法和系統(tǒng)。更具體地,提供了一種解決方案,用于構(gòu)建嵌入有解釋型語(yǔ)言 (例如,REXX)的指令的作業(yè)控制語(yǔ)言(JCL)作業(yè),所述解釋型語(yǔ)言能夠訪問(wèn)大型機(jī)的操作 系統(tǒng)(Z/OS?) (z/〇S是國(guó)際商用機(jī)器公司在全球許多司法管轄區(qū)注冊(cè)的商標(biāo))。當(dāng)作業(yè) 被提交給大型機(jī)時(shí),解釋型語(yǔ)言程序與操作系統(tǒng)交互、并且嵌入的指令被執(zhí)行。
[0037] 客戶端可以構(gòu)建內(nèi)嵌有解釋型語(yǔ)言的指令的單個(gè)JCL作業(yè),所述解釋型語(yǔ)言能 夠訪問(wèn)操作系統(tǒng)應(yīng)用編程接口(API),例如是z/OS上的REXX(重構(gòu)擴(kuò)充執(zhí)行器)、或者 Perl (Perl是Perl Foundation的商標(biāo))。該JCL被提交給服務(wù)器以供執(zhí)行。
[0038] 盡管這可以使用非解釋型語(yǔ)言(例如匯編器或C)來(lái)實(shí)現(xiàn),但是這需要編譯或鏈 接-編輯步驟、和/或需要指定系統(tǒng)庫(kù)的位置。當(dāng)與本描述方法相比時(shí)這種方法的缺點(diǎn)是, 客戶端需要關(guān)于服務(wù)器的明確信息(例如特定系統(tǒng)庫(kù)的位置)。這會(huì)增加配置的成本和復(fù) 雜性、并限制客戶端附接到任何服務(wù)器并執(zhí)行命令的能力。本描述方法沒(méi)有這類(lèi)限制。
[0039] 在已經(jīng)向服務(wù)器提交JCL以供執(zhí)行后,JCL作業(yè)可以首先將解釋型語(yǔ)言有效載荷 復(fù)制到暫時(shí)可執(zhí)行區(qū)域(所述解釋型語(yǔ)言有效載荷可以從所述可執(zhí)行區(qū)域被運(yùn)行),并且 可以隨后在從暫時(shí)可執(zhí)行區(qū)域中最終刪除內(nèi)容前執(zhí)行解釋型語(yǔ)言。
[0040] 解釋型語(yǔ)言程序可以發(fā)布一個(gè)或多個(gè)命令(所述命令被包括在從客戶端發(fā)送的 程序中,或者在該解釋型語(yǔ)言程序運(yùn)行時(shí)從輸入步驟被讀?。蹲綄?duì)這些命令的響應(yīng),并 向JCL作業(yè)的輸出步驟寫(xiě)入該響應(yīng)。
[0041] 一旦作業(yè)已經(jīng)被提交,客戶端可以輪詢服務(wù)器以檢查該作業(yè)的完成情況、或者可 以等待預(yù)定義的時(shí)間段,并且一旦作業(yè)已經(jīng)完成,包含對(duì)命令的響應(yīng)的輸出步驟可以被客 戶端讀取。
[0042] 由于解釋型語(yǔ)言程序被包含在提交的JCL作業(yè)中,所以不需要在服務(wù)器上預(yù)安裝 任何代碼。這會(huì)避免上面在【背景技術(shù)】部分中的D、E和F中描述的缺陷。
[0043] 由于沒(méi)有使用3270接口,所以上面在【背景技術(shù)】部分中的A、B和C中描述的成本和 復(fù)雜性得以避免。
[0044] 參照?qǐng)D1,框圖示出所描述的系統(tǒng)100的示例實(shí)施例。系統(tǒng)100可以包括用于指揮 大型機(jī)系統(tǒng)130的客戶端系統(tǒng)110。
[0045] 客戶端系統(tǒng)110可以是任何客戶端裝置,例如個(gè)人計(jì)算機(jī)、移動(dòng)裝置(諸如智能電 話或平板電腦)、混搭裝置、或另一個(gè)大型機(jī)等。
[0046] 客戶端系統(tǒng)110可以包括用于向用戶提供模板120的模板組件111。模板120可 以是嵌入JCL指令122中的解釋型語(yǔ)言程序121。模板組件111可以包括用于接收文本形 式的用戶輸入的輸入接收組件112,并且模板120可以包括用戶輸入被添加到其中的嵌入 內(nèi)容(inserts) 123。
[0047] 客戶端系統(tǒng)110可以包括用于向大型機(jī)系統(tǒng)130發(fā)送帶有嵌入的解釋型語(yǔ)言程序 121的已完成的JCL指令122的作業(yè)發(fā)送組件113。
[0048] 大型機(jī)系統(tǒng)130可以包括用于將作業(yè)接收到操作系統(tǒng)中的作業(yè)輸入子系統(tǒng) (JES) 140。JES140可以包括用于分配和刪除臨時(shí)數(shù)據(jù)集142的臨時(shí)數(shù)據(jù)集分配組件141, 以及用于將嵌入的解釋型語(yǔ)言程序121復(fù)制到臨時(shí)數(shù)據(jù)集142中的復(fù)制組件143。
[0049] 解釋型語(yǔ)言執(zhí)行組件150表示被程序121使用的解釋型語(yǔ)言。執(zhí)行組件150可以 包括具有由解釋型語(yǔ)言提供并由解釋型語(yǔ)言程序121使用的工具的以下組件,S卩:用于抑 制未經(jīng)請(qǐng)求的消息的抑制組件151,用于創(chuàng)建和停用時(shí)間共享選項(xiàng)(TS0)控制臺(tái)160的控制 臺(tái)組件152,用于向控制臺(tái)發(fā)布命令和從控制臺(tái)接收響應(yīng)的命令組件153,以及用于發(fā)布對(duì) 命令的響應(yīng)的第一作業(yè)輸出組件154。
[0050] 可以提供抑制組件151,因?yàn)閺V播消息有可能被發(fā)送給系統(tǒng)上的所有"用戶"。如 果這些消息中的一個(gè)消息被程序121接收到,那么該消息可能不被理解并會(huì)造成程序121 中的錯(cuò)誤。抑制未經(jīng)請(qǐng)求的消息會(huì)阻止這些消息被程序121接收。
[0051] 控制臺(tái)組件152可以創(chuàng)建控制臺(tái)作為用于向大型機(jī)操作系統(tǒng)發(fā)布命令并接收答 復(fù)的手段。這與在操作系統(tǒng)中創(chuàng)建命令提示窗口相似,除了以下區(qū)別之外:這里創(chuàng)建的控制 臺(tái)可以以編程方式訪問(wèn)、并且不具有對(duì)用戶可見(jiàn)的組件。
[0052] JES140可以包括第二作業(yè)輸出組件144,用于將作業(yè)輸出171寫(xiě)入數(shù)據(jù)集卷軸 (dataset spool) 170,這可以由客戶端系統(tǒng)110的接收組件114檢查。在一個(gè)實(shí)施例中,接 收組件114可以向大型機(jī)系統(tǒng)輪詢作業(yè)輸出。可替換地,接收組件114可以包括例如用于 在預(yù)定時(shí)間段后檢查的另一種形式的檢查組件??蛻舳讼到y(tǒng)110還可以包括用于讀取和檢 查響應(yīng)的作業(yè)完成組件115。
[0053] 參照?qǐng)D2,用于實(shí)現(xiàn)本發(fā)明的方面的示例性系統(tǒng)包括適合于存儲(chǔ)和/或執(zhí)行程序 代碼的數(shù)據(jù)處理系統(tǒng)200,其包括通過(guò)總線系統(tǒng)203直接地或間接地耦合到存儲(chǔ)器元件的 至少一個(gè)處理器201。存儲(chǔ)器元件可以包括在程序代碼的實(shí)際執(zhí)行期間采用的本地存儲(chǔ)器, 大容量存儲(chǔ)裝置,以及提供至少某些程序代碼的暫時(shí)存儲(chǔ)以便減少在執(zhí)行期間必須從大容 量存儲(chǔ)裝置取回代碼的次數(shù)的高速緩沖存儲(chǔ)器。
[0054] 存儲(chǔ)器元件可以包括只讀存儲(chǔ)器(ROM) 204和隨機(jī)存取存儲(chǔ)器(RAM) 205的形式的 系統(tǒng)存儲(chǔ)器202?;据斎?輸出系統(tǒng)(BIOS) 206可以被存儲(chǔ)在R0M204中。軟件207可以 被存儲(chǔ)在RAM205中,軟件207包括系統(tǒng)軟件208,系統(tǒng)軟件208包括操作系統(tǒng)軟件209。軟 件應(yīng)用210也可以被存儲(chǔ)在RAM205中。
[0055] 系統(tǒng)200還可以包括諸如磁硬盤(pán)驅(qū)動(dòng)器之類(lèi)的主存儲(chǔ)裝置211和諸如磁盤(pán)驅(qū)動(dòng)器 和光盤(pán)驅(qū)動(dòng)器之類(lèi)的輔助存儲(chǔ)裝置212。所述驅(qū)動(dòng)器和他們的相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提 供用于系統(tǒng)200的計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的非易失性存儲(chǔ)。軟 件應(yīng)用可以被存儲(chǔ)在主和輔助存儲(chǔ)裝置211、212以及系統(tǒng)存儲(chǔ)器202中。
[0056] 計(jì)算系統(tǒng)200可以經(jīng)由網(wǎng)絡(luò)適配器216,使用去往一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯 連接,而在聯(lián)網(wǎng)的環(huán)境中運(yùn)行。
[0057] 輸入/輸出裝置213可以直接地或者通過(guò)居間I/O控制器耦合到系統(tǒng)。用戶可 以通過(guò)諸如鍵盤(pán)、指點(diǎn)裝置或其他輸入裝置(例如,麥克風(fēng)、操縱桿、游戲手柄、碟形衛(wèi)星天 線、掃描儀等)之類(lèi)的輸入裝置將命令和信息輸入到系統(tǒng)200中。輸出裝置可以包括揚(yáng)聲 器,打印機(jī)等。顯示裝置214也經(jīng)由接口(例如視頻適配器215)連接到系統(tǒng)總線203。
[0058] 參照?qǐng)D3,流程圖300示出在客戶端系統(tǒng)處的所描述的方法的實(shí)施例。
[0059] 可以向客戶端系統(tǒng)的用戶提供模板(301)。該模板可以包括作為內(nèi)嵌數(shù)據(jù)集被嵌 入JCL中的解釋型程序。輸入可以以文本形式的大型機(jī)操作系統(tǒng)命令的形式從用戶接收 (302),并在適當(dāng)?shù)奈恢貌迦氲侥0宓慕忉屝统绦蛑校?03)。所產(chǎn)生的具有嵌入的解釋型語(yǔ) 言程序的JCL可以通過(guò)文件傳送協(xié)議(FTP)(或等效協(xié)議)提交給目標(biāo)大型機(jī)系統(tǒng)(304) 以便由作業(yè)調(diào)度系統(tǒng)分派。
[0060] 待發(fā)布從而被執(zhí)行的命令可以嵌入解釋型語(yǔ)言程序中,或者在解釋型語(yǔ)言程序運(yùn) 行時(shí),待發(fā)布從而被執(zhí)行的命令可以從輸入步驟讀入。在任一種情況下,命令在被發(fā)送到大 型機(jī)之前可以被添加到JCL/解釋型語(yǔ)言程序中。
[0061] 可以檢查大型機(jī)系統(tǒng)對(duì)作業(yè)的完成情況(305)。一旦作業(yè)完成,可以讀取作業(yè)完成 代碼(以檢查錯(cuò)誤)(306),并且讀取由解釋型程序創(chuàng)建的輸出步驟以捕捉對(duì)命令的響應(yīng)。
[0062] 參照?qǐng)D4,流程圖400示出在大型機(jī)系統(tǒng)處的所描述的方法的實(shí)施例。
[0063] 來(lái)自客戶端的具有嵌入的解釋型語(yǔ)言程序的JCL可以由主系統(tǒng)接收(401),并且 可以包括兩個(gè)作業(yè)(JOB)步驟。
[0064] 步驟一可以分配臨時(shí)數(shù)據(jù)集(402)并且可以將嵌入的解釋型語(yǔ)言程序復(fù)制到該 數(shù)據(jù)集中的成員中。
[0065] 步驟二可以執(zhí)行來(lái)自臨時(shí)數(shù)據(jù)集的解釋型語(yǔ)言程序(410)。該解釋型程序可以執(zhí) 行以下操作??梢砸种迫ネ刂婆_(tái)從而將被使用的未經(jīng)請(qǐng)求的消息(411)。可以創(chuàng)建TS0 控制臺(tái)(412),其中命令可以從該TS0控制臺(tái)發(fā)布??梢詫⒚畎l(fā)布給控制臺(tái)(413),并且 可以例如使用CART(命令和響應(yīng)令牌)機(jī)制以使響應(yīng)與該響應(yīng)的發(fā)布所針對(duì)的命令相關(guān), 來(lái)從控制臺(tái)取回命令響應(yīng)(414)。
[0066] 可以確定是否存在另一個(gè)命令(415)。如果存在的話,則重復(fù)發(fā)布命令和取回響應(yīng) 的步驟413和414。如果不存在另外的命令,則可以停用控制臺(tái)(416)。
[0067] 可以將命令的響應(yīng)寫(xiě)入作業(yè)輸出步驟中(417)。該響應(yīng)可以比僅僅命令響應(yīng)更豐 j 雖〇
[0068] 在步驟二完成(410)時(shí),可以自動(dòng)刪除臨時(shí)數(shù)據(jù)集(418)。
[0069] 下面是具有嵌入的REXX程序的JCL模板的示例。
[0070] Template JCL: / / PRECOPY EXEC PGM=IEBUPDTE, PARM=NEW / / SYSUT2 DD DISP=(, PASS), UNIT=SYSDA, SPACE= (TRK, (3,1,1)), // LRECL=80, RECFM=FB, DSORG=PO / / SYSPRINTDD DUMMY
[0071] / / SYSIN DD * ./ADD NAME=CMDPGM / * REXX*/ :REXX program to issue command and retrieve response ? /* //* //RUN EXEC PGM=IKJEFT01,PARM='%CMDPGM,,COM)=(〇,NE) / / SYSEXEC DD DSN=*.PRECOPY.SYSUT2, DISP=(OLD, DELETE) / / SYSTSPRT DD SYSOUT=* / / REXXOUT DD SYSOUT=* //SYSTSIN DD DUMMY
[0072] 在當(dāng)解釋型語(yǔ)言程序運(yùn)行時(shí)從輸入步驟讀入命令的實(shí)施例中,客戶端必須將適當(dāng) 的作業(yè)卡添加到模板JCL(例如上面給出的樣本JCL)的開(kāi)頭。非常簡(jiǎn)單的作業(yè)卡可以是:
[0073] //J0BNAME JOB
[0074] 參照?qǐng)D5,示意圖500示出在圖1的示例系統(tǒng)的上下文中所描述的方法的實(shí)施例。
[0075] 用戶可以在客戶端系統(tǒng)110處將命令添加到嵌入JCL指令122中的解釋型語(yǔ)言程 序121中(501)。JCL指令122可以作為作業(yè)被提交給大型機(jī)系統(tǒng)130的JES140 (502)。
[0076] JES140將解釋型語(yǔ)言程序121復(fù)制到臨時(shí)數(shù)據(jù)集142中(503),其中解釋型語(yǔ)言 程序121可以從該臨時(shí)數(shù)據(jù)集142中被解釋型語(yǔ)言執(zhí)行組件150執(zhí)行(504、505)。解釋型 語(yǔ)言執(zhí)行組件150創(chuàng)建控制臺(tái)160并向其發(fā)布命令(506),并從控制臺(tái)160接收返回的響應(yīng) (507)。
[0077] 將解釋型語(yǔ)言程序121的作業(yè)輸出發(fā)送到JES140(508)以及發(fā)送到數(shù)據(jù)集卷 軸(509),其中該作業(yè)輸出從數(shù)據(jù)集卷軸509中被客戶端系統(tǒng)110處的輪詢組件114輪詢 (510)。
[0078] 本公開(kāi)描述了用于允許命令從客戶端發(fā)布而不需要服務(wù)器組件或3270會(huì)話的過(guò) 程。
[0079] 本發(fā)明可以采取完全硬件實(shí)施例、完全軟件實(shí)施例、或者包含硬件和軟件元素兩 者的實(shí)施例的形式。在優(yōu)選實(shí)施例中,本發(fā)明以軟件實(shí)現(xiàn),該軟件包括但不限于固件、駐留 軟件、微代碼等。
[0080] 本發(fā)明可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問(wèn)的計(jì)算機(jī)程序產(chǎn)品的形 式,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供由計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用或與其結(jié)合 使用的程序代碼。出于本說(shuō)明書(shū)的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是能夠包含、 存儲(chǔ)、傳遞、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或器件使用或與其結(jié)合使用的程序的任何裝 置。
[0081] 所述介質(zhì)可以是電子、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)(或裝置或器件)或傳播 介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移除計(jì)算機(jī)盤(pán)、隨機(jī)存 取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬磁盤(pán)和光盤(pán)。光盤(pán)的當(dāng)前示例包括光盤(pán)只讀存儲(chǔ)器 (CD-ROM)、光盤(pán)讀 / 寫(xiě)(CD-R/W)以及 DVD。
[0082] 可以在不脫離本發(fā)明的范圍的情況下對(duì)前述內(nèi)容進(jìn)行改進(jìn)和修改。
【權(quán)利要求】
1. 一種在客戶端系統(tǒng)處用于向大型機(jī)系統(tǒng)提供指令的方法,包括: 構(gòu)建作業(yè)控制語(yǔ)言(JCL)作業(yè),所述作業(yè)控制語(yǔ)言作業(yè)嵌入(304)有解釋型語(yǔ)言程序 以向大型機(jī)操作系統(tǒng)提供指令。
2. 根據(jù)權(quán)利要求1所述的方法,其中將待發(fā)布給所述大型機(jī)操作系統(tǒng)的命令嵌入所述 解釋型語(yǔ)言程序中。
3. 根據(jù)權(quán)利要求1所述的方法,其中當(dāng)所述解釋型語(yǔ)言程序被運(yùn)行時(shí),從輸入步驟讀 入待發(fā)布給所述大型機(jī)操作系統(tǒng)的命令。
4. 根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,包括: 將所述作業(yè)控制語(yǔ)言作業(yè)提交(304)給大型機(jī)系統(tǒng);以及 獲得(305)對(duì)所述作業(yè)控制語(yǔ)言作業(yè)的響應(yīng),所述響應(yīng)包括對(duì)所述解釋型語(yǔ)言程序的 響應(yīng)。
5. 根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,包括: 提供(301)具有嵌入的解釋型語(yǔ)言程序的所述作業(yè)控制語(yǔ)言作業(yè)的模板,所述模板包 括用于文本形式的用戶輸入的適當(dāng)位置。
6. 根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中將所述解釋型語(yǔ)言程序嵌入所述作業(yè) 控制語(yǔ)言作業(yè)中作為內(nèi)嵌數(shù)據(jù)集。
7. -種在大型機(jī)系統(tǒng)處用于接收指令的方法,包括: 接收(401)作業(yè)控制語(yǔ)言(JCL)作業(yè),所述作業(yè)控制語(yǔ)言作業(yè)嵌入有解釋型語(yǔ)言程序 以向大型機(jī)操作系統(tǒng)提供指令; 將所述解釋型語(yǔ)言程序復(fù)制(402)到暫時(shí)可執(zhí)行區(qū)域;以及 執(zhí)行(410)所述解釋型語(yǔ)言程序。
8. 根據(jù)權(quán)利要求7所述的方法,包括: 在執(zhí)行所述解釋型語(yǔ)言程序之后,刪除(418)所述暫時(shí)可執(zhí)行區(qū)域。
9. 根據(jù)權(quán)利要求7所述的方法,其中所述解釋型語(yǔ)言程序能夠訪問(wèn)大型機(jī)操作系統(tǒng)應(yīng) 用編程接口(API)。
10. 根據(jù)權(quán)利要求7或權(quán)利要求8所述的方法,其中所述解釋型語(yǔ)言程序創(chuàng)建(412)控 制臺(tái),作為用于向所述大型機(jī)操作系統(tǒng)發(fā)布命令和接收答復(fù)的裝置。
11. 根據(jù)權(quán)利要求10所述的方法,其中將多個(gè)命令包括在所述解釋型語(yǔ)言程序中,以 及取回多個(gè)響應(yīng)。
12. 根據(jù)權(quán)利要求7至11中任一項(xiàng)所述的方法,包括: 將響應(yīng)寫(xiě)入(417)解釋型語(yǔ)言程序作為作業(yè)輸出步驟;以及 將所述作業(yè)輸出步驟包括在作業(yè)控制語(yǔ)言完成代碼中。
13. -種用于向大型機(jī)系統(tǒng)提供指令的客戶端系統(tǒng),包括: 處理器; 用于構(gòu)建作業(yè)控制語(yǔ)言(JCL)作業(yè)的組件,所述作業(yè)控制語(yǔ)言作業(yè)嵌入有解釋型語(yǔ)言 程序以向大型機(jī)操作系統(tǒng)提供指令。
14. 根據(jù)權(quán)利要求13所述的客戶端系統(tǒng),包括: 作業(yè)發(fā)送組件(113),用于將所述作業(yè)控制語(yǔ)言作業(yè)提交給大型機(jī)系統(tǒng);以及 接收組件(114),用于獲得對(duì)所述作業(yè)控制語(yǔ)言作業(yè)的響應(yīng),所述響應(yīng)包括對(duì)所述解釋 型語(yǔ)言程序的響應(yīng)。
15. 根據(jù)權(quán)利要求13或權(quán)利要求14所述的客戶端系統(tǒng),包括: 模板組件(111),用于提供具有嵌入的解釋型語(yǔ)言程序的作業(yè)控制語(yǔ)言作業(yè)的模板,所 述模板包括用于文本形式的用戶輸入的適當(dāng)位置。
16. 根據(jù)權(quán)利要求13至15中任一項(xiàng)所述的客戶端系統(tǒng),其中將所述解釋型語(yǔ)言程序嵌 入所述作業(yè)控制語(yǔ)言作業(yè)中作為內(nèi)嵌數(shù)據(jù)集。
17. -種用于接收指令的大型機(jī)系統(tǒng),包括: 作業(yè)輸入子系統(tǒng)(140),用于接收作業(yè)控制語(yǔ)言(JCL)作業(yè),所述作業(yè)控制語(yǔ)言作業(yè)嵌 入有解釋型語(yǔ)言程序以向大型機(jī)操作系統(tǒng)提供指令; 復(fù)制組件(143),用于將所述解釋型語(yǔ)言程序復(fù)制到暫時(shí)執(zhí)行區(qū)域;以及 解釋型語(yǔ)言執(zhí)行組件(150),用于執(zhí)行所述解釋型語(yǔ)言程序。
18. 根據(jù)權(quán)利要求17所述的大型機(jī)系統(tǒng),包括: 分配組件(141),用于分配所述暫時(shí)可執(zhí)行區(qū)域、以及在執(zhí)行所述解釋型語(yǔ)言程序之后 刪除所述暫時(shí)可執(zhí)行區(qū)域。
19. 根據(jù)權(quán)利要求17或權(quán)利要求18所述的大型機(jī)系統(tǒng),包括:用于創(chuàng)建控制臺(tái)的控制 臺(tái)組件(152),其中將命令發(fā)布給所述控制臺(tái)并且從所述控制臺(tái)取回響應(yīng)。
20. 根據(jù)權(quán)利要求17至19中任一項(xiàng)所述的大型機(jī)系統(tǒng),包括: 在所述解釋型語(yǔ)言執(zhí)行組件(150)處的第一作業(yè)輸出組件(154),用于將響應(yīng)寫(xiě)入所 述解釋型語(yǔ)言程序作為作業(yè)輸出步驟;以及 在所述作業(yè)輸入子系統(tǒng)(140)處的第二作業(yè)輸出組件(144),用于將所述作業(yè)輸出步 驟包括在作業(yè)控制語(yǔ)言完成代碼中。
21. -種計(jì)算機(jī)程序,其被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上并且能夠被加載到數(shù)字計(jì)算機(jī)的 內(nèi)部存儲(chǔ)器中,包括當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí)用于執(zhí)行權(quán)利要求1-6中任一項(xiàng)所述的 方法的軟件代碼部分。
22. -種計(jì)算機(jī)程序,其被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上并且能夠被加載到數(shù)字計(jì)算機(jī)的 內(nèi)部存儲(chǔ)器中,包括當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí)用于執(zhí)行權(quán)利要求7-12中任一項(xiàng)所述 的方法的軟件代碼部分。
23. -種方法,基本上如參照附圖所述。
24. -種系統(tǒng),基本上如參照附圖所述。
【文檔編號(hào)】G06F9/45GK104254836SQ201380020279
【公開(kāi)日】2014年12月31日 申請(qǐng)日期:2013年4月3日 優(yōu)先權(quán)日:2012年4月17日
【發(fā)明者】J·D·泰勒, G·O·維丁漢姆, J·R·溫徹斯特, C·C·斯通 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司