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