專利名稱:用于許可訪問軟件的方法、系統(tǒng)、與程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及提高計算機(jī)系統(tǒng)對系統(tǒng)軟件、其他軟件和數(shù)據(jù)的防護(hù),防止由最終開發(fā)人員、其他軟件或代理進(jìn)行的未授權(quán)的、不正當(dāng)?shù)幕虿徽_的修改,例如通過檢查或監(jiān)視諸如授權(quán)碼數(shù)據(jù)的信息。
背景技術(shù):
互連性經(jīng)常要求在老式應(yīng)用(legacy application)(典型如大型計算機(jī)上的COBOL)中加入新代碼,或者新接口,或者與現(xiàn)存老式應(yīng)用接口的客戶應(yīng)用,經(jīng)常是專利SQL服務(wù)器的定制接口。由于不匹配的工具或附件,在基本或老式應(yīng)用上使用新代碼這一過程可能損害程序代碼或所存儲的數(shù)據(jù),以及該老式或基本應(yīng)用。
例如,當(dāng)打開、編輯以及保存(只作為例子,而非限制)COBOL文件時,為較新COBOL版本設(shè)計的新工具可能打開用較早版本的COBOL寫入并編譯的目標(biāo)COBOL文件,將該目標(biāo)COBOL文件讀入開發(fā)工具中,并在保存時不經(jīng)意地將目標(biāo)COBOL文件從較早版本轉(zhuǎn)換到新版本。這種不匹配會完全損害現(xiàn)在所保存的COBOL文件。另外一個例子出現(xiàn)在開發(fā)工具遇到IBMEBCDIC(extended binary-coded decimal interchange code,擴(kuò)展二進(jìn)制編碼十進(jìn)制數(shù)交換碼)COBOL時,開發(fā)工具將其轉(zhuǎn)換為ASCII,用較晚版本的COBOL進(jìn)行修改,并將修改后的文件重新轉(zhuǎn)換回EBCDIC,而結(jié)果是災(zāi)難性的。不幸的是,工業(yè)標(biāo)準(zhǔn)轉(zhuǎn)換程序允許不同的操作系統(tǒng)將文件從一種代碼改換為另一種代碼,如EBCDIC COBOL 85到ASCII COBOL 85到ASCII COBOL 97到EBCDIC COBOL 97,以在EBCDIC COBOL 85平臺上運(yùn)行,并且現(xiàn)在通過覆蓋序列區(qū)(sequence area)、指示符區(qū)(indicator area)、區(qū)a(列8至11),區(qū)b(列12至72),或標(biāo)記區(qū)(label area)的一個或多個,引入無法識別的命令、不正當(dāng)?shù)臄?shù)據(jù)類型、換行或其他工件(artifact)與錯誤。
可能不經(jīng)意引入的示例性的錯誤或工件包括忽視或不理會列依賴(column dependency)與COBOL的固定區(qū)域,省略COBOL目標(biāo)版本所要求的節(jié)段(section),輸入不恰當(dāng)數(shù)據(jù),或在所要求的節(jié)段(標(biāo)識、程序標(biāo)識、環(huán)境分割)中接受不正確的、由編輯器建議的默認(rèn)值。還有其他錯誤包括從目標(biāo)COBOL文件的版本轉(zhuǎn)換到開發(fā)工具所支持的不正確的COBOL版本時引入的句法錯誤與格式錯誤。還有其他文件損害的原因包括輸入在COBOL各版本中互不相同的保留字(命令)。
圖1顯示了這些是如何發(fā)生的,該圖示出老式文件101,正在由包括開發(fā)工具的集成開發(fā)環(huán)境(“IDE”)103編輯。該老式文件101在圖中表示為S/390DBMS SQL文件101,具有一組合并命令、字符串抽取命令、數(shù)據(jù)類型轉(zhuǎn)換、別名等等。這些特定的SQL函數(shù)屬于在不同版本的SQL中不同的函數(shù)。文件101輸出到UNIX工作站,該工作站具有支持某不同版本SQL的集成開發(fā)環(huán)境(IDE)。S/390 DBMS SQL文件101被修改,并從工作站返回,包含了另一套不同的合并命令、字符串抽取命令、數(shù)據(jù)類型轉(zhuǎn)換與別名。這些命令與函數(shù)符合DBMS的另一不同版本,但卻不符合在S/390上的DBMS版本101。
在向SQL與DBMS的各種版本編寫應(yīng)用時,同樣可能發(fā)生類似的錯誤或文件損害。一般地,應(yīng)用程序作為DBMS的插件或其上的應(yīng)用運(yùn)行。此處所指的“插件”應(yīng)用可能是工具,是可以輕易地安裝并作為基本程序的一部分使用的程序?;境绦蜃詣幼R別插件應(yīng)用,并將其功能整合到所給出的目標(biāo)文件中。該程序或插件可能是定單輸入程序、庫存管理程序、財務(wù)程序、CRM程序等等。當(dāng)需要將應(yīng)用程序移植到在不同DBMS上運(yùn)行的不同的SQL版本上時,在不同DBMS上運(yùn)行的現(xiàn)代SQL版本中經(jīng)常使用的命令之間的差異將在整個企業(yè)內(nèi)造成混亂。一個版本的SQL可能用加號表示合并,而另一個版本的SQL使用兩個管道符表示合并;在生成列名別名、抽取部分字符串、執(zhí)行數(shù)據(jù)類型轉(zhuǎn)換、返回數(shù)字的上取整、以及取得當(dāng)前日期或下一天的日期中的一個或多個操作中可能存在差異。其他問題還包括GROUP_BY內(nèi)的操作,不恰當(dāng)?shù)腏OIN,有AS或沒有AS的表別名,F(xiàn)ROM的使用與DELETE后FROM的使用,CREATE_TABLE句法、NULL與NOT_NULL的使用,ALTER_TABLE規(guī)則與含義,DROP_TABLE規(guī)則與含義,在VIEW中使用或不使用ORDER_BY,SAVEPOINT的生成與使用,以及范圍(最小值、最大值、范圍、數(shù)據(jù)類型,用戶自定義數(shù)據(jù)類型)。
例如,對保存點(savepoint)的情況,一個DBMS的SQL通過以下設(shè)置保存點SAVEPOINT deletel…ROLLBACK deletel而另一個DBMS的SQL通過以下設(shè)置保存點SAVE TRANSACTION deletel…ROLLBACK TRANSACTION deletel為達(dá)到同樣目的,使用了差異很大的代碼,而且這并不特殊或非典型。這是現(xiàn)實世界的程序員每天都要面臨的現(xiàn)實世界的問題。因此,對開發(fā)基于或接口于老式系統(tǒng)以及在異構(gòu)平臺上運(yùn)行的系統(tǒng)的新應(yīng)用(如電子商務(wù)應(yīng)用)的平臺所有者來說,面臨著一項挑戰(zhàn)需要保護(hù)基本老式系統(tǒng)(或其他宿主系統(tǒng))免受損害,唯一地識別來自多個異構(gòu)平臺的各種文件類型與工件,并且將其與兼容這些對象的特征與屬性的適當(dāng)?shù)募砷_發(fā)環(huán)境(IDE)、閱讀器、編輯器與轉(zhuǎn)換工具相關(guān)聯(lián)。使用錯誤的集成開發(fā)環(huán)境、閱讀器、編輯器與轉(zhuǎn)換工具可能導(dǎo)致文件損害與數(shù)據(jù)丟失。
所以,明顯地存在允許平臺所有者保護(hù)其軟件資產(chǎn)免受損害的需求。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品,通過比較與匹配目標(biāo)文件屬性(目標(biāo)文件元數(shù)據(jù))庫與開發(fā)環(huán)境、閱讀器、編輯器或轉(zhuǎn)換工具能力(開發(fā)工具元數(shù)據(jù)),保護(hù)目標(biāo)應(yīng)用(通常為老式應(yīng)用)與駐留其中的數(shù)據(jù),免于損害甚至毀壞。
這是通過本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品實現(xiàn)的,該方法、系統(tǒng)、與程序產(chǎn)品支持用可能造成損害的開發(fā)工具訪問目標(biāo)文件。目標(biāo)文件的特征在于其屬性,開發(fā)工具的特征在于其工具能力,包括返回具有可能被有害地改變了的屬性的目標(biāo)文件的能力。保護(hù)目標(biāo)文件屬性免于有害改變的實現(xiàn)途徑為如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制該開發(fā)工具對目標(biāo)文件的訪問。這是通過從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性而實現(xiàn)的。該目標(biāo)文件信息源選取自,例如,目標(biāo)文件頭部信息、目標(biāo)文件屬性庫、相關(guān)DTD文件或封裝XML文件。訪問權(quán)限的實際確定途徑為匹配目標(biāo)文件屬性與工具能力,并且如果目標(biāo)文件屬性與工具能力存在匹配,則批準(zhǔn)開發(fā)工具訪問該目標(biāo)文件,如果不匹配,則拒絕或限制訪問。另外一步為如果開發(fā)工具能力匹配目標(biāo)文件屬性,則給該開發(fā)工具分配注冊許可鍵工具。
對目標(biāo)文件訪問的批準(zhǔn)或拒絕基于目標(biāo)與開發(fā)工具元數(shù)據(jù)元素的匹配或不匹配。每個平臺所有者都可能有其文件類型與工件的特有注冊項,此注冊項基于開發(fā)人員訪問/授權(quán),以及哪些工具(集成開發(fā)環(huán)境、閱讀器、編輯器、轉(zhuǎn)換工具等等)可以在這些文件類型與工件上操作。通過這種方法,當(dāng)開發(fā)工具請求訪問目標(biāo)應(yīng)用時,開發(fā)工具的能力(開發(fā)工具元數(shù)據(jù))與目標(biāo)屬性(目標(biāo)元數(shù)據(jù))比較,并且一旦工具元數(shù)據(jù)與目標(biāo)元數(shù)據(jù)匹配,則授權(quán)訪問。另外,所述訪問/授權(quán)可以記錄為(例如)在該平臺或開發(fā)工具上的注冊許可鍵。該訪問/授權(quán)依賴于目標(biāo)文件屬性與開發(fā)工具能力的恰當(dāng)匹配。訪問/授權(quán)被傳回給發(fā)起請求的開發(fā)工具(一般為基于工作站的IDE)。
本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品提供了一種途徑,使平臺所有者唯一地(1)注冊開發(fā)人員種類,即誰能夠訪問特定文件類型與資源,并且以何種能力(如無、只讀、讀寫、只執(zhí)行)訪問,(2)注冊所有必須遵循(如固定記錄長度)或必須送回的文件類型與資源的屬性,包括特征與平臺特有信息,(3)注冊有關(guān)哪種類型的計算機(jī)程序可以在該文件類型與資源上操作(如引入某工具種類,使以后屬于該種類的工具可以被當(dāng)作能夠操作此文件類型的潛在候選工具)的所有限定;類似地,該種類還可以表示此文件類型將不接受以后的工具,除非由平臺所有者公司內(nèi)的管理員指定,以及(4)注冊特定工具或命令文件的所有相關(guān)信息(如用于編譯的特定JCL或用于連結(jié)的特定JCL),以及這些工具的特定啟動選項。
在本發(fā)明的另一實施例中,最終用戶可以生成新的或?qū)С鑫募?,其繼承了庫中文件類型數(shù)據(jù)的文件特征。在本發(fā)明的這一方面,庫元數(shù)據(jù)的作用為模板或樣式表,并且結(jié)合集成開發(fā)環(huán)境、編輯器、編譯器、句法編輯器或分析器中的一個或多個,生成具有所繼承的特征與屬性并與系統(tǒng)相容的文件。
另外,如上提到的,用于特定的開發(fā)工具/目標(biāo)組合的或用于特定的開發(fā)人員/開發(fā)工具/目標(biāo)組合的訪問/授權(quán),可以記錄為(例如)在該平臺或開發(fā)工具上的注冊許可鍵。所述注冊任務(wù)可由管理員或具有適當(dāng)授權(quán)并熟悉目標(biāo)系統(tǒng)/平臺的人完成。
通過提供一套機(jī)制,該機(jī)制允許平臺所有者唯一地注冊開發(fā)工具與開發(fā)人員對其平臺的每一文件類型與工件的訪問權(quán)限,就可能將由于無意地使用錯誤的閱讀器、編輯器、轉(zhuǎn)換工具或由于未授權(quán)訪問所可能造成的文件損害與數(shù)據(jù)丟失最小化。根據(jù)本發(fā)明,工具與開發(fā)人員的訪問權(quán)限是基于各個開發(fā)人員的訪問權(quán)限、工具和文件的屬性與特征、平臺規(guī)范、限定、選項等等。
通常,通過使用包含指揮、配置、控制開發(fā)平臺的程序代碼的程序產(chǎn)品,在該具有開發(fā)工具、文本編輯器或集成開發(fā)環(huán)境的開發(fā)平臺上實現(xiàn)本方法。程序產(chǎn)品為存儲介質(zhì),如硬盤、CD-ROM、磁帶、軟盤等等,其包含計算機(jī)可讀代碼,以指揮計算機(jī)完成任務(wù)。
本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品在下列附圖中示出。
圖1示出一老式文件,此處為S/390 DBMS SQL文件,具有合并命令、字符串抽取命令、數(shù)據(jù)類型轉(zhuǎn)換、別名等等,被導(dǎo)出到具有集成開發(fā)環(huán)境(IDE)的Unix工作站上。該S/390 DBMS SQL文件被修改,并從工作站返回,此時具有另一套不同的合并命令、字符串抽取命令、數(shù)據(jù)類型轉(zhuǎn)換以及別名,其適合于另一不同版本的DBMS,但不適合于駐留在所示平臺上的版本。
圖2示出一工作站,具有集成開發(fā)環(huán)境,與三個分離平臺上的三個老式應(yīng)用接口。該集成開發(fā)環(huán)境包括訪問授權(quán)注冊鍵工具,至少一個元模型工具,以及其他插件。顯示所述老式應(yīng)用具有特征(元數(shù)據(jù))列表。
圖3示出一工作站,具有集成開發(fā)環(huán)境,與三個分離平臺上的三個老式應(yīng)用接口。該集成開發(fā)環(huán)境包括訪問授權(quán)注冊鍵工具,至少一個元模型工具,以及其他插件。顯示所述老式應(yīng)用在文件頭部具有特征(元數(shù)據(jù))列表。
圖4示出一工作站,具有集成開發(fā)環(huán)境,與三個分離平臺上的三個老式應(yīng)用接口。該集成開發(fā)環(huán)境包括訪問授權(quán)注冊鍵工具,至少一個元模型工具,以及其他插件。顯示所述老式應(yīng)用具有特征(元數(shù)據(jù))列表以及相關(guān)文件,其示為包含代碼部分于代碼元數(shù)據(jù)的XML文件。
圖5示出一工作站,具有集成開發(fā)環(huán)境,與三個分離平臺上的三個老式應(yīng)用接口。該集成開發(fā)環(huán)境包括訪問授權(quán)注冊鍵工具,至少一個元模型工具,以及其他插件。顯示所述老式應(yīng)用具有特征(元數(shù)據(jù))列表以及指向元數(shù)據(jù)庫的鏈接,其用于訪問/授權(quán)比較。
圖6示出了相對于編輯工具與開發(fā)環(huán)境的庫與注冊工具。
圖7示出匹配開發(fā)工具元數(shù)據(jù)與目標(biāo)文件元數(shù)據(jù),以確定是否批準(zhǔn)或拒絕訪問。
圖8是本發(fā)明的一個實施例的方法的高層次流程圖,其中為訪問權(quán)限檢查用戶的用戶標(biāo)識與口令,并且如果成功,則為注冊許可鍵檢查開發(fā)工具。如果成功,即如果該工具具有注冊許可鍵,則授權(quán)訪問。如果開發(fā)工具沒有注冊許可鍵,則檢查該工具,看工具元數(shù)據(jù)與目標(biāo)元數(shù)據(jù)的匹配,如圖7所示。如果成功,則授權(quán)訪問。如果不成功,則拒絕完全訪問,但可能批準(zhǔn)部分訪問。
圖9示出本發(fā)明的另一實施例,其中庫包含了樣式表或類似工件,或用于生成或編輯在該庫中存儲的文件類型的文件的輔助手段。
具體實施例方式
1.發(fā)明概述本發(fā)明的方法、系統(tǒng)與程序產(chǎn)品提供開發(fā)工具訪問控制,用來基于比較老式應(yīng)用屬性與工具能力來控制訪問老式系統(tǒng)。本發(fā)明包括一種新的開發(fā)工具,以一種IDE框架為示例,其基于提供一種訪問受控的開發(fā)環(huán)境,其訪問控制由圖7的訪問控制引擎與圖8的訪問控制方法概括示出,并且使用了目標(biāo)文件的元數(shù)據(jù),如圖2至5所示。該基于屬性-能力的訪問授權(quán),與適當(dāng)?shù)拈喿x器、編輯器與轉(zhuǎn)換工具一起,支持開發(fā)人員對安全、無損害地訪問老式應(yīng)用的需求,尤其是電子商務(wù)開發(fā)人員對此類訪問的需求。
如上所述,“插件”應(yīng)用可能是工具,是可以輕易地安裝并作為基本程序的一部分使用的程序?;境绦蜃詣幼R別插件應(yīng)用,并將其功能整合到所給出的目標(biāo)文件中。此處所指的基本程序為開發(fā)工具、開發(fā)工具箱或集成開發(fā)環(huán)境的元素,并且在描述本發(fā)明的方法、系統(tǒng)與程序產(chǎn)品時,名詞“開發(fā)工具”、“開發(fā)工具箱”與“集成開發(fā)環(huán)境”可以互換使用。
使每一個平臺所有者都能唯一地識別、定制并注冊作為目標(biāo)文件特征、文件類型與工件的函數(shù)的適當(dāng)?shù)脑L問授權(quán)、水平與允許的操作,并符合平臺的規(guī)則,這一目標(biāo)通過提供目標(biāo)文件元數(shù)據(jù)的集合或庫來實現(xiàn)。即收集并呈現(xiàn)目標(biāo)文件的特征、文件類型與工件,以控制對所涵蓋的目標(biāo)應(yīng)用的訪問。該目標(biāo)文件元數(shù)據(jù)用來批準(zhǔn)或拒絕訪問,如在實時動態(tài)地或通過注冊許可鍵工具或?qū)崟r地批準(zhǔn)或拒絕訪問。諸如文件與工件的元數(shù)據(jù)、文件與工件內(nèi)容的真正忠實翻版,有效的開發(fā)人員/工具訪問信息等信息,被捕獲并存儲,如存儲到元模型或元數(shù)據(jù)庫,以批準(zhǔn)或拒絕訪問。例如,可能通過注冊許可鍵工具,令牌或用戶標(biāo)識與口令,來控制訪問。該元模型具有元數(shù)據(jù)庫或訪問權(quán)限,在IDE中作為工具實現(xiàn),以使其信息可以被IDE中其他工具訪問。所述其他工具可能負(fù)責(zé)展示目標(biāo)文件的特征,如語法、句法、類型與工件。
2.該方法、系統(tǒng)與程序產(chǎn)品的組件本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品的一個組件為元數(shù)據(jù)形式的目標(biāo)應(yīng)用文件特征的集合與呈現(xiàn),所述文件特征包括語法、句法、格式、文件類型與工件,可以訪問所述集合與呈現(xiàn)來確定對所述應(yīng)用文件的訪問權(quán)限。
本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品的第二個組件為注冊許可工具,其允許平臺所有者或管理員記錄屬性、特征、能力與用戶。該注冊許可工具可能基于注冊許可鍵、令牌或用戶標(biāo)識/口令,其從工具元數(shù)據(jù)與目標(biāo)文件元數(shù)據(jù)導(dǎo)出,并且依照原來所在的平臺的規(guī)則,容許平臺所有者唯一地識別并注冊用戶與工具對文件類型與工件的適當(dāng)可訪問性與操作。
本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品的第三個組件為用于許可工具的平臺所有者界面。該界面允許平臺所有者指定并連接到某平臺,并隨后注冊該平臺任意或所有的文件類型與工件。每條注冊項將包括的信息如1)開發(fā)人員的種類,其可以按只讀、讀寫、執(zhí)行或不可訪問方式訪問。
2)有關(guān)特定文件類型的補(bǔ)充性屬性、特征與平臺特有信息,其必須被遵守或返回給用戶。
3)工具種類,其可以按只讀、讀寫、執(zhí)行或不可訪問方式對特定目標(biāo)文件訪問。
4)特定工具或命令文件的任何特殊的啟動選項。
5)所收集的信息與文件和工件內(nèi)容的忠實翻版一起存儲到元模型中,所述元模型將作為開發(fā)工具、IDE等等的工具實現(xiàn),以使其信息可被開發(fā)工具或IDE中的其他工具訪問。
3.訪問目標(biāo)文件本發(fā)明提供了一種方法、一種系統(tǒng)與一種程序產(chǎn)品,用于通過工具安全地訪問目標(biāo)文件,如老式應(yīng)用文件,所述工具能夠有害地改變目標(biāo)文件,并屬于能夠損害、損壞或毀壞該目標(biāo)文件的工具類型。通常,該工具是編輯工具、軟件開發(fā)工具或工具箱或集成開發(fā)環(huán)境等等。一般地,該工具為基于個人計算機(jī)或工作站的工具,并且目標(biāo)文件為老式應(yīng)用,例如大型機(jī)的應(yīng)用,諸如COBOL應(yīng)用與數(shù)據(jù)庫管理系統(tǒng),其經(jīng)常以EBCDIC編碼。根據(jù)本發(fā)明,對目標(biāo)文件訪問的授權(quán)基于工具能力元數(shù)據(jù)與目標(biāo)文件屬性元數(shù)據(jù)的匹配。如上所述,該匹配可能是在實時進(jìn)行的動態(tài)匹配,或以前完成的匹配,由鍵、令牌或數(shù)據(jù)庫項證明。即該工具能力元數(shù)據(jù)必須符合目標(biāo)文件屬性元數(shù)據(jù),并且在工具屬性與目標(biāo)屬性之間不能有可以損害、損壞或毀壞目標(biāo)文件的沖突。所禁止的能力-屬性不匹配可以在句法、內(nèi)容、格式之中,如在ORACLESQL中使用MS SQL Server的命令;或超出COBOL固定區(qū)域長度,或在編輯時插入工件,或在保存時插入RTF工件“”。
4.建立元數(shù)據(jù)庫在根據(jù)工具能力元數(shù)據(jù)與目標(biāo)文件屬性元數(shù)據(jù)確定相容性之前,必須收集目標(biāo)文件屬性元數(shù)據(jù)與工具能力元數(shù)據(jù)。初始步驟為(1)收集目標(biāo)文件屬性,尤其是易被損害的數(shù)據(jù),(2)收集或以其他方式提供工具的能力,尤其是當(dāng)處理不當(dāng)可能損害或毀壞目標(biāo)文件的工具能力。存儲該信息以使工具可對其訪問。例如,目標(biāo)屬性,也稱為目標(biāo)文件元數(shù)據(jù),可能存儲在目標(biāo)文件頭部、相關(guān)文件(如DTD文件)、帶標(biāo)簽的“容器”文件(如在頭部具有目標(biāo)屬性的XML文件)或在分離的數(shù)據(jù)庫或注冊表文件中。在圖2中顯示了與目標(biāo)平臺接口的系統(tǒng),該系統(tǒng)具有工作站201,該工作站具有含注冊許可鍵插件的訪問授權(quán)211;元模型工具213;以及其他插件215。目標(biāo)平臺的特征在于示例性的老式應(yīng)用,此處為AS/400應(yīng)用221、Unix應(yīng)用223、與S/390應(yīng)用225。圖2顯示了每種老式應(yīng)用的示例性的特征(元數(shù)據(jù))。
目標(biāo)文件屬性或元數(shù)據(jù)最初可能由管理員、銷售商等等收集,或者可能通過分析目標(biāo)文件自動收集。
可替換地,目標(biāo)文件屬性列表可能是包含在目標(biāo)文件頭部的數(shù)據(jù)。該示例由圖3示出。如圖3所示,工作站201具有集成開發(fā)環(huán)境,其與一個或多個目標(biāo)平臺上的三個老式應(yīng)用321、323、325接口。該集成開發(fā)環(huán)境包括訪問授權(quán)注冊鍵工具211,至少一個元模型工具213,以及其他插件215。在分離的文件頭部323A、323B與323C示出所述老式應(yīng)用具有所列舉的特征(元數(shù)據(jù))。
在本發(fā)明的另一實施例種,目標(biāo)文件與目標(biāo)文件屬性可能被封裝或包含在XML文件中。此示例在圖4中示出,其中工作站具有集成開發(fā)環(huán)境201,其與三個目標(biāo)平臺上的三個老式應(yīng)用421、423、425接口。集成開發(fā)環(huán)境201包括訪問授權(quán)注冊鍵工具211,至少一個元模型工具213,以及其他插件215。老式應(yīng)用421、423、425顯示具有所列舉的特征(元數(shù)據(jù))與相關(guān)文件,其顯示為包含代碼部分與代碼元數(shù)據(jù)的XML文件。
在一個實施例中,這包括建立目標(biāo)文件屬性(即目標(biāo)文件元數(shù)據(jù))的注冊表、庫或數(shù)據(jù)庫。這可能是駐留在老式應(yīng)用平臺或開發(fā)工具平臺內(nèi)的XML文件或DTD文件。圖5示出工作站具有集成開發(fā)環(huán)境201,其與三個目標(biāo)平臺上的三個老式應(yīng)用521、523、525接口。該集成開發(fā)環(huán)境包括訪問授權(quán)注冊鍵工具211,至少一個元模型工具213,以及其他插件215。老式應(yīng)用521、523、525顯示具有所列舉的特征(元數(shù)據(jù)),并具有到元數(shù)據(jù)庫217的鏈接,其用于訪問/授權(quán)比較。
圖6示出了相對于編輯工具與開發(fā)環(huán)境的所述庫與注冊工具。如圖所示,開發(fā)環(huán)境201的訪問授權(quán)通過上述的許可注冊鍵或工具211被批準(zhǔn)或拒絕。開發(fā)環(huán)境201還包括文件屬性與特征的元模型213,其從庫217取得。庫217包含目標(biāo)文件特征、語義、句法、保留字、命令、數(shù)據(jù)類型等等。開發(fā)環(huán)境201還具有其他插件與工具215。
圖6還示出了注冊工具631、注冊表/庫633、以及編輯工具641。在運(yùn)行時,工具X641向注冊表/庫633查詢對工件的訪問權(quán)限。注冊表/庫向工具X641返回查詢,批準(zhǔn)或者拒絕訪問。如果批準(zhǔn)訪問,則所請求的工件被傳遞給工具(用于編輯等等),該工件具有需要工具641遵守的一組屬性、能力、特征等等。
在本發(fā)明的另一實施例中,目標(biāo)文件與相關(guān)文件關(guān)聯(lián)或指向相關(guān)文件。該相關(guān)文件可能是文件類型定義(DTD)文件。DTD是具體的定義,遵行標(biāo)準(zhǔn)通用標(biāo)記語言(Standard Generalized Markup Language)的規(guī)則。DTD為伴隨目標(biāo)文件的規(guī)范,并且指出代碼(或標(biāo)記)、主題標(biāo)題等等,以及指明對上述的每一個如何處理。通過將DTD與目標(biāo)文件關(guān)聯(lián),任何具有DTD“閱讀器”(或“SGML編譯器“)的工具都應(yīng)該能夠編輯、插入文件或?qū)ξ募M(jìn)行其他處理,并如所需地顯示或打印文件。編譯器分析DTD,然后據(jù)此打印、顯示或編譯目標(biāo)文件。
5.確立工具與目標(biāo)文件的相容性匹配開發(fā)工具能力元數(shù)據(jù)與目標(biāo)特征元數(shù)據(jù)以確定相容性與訪問權(quán)限。在打開目標(biāo)文件之前,該工具確立工具能力與目標(biāo)文件屬性之間的相容性。這可以通過從目標(biāo)文件屬性集合讀取目標(biāo)文件屬性完成,例如從目標(biāo)文件頭部、相關(guān)的XML文件或DTD文件、庫或注冊表。該工具、操作系統(tǒng)或目標(biāo)文件(一般通過使用工具)查詢工具能力與目標(biāo)文件屬性集合,以確定相容性。此查詢可能是一系列簡單查詢、復(fù)合查詢、子查詢等等。這是搜索工具能力與目標(biāo)屬性之間的匹配與不匹配,以確定該工具是否有訪問授權(quán)來在目標(biāo)文件上操作,即“讀取“目標(biāo)文件而不修改或保存,向目標(biāo)文件移植附件或插件應(yīng)用,或打開、編輯、并保存目標(biāo)文件。
圖8顯示開發(fā)工具元數(shù)據(jù)801與目標(biāo)文件元數(shù)據(jù)803之間的匹配805,以確定是否批準(zhǔn)或拒絕訪問。執(zhí)行這一步是通過使用適當(dāng)?shù)倪壿?05進(jìn)行開發(fā)工具801能力與目標(biāo)文件803屬性間逐項或逐元素的匹配。
圖8是本發(fā)明的一個實施例的方法的高層次流程圖,其中為訪問權(quán)限檢測用戶的用戶標(biāo)識與口令801,并且如果成功,則為注冊許可鍵檢測開發(fā)工具803。如果成功,即如果該工具具有注冊許可鍵,則授權(quán)訪問807。這表示工具能力與應(yīng)用屬性的相容性已經(jīng)在前面進(jìn)行。如果開發(fā)工具沒有注冊許可鍵,則使用圖8中的邏輯檢查該工具,看工具元數(shù)據(jù)與目標(biāo)元數(shù)據(jù)的匹配805,如圖7所示。如果成功,則授權(quán)訪問807。如果不成功,則拒絕完全訪問,但可能批準(zhǔn)部分訪問。
工具能力與目標(biāo)文件屬性的匹配包括不存在可以不經(jīng)意地?fù)p害或毀壞目標(biāo)文件的能力或本領(lǐng),如通過返回具有修改過的屬性的文件,或具有附加工件的文件,諸如RTF的“”,大多數(shù)文本編輯器的換行,Adobe Acrobat開始的“02H”,或“拖放”軟件開發(fā)工具箱與相關(guān)語言的語法與句法錯誤。
不存在可以不經(jīng)意地?fù)p害或毀壞目標(biāo)文件的能力或本領(lǐng)可以指根本不具備這種能力,或該毀壞能力根據(jù)目標(biāo)屬性被工具操作所阻塞。這可以由目標(biāo)文件或目標(biāo)平臺的管理員或工具開發(fā)者決定。
當(dāng)工具能力與目標(biāo)文件屬性存在不匹配時,可能完全拒絕訪問,或只讀訪問,即允許工具“打開”來“讀”,但不以“修改”、“編輯”或“保存”等方式來修改目標(biāo)文件的屬性。然而,如果工具能力匹配目標(biāo)屬性,則批準(zhǔn)訪問并且該工具打開目標(biāo)文件。
6.訪問工具與鍵注冊工具訪問或鍵注冊工具必須識別目標(biāo)文件屬性,并具有其匹配工具能力與目標(biāo)屬性的功能的調(diào)用點(point of reference)。例如,該工具必須讀取目標(biāo)文件頭部、目標(biāo)文件屬性庫或相關(guān)的XML或DTD文件以確定目標(biāo)屬性。如此安排是使工具能夠檢測目標(biāo)屬性并采取適當(dāng)操作,如突顯要作的操作,阻塞要作的操作,或只是向用戶告警。
在本發(fā)明的優(yōu)選實施例中,該訪問工具或注冊許可鍵工具訪問目標(biāo)文件、相關(guān)文件或庫,打開對話框,查看可能阻塞訪問的屬性列表,驗證用戶有個人訪問權(quán)限,開發(fā)工具具有能力-屬性匹配訪問權(quán)限,并且如果批準(zhǔn)完全訪問,則打開目標(biāo)文件。否則,訪問工具、操作系統(tǒng)(包括其他系統(tǒng)軟件)或訪問工具與操作系統(tǒng)(包括其他系統(tǒng)軟件)可以只授權(quán)“讀”訪問,而沒有可能造成損害的“保存”訪問權(quán)限。
7.基于庫元數(shù)據(jù)生成新文件圖9示出本發(fā)明的另一實施例,其中庫包含了樣式表或類似工件,或用于生成或編輯在該庫中存儲的文件類型的文件的輔助手段。根據(jù)本實施例,庫217包含有關(guān)待生成或編輯文件的數(shù)據(jù)的數(shù)據(jù)庫。因此,在該元數(shù)據(jù)庫中的數(shù)據(jù)可以用來生成或修改文件,并且該新生成或被修改的文件具有存儲在該庫元數(shù)據(jù)中的屬性。開發(fā)環(huán)境201檢測屬性與特征中的錯誤與修改,并確保與存儲在庫217中或由該庫取得的元數(shù)據(jù)一致。
庫217包含樣式表901或已知的正確模板。在已知正確模板的情況中,該模板可能用來生成派生文件,該派生文件繼承了該模板的特征與屬性,其一致性由分析器、編輯器與預(yù)編譯器保證。
在可替換的例子中,新文件或已編輯文件被封裝在XML文件中,并具有配套的樣式表。樣式表指對文件外觀的電子的或數(shù)字的定義,一般通過使用標(biāo)簽定義。圖8顯示了一張高度簡化的COBOL樣式表。樣式表一般在電子文件的開頭指明,或者通過將其嵌入或者通過指向其的鏈接。該樣式表適用于整個文件,并包含待生成或編輯的目標(biāo)文件的特征與屬性。
8.說明性范例下面的場景說明本發(fā)明的方法、系統(tǒng)、與程序產(chǎn)品。在該場景中,平臺所有者剛完成IDE的安裝。然后系統(tǒng)管理員為該IDE啟動注冊許可鍵工具,以為其希望注冊的老式應(yīng)用的每個平臺唯一地確定并注冊對文件類型與工件的適當(dāng)?shù)目稍L問性與操作。
在此時,使用該IDE的開發(fā)人員就能夠訪問一個或多個目標(biāo)系統(tǒng)上的文件類型與工件。開發(fā)人員從該IDE上對這些文件的訪問權(quán)限將基于其用戶標(biāo)識訪問權(quán)限(無、只讀、寫讀、只執(zhí)行)確定,該訪問權(quán)限從元模型中得到,該元模型在執(zhí)行注冊許可鍵工具時被初始化。
對于授權(quán)開發(fā)人員訪問并讀入IDE的文件,只允許系統(tǒng)管理員在初始化注冊許可鍵時指定的操作。這就阻止了開發(fā)人員無意或有意地對目標(biāo)使用未準(zhǔn)許工具,其可能導(dǎo)致文件損害與數(shù)據(jù)丟失。該訪問權(quán)限信息從元模型中取得,該元模型在執(zhí)行注冊許可鍵工具時被初始化。
例如,開發(fā)人員將只能使用已批準(zhǔn)的編輯器編輯固定記錄長度格式的文件,該編輯器遵循固定記錄長度格式,以上假定根據(jù)元模型所包含的信息,該開發(fā)人員具有“編輯”(讀/寫)該文件的授權(quán),該元模型在執(zhí)行該注冊許可鍵工具時被初始化。
另一例子中,如果開發(fā)人員希望編譯某COBOL文件,該COBOL文件已從被系統(tǒng)管理員注冊的目標(biāo)平臺導(dǎo)入,啟動編譯操作將導(dǎo)致使用適當(dāng)?shù)木幾g器與適當(dāng)?shù)倪x項在適當(dāng)?shù)倪h(yuǎn)程目標(biāo)平臺上編譯該文件(如果有的話,甚或JCL)。
當(dāng)IDE上的開發(fā)人員希望調(diào)試該COBOL文件,調(diào)試工具(插件)將知道連結(jié)到哪個平臺并與其通信,以在調(diào)試模式下執(zhí)行(假定通過注冊許可鍵工具據(jù)元模型中包含的信息,開發(fā)人員具有授權(quán)),從而執(zhí)行該操作。執(zhí)行與配置的情況相同。
目標(biāo)文件從目標(biāo)平臺到開發(fā)工具,并隨后返回目標(biāo)平臺的簽入/簽出(check-in/check-out),也將使用存儲在元模型中來自注冊許可鍵工具的信息。先確認(rèn)開發(fā)人員是否具有簽入授權(quán),然后如果該開發(fā)人員被授權(quán),則將已編輯文件簽入目標(biāo)平臺(文件系統(tǒng)或IBM S/390 Source ConfigurationManagement[源碼配置管理]應(yīng)用)。
雖然就某些優(yōu)選實施例與范例對本發(fā)明進(jìn)行了描述與說明,但這不是用來限定本發(fā)明的范圍,本發(fā)明的范圍只由所附權(quán)利要求限定。
權(quán)利要求
1.一種使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件的方法,包括以下步驟(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件。
2.如權(quán)利要求1所述的方法,包括讀取目標(biāo)文件頭部以確定目標(biāo)文件屬性。
3.如權(quán)利要求1所述的方法,包括讀取目標(biāo)文件屬性庫。
4.如權(quán)利要求1所述的方法,包括讀取相關(guān)文件以確定目標(biāo)文件屬性。
5.如權(quán)利要求4所述的方法,其中該相關(guān)文件為DTD文件。
6.如權(quán)利要求1所述的方法,包括讀取包含目標(biāo)文件的XML文件以確定目標(biāo)文件屬性。
7.如權(quán)利要求6所述的方法,包括將目標(biāo)文件與目標(biāo)文件屬性封裝在XML文件中。
8.如權(quán)利要求1所述的方法,包括如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
9.如權(quán)利要求1所述的方法,包括通過進(jìn)行下列之一來限制訪問1)拒絕訪問;2)拒絕執(zhí)行;或3)授權(quán)“讀”訪問。
10.如權(quán)利要求1所述的方法,包括通過拒絕對“修改”或“保存”目標(biāo)文件的訪問來限制訪問。
11.如權(quán)利要求1所述的方法,其中確定目標(biāo)文件屬性以及匹配工具能力與目標(biāo)文件屬性的步驟包括確定工具能力是否包括返回具有被修改的屬性的文件的能力。
12.一種使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件的方法,包括以下步驟(a)從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合(1)目標(biāo)文件頭部信息;(2)目標(biāo)文件屬性庫;(3)相關(guān)DTD文件;以及(4)封裝XML文件;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件。
13.如權(quán)利要求12所述的方法,其中確定目標(biāo)文件屬性以及匹配工具能力與目標(biāo)文件屬性的步驟包括確定工具能力是否包括返回具有被修改的屬性的文件的能力。
14.如權(quán)利要求13所述的方法,包括如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
15.一種使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件的方法,包括以下步驟(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力,包括確定工具能力是否包括返回具有被修改的屬性的文件的能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件。
16.如權(quán)利要求15所述的方法,包括從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合(1)目標(biāo)文件頭部信息;(2)目標(biāo)文件屬性庫;(3)相關(guān)DTD文件;以及(4)封裝XML文件。
17.如權(quán)利要求15所述的方法,包括如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
18.一種使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件的方法,包括以下步驟(a)從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合(1)目標(biāo)文件頭部信息;(2)目標(biāo)文件屬性庫;(3)相關(guān)DTD文件;以及(4)封裝XML文件;(b)匹配目標(biāo)文件屬性與工具能力,包括確定工具能力是否包括返回具有被修改的屬性的文件的能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件,并且分配注冊許可鍵工具給該開發(fā)工具。
19.一種使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件的方法,包括以下步驟(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力與庫中文件匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問該庫中文件與目標(biāo)文件。
20.如權(quán)利要求19所述的方法,其中庫中文件為記載目標(biāo)文件特征的樣式表。
21.如權(quán)利要求19所述的方法,其中庫中文件為模板。
22.如權(quán)利要求19所述的方法,其中目標(biāo)文件從庫中文件繼承特征。
23.一種用來編輯目標(biāo)文件的系統(tǒng),所述系統(tǒng)包括具有開發(fā)工具的編輯平臺,所述編輯平臺被配置并被控制,以通過以下步驟使用具有工具能力的開發(fā)工具訪問目標(biāo)文件(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件。
24.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以讀取目標(biāo)文件頭部來確定目標(biāo)文件屬性。
25.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以讀取目標(biāo)文件屬性庫來確定目標(biāo)文件屬性。
26.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以讀取相關(guān)文件來確定目標(biāo)文件屬性。
27.如權(quán)利要求23所述的方法,其中該相關(guān)文件為DTD文件。
28.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以讀取包含目標(biāo)文件的XML文件來確定目標(biāo)文件屬性。
29.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以將目標(biāo)文件與目標(biāo)文件屬性封裝在XML文件中。
30.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,使如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
31.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以通過進(jìn)行下列之一來限制訪問目標(biāo)文件1)拒絕訪問;2)拒絕執(zhí)行;或3)授權(quán)“讀”訪問。
32.如權(quán)利要求23所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以通過拒絕對“修改”或“保存”目標(biāo)文件的訪問來限制訪問。
33.如權(quán)利要求23所述的系統(tǒng),其中確定目標(biāo)文件屬性以及匹配工具能力與目標(biāo)文件屬性的步驟包括確定工具能力是否包括返回具有被修改的屬性的文件的能力。
34.一種用來使用具有工具能力的開發(fā)工具訪問目標(biāo)文件的系統(tǒng),所述系統(tǒng)包括具有開發(fā)工具的編輯平臺,所述編輯平臺被配置并被控制,以(a)從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合(1)目標(biāo)文件頭部信息;(2)目標(biāo)文件屬性庫;(3)相關(guān)DTD文件;以及(4)封裝XML文件;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件,并且分配注冊許可鍵工具給該開發(fā)工具。
35.如權(quán)利要求34所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以確定目標(biāo)文件屬性,并通過確定工具能力是否包括返回具有被修改的屬性的文件的能力來匹配工具能力與目標(biāo)文件屬性。
36.如權(quán)利要求34所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,使如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
37.一種用來使用具有工具能力的開發(fā)工具訪問目標(biāo)文件的系統(tǒng),所述系統(tǒng)包括具有開發(fā)工具的編輯平臺,所述編輯平臺被配置并被控制,以(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力,包括確定工具能力是否包括返回具有被修改的屬性的文件的能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件。
38.如權(quán)利要求37所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,以從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合(1)目標(biāo)文件頭部信息;(2)目標(biāo)文件屬性庫;(3)相關(guān)DTD文件;以及(4)封裝XML文件。
39.如權(quán)利要求37所述的系統(tǒng),其中該系統(tǒng)被配置并被控制,使如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
40.一種用來使用具有工具能力的開發(fā)工具訪問目標(biāo)文件的系統(tǒng),所述系統(tǒng)包括具有開發(fā)工具的編輯平臺,所述編輯平臺被配置并被控制,以(a)從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合1)目標(biāo)文件頭部信息;2)目標(biāo)文件屬性庫;3)相關(guān)DTD文件;以及4)封裝XML文件;(b)匹配目標(biāo)文件屬性與工具能力,包括確定工具能力是否包括返回具有被修改的屬性的文件的能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件,并且分配注冊許可鍵工具給該開發(fā)工具。
41.一種程序產(chǎn)品,包含其上具有計算機(jī)可讀程序代碼的存儲介質(zhì),以指揮計算機(jī)編輯目標(biāo)文件,所述程序代碼配置并控制所述計算機(jī)系統(tǒng),以通過以下步驟使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力與庫中文件匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問該庫中文件與目標(biāo)文件。
42.如權(quán)利要求41所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以讀取目標(biāo)文件頭部來確定目標(biāo)文件屬性。
43.如權(quán)利要求41所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以讀取目標(biāo)文件屬性庫來確定目標(biāo)文件屬性。
44.如權(quán)利要求41所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以讀取相關(guān)文件來確定目標(biāo)文件屬性。
45.如權(quán)利要求44所述的程序產(chǎn)品,其中該相關(guān)文件為DTD文件。
46.如權(quán)利要求41所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以讀取包含目標(biāo)文件的XML文件來確定目標(biāo)文件屬性。
47.如權(quán)利要求46所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以將目標(biāo)文件與目標(biāo)文件屬性封裝在XML文件中。
48.如權(quán)利要求41所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),使如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
49.如權(quán)利要求41所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以通過進(jìn)行下列之一來限制訪問目標(biāo)文件1)拒絕訪問;2)拒絕執(zhí)行;或3)授權(quán)“讀”訪問。
50.如權(quán)利要求41所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以通過拒絕對“修改”或“保存”目標(biāo)文件的訪問來限制訪問。
51.如權(quán)利要求41所述的程序產(chǎn)品,其中確定目標(biāo)文件屬性以及匹配工具能力與目標(biāo)文件屬性的步驟包括確定工具能力是否包括返回具有被修改的屬性的文件的能力。
52.一種程序產(chǎn)品,包含其上具有計算機(jī)可讀程序代碼的存儲介質(zhì),以指揮計算機(jī)系統(tǒng)編輯目標(biāo)文件,所述系統(tǒng)包括具有開發(fā)工具的編輯平臺,所述程序代碼配置并控制所述計算機(jī)系統(tǒng),以通過以下步驟使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件(a)從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合(1)目標(biāo)文件頭部信息;(2)目標(biāo)文件屬性庫;(3)相關(guān)DTD文件;以及(4)封裝XML文件;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件,并且分配注冊許可鍵工具給該開發(fā)工具。
53.如權(quán)利要求52所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),以確定目標(biāo)文件屬性,并通過確定工具能力是否包括返回具有被修改的屬性的文件的能力來匹配工具能力與目標(biāo)文件屬性。
54.如權(quán)利要求52所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該計算機(jī)系統(tǒng),使如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
55.一種程序產(chǎn)品,包含其上具有計算機(jī)可讀程序代碼的存儲介質(zhì),以指揮計算機(jī)系統(tǒng)編輯目標(biāo)文件,所述系統(tǒng)包括具有開發(fā)工具的編輯平臺,所述程序代碼配置并控制所述計算機(jī)系統(tǒng),以通過以下步驟使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力,包括確定工具能力是否包括返回具有被修改的屬性的文件的能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件。
56.如權(quán)利要求55所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該系統(tǒng),以從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合(1)目標(biāo)文件頭部信息;(2)目標(biāo)文件屬性庫;(3)相關(guān)DTD文件;以及(4)封裝XML文件。
57.如權(quán)利要求55所述的程序產(chǎn)品,其中該程序產(chǎn)品配置并控制該系統(tǒng),使如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給該開發(fā)工具。
58.一種程序產(chǎn)品,包含其上具有計算機(jī)可讀程序代碼的存儲介質(zhì),以指揮計算機(jī)系統(tǒng)編輯目標(biāo)文件,所述系統(tǒng)包括具有開發(fā)工具的編輯平臺,所述程序代碼配置并控制所述計算機(jī)系統(tǒng),以通過以下步驟使用具有工具能力的開發(fā)工具來訪問目標(biāo)文件(a)從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性,該信息源選自包含以下的集合1)目標(biāo)文件頭部信息;2)目標(biāo)文件屬性庫;3)相關(guān)DTD文件;以及4)封裝XML文件;(b)匹配目標(biāo)文件屬性與工具能力,包括確定工具能力是否包括返回具有被修改的屬性的文件的能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件,并且分配注冊許可鍵工具給該開發(fā)工具。
59.一種用來使用具有工具能力并駐留在計算機(jī)上的開發(fā)工具來訪問目標(biāo)文件的系統(tǒng),所述系統(tǒng)執(zhí)行以下步驟(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力與庫中文件匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問該庫中文件與目標(biāo)文件。
60.如權(quán)利要求59所述的系統(tǒng),其中庫中文件為記載目標(biāo)文件特征的樣式表。
61.如權(quán)利要求59所述的系統(tǒng),其中庫中文件為模板。
62.如權(quán)利要求59所述的系統(tǒng),其中目標(biāo)文件從庫中文件繼承特征。
63.一種程序產(chǎn)品,包括計算機(jī)可讀指令,用來配置并控制計算機(jī)系統(tǒng),以使用具有工具能力并駐留在計算機(jī)上的開發(fā)工具來訪問目標(biāo)文件的系統(tǒng),所述計算機(jī)系統(tǒng)執(zhí)行以下步驟(a)確定目標(biāo)文件屬性;(b)匹配目標(biāo)文件屬性與工具能力;(c)如果開發(fā)工具能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具訪問目標(biāo)文件;以及(d)如果開發(fā)工具能力與庫中文件匹配目標(biāo)文件屬性,則批準(zhǔn)開發(fā)工具訪問該庫中文件與目標(biāo)文件。
64.如權(quán)利要求63所述的系統(tǒng),其中庫中文件為記載目標(biāo)文件特征的樣式表。
65.如權(quán)利要求63所述的系統(tǒng),其中庫中文件為模板。
66.如權(quán)利要求63所述的系統(tǒng),其中目標(biāo)文件從庫中文件繼承特征。
全文摘要
用可能造成損害的開發(fā)工具訪問老式目標(biāo)文件,其中該目標(biāo)文件的特征在于其屬性,并且該開發(fā)工具的特征在于其工具能力,包括返回具有被修改的屬性的目標(biāo)文件的能力。保護(hù)目標(biāo)文件的屬性通過以下完成如果開發(fā)工具的能力不匹配目標(biāo)文件屬性,則限制開發(fā)工具對目標(biāo)文件的訪問。這是通過從目標(biāo)文件屬性信息源確定目標(biāo)文件屬性來實現(xiàn)的。訪問的確定通過下列處理實現(xiàn)匹配目標(biāo)文件屬性與工具能力,并且如果目標(biāo)文件屬性與工具能力匹配,則批準(zhǔn)開發(fā)工具訪問目標(biāo)文件,而如不匹配則拒絕或限制訪問。還有一步是如果開發(fā)工具能力匹配目標(biāo)文件屬性,則分配注冊許可鍵工具給開發(fā)工具。
文檔編號G06F9/44GK1582430SQ02809916
公開日2005年2月16日 申請日期2002年5月7日 優(yōu)先權(quán)日2001年5月14日
發(fā)明者麗貝卡·L·普爾, 勞倫斯·E·英格蘭, 霍華德·J·格拉瑟 申請人:國際商業(yè)機(jī)器公司