專利名稱:使web應(yīng)用能夠訪問企業(yè)管理的數(shù)據(jù)的方法、裝置和計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及企業(yè)信息系統(tǒng)。具體地,本發(fā)明涉及使web應(yīng)用能夠?qū)ζ髽I(yè)管理的數(shù)據(jù)進(jìn)行可恢復(fù)的事務(wù)訪問的裝置、系統(tǒng)和方法。
背景技術(shù):
計(jì)算機(jī)和信息技術(shù)持續(xù)發(fā)展,并提供了允許軟件應(yīng)用比過去更容易地交互的工具。例如,近年來,已提出了web應(yīng)用和web服務(wù)來允許客戶應(yīng)用例如無處不在的web瀏覽器在世界范圍的網(wǎng)絡(luò)例如萬維網(wǎng)上與服務(wù)器應(yīng)用通信,所述服務(wù)器應(yīng)用被編程為提供多種服務(wù)包括銀行業(yè)務(wù)、購物、遠(yuǎn)程訪問、數(shù)據(jù)庫訪問等。通常,這些服務(wù)的數(shù)據(jù)被繼續(xù)以當(dāng)舊的計(jì)算機(jī)技術(shù)首先提供這些服務(wù)器時(shí)最初定義的格式存儲(chǔ)和維護(hù)。
現(xiàn)在,現(xiàn)代接口允許web應(yīng)用經(jīng)由遺留(legacy)數(shù)據(jù)存儲(chǔ)子系統(tǒng)直接訪問數(shù)據(jù),該子系統(tǒng)維持?jǐn)?shù)據(jù)的最初格式和語義。該遺留數(shù)據(jù)存儲(chǔ)子系統(tǒng)往往僅是管理若干以專有格式存儲(chǔ)數(shù)據(jù)的不同文件的操作系統(tǒng)的文件系統(tǒng)。這種數(shù)據(jù)的一個(gè)示例是可使用IBM的z/OS操作系統(tǒng)訪問的虛擬存儲(chǔ)訪問方法(VSAM)數(shù)據(jù)。大公司、政府和其他企業(yè)繼續(xù)使用這種遺留數(shù)據(jù)存儲(chǔ)子系統(tǒng),以便受益于已經(jīng)為開發(fā)和維護(hù)數(shù)據(jù)而花費(fèi)的重大金融投資,并允許遺留和/或現(xiàn)代應(yīng)用使用該數(shù)據(jù)。
遺留數(shù)據(jù)存儲(chǔ)子系統(tǒng)繼續(xù)為這些企業(yè)管理高百分比的數(shù)據(jù)和每天的事務(wù)。這些現(xiàn)代接口避免了通常與將數(shù)據(jù)從遺留系統(tǒng)遷移到現(xiàn)代系統(tǒng)相關(guān)聯(lián)的昂貴的數(shù)據(jù)提取、轉(zhuǎn)換和重新格式化的成本。圖1示出了提供web應(yīng)用到遺留數(shù)據(jù)的直接接口的系統(tǒng)100的一個(gè)示例。
系統(tǒng)100包括web客戶機(jī)102、應(yīng)用服務(wù)器104和遺留數(shù)據(jù)106例如VSAM數(shù)據(jù)106。web客戶機(jī)102是web應(yīng)用108內(nèi)的一個(gè)部件。通常,web應(yīng)用108包括多個(gè)模塊,這些模塊包括但不局限于web瀏覽器、web服務(wù)、小應(yīng)用程序、小服務(wù)程序、Enterprise Java Bean(EJB)、其他web服務(wù)器、中間件等。這些模塊每個(gè)單獨(dú)或組合在一起可構(gòu)成web應(yīng)用108。web客戶機(jī)102在網(wǎng)絡(luò)110例如因特網(wǎng)上發(fā)送訪問VSAM數(shù)據(jù)106的請求。
web應(yīng)用108的一個(gè)或多個(gè)部件在應(yīng)用服務(wù)器104內(nèi)執(zhí)行。應(yīng)用或web服務(wù)器104為web應(yīng)用108提供例如安全、認(rèn)證和連接集的服務(wù)。應(yīng)用服務(wù)器104在操作系統(tǒng)112例如虛擬存儲(chǔ)擴(kuò)展/企業(yè)系統(tǒng)體系結(jié)構(gòu)(VSE/ESA)內(nèi)操作。
在傳統(tǒng)系統(tǒng)例如系統(tǒng)100內(nèi),由操作系統(tǒng)內(nèi)的文件系統(tǒng)管理存儲(chǔ)媒體上的遺留VSAM數(shù)據(jù)106。文件系統(tǒng)管理數(shù)據(jù)并格式化數(shù)據(jù)。通過對操作系統(tǒng)進(jìn)行調(diào)用例如“GET”或“PUT”調(diào)用來訪問數(shù)據(jù),該操作系統(tǒng)使用文件系統(tǒng)來滿足請求。因此,VSAM數(shù)據(jù)106與操作系統(tǒng)緊密聯(lián)系。
VSAM數(shù)據(jù)106通常以非關(guān)系格式存儲(chǔ)在平面文件內(nèi)。VSAM數(shù)據(jù)106內(nèi)的記錄由關(guān)鍵字和一個(gè)或多個(gè)文件內(nèi)的偏移量信息識(shí)別。VSAM數(shù)據(jù)106的非關(guān)系性質(zhì)要求將關(guān)系事務(wù)請求轉(zhuǎn)換成非關(guān)系事務(wù)請求。
系統(tǒng)100包括VSAMSQL模塊114,該模塊在在此也被稱為關(guān)系事務(wù)請求的關(guān)系訪問方法和操作系統(tǒng)理解的用于訪問VSAM數(shù)據(jù)106的非關(guān)系訪問方法之間進(jìn)行轉(zhuǎn)換。VSAMSQL模塊114允許web應(yīng)用108使用結(jié)構(gòu)化查詢語言(SQL)關(guān)系事務(wù)請求來訪問VSAM數(shù)據(jù)106。
VSAMSQL模塊114響應(yīng)于請求提供關(guān)系結(jié)果集。這樣,web應(yīng)用108的程序員與更舊的非關(guān)系訪問方法的細(xì)節(jié)絕緣。而程序員可使用公知的SQL請求來訪問VSAM數(shù)據(jù)106。
公開號為US2001/0018684A1(下文中被稱為’684)的美國專利申請09/791924內(nèi)說明了系統(tǒng)100的一個(gè)示例,該專利申請被相同的受讓人共同擁有并且并入本文作為參考。不幸的是,例如申請’684內(nèi)的系統(tǒng)100沒有為今天的任務(wù)關(guān)鍵(mission critical)事務(wù)提供所希望的相同的事務(wù)訪問和恢復(fù)功能。沒有事務(wù)訪問和恢復(fù),這是因?yàn)椴淮嬖诰途w的與VSAMSQL模塊114交互的數(shù)據(jù)管理系統(tǒng)。另外,VSE/ESA操作系統(tǒng)不支持這種管理系統(tǒng)。
因此,VASMSQL模塊114直接與操作系統(tǒng)和文件系統(tǒng)接口連接(interface)。記錄在文件或記錄級上被鎖定,而不能確保特定的事務(wù)將作為原子事務(wù)完成,這意味著事務(wù)的一部分可能完成和改變數(shù)據(jù),而必要的第二部分未能更新數(shù)據(jù)。此外,如果事務(wù)完全或部分失敗,則目前不存在恢復(fù)該事務(wù)的機(jī)制。
另外,與VSAMSQL接口連接的文件系統(tǒng)不提供其他的企業(yè)級數(shù)據(jù)管理功能例如對此關(guān)鍵數(shù)據(jù)的兩階段提交、回退、備份和恢復(fù)。web應(yīng)用使用VSAMSQL模塊114對VSAM數(shù)據(jù)106的訪問會(huì)導(dǎo)致丟失數(shù)據(jù)、數(shù)據(jù)完整性問題和/或由于數(shù)據(jù)鎖定而數(shù)據(jù)訪問局限于單個(gè)請求。
因此,需要一種用于使web應(yīng)用能夠訪問企業(yè)管理的數(shù)據(jù)的裝置、系統(tǒng)和方法。即使基礎(chǔ)數(shù)據(jù)是非關(guān)系的,該裝置、系統(tǒng)和方法仍應(yīng)通過標(biāo)準(zhǔn)接口接受關(guān)系事務(wù)并返回關(guān)系結(jié)果。另外,該裝置、系統(tǒng)和方法應(yīng)為被管理的遺留數(shù)據(jù)提供事務(wù)訪問和事務(wù)恢復(fù),以為事務(wù)提供企業(yè)級特征(feature)例如兩階段提交、回退、并行訪問、記入日志和恢復(fù)。
發(fā)明內(nèi)容
響應(yīng)于對于使用現(xiàn)代web應(yīng)用訪問遺留數(shù)據(jù)尚未滿足的問題和需求開發(fā)出本發(fā)明,在所述現(xiàn)代web應(yīng)用中web應(yīng)用啟動(dòng)的事務(wù)被事務(wù)管理和恢復(fù)特征例如兩階段提交、回退、并行訪問和記入日志保護(hù)。因此,已開發(fā)本發(fā)明來提供一種可克服現(xiàn)有技術(shù)內(nèi)的很多或全部上述缺陷的、用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的裝置、方法和系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)方面的裝置包括可恢復(fù)資源管理器、事務(wù)轉(zhuǎn)換器、接口和結(jié)果轉(zhuǎn)換器。該可恢復(fù)資源管理器(RRM)為并行訪問數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問。優(yōu)選地,RRM是針對特定類型的數(shù)據(jù)例如虛擬存儲(chǔ)訪問方法(VSAM)數(shù)據(jù)配置的。RRM管理發(fā)出事務(wù)請求的多個(gè)應(yīng)用對數(shù)據(jù)的訪問。優(yōu)選地,RRM與企業(yè)信息系統(tǒng)(EIS)內(nèi)的其他部件配合以提供數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享,從而訪問該數(shù)據(jù)的事務(wù)可恢復(fù)。
事務(wù)轉(zhuǎn)換器將來自web應(yīng)用的關(guān)系事務(wù)請求轉(zhuǎn)換成一個(gè)或多個(gè)非關(guān)系事務(wù)請求。該關(guān)系事務(wù)請求是針對RRM管理的數(shù)據(jù)。所述接口允許非關(guān)系事務(wù)請求被發(fā)送給RRM以被執(zhí)行,以便生成將返回該接口的非關(guān)系結(jié)果。結(jié)果轉(zhuǎn)換器將非關(guān)系結(jié)果轉(zhuǎn)換成關(guān)系結(jié)果,該關(guān)系結(jié)果可被發(fā)送回web應(yīng)用。在一些實(shí)施例內(nèi),提供了web應(yīng)用接口,該web應(yīng)用接口根據(jù)行業(yè)接受的應(yīng)用編程接口(API)接收來自web應(yīng)用的關(guān)系事務(wù)。
還提出了根據(jù)本發(fā)明的一個(gè)方面的用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的方法。在一個(gè)實(shí)施例內(nèi),該方法包括為數(shù)據(jù)提供可恢復(fù)資源管理器(RRM),該RRM被配置成為并行訪問該數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問。接下來,將涉及RRM管理的數(shù)據(jù)的關(guān)系事務(wù)轉(zhuǎn)換成非關(guān)系事務(wù)。將該非關(guān)系事務(wù)傳遞給RRM,該RRM執(zhí)行該非關(guān)系事務(wù)以產(chǎn)生非關(guān)系結(jié)果。最后,將非關(guān)系結(jié)果轉(zhuǎn)換成關(guān)系結(jié)果,該關(guān)系結(jié)果被發(fā)送回web應(yīng)用。
本發(fā)明還包括被安排成系統(tǒng)、計(jì)算機(jī)程序和包括體現(xiàn)了一組指令的計(jì)算機(jī)存儲(chǔ)媒體的制造物品的實(shí)施例,它們都包括與上文關(guān)于裝置和方法說明的部件和步驟基本相同的功能。本發(fā)明的特征和優(yōu)點(diǎn)從下文的說明和所附權(quán)利要求中可更清楚地理解,或者可通過實(shí)施如下文所述的本發(fā)明來了解。
為了容易理解本發(fā)明的優(yōu)點(diǎn),下文將參照附圖內(nèi)所示的特定實(shí)施例更具體地說明上文簡要說明的本發(fā)明。應(yīng)理解,這些附圖僅示出本發(fā)明的典型實(shí)施例,因此不應(yīng)被認(rèn)為是限制本發(fā)明的范圍,將通過使用附圖以額外的特定性和細(xì)節(jié)來說明和解釋本發(fā)明,在附圖中圖1是示出傳統(tǒng)的被提供以允許由現(xiàn)代web應(yīng)用訪問非關(guān)系遺留數(shù)據(jù)的訪問方法的框圖;
圖2是示出根據(jù)本發(fā)明的用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的裝置的一個(gè)實(shí)施例的示意性框圖;圖3是根據(jù)本發(fā)明的VSAM連接器的一個(gè)實(shí)施例的示意性框圖;圖4A是示出能夠與本發(fā)明的一些實(shí)施例接口連接的企業(yè)信息系統(tǒng)(EIS)的示意性框圖;圖4B是示出被配置成與本發(fā)明接口連接的可恢復(fù)資源管理器(RRM)的示意性框圖;圖5是根據(jù)本發(fā)明的事務(wù)轉(zhuǎn)換器的示意性框圖;圖6是用于使web應(yīng)用能夠訪問企業(yè)管理的數(shù)據(jù)的裝置的示意性框圖;圖7是用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的系統(tǒng)的示意性框圖;圖8是示出了用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的方法的示意性流程圖;以及圖9是示出用于將非關(guān)系事務(wù)請求發(fā)送給可恢復(fù)資源管理器并接收非關(guān)系結(jié)果的方法的示意性流程圖。
具體實(shí)施例方式
將容易理解,如這里附圖內(nèi)一般地描述和示出的本發(fā)明的部件可被安排和設(shè)計(jì)成許多不同的配置。因此,下文對附圖中所示的本發(fā)明的裝置、系統(tǒng)和方法的實(shí)施例的更詳細(xì)的說明并非旨在限制權(quán)利要求所述的本發(fā)明的范圍,而是僅代表本發(fā)明的選擇的實(shí)施例。
此說明書內(nèi)所述的許多功能單元已被標(biāo)記為模塊,以便更特別地強(qiáng)調(diào)它們的實(shí)現(xiàn)獨(dú)立性。例如,模塊可實(shí)現(xiàn)為包括定制VLSI電路或門陣列、現(xiàn)成的半導(dǎo)體例如邏輯芯片、晶體管或其他分立元件的硬件電路。模塊還可在可編程硬件設(shè)備例如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等中實(shí)現(xiàn)。
模塊還可在軟件中實(shí)現(xiàn)以便被各種處理器執(zhí)行。被標(biāo)識(shí)的可執(zhí)行代碼模塊可例如包括例如可被組織成對象、過程、函數(shù)或其他構(gòu)造的計(jì)算指令的一個(gè)或多個(gè)物理或邏輯塊。但是,被標(biāo)識(shí)模塊的可執(zhí)行代碼不需要在物理上位于一起,而是可包括存儲(chǔ)在不同位置的不同指令,所述不同指令當(dāng)在邏輯上連接在一起時(shí)構(gòu)成該模塊并實(shí)現(xiàn)該模塊的指定目的。
實(shí)際上,可執(zhí)行代碼的一個(gè)模塊可以是單個(gè)指令或許多指令,甚至可分布在幾個(gè)不同的代碼段中、不同程序中以及幾個(gè)存儲(chǔ)設(shè)備中。類似地,操作數(shù)據(jù)在本文中可在模塊內(nèi)被標(biāo)識(shí)和說明,并且可體現(xiàn)為任何合適的形式和組織到任何合適類型的數(shù)據(jù)結(jié)構(gòu)中。操作數(shù)據(jù)可被匯集成單個(gè)數(shù)據(jù)集,或者可分布在不同位置上包括在不同存儲(chǔ)設(shè)備中,并且可至少部分地僅僅作為系統(tǒng)或網(wǎng)絡(luò)上的電子信號存在。
在此說明書內(nèi)的對“選擇的實(shí)施例”、“一個(gè)實(shí)施例”或“實(shí)施例”的提及是指與該實(shí)施例相聯(lián)系地說明的特定特征、結(jié)構(gòu)或特性被包含在本發(fā)明的至少一個(gè)實(shí)施例內(nèi)。因此,在此整個(gè)說明書內(nèi)的不同位置出現(xiàn)短語“選擇的實(shí)施例”、“在一個(gè)實(shí)施例內(nèi)”或“在實(shí)施例內(nèi)”并不一定都指相同的實(shí)施例。
此外,所述特征、結(jié)構(gòu)或特性可在一個(gè)或多個(gè)實(shí)施例內(nèi)以任何合適的方式結(jié)合。在下面的說明內(nèi),提供了許多特定細(xì)節(jié),例如編程、軟件模塊、用戶選擇、用戶接口、網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等的示例,以便提供對本發(fā)明的實(shí)施例的透徹理解。但是,相關(guān)領(lǐng)域內(nèi)的技術(shù)人員將認(rèn)識(shí)到本發(fā)明可被實(shí)現(xiàn)為不具有一個(gè)或多個(gè)特定細(xì)節(jié),或者具有其他方法、部件、材料等。在其他情況中,沒有詳細(xì)示出或說明公知的結(jié)構(gòu)、材料或操作以避免使本發(fā)明的方面不清晰。
可通過參考附圖最好地理解所示的本發(fā)明的實(shí)施例,在全部附圖中相同的部分用相同的標(biāo)號指示。下面的說明僅作為示例,并且僅說明與在本文中權(quán)利要求所述的本發(fā)明一致的設(shè)備、系統(tǒng)和過程的一些選擇的實(shí)施例。
圖2示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的裝置200。該裝置200包括web客戶機(jī)202、操作系統(tǒng)204和至少一個(gè)數(shù)據(jù)存儲(chǔ)(data store)206。當(dāng)然,裝置200的部件可在通過網(wǎng)絡(luò)通信連接的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)上執(zhí)行。
web客戶機(jī)202包括類似于結(jié)合圖1論述的web客戶機(jī)102的公知的部件。操作系統(tǒng)204是已知的并且可包括任何操作系統(tǒng),包括Linux、Unix、Windows、OS/390、z/OS等。
如上所述,用于特定遺留數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)206經(jīng)常不包括用于維護(hù)個(gè)別記錄或數(shù)據(jù)元的結(jié)構(gòu)的邏輯或結(jié)構(gòu)。相反,在操作系統(tǒng)204上執(zhí)行的企業(yè)信息系統(tǒng)(EIS)208維護(hù)數(shù)據(jù)存儲(chǔ)206內(nèi)存儲(chǔ)的數(shù)據(jù)的格式、模式和語義??蛇x地或作為附加,EIS 208可與其他數(shù)據(jù)管理模塊通信以管理遺留數(shù)據(jù)的模式和語義。
EIS 208為遺留數(shù)據(jù)提供企業(yè)級特征、功能和保護(hù)。除了模式和語義管理之外,EIS 208可提供并行訪問。在歷史上,批過程和事務(wù)過程不能并行訪問遺留數(shù)據(jù)內(nèi)的相同記錄?,F(xiàn)在,EIS 208允許兩個(gè)過程中任何一個(gè)訪問相同數(shù)據(jù)集。根據(jù)需要鎖定和解鎖記錄和數(shù)據(jù)元以保持?jǐn)?shù)據(jù)完整性。
另外,EIS 208可將在數(shù)據(jù)上執(zhí)行的動(dòng)作記入日志。記入日志可說明對數(shù)據(jù)的所有更新,從而可退回失敗的事務(wù)。記入日志還允許在系統(tǒng)發(fā)生故障的情況下恢復(fù)數(shù)據(jù)存儲(chǔ)206。EIS 208可包括確保原子事務(wù)或者被完成或者被倒回以便維持?jǐn)?shù)據(jù)完整性的邏輯。例如,EIS 208可為遺留數(shù)據(jù)提供兩階段提交功能。兩階段提交功能確保了事務(wù)的所有請求或者共同成功或者共同失敗。因此,EIS 208提供了用于可由多個(gè)過程訪問的遺留數(shù)據(jù)的現(xiàn)代數(shù)據(jù)庫管理特征。EIS 208提供這些優(yōu)點(diǎn)而不需要修改數(shù)據(jù)的存儲(chǔ)格式或已訪問數(shù)據(jù)的應(yīng)用的代碼。
由于數(shù)據(jù)存儲(chǔ)206中存儲(chǔ)的遺留數(shù)據(jù)之間的格式、結(jié)構(gòu)和語義不同,EIS 208可包括用于每種類型的遺留數(shù)據(jù)的單獨(dú)的可恢復(fù)資源管理器(RRM)210??苫謴?fù)資源管理器210包括被專門設(shè)計(jì)成管理特定類型的遺留記錄的軟件模塊。RRM 210提供了EIS 208和特定類型的遺留數(shù)據(jù)之間的接口。例如,一個(gè)RRM 210使用訪問和管理VSAM數(shù)據(jù)存儲(chǔ)206內(nèi)的VSAM數(shù)據(jù)所必需的模式、語義和協(xié)議。類似地,EIS 208內(nèi)的另外的RRM(未示出)可提供對信息管理系統(tǒng)(IMS)數(shù)據(jù)存儲(chǔ)系統(tǒng)和DB2數(shù)據(jù)存儲(chǔ)206的訪問。
EIS 208使用RRM 210以及下文將更詳細(xì)說明的其他部件來提供對遺留數(shù)據(jù)的企業(yè)管理。這是有利的,因?yàn)槠湓试S在現(xiàn)代事務(wù)訪問方法中使用非關(guān)系數(shù)據(jù)例如平面文件內(nèi)存儲(chǔ)的VSAM數(shù)據(jù)206,從而事務(wù)可完全恢復(fù)。因此,VSAM數(shù)據(jù)206不必轉(zhuǎn)化成新的文件系統(tǒng)和/或DBMS以仍然可用于對現(xiàn)代和遺留應(yīng)用兩者。
具體地,RRM 210允許多個(gè)應(yīng)用以可恢復(fù)的方式對遺留數(shù)據(jù)進(jìn)行并行的事務(wù)訪問,這意味著提供了事務(wù)恢復(fù)。如本文中使用的,事務(wù)恢復(fù)是指對于外部應(yīng)用和數(shù)據(jù)之間的任何事務(wù),該數(shù)據(jù)可恢復(fù)到在啟動(dòng)該事務(wù)之前其初始狀態(tài)。事務(wù)包括一個(gè)或多個(gè)涉及數(shù)據(jù)的事務(wù)請求。事務(wù)請求可讀數(shù)據(jù)或更新數(shù)據(jù)。
除了遺留應(yīng)用之外,在本發(fā)明的一些實(shí)施例中,EIS 208允許現(xiàn)代應(yīng)用例如web應(yīng)用212和/或應(yīng)用/web服務(wù)器214訪問遺留數(shù)據(jù),并同時(shí)具有企業(yè)管理的數(shù)據(jù)的所有益處。web應(yīng)用212和應(yīng)用/web服務(wù)器214是公知的,且通常包括用于訪問數(shù)據(jù)存儲(chǔ)206內(nèi)的數(shù)據(jù)的標(biāo)準(zhǔn)接口(未示出)例如開放式數(shù)據(jù)庫連接性(ODBC)。為了將web應(yīng)用212和標(biāo)準(zhǔn)數(shù)據(jù)庫連接模塊與RRM 210隔離,本發(fā)明提供了連接器216。
連接器216在web應(yīng)用212和EIS 208的RRM 210之間轉(zhuǎn)換事務(wù)請求。類似地,連接器216將RRM 210提供的結(jié)果轉(zhuǎn)換成web應(yīng)用212理解的格式和協(xié)議。優(yōu)選地,不同的連接器216與不同遺留存儲(chǔ)206內(nèi)的每種類型的遺留數(shù)據(jù)相關(guān)聯(lián)。作為另一種選擇,單個(gè)連接器216可與多個(gè)RRM 210通信。
web應(yīng)用212向連接器216發(fā)送事務(wù)請求。通常,初始事務(wù)請求是現(xiàn)代標(biāo)準(zhǔn)化格式的。連接器216生成RRM 210可理解的一個(gè)或多個(gè)事務(wù)請求。不是連接器216直接與操作系統(tǒng)、文件系統(tǒng)或其他遺留數(shù)據(jù)管理系統(tǒng)通信,而是事務(wù)請求通過RRM 210,從而事務(wù)獲得被企業(yè)信息系統(tǒng)(EIS)208管理的數(shù)據(jù)的益處。
圖3示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的連接器300的一個(gè)實(shí)施例。具體地,連接器300使事務(wù)能夠當(dāng)經(jīng)由VSAM RRM 210訪問VSAM數(shù)據(jù)206(見圖2)時(shí)獲得被企業(yè)管理的益處。VSAM連接器300包括web接口310、事務(wù)轉(zhuǎn)換器312、接口314和結(jié)果轉(zhuǎn)換器316。
通常,web應(yīng)用212習(xí)慣于訪問以關(guān)系格式存儲(chǔ)的數(shù)據(jù)。因此,web接口310接收到來自web應(yīng)用212的關(guān)系事務(wù)請求。web接口310包括公布的用于接收關(guān)系事務(wù)請求的接口。優(yōu)選地,公布的接口是行業(yè)接受的應(yīng)用編程接口(API)例如Java數(shù)據(jù)庫連接(JDBC)、ODBC等。因此,根據(jù)SQL協(xié)議格式化關(guān)系事務(wù)請求。當(dāng)然,web接口310的API可被修改以適應(yīng)新的數(shù)據(jù)請求協(xié)議而不必改變VSAM連接器300的其他部件。
VSAM數(shù)據(jù)被結(jié)構(gòu)化為非關(guān)系格式,這意味著發(fā)送給RRM 210的事務(wù)請求必須也是非關(guān)系事務(wù)請求。這樣,VSAM數(shù)據(jù)保持完整;不需要轉(zhuǎn)換或重新格式化;并且遺留應(yīng)用和批程序都仍可訪問和使用VSAM數(shù)據(jù),同時(shí)具有企業(yè)管理的數(shù)據(jù)的所有安全保障。事務(wù)轉(zhuǎn)換器312將從web接口310接收到的關(guān)系事務(wù)請求轉(zhuǎn)換成一個(gè)或多個(gè)非關(guān)系事務(wù)請求。所述非關(guān)系事務(wù)請求是以與RRM 210的事務(wù)請求接口一致的方式格式化和定義的。
接口314將事務(wù)轉(zhuǎn)換器312提供的非關(guān)系事務(wù)請求發(fā)送給RRM 210。如上所述,通常,每個(gè)連接器300對應(yīng)于單個(gè)RRM 210;但是這不是必需的。在圖3中,接口將非關(guān)系事務(wù)請求發(fā)送給VSAM RRM 210。RRM 210執(zhí)行非關(guān)系事務(wù)請求,就好像所述請求來自任何其他的請求對VSAM數(shù)據(jù)206的事務(wù)恢復(fù)和訪問的遺留應(yīng)用。
接口314接收RRM 210提供的非關(guān)系結(jié)果。然后所述非關(guān)系結(jié)果被提供給結(jié)果轉(zhuǎn)換器316。結(jié)果轉(zhuǎn)換器316接受非關(guān)系結(jié)果并將結(jié)果轉(zhuǎn)換成可被發(fā)送給web應(yīng)用212的關(guān)系結(jié)果。在一些事務(wù)請求中,關(guān)系結(jié)果與關(guān)系結(jié)果一對一地對應(yīng)。在另外的事務(wù)請求中,結(jié)果轉(zhuǎn)換器316可累積多個(gè)非關(guān)系結(jié)果,直到可為對應(yīng)的關(guān)系請求生成合適的關(guān)系結(jié)果集。因此,結(jié)果轉(zhuǎn)換器316可與web接口310和/或事務(wù)轉(zhuǎn)換器312通信以確保接收到正確數(shù)量的非關(guān)系結(jié)果,從而關(guān)系結(jié)果對應(yīng)于關(guān)系事務(wù)請求。
非關(guān)系結(jié)果是例如根據(jù)訪問VSAM數(shù)據(jù)的所有應(yīng)用(遺留、批等)使用的格式化、編碼和結(jié)構(gòu)被組織和結(jié)構(gòu)化的VSAM數(shù)據(jù)的數(shù)據(jù)的集合。因此,結(jié)果轉(zhuǎn)換器316可改變結(jié)果內(nèi)的數(shù)據(jù)的結(jié)構(gòu)、格式化和編碼,以便關(guān)系結(jié)果具有web應(yīng)用期望的結(jié)構(gòu)、格式化和編碼。
例如,現(xiàn)代web應(yīng)用212使用根據(jù)例如Unicode的編碼格式編碼的數(shù)據(jù)。VSAM數(shù)據(jù)通常以擴(kuò)充的二進(jìn)制編碼的十進(jìn)制交換碼(EBCDIC)編碼格式存儲(chǔ)在主機(jī)存儲(chǔ)系統(tǒng)上。因此,結(jié)果轉(zhuǎn)換器316將結(jié)果內(nèi)的數(shù)據(jù)從EBCDIC轉(zhuǎn)換成Unicode。類似地,事務(wù)轉(zhuǎn)換器312可將關(guān)系事務(wù)請求內(nèi)的任何數(shù)據(jù)元從Unicode轉(zhuǎn)換成EBCDIC。
優(yōu)選地,將關(guān)系結(jié)果提供給web接口310,該web接口將所述結(jié)果返回給發(fā)起關(guān)系事務(wù)請求的web應(yīng)用212。這樣,web應(yīng)用212可發(fā)出關(guān)系事務(wù)請求,接收關(guān)系結(jié)果,并使整個(gè)事務(wù)與其他事務(wù)并行操作,同時(shí)為了恢復(fù)和數(shù)據(jù)完整性的目的而被與EIS 208的其他部件一起工作的RRM 120(見圖2)保護(hù)。
圖4A示出被配置成與本發(fā)明一起工作以便web服務(wù)402受益于遺留數(shù)據(jù)例如VSAM數(shù)據(jù)404的事務(wù)恢復(fù)的EIS 400的一個(gè)實(shí)施例。在一些實(shí)施例內(nèi),可恢復(fù)資源管理器(RRM)406在單個(gè)部件內(nèi)提供數(shù)據(jù)例如VSAM數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享。優(yōu)選地,RRM 406與EIS 400的其他部件合作以提供這些被企業(yè)管理的數(shù)據(jù)的益處。RRM 406可提供一些企業(yè)數(shù)據(jù)管理特征,而對于另外的特征則依賴于EIS 400的其他部件。
優(yōu)選地,RRM 406基本上與結(jié)合圖2說明的RRM 210相同。在一個(gè)實(shí)施例內(nèi),RRM 406與資源恢復(fù)服務(wù)(RRS)408和并行訪問工具(CAF)410合作以提供完整的企業(yè)數(shù)據(jù)管理特征集,包括數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享。
與RRS 408組合的RRM 406允許對VSAM數(shù)據(jù)404的可恢復(fù)事務(wù)訪問。優(yōu)選地,RRM 406被批應(yīng)用412、遺留應(yīng)用414例如客戶信息控制系統(tǒng)(CICS)414以及web應(yīng)用402使用。批和遺留應(yīng)用412、414可直接或通過特定于該程序的RRM 406訪問RRS 408。在一個(gè)實(shí)施例內(nèi),RRM406包括可從國際商業(yè)機(jī)器公司(IBM)得到的用于虛擬存儲(chǔ)訪問方法數(shù)據(jù)的存儲(chǔ)管理子系統(tǒng)(SMS VSAM)。
連接器300連同RRM 406、RRS 408和CAF 410使得來自web應(yīng)用402的可恢復(fù)的關(guān)系事務(wù)變成可能。當(dāng)然,批和遺留應(yīng)用412、414直接向RRS 408發(fā)送非關(guān)系事務(wù)請求。
CAF 410允許應(yīng)用402、412、414在一天中的任何時(shí)間并行地訪問相同的VSAM數(shù)據(jù)404。應(yīng)用402、412、414都不必等待或離線以允許訪問VSAM數(shù)據(jù)404。VSAM數(shù)據(jù)404被緩存和管理以便并行訪問。在一個(gè)實(shí)施例內(nèi),CAF 410包括可從國際商業(yè)機(jī)器公司(IBM)得到的耦合工具(CF)。
圖4B示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的RRM 406。RRM 406包括事務(wù)VSAM(TVS)模塊416和VSAM記錄級共享(VSAM RLS)模塊418。TVS模塊416允許多個(gè)應(yīng)用402、412、414對VSAM數(shù)據(jù)的事務(wù)訪問。TVS模塊406包括復(fù)雜的鎖定和記入日志機(jī)制,從而涉及VSAM數(shù)據(jù)的事務(wù)可完全恢復(fù)。
為了有助于VSAM數(shù)據(jù)404的共享,TVS模塊416使用VSAM RLS模塊418。VSAM RLS模塊418允許多個(gè)應(yīng)用在記錄級共享VSAM數(shù)據(jù)。在一個(gè)實(shí)施例內(nèi),可在本發(fā)明中使用可從IBM得到的還被已知為DFSMStvs的事務(wù)VSAM和VSAM RLS的最新發(fā)布版。
圖5示出事務(wù)轉(zhuǎn)換器500的一個(gè)實(shí)施例。事務(wù)轉(zhuǎn)換器500可包括被配置成執(zhí)行基本上與上文結(jié)合圖3所述的事務(wù)轉(zhuǎn)換器312和結(jié)果轉(zhuǎn)換器316共同執(zhí)行的功能相同的功能的單個(gè)模塊。事務(wù)轉(zhuǎn)換器500將關(guān)系事務(wù)請求502轉(zhuǎn)化成非關(guān)系事務(wù)請求504并將非關(guān)系結(jié)果506轉(zhuǎn)換成關(guān)系結(jié)果508。
轉(zhuǎn)換器500包括分析器(parser)510、映射器512和元數(shù)據(jù)514。分析器510將關(guān)系事務(wù)請求502分析成一個(gè)或多個(gè)關(guān)系表達(dá)式。例如,假設(shè)關(guān)系事務(wù)請求502包括SQL語句例如“Select Name,Age From employeesWhere Age>=65”。分析器510根據(jù)SQL協(xié)議內(nèi)確定的關(guān)鍵字將語句502分析成表達(dá)式“Select Name,Age”,“From employees”,和“WhereAge>=65”。根據(jù)關(guān)系事務(wù)協(xié)議例如SQL分析和格式化關(guān)系表達(dá)式。當(dāng)然,可使用任何關(guān)系事務(wù)協(xié)議。
接下來,映射器512將關(guān)系表達(dá)式映射到非關(guān)系表達(dá)式。為了執(zhí)行映射,映射器512優(yōu)選地包括一組規(guī)則(未示出,但可存儲(chǔ)在元數(shù)據(jù)514中),所述規(guī)則指示將如何改變關(guān)系表達(dá)式的語法以在用于訪問數(shù)據(jù)的非關(guān)系表達(dá)式內(nèi)產(chǎn)生相同的語法。映射器512使用規(guī)則生成對應(yīng)于每個(gè)關(guān)系表達(dá)式的一個(gè)或多個(gè)非關(guān)系表達(dá)式。
接下來,映射器512將關(guān)系表達(dá)式內(nèi)的數(shù)據(jù)元標(biāo)識(shí)符和文字(literal)數(shù)據(jù)元映射到用于非關(guān)系表達(dá)式的對應(yīng)的數(shù)據(jù)元標(biāo)識(shí)符和文字?jǐn)?shù)據(jù)元。為了執(zhí)行此映射,映射器512可引用關(guān)系視圖516和非關(guān)系視圖518。
通常,由關(guān)系事務(wù)請求502引用的數(shù)據(jù)是根據(jù)與最初用于編制關(guān)系事務(wù)請求502的模式和編碼格式不同的模式和編碼格式組織的。因此,關(guān)系視圖516存儲(chǔ)關(guān)系模式和編碼標(biāo)識(shí)符,而非關(guān)系視圖518存儲(chǔ)非關(guān)系視圖518。
關(guān)系視圖516包括將被關(guān)系事務(wù)請求502訪問的表、列和字段的名稱和特性例如標(biāo)簽(label)、大小和數(shù)據(jù)類型。非關(guān)系視圖518描述了非關(guān)系數(shù)據(jù)例如用于VSAM數(shù)據(jù)的數(shù)據(jù)集和記錄。非關(guān)系視圖518包括用于數(shù)據(jù)記錄內(nèi)的數(shù)據(jù)的標(biāo)簽、偏移量、長度和數(shù)據(jù)類型。
優(yōu)選地,關(guān)系視圖516包括與有效關(guān)系事務(wù)請求502內(nèi)所用的相同的用于表、列和字段的標(biāo)簽和標(biāo)識(shí)符。這樣,映射器512可通過根據(jù)在分析每個(gè)關(guān)系表達(dá)式時(shí)遇到的標(biāo)簽在關(guān)系視圖516內(nèi)搜索匹配的表標(biāo)簽、列標(biāo)簽或字段標(biāo)簽,來映射關(guān)系表達(dá)式。一旦在關(guān)系視圖516內(nèi)發(fā)現(xiàn)匹配標(biāo)簽,則指針(pointer)或另外的標(biāo)識(shí)符可指示非關(guān)系視圖518的對應(yīng)的標(biāo)簽和部分。然后,映射器512使用該指針在非關(guān)系視圖518內(nèi)查找用于該匹配標(biāo)簽的正確的非關(guān)系語法和語義。映射器512以此方式進(jìn)行以為每個(gè)關(guān)系表達(dá)式生成至少一個(gè)非關(guān)系表達(dá)式。
如果關(guān)系表達(dá)式包括文字?jǐn)?shù)據(jù)元而不是標(biāo)簽,則映射器512可將文字?jǐn)?shù)據(jù)元轉(zhuǎn)化成對應(yīng)的具有非關(guān)系數(shù)據(jù)例如VSAM數(shù)據(jù)的編碼格式的數(shù)據(jù)元。例如,關(guān)系表達(dá)式內(nèi)的數(shù)據(jù)元可以是以Unicode編碼的,而非關(guān)系數(shù)據(jù)元可以是以EBCDIC編碼的。因此,映射器512將字符串的Unicode表示轉(zhuǎn)化成EBCDIC編碼。
關(guān)系和非關(guān)系視圖516、518可以被組織和存儲(chǔ)在任何數(shù)據(jù)結(jié)構(gòu)中。優(yōu)選地,關(guān)系和非關(guān)系視圖516、518以及其他元數(shù)據(jù)514根據(jù)可擴(kuò)展標(biāo)記語言(XML)存儲(chǔ)在文件內(nèi)。使用現(xiàn)代數(shù)據(jù)結(jié)構(gòu)例如XML可允許在映射器512內(nèi)使用預(yù)先構(gòu)建的模塊以有助于映射過程。必須在映射關(guān)系事務(wù)請求之前定義關(guān)系和非關(guān)系視圖516、518。如果映射器512不能找到對應(yīng)的匹配,則發(fā)生錯(cuò)誤事件??墒止さ鼗蛲ㄟ^使用自動(dòng)工具生成關(guān)系和非關(guān)系視圖516、518,所述自動(dòng)工具被編程為在給定源模式例如COBOL copybook的情況下生成正確的XML文件。
在一個(gè)實(shí)施例內(nèi),為VSAM數(shù)據(jù)定義關(guān)系和非關(guān)系視圖516、518。VSAM數(shù)據(jù)是根據(jù)非關(guān)系訪問方法使用EBCDIC編碼格式存儲(chǔ)在系統(tǒng)上的。通常,用于VSAM數(shù)據(jù)的非關(guān)系訪問方法將數(shù)據(jù)組織成使得VSAM數(shù)據(jù)集對應(yīng)于關(guān)系訪問方法內(nèi)的表。類似地,VSAM數(shù)據(jù)記錄內(nèi)的每個(gè)字段對應(yīng)于表內(nèi)的列,而VSAM記錄內(nèi)的數(shù)據(jù)對應(yīng)于表的行內(nèi)的數(shù)據(jù)。
在一些實(shí)施例內(nèi),映射器512還將非關(guān)系結(jié)果506轉(zhuǎn)換成關(guān)系結(jié)果508。非關(guān)系結(jié)果506通常包括成功消息、失敗消息或請求的數(shù)據(jù)。優(yōu)選地,映射器512被編程為將成功和失敗消息從非關(guān)系格式轉(zhuǎn)換成關(guān)系格式。當(dāng)然,這些消息的轉(zhuǎn)換可能不是必需的,因?yàn)榭墒褂猛ㄓ孟ⅲ?代表真而0代表失敗。通常,映射器512將請求的數(shù)據(jù)從非關(guān)系編碼格式轉(zhuǎn)換成關(guān)系編碼格式。但是,映射器512可引用關(guān)系視圖516以便將結(jié)果集內(nèi)的數(shù)據(jù)字段正確地格式化,或者轉(zhuǎn)換數(shù)據(jù)類型。例如,180個(gè)字符的二進(jìn)制非關(guān)系數(shù)據(jù)元可映射到關(guān)系視圖內(nèi)的最大長度為100個(gè)字符的字符串類型的數(shù)據(jù)字段。因此,映射器512可執(zhí)行數(shù)據(jù)類型轉(zhuǎn)換并將得到字符串截短成100個(gè)字符。
圖6示出用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的裝置600的一個(gè)實(shí)施例。裝置600包括第一應(yīng)用服務(wù)器602、EIS 604、以及一個(gè)或多個(gè)連接器606。優(yōu)選地,每個(gè)連接器606與特定數(shù)據(jù)存儲(chǔ)608a-c內(nèi)的特定類型的數(shù)據(jù)接口連接。具體地,裝置600被配置成允許單個(gè)事務(wù)使用多個(gè)數(shù)據(jù)存儲(chǔ)608a-c內(nèi)的數(shù)據(jù),從而事務(wù)受益于EIS 604提供的事務(wù)恢復(fù)和事務(wù)訪問。
例如,在第一應(yīng)用服務(wù)器602上執(zhí)行的web應(yīng)用610或其部件可在同一事務(wù)內(nèi)發(fā)出對VSAM數(shù)據(jù)、IMS數(shù)據(jù)和/或DB2數(shù)據(jù)的事務(wù)請求。EIS 604協(xié)調(diào)并管理數(shù)據(jù)的鎖定、記入日志、兩階段提交和共享,以確保即使訪問多個(gè)數(shù)據(jù)源該事務(wù)仍可完全恢復(fù)。
第一應(yīng)用服務(wù)器602、EIS 604和連接器606以與圖2的裝置200的對應(yīng)的應(yīng)用/web服務(wù)器214、EIS 208和連接器210相同的方式交互和工作。裝置600示出單個(gè)事務(wù)如何涉及多個(gè)連接器606。
具體地,EIS 604包括被專門配置成管理涉及VSAM數(shù)據(jù)的可恢復(fù)事務(wù)的RRM 210(見圖2)。裝置600包括被配置成在第一應(yīng)用服務(wù)器602和EIS 604的RRM 210之間交換對于VSAM數(shù)據(jù)的關(guān)系請求和關(guān)系結(jié)果的VSAM連接器606a。在一個(gè)實(shí)施例內(nèi),RRM 210與用于虛擬存儲(chǔ)訪問方法數(shù)據(jù)的存儲(chǔ)管理子系統(tǒng)(SMS VSAM)、耦合工具(CF)和VSAM記錄級共享模塊接口連接,以便為可恢復(fù)事務(wù)提供VSAM數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享。
優(yōu)選地,連接器606被配置成橋接在遺留數(shù)據(jù)管理系統(tǒng)例如EIS 604和現(xiàn)代技術(shù)例如web應(yīng)用610和/或web部件610之間。因此,在一些實(shí)施例內(nèi),連接器606是使用標(biāo)準(zhǔn)化的應(yīng)用編程接口(API)例如但不局限于Java數(shù)據(jù)庫連接(JDBC)API實(shí)現(xiàn)的。
連接器606包括位于在一側(cè)的web應(yīng)用610和應(yīng)用/web服務(wù)器602技術(shù)和在另一側(cè)的遺留應(yīng)用、操作系統(tǒng)和/或系統(tǒng)調(diào)用之間的技術(shù)隔離層。因此,連接器的作用非常類似于將應(yīng)用與具體硬件命令隔離開的軟件驅(qū)動(dòng)器??蓪?shí)現(xiàn)不同類型的連接器606。對于JDBC連接器606,存在四種不同的公知類型。
類型1連接器包括JDBC-ODBC橋接器。類型2連接器包括與部分用JAVA編程語言寫的驅(qū)動(dòng)器結(jié)合的本機(jī)API。類型2連接器將JDBC調(diào)用轉(zhuǎn)化成特定于數(shù)據(jù)庫或操作系統(tǒng)的數(shù)據(jù)請求。在一些實(shí)施例內(nèi),VSAM連接器606a包括用JAVA和與主機(jī)操作系統(tǒng)612例如IBM的z/OS兼容的語言寫的類型2連接器。類型3連接器包括完全用JAVA寫的驅(qū)動(dòng)器,該驅(qū)動(dòng)器通過網(wǎng)絡(luò)將JDBC請求傳遞給中間層服務(wù)器,該中間層服務(wù)器然后將JDBC請求轉(zhuǎn)換成特定于數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)請求。類型4連接器完全用JAVA寫成,并將JDBC調(diào)用轉(zhuǎn)換成用于與DBMS服務(wù)器直接通信的特定的數(shù)據(jù)庫管理系統(tǒng)協(xié)議(DBMS)。
仍參考圖6,裝置600可容易地?cái)U(kuò)展到這樣的web應(yīng)用軟件體系結(jié)構(gòu),其包括web客戶機(jī)614和EIS 604之間用于管理對數(shù)據(jù)的訪問以滿足事務(wù)的多個(gè)層。在一個(gè)實(shí)施例內(nèi),web應(yīng)用610可分布在多個(gè)服務(wù)器上,而不是整個(gè)web應(yīng)用610在第一應(yīng)用/網(wǎng)路服務(wù)器602上執(zhí)行。web應(yīng)用610的一些部件可作為web服務(wù)或數(shù)據(jù)服務(wù)器在第一應(yīng)用/web服務(wù)器602上執(zhí)行。
在圖6所示的裝置600內(nèi),web應(yīng)用610可包括多個(gè)分布式應(yīng)用部件610a-d。例如,第二應(yīng)用服務(wù)器616可執(zhí)行多種分布式應(yīng)用部件610a-c,包括Enterprise Java Bean(EJB)610a、Java服務(wù)器頁(JSP)和/或小服務(wù)程序610b以及web服務(wù)器610c。
優(yōu)選地,第二應(yīng)用服務(wù)器616和分布式應(yīng)用部件610a-c在與執(zhí)行VSAM連接器606a的操作系統(tǒng)612不同的操作系統(tǒng)618上執(zhí)行。這樣,VSAM連接器606a可在包括訪問遺留數(shù)據(jù)例如VSAM數(shù)據(jù)608a的本機(jī)調(diào)用的操作系統(tǒng)612例如z/OS 612上執(zhí)行,而其余的web應(yīng)用部件610a-c在一個(gè)或多個(gè)不同的操作系統(tǒng)618上操作并仍受益于對遺留數(shù)據(jù)例如VSAM數(shù)據(jù)608a的事務(wù)恢復(fù)和訪問。所述不同的操作系統(tǒng)618可包括Linux、Unix、Windows、Macintosh、BSD等。
分布式web應(yīng)用部件610a-c經(jīng)由分布式連接器620與VSAM連接器606a通信。分布式連接器620確保來自一個(gè)或多個(gè)web應(yīng)用610的對VSAM數(shù)據(jù)的關(guān)系事務(wù)請求被在網(wǎng)絡(luò)上傳遞給VSAM連接器606a。關(guān)系請求和關(guān)系結(jié)果可通過第一應(yīng)用服務(wù)器602傳遞到VSAM連接器606a,或者被直接傳遞給VSAM連接器606a。
分布式連接器602可包括在第一應(yīng)用服務(wù)器602上執(zhí)行的一個(gè)模塊和對應(yīng)的在第二應(yīng)用服務(wù)器616上執(zhí)行的模塊。在一個(gè)實(shí)施例內(nèi),分布式連接器602包括用JAVA編程語言寫成的類型3連接器。
圖7示出用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的系統(tǒng)700。企業(yè)管理的數(shù)據(jù)是指可使用事務(wù)訪問方法并行得到的并且可完全恢復(fù)的數(shù)據(jù)。企業(yè)管理的數(shù)據(jù)可完全恢復(fù),而不管是使用文件系統(tǒng)、操作系統(tǒng)還是使用數(shù)據(jù)庫管理系統(tǒng)訪問該數(shù)據(jù)。企業(yè)管理的VSAM數(shù)據(jù)是尤其有利的,這是因?yàn)槭褂美缈蓮腎BM得到的VSAMSQL的部件訪問VSAM數(shù)據(jù)不能提供可恢復(fù)的事務(wù)訪問。圖7并不包括模塊的一些細(xì)節(jié)以便更清楚地示出VSAM數(shù)據(jù)和其他遺留數(shù)據(jù)存儲(chǔ)與web應(yīng)用之間的數(shù)據(jù)流。
系統(tǒng)700包括客戶應(yīng)用702、web應(yīng)用704、數(shù)據(jù)庫模塊706、EIS集合708、和多個(gè)數(shù)據(jù)存儲(chǔ)710??蛻魬?yīng)用702是公知的并且與web應(yīng)用704接口連接。優(yōu)選地,web應(yīng)用704在第一應(yīng)用服務(wù)器712上執(zhí)行。在一個(gè)實(shí)施例內(nèi),第一應(yīng)用服務(wù)器712在z/OS操作系統(tǒng)上執(zhí)行。
web應(yīng)用704可包括一個(gè)或多個(gè)分布式中間件部件714。中間件部件714可包括小服務(wù)程序、JSP、服務(wù)器、動(dòng)態(tài)鏈接庫(DLL)、腳本和其他類似的部件,它們合作以形成web應(yīng)用704。此外,中間件部件714可在一個(gè)或多個(gè)應(yīng)用服務(wù)器上執(zhí)行。
數(shù)據(jù)庫模塊706被配置成提供對數(shù)據(jù)存儲(chǔ)710的關(guān)系數(shù)據(jù)庫訪問,該數(shù)據(jù)存儲(chǔ)可以是或者不是關(guān)系數(shù)據(jù)存儲(chǔ)710。通常,web應(yīng)用704嚴(yán)格地以關(guān)系語義發(fā)出數(shù)據(jù)請求。數(shù)據(jù)庫模塊706提供對非關(guān)系數(shù)據(jù)存儲(chǔ)710例如VSAM數(shù)據(jù)存儲(chǔ)710a的直接訪問。
但是,用于企業(yè)的web應(yīng)用704可要求涉及非關(guān)系數(shù)據(jù)710的事務(wù)也可恢復(fù)并且非關(guān)系數(shù)據(jù)710在任何時(shí)候可用。因此,數(shù)據(jù)庫模塊706與為web應(yīng)用704提供并行事務(wù)訪問和事務(wù)恢復(fù)的EIS集合708接口連接。同時(shí),一個(gè)或多個(gè)EIS 708a-n為其他應(yīng)用例如批程序、存儲(chǔ)過程和遺留應(yīng)用例如客戶信息控制系統(tǒng)(CICS)提供對相同數(shù)據(jù)的事務(wù)恢復(fù)和事務(wù)訪問。
通常,EIS集合708是預(yù)先存在的系統(tǒng),并且數(shù)據(jù)庫模塊706被專門編程以與特定的EIS 708a-n接口連接。在一些實(shí)施例內(nèi),數(shù)據(jù)庫模塊706包括分布式連接器,該連接器將分布式應(yīng)用部件連接到與EIS集合708a-n在相同操作系統(tǒng)上操作的連接器。數(shù)據(jù)庫模塊706的分布式實(shí)施例的操作可類似于圖6內(nèi)所示的分布式部件。
圖8示出用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的方法800的流程圖。方法800以為數(shù)據(jù)提供802可恢復(fù)資源管理器(RRM)開始。參考圖2、4a和8,RRM 210/406為并行訪問數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問。
如上所述,事務(wù)恢復(fù)允許web應(yīng)用402使用事務(wù)訪問方法訪問數(shù)據(jù)。事務(wù)具有諸如通常由數(shù)據(jù)庫管理系統(tǒng)(DBMS)提供的兩階段提交、記入日志、鎖定、退回和共享等特征。傳統(tǒng)解決方案例如VSAMSQL允許web應(yīng)用訪問VSAM數(shù)據(jù),但是不提供類似于使用本發(fā)明可得到的那些事務(wù)恢復(fù)益處。本發(fā)明允許web應(yīng)用訪問遺留數(shù)據(jù)同時(shí)具有在現(xiàn)代DBMS中可得到的相同保護(hù)。
最初,web應(yīng)用402將用于關(guān)系事務(wù)的一個(gè)或多個(gè)關(guān)系事務(wù)請求502發(fā)送給事務(wù)轉(zhuǎn)換器500(見圖5)。分析器510然后將關(guān)系事務(wù)請求502分析804成一個(gè)或多個(gè)關(guān)系表達(dá)式。接下來,映射器512將所述關(guān)系表達(dá)式映射806成非關(guān)系表達(dá)式,并將所述非關(guān)系表達(dá)式組合成非關(guān)系事務(wù)請求504。優(yōu)選地,映射器512使用預(yù)定的元數(shù)據(jù)514執(zhí)行映射。
在一個(gè)實(shí)施例內(nèi),連接器216將非關(guān)系事務(wù)請求504傳遞808給RRM210(見圖2)。RRM 210產(chǎn)生非關(guān)系結(jié)果506。在一些實(shí)施例內(nèi),事務(wù)轉(zhuǎn)換器500的映射器512也可接收非關(guān)系結(jié)果506。映射器512可使用相同的元數(shù)據(jù)514將非關(guān)系結(jié)果506轉(zhuǎn)換810成關(guān)系結(jié)果508。然后將關(guān)系結(jié)果508提供給web應(yīng)用402。
當(dāng)然,本領(lǐng)域內(nèi)的那些技術(shù)人員可修改方法800而不會(huì)背離本發(fā)明的實(shí)質(zhì)。所有這些修改都被認(rèn)為在本發(fā)明的范圍內(nèi)。在一個(gè)實(shí)施例內(nèi),RRM210與資源恢復(fù)服務(wù)(RRS)和并行訪問工具(CAF)合作,以便RRM 210管理的關(guān)系和非關(guān)系事務(wù)均可恢復(fù)。web應(yīng)用402可根據(jù)行業(yè)接受的API例如ODBC、JDBC等將關(guān)系事務(wù)傳遞給連接器216。
圖9示出將非關(guān)系事務(wù)請求傳遞給RRM 210并接收非關(guān)系結(jié)果的過程806的另外的細(xì)節(jié)。過程806以將事務(wù)轉(zhuǎn)換器500生成的非關(guān)系事務(wù)請求排隊(duì)902開始。在一些實(shí)施例內(nèi),事務(wù)請求可臨時(shí)存儲(chǔ)在連接器216的隊(duì)列內(nèi)。
接下來,連接器216將第一或隨后的非關(guān)系事務(wù)請求從隊(duì)列發(fā)送904給RRM 210。優(yōu)選地,連接器216使用與本機(jī)應(yīng)用例如批程序與RRM 210接口連接的相同的接口與RRM 210通信。因此,來自連接器216的非關(guān)系事務(wù)請求受到與其他非關(guān)系請求相同的處理。
例如,如果非關(guān)系事務(wù)請求包括訪問目前被鎖定906以便被另一個(gè)非關(guān)系事務(wù)請求更新的數(shù)據(jù)記錄,則來自連接器216的非關(guān)系事務(wù)請求等待,直到釋放該鎖定。接下來,RRM 210允許訪問該記錄。如果來自連接器216的非關(guān)系事務(wù)請求涉及更新,則RRM 210可鎖定908該記錄,直到執(zhí)行910該非關(guān)系事務(wù)請求。例如,非關(guān)系事務(wù)請求可包括GET或PUT命令。RRM 210可使用例如VSAM RLS模塊418(見圖4)的模塊鎖定908特定的數(shù)據(jù)記錄例如VSAM記錄。
如果非關(guān)系事務(wù)請求不是更新,則簡單地執(zhí)行910非關(guān)系事務(wù)請求,并且生成非關(guān)系結(jié)果。此后,將非關(guān)系事務(wù)請求執(zhí)行的動(dòng)作記入日志912。
對于一些實(shí)施例內(nèi)的一些非關(guān)系事務(wù)請求,將非關(guān)系結(jié)果組合914成單個(gè)數(shù)據(jù)集,一旦執(zhí)行了所有相關(guān)的非關(guān)系事務(wù)請求則發(fā)送該數(shù)據(jù)集。例如,來自web應(yīng)用的關(guān)系請求可包括兩個(gè)或更多個(gè)表之間的聯(lián)結(jié)操作。一旦被轉(zhuǎn)換成非關(guān)系事務(wù)請求,則第一組非關(guān)系事務(wù)請求可專門處理可通過RRM 210訪問的第一數(shù)據(jù)集,而第二組非關(guān)系事務(wù)請求可專門處理可通過RRM 210訪問的第二數(shù)據(jù)集。因此,可將來自第一數(shù)據(jù)集的非關(guān)系結(jié)果與來自第二數(shù)據(jù)集的非關(guān)系結(jié)果組合914,以便滿足希望的聯(lián)結(jié)操作。
接下來,確定916隊(duì)列內(nèi)是否還有非關(guān)系請求。如果是,則方法806繼續(xù)進(jìn)行步驟904。如果否,則方法806結(jié)束。
總之,本發(fā)明提供了一種用于使web應(yīng)用能夠訪問企業(yè)管理的數(shù)據(jù)的裝置、系統(tǒng)和方法。本發(fā)明使現(xiàn)代web應(yīng)用與傳統(tǒng)的企業(yè)數(shù)據(jù)管理系統(tǒng)互連,以便可在事務(wù)中訪問遺留數(shù)據(jù)例如VSAM數(shù)據(jù)并且這種事務(wù)可完全恢復(fù)。本發(fā)明處理關(guān)系事務(wù)內(nèi)的關(guān)系數(shù)據(jù)請求到非關(guān)系數(shù)據(jù)請求的轉(zhuǎn)換,所述非關(guān)系數(shù)據(jù)請求被發(fā)送給其任務(wù)為管理對特定類型數(shù)據(jù)的數(shù)據(jù)訪問的EIS的可恢復(fù)資源管理器(RRM)。本發(fā)明使用到web應(yīng)用的標(biāo)準(zhǔn)接口。該裝置、系統(tǒng)和方法還提供了包括企業(yè)功能例如兩階段提交、回退、并行訪問、記入日志和恢復(fù)的事務(wù)訪問和事務(wù)恢復(fù)。
本發(fā)明可體現(xiàn)為其他特定形式而不會(huì)背離本發(fā)明的精神或本質(zhì)特性。所述實(shí)施例應(yīng)被認(rèn)為在各方面都僅是說明性的而不是限制性的。
權(quán)利要求
1.一種用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的裝置,該裝置包括用于數(shù)據(jù)的可恢復(fù)資源管理器(RRM),該RRM被配置成為并行訪問該數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問;事務(wù)轉(zhuǎn)換器,該事務(wù)轉(zhuǎn)換器被配置成將涉及被該RRM管理的數(shù)據(jù)的事務(wù)的關(guān)系事務(wù)請求轉(zhuǎn)換成一個(gè)或多個(gè)非關(guān)系事務(wù)請求;接口,該接口被配置成將所述非關(guān)系事務(wù)請求發(fā)送給該RRM以被執(zhí)行,以便生成被該接口接收的非關(guān)系結(jié)果;以及結(jié)果轉(zhuǎn)換器,該結(jié)果轉(zhuǎn)換器被配置成將所述非關(guān)系結(jié)果轉(zhuǎn)換成可被發(fā)送給web應(yīng)用的關(guān)系結(jié)果。
2.根據(jù)權(quán)利要求1的裝置,其中,所述RRM在企業(yè)信息系統(tǒng)(EIS)內(nèi)合作以提供數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享,以便訪問該數(shù)據(jù)的事務(wù)可恢復(fù)。
3.根據(jù)權(quán)利要求1的裝置,還包括被配置成根據(jù)行業(yè)接受的應(yīng)用編程接口(API)從web應(yīng)用接收關(guān)系事務(wù)的web應(yīng)用接口。
4.根據(jù)權(quán)利要求1的裝置,其中,所述RRM與資源恢復(fù)服務(wù)(RRS)和并行訪問工具(CAF)合作,以便訪問所述數(shù)據(jù)的關(guān)系和非關(guān)系事務(wù)可恢復(fù)。
5.根據(jù)權(quán)利要求4的裝置,其中,所述RRM包括用于虛擬存儲(chǔ)訪問數(shù)據(jù)的存儲(chǔ)管理子系統(tǒng)(SMS VSAM),而CAF包括耦合工具(CF)。
6.根據(jù)權(quán)利要求1的裝置,其中,所述RRM包括使用VSAM記錄級共享(RLS)模塊的事務(wù)虛擬存儲(chǔ)訪問方法(VSAM)模塊,而所述數(shù)據(jù)包括VSAM數(shù)據(jù)。
7.根據(jù)權(quán)利要求1的裝置,其中,所述事務(wù)轉(zhuǎn)換器還被配置成將所述關(guān)系事務(wù)請求分析成關(guān)系表達(dá)式,并根據(jù)由所述數(shù)據(jù)的關(guān)系視圖和非關(guān)系視圖定義的預(yù)定元數(shù)據(jù)將所述關(guān)系表達(dá)式映射到非關(guān)系表達(dá)式。
8.根據(jù)權(quán)利要求1的裝置,其中,所述結(jié)果轉(zhuǎn)換器還被配置成根據(jù)由所述數(shù)據(jù)的關(guān)系視圖和非關(guān)系視圖定義的預(yù)定元數(shù)據(jù)將所述非關(guān)系結(jié)果映射到關(guān)系結(jié)果。
9.一種用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的裝置,該裝置包括被配置成與web應(yīng)用接口連接的第一應(yīng)用服務(wù)器;包括用于虛擬存儲(chǔ)訪問方法(VSAM)數(shù)據(jù)的可恢復(fù)資源管理器(RRM)的企業(yè)信息系統(tǒng)(EIS),該RRM被配置成為并行訪問該VSAM數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問;以及連接器,該連接器被配置成在該第一應(yīng)用服務(wù)器和該EIS的RRM之間交換涉及所述VSAM數(shù)據(jù)的事務(wù)的一個(gè)或多個(gè)關(guān)系請求和關(guān)系結(jié)果。
10.根據(jù)權(quán)利要求9的裝置,其中,所述連接器包括被配置成將所述關(guān)系請求轉(zhuǎn)換成一個(gè)或多個(gè)非關(guān)系請求的事務(wù)轉(zhuǎn)換器;接口,該接口被配置成將所述非關(guān)系請求發(fā)送給所述RRM以被執(zhí)行,以便生成非關(guān)系結(jié)果,該接口接收所述非關(guān)系結(jié)果;以及結(jié)果轉(zhuǎn)換器,該結(jié)果轉(zhuǎn)換器被配置成將所述非關(guān)系結(jié)果轉(zhuǎn)換成關(guān)系結(jié)果,該連接器經(jīng)由所述第一應(yīng)用服務(wù)器將所述關(guān)系結(jié)果發(fā)送給所述web應(yīng)用。
11.根據(jù)權(quán)利要求9的裝置,其中,所述連接器包括Java數(shù)據(jù)庫連接(JDBC)應(yīng)用編程接口(API)。
12.根據(jù)權(quán)利要求9的裝置,還包括與所述第一應(yīng)用服務(wù)器通信的第二應(yīng)用服務(wù)器,該裝置還包括分布式連接器,該分布式連接器在該第二應(yīng)用服務(wù)器上的分布式應(yīng)用部件和在該第一應(yīng)用服務(wù)器上執(zhí)行的連接器之間提供接口,以便該分布式應(yīng)用部件具有對所述VSAM數(shù)據(jù)的事務(wù)訪問,其中使用事務(wù)恢復(fù)管理事務(wù)。
13.根據(jù)權(quán)利要求12的裝置,其中,所述分布式連接器包括JAVA編程語言類型3連接器,且所述連接器包括JAVA編程語言類型2連接器,且其中所述分布式應(yīng)用部件包括被配置成使用所述連接器和所述分布式連接器接收或執(zhí)行事務(wù)內(nèi)的對VSAM數(shù)據(jù)的關(guān)系事務(wù)請求并返回關(guān)系結(jié)果的Enterprise Java Bean(EJB)。
14.根據(jù)權(quán)利要求9的裝置,其中,所述EIS包括多虛擬存儲(chǔ)可恢復(fù)資源管理服務(wù)(MVS/RRMS)、耦合工具(CF)、和VSAM記錄級共享(RLS)模塊,其中的每一個(gè)均與所述RRM交互以提供所述VSAM數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享,從而經(jīng)由該RRM訪問數(shù)據(jù)的事務(wù)可恢復(fù)。
15.一種用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括被配置成與在第一應(yīng)用服務(wù)器上執(zhí)行的web應(yīng)用接口連接的客戶應(yīng)用;被配置成與該web應(yīng)用接口連接以允許對非關(guān)系數(shù)據(jù)進(jìn)行關(guān)系數(shù)據(jù)庫訪問的數(shù)據(jù)庫模塊;以及被配置成為web應(yīng)用以及批程序和客戶信息控制系統(tǒng)(CICS)提供對非關(guān)系數(shù)據(jù)的并行事務(wù)訪問以及事務(wù)恢復(fù)的企業(yè)信息系統(tǒng)。
16.根據(jù)權(quán)利要求15的系統(tǒng),其中,所述非關(guān)系數(shù)據(jù)包括虛擬存儲(chǔ)訪問方法(VSAM)數(shù)據(jù)。
17.根據(jù)權(quán)利要求15的系統(tǒng),其中,所述web應(yīng)用包括在一個(gè)或多個(gè)應(yīng)用服務(wù)器上執(zhí)行的一個(gè)或多個(gè)分布式中間件。
18.根據(jù)權(quán)利要求15的系統(tǒng),其中,所述第一應(yīng)用服務(wù)器在z/OS操作系統(tǒng)上執(zhí)行。
19.根據(jù)權(quán)利要求15的系統(tǒng),還包括在非z/OS操作系統(tǒng)的操作系統(tǒng)上執(zhí)行的第二應(yīng)用服務(wù)器,該第二應(yīng)用服務(wù)器與所述第一應(yīng)用服務(wù)器通信,該系統(tǒng)還包括分布式連接器,該分布式連接器在該第二應(yīng)用服務(wù)器上的分布式應(yīng)用部件和在該第一應(yīng)用服務(wù)器上執(zhí)行的連接器之間提供接口,以便該分布式應(yīng)用部件具有對所述VSAM數(shù)據(jù)的事務(wù)訪問,其中使用事務(wù)恢復(fù)管理事務(wù)。
20.一種用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的方法,該方法包括為數(shù)據(jù)提供可恢復(fù)資源管理器(RRM),該RRM被配置成為并行訪問該數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問;將涉及被該RRM管理的數(shù)據(jù)的關(guān)系事務(wù)轉(zhuǎn)換成非關(guān)系事務(wù);將該非關(guān)系事務(wù)傳遞給該RRM以被執(zhí)行,以便生成非關(guān)系結(jié)果;以及將所述非關(guān)系結(jié)果轉(zhuǎn)換成被發(fā)送給web應(yīng)用的關(guān)系結(jié)果。
21.根據(jù)權(quán)利要求20的方法,其中,所述RRM與企業(yè)信息系統(tǒng)(EIS)合作以提供該數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享,以便訪問該數(shù)據(jù)的事務(wù)可恢復(fù)。
22.根據(jù)權(quán)利要求20的方法,還包括根據(jù)行業(yè)接受的應(yīng)用編程接口(API)從所述web應(yīng)用接收所述關(guān)系事務(wù)。
23.根據(jù)權(quán)利要求20的方法,其中,所述RRM與資源恢復(fù)服務(wù)(RRS)和并行訪問工具(CAF)配合,以便訪問所述數(shù)據(jù)的關(guān)系和非關(guān)系事務(wù)可恢復(fù)。
24.根據(jù)權(quán)利要求23的方法,其中,所述RRM包括用于虛擬存儲(chǔ)訪問數(shù)據(jù)的存儲(chǔ)管理子系統(tǒng)(SMS VSAM),而CAF包括耦合工具(CF)。
25.根據(jù)權(quán)利要求20的方法,其中,所述RRM包括使用VSAM記錄級共享(RLS)模塊的事務(wù)虛擬存儲(chǔ)訪問方法(事務(wù)VSAM)模塊,而所述數(shù)據(jù)包括VSAM數(shù)據(jù)。
26.根據(jù)權(quán)利要求20的方法,其中,所述轉(zhuǎn)換關(guān)系事務(wù)包括將該關(guān)系事務(wù)分析成關(guān)系表達(dá)式,并根據(jù)由所述數(shù)據(jù)的關(guān)系視圖和非關(guān)系視圖定義的預(yù)定元數(shù)據(jù)將所述關(guān)系表達(dá)式映射到非關(guān)系表達(dá)式。
27.根據(jù)權(quán)利要求20的方法,其中,所述轉(zhuǎn)換非關(guān)系結(jié)果包括根據(jù)由所述數(shù)據(jù)的關(guān)系視圖和非關(guān)系視圖定義的預(yù)定元數(shù)據(jù)將所述非關(guān)系結(jié)果映射到關(guān)系結(jié)果。
28.一種包含可被處理器執(zhí)行以完成用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的方法的一個(gè)或多個(gè)指令的計(jì)算機(jī)程序,該方法包括為數(shù)據(jù)提供可恢復(fù)資源管理器(RRM),該RRM被配置成為并行訪問該數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問;將涉及被該RRM管理的數(shù)據(jù)的關(guān)系事務(wù)轉(zhuǎn)換成非關(guān)系事務(wù);將該非關(guān)系事務(wù)傳遞給該RRM以被執(zhí)行,以便生成非關(guān)系結(jié)果;以及將所述非關(guān)系結(jié)果轉(zhuǎn)換成被發(fā)送給web應(yīng)用的關(guān)系結(jié)果。
29.根據(jù)權(quán)利要求28的計(jì)算機(jī)程序,其中,所述RRM在企業(yè)信息系統(tǒng)(EIS)內(nèi)合作以提供所述數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享,以便訪問該數(shù)據(jù)的事務(wù)可恢復(fù)。
30.根據(jù)權(quán)利要求28的計(jì)算機(jī)程序,還包括根據(jù)行業(yè)接受的應(yīng)用編程接口(API)從所述web應(yīng)用接收所述關(guān)系事務(wù)。
31.根據(jù)權(quán)利要求28的計(jì)算機(jī)程序,其中,所述RRM與資源恢復(fù)服務(wù)(RRS)和并行訪問工具(CAF)合作,以便訪問所述數(shù)據(jù)的關(guān)系和非關(guān)系事務(wù)可恢復(fù)。
32.根據(jù)權(quán)利要求31的計(jì)算機(jī)程序,其中,所述RRM包括用于虛擬存儲(chǔ)訪問數(shù)據(jù)的存儲(chǔ)管理子系統(tǒng)(SMS VSAM),而CAF包括耦合工具(CF)。
33.根據(jù)權(quán)利要求28的計(jì)算機(jī)程序,其中,所述RRM包括使用VSAM記錄級共享(RLS)模塊的事務(wù)虛擬存儲(chǔ)訪問方法(事務(wù)VSAM)模塊,而所述數(shù)據(jù)包括VSAM數(shù)據(jù)。
34.根據(jù)權(quán)利要求28的計(jì)算機(jī)程序,其中,所述轉(zhuǎn)換關(guān)系事務(wù)包括將所述關(guān)系事務(wù)分析成關(guān)系表達(dá)式,并根據(jù)由所述數(shù)據(jù)的關(guān)系視圖和非關(guān)系視圖定義的預(yù)定元數(shù)據(jù)將所述關(guān)系表達(dá)式映射到非關(guān)系表達(dá)式。
35.根據(jù)權(quán)利要求28的計(jì)算機(jī)程序,其中,所述轉(zhuǎn)換非關(guān)系結(jié)果包括根據(jù)由所述數(shù)據(jù)的關(guān)系視圖和非關(guān)系視圖定義的預(yù)定元數(shù)據(jù)將所述非關(guān)系結(jié)果映射到關(guān)系結(jié)果。
36.一種用于由web應(yīng)用訪問企業(yè)管理的數(shù)據(jù)的裝置,該裝置包括用于為數(shù)據(jù)提供可恢復(fù)資源管理器(RRM)的裝置,該RRM被配置成為并行訪問該數(shù)據(jù)的多個(gè)事務(wù)提供事務(wù)恢復(fù)和事務(wù)訪問;用于將涉及被該RRM管理的數(shù)據(jù)的關(guān)系事務(wù)轉(zhuǎn)換成非關(guān)系事務(wù)的裝置;用于將該非關(guān)系事務(wù)傳遞給該RRM以被執(zhí)行以便生成非關(guān)系結(jié)果的裝置;以及用于將所述非關(guān)系結(jié)果轉(zhuǎn)換成被發(fā)送給web應(yīng)用的關(guān)系結(jié)果的裝置。
37.根據(jù)權(quán)利要求36的裝置,其中,所述RRM在企業(yè)信息系統(tǒng)(EIS)內(nèi)合作以提供所述數(shù)據(jù)的記入日志、鎖定、兩階段提交、退回和共享,以便訪問該數(shù)據(jù)的事務(wù)可恢復(fù)。
38.根據(jù)權(quán)利要求36的裝置,還包括根據(jù)行業(yè)接受的應(yīng)用編程接口(API)從所述web應(yīng)用接收關(guān)系事務(wù)。
39.根據(jù)權(quán)利要求36的裝置,其中,所述RRM與資源恢復(fù)服務(wù)(RRS)和并行訪問工具(CAF)合作,以便訪問該數(shù)據(jù)的關(guān)系和非關(guān)系事務(wù)可恢復(fù)。
40.根據(jù)權(quán)利要求36的裝置,其中,所述轉(zhuǎn)換關(guān)系事務(wù)包括將所述關(guān)系事務(wù)請求分析成關(guān)系表達(dá)式,并將所述關(guān)系表達(dá)式映射到非關(guān)系表達(dá)式以及將非關(guān)系結(jié)果映射到關(guān)系結(jié)果,其中這兩個(gè)映射都是根據(jù)由該數(shù)據(jù)的關(guān)系視圖和非關(guān)系視圖定義的預(yù)定元數(shù)據(jù)完成的。
全文摘要
提供了一種使web應(yīng)用能夠訪問企業(yè)管理的數(shù)據(jù)的裝置、系統(tǒng)和方法。本發(fā)明包括可恢復(fù)資源管理器(RRM)、事務(wù)轉(zhuǎn)換器、接口和結(jié)果轉(zhuǎn)換器。該RRM為包括web應(yīng)用的多個(gè)應(yīng)用提供了事務(wù)恢復(fù)和事務(wù)訪問。該事務(wù)轉(zhuǎn)換器、接口和結(jié)果轉(zhuǎn)換器合作,以便web應(yīng)用發(fā)送的關(guān)系數(shù)據(jù)請求通過RRM訪問非關(guān)系數(shù)據(jù),并從RRM提供的非關(guān)系結(jié)果返回關(guān)系結(jié)果。在一種實(shí)現(xiàn)內(nèi),本發(fā)明為web應(yīng)用提供了對僅可通過z/OS操作系統(tǒng)訪問的VSAM數(shù)據(jù)的事務(wù)訪問。
文檔編號G06F17/30GK1918572SQ200580005040
公開日2007年2月21日 申請日期2005年2月25日 優(yōu)先權(quán)日2004年2月26日
發(fā)明者P·富雷爾, C·卡爾蘭扎·劉易斯, W·B·內(nèi)特爾斯, S·A·拉奧, T·許 申請人:國際商業(yè)機(jī)器公司