欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種調(diào)用功能函數(shù)的方法和裝置的制作方法

文檔序號:6575375閱讀:178來源:國知局
專利名稱:一種調(diào)用功能函數(shù)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件技術(shù)領(lǐng)域,特別是涉及一種調(diào)用功能函數(shù)的方法和裝置。
背景技術(shù)
在當(dāng)今全球化背景下,組織和人員之間的協(xié)作和交流越來越頻繁,作為信 息化工具的應(yīng)用軟件系統(tǒng)經(jīng)常要調(diào)用另一個應(yīng)用軟件系統(tǒng)中的功能函數(shù)。比如, 在采購系統(tǒng)上完成一次采購任務(wù)后,需要調(diào)用財務(wù)系統(tǒng)中的付賬功能函數(shù),從 而支付相應(yīng)的采購貨款。
然而,目前的應(yīng)用軟件通常是根據(jù)特定的應(yīng)用領(lǐng)域或用戶需求而定制的, 軟件系統(tǒng)的設(shè)計一般比較封閉,沒有考慮與其他軟件系統(tǒng)之間的協(xié)作,因此, 功能函數(shù)的接口往往是封閉的。這樣,當(dāng)一個應(yīng)用軟件系統(tǒng)需要調(diào)用另一個應(yīng) 用軟件系統(tǒng)中的一個功能函數(shù)時,往往找不到調(diào)用的入口,即使找到,也需要 在兩個系統(tǒng)的兩種程序語言之間進(jìn)行復(fù)雜的互操作轉(zhuǎn)換。
由以上描述可以看出,在現(xiàn)有技術(shù)中,由于各個功能函數(shù)的接口是封閉的, 因此,很難支持?jǐn)U展和協(xié)作要求。當(dāng)調(diào)用功能函數(shù)時,要求操作人員必須同時 掌握調(diào)用方和被調(diào)用方的應(yīng)用軟件系統(tǒng)的程序語言,并進(jìn)行相互之間的操作轉(zhuǎn) 換,可見,該調(diào)用過程對操作人員要求較高,而且需要處理復(fù)雜的底層技術(shù)問 題,因此,不具有通用性,實現(xiàn)較困難。

發(fā)明內(nèi)容
本發(fā)明提出了一種調(diào)用功能函數(shù)的方法和裝置,能夠以通用方式調(diào)用功能 函數(shù)。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種調(diào)用功能函數(shù)的方法,該方法包括 提取應(yīng)用軟件中功能函數(shù)的接口信息; 在數(shù)據(jù)庫中注冊所提取的功能函數(shù)的接口信息; 對外發(fā)布數(shù)據(jù)庫中功能函數(shù)的接口信息;
接收用戶輸入的調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫中查找到對應(yīng)的功能函 數(shù)的接口信息,利用該查找到的接口信息調(diào)用該功能函數(shù)。
較佳的,該方法進(jìn)一步包括將所述功能函數(shù)的物理綁定信息注冊到所 述數(shù)據(jù)庫中;
在所述數(shù)據(jù)庫中査找到該功能函數(shù)的接口信息時,進(jìn)一步包括查找到 該功能函數(shù)的物理綁定信息;
所述利用查找到的功能函數(shù)的接口信息調(diào)用功能函數(shù)的步驟包括根據(jù) 査找到的功能函數(shù)的接口信息對用戶輸入的參數(shù)賦值進(jìn)行合法性檢查,在合 法性檢査通過后,根據(jù)查找到的物理綁定信息調(diào)用所述功能函數(shù)。
具體地,該方法進(jìn)一步包括為注冊的功能函數(shù)的接口信息和物理綁定 信息分配對應(yīng)的功能函數(shù)標(biāo)識;
所述對外發(fā)布數(shù)據(jù)庫中功能函數(shù)的接口信息的步驟包括對外發(fā)布各個 功能函數(shù)標(biāo)識,當(dāng)用戶選中一個功能函數(shù)標(biāo)識時,對外發(fā)布數(shù)據(jù)庫中該選中 的功能函數(shù)標(biāo)識對應(yīng)的功能函數(shù)的接口信息;
所述用戶輸入的調(diào)用功能函數(shù)的命令中包括功能函數(shù)標(biāo)識,則根據(jù)該功 能函數(shù)標(biāo)識在數(shù)據(jù)庫中查找到對應(yīng)的功能函數(shù)的接口信息和功能函數(shù)的物 理綁定信息。
優(yōu)選的,所述在數(shù)據(jù)庫中注冊所提取的功能函數(shù)的接口信息的步驟包括 將所提取的功能函數(shù)的接口信息轉(zhuǎn)化為可讀的結(jié)構(gòu)化文檔格式,然后按照所 述功能函數(shù)所在軟件的功能層次關(guān)系,在數(shù)據(jù)庫中對應(yīng)的目錄分類位置處寫 入所述功能函數(shù)的接口信息。
具體地,所述提取應(yīng)用軟件中功能函數(shù)的接口信息為
根據(jù)使用應(yīng)用軟件的具體調(diào)用方系統(tǒng)的業(yè)務(wù)需求,確定出需要使用的應(yīng)用軟件的功能函數(shù),提取出需要使用的應(yīng)用軟件的功能函數(shù)接口信息; 或者,
將所有應(yīng)用軟件中所有功能函數(shù)的接口信息都分別提取出來。 具體地,所述提取應(yīng)用軟件中功能函數(shù)的接口信息的步驟具體包括
加載應(yīng)用軟件中的動態(tài)鏈接庫DLL模塊文件;通過解析DLL模塊文件中 的類型庫信息,獲取類對象;解析并提取類對象中的功能函數(shù)接口信息。
一種調(diào)用功能函數(shù)的裝置,該裝置包括提取模塊、注冊模塊、數(shù)據(jù)庫、
査看訪問器和統(tǒng)一代理中間件,其中,
提取模塊,用于提取應(yīng)用軟件中功能函數(shù)的接口信息;
注冊模塊,用于在數(shù)據(jù)庫中注冊所述提取模塊提取的功能函數(shù)的接口信自.
查看訪問器,用于接收用戶的查詢,并向用戶展現(xiàn)數(shù)據(jù)庫中功能函數(shù)的
接口信息;
統(tǒng)一代理中間件,用于根據(jù)用戶傳入的調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫 中查找到對應(yīng)的功能函數(shù)的接口信息,利用該查找到的接口信息調(diào)用功能函 數(shù)。
較佳的,所述注冊模塊,進(jìn)一步將所述功能函數(shù)的物理綁定信息注冊到 所述數(shù)據(jù)庫中;
所述統(tǒng)一代理中間件,進(jìn)一步根據(jù)所述調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫 中査找到對應(yīng)的功能函數(shù)的接口信息,根據(jù)查找到的功能函數(shù)的接口信息對 用戶輸入的參數(shù)賦值進(jìn)行合法性檢查,在合法性檢查通過后,根據(jù)査找到的 物理綁定信息調(diào)用所述功能函數(shù)。
具體地,所述注冊模塊,進(jìn)一步為注冊的功能函數(shù)的接口信息和物理綁 定信息分配對應(yīng)的功能函數(shù)標(biāo)識;
所述査看訪問服務(wù)器,用于對外發(fā)布各個功能函數(shù)標(biāo)識,當(dāng)檢測到用戶 選中一個功能函數(shù)標(biāo)識時,對外發(fā)布數(shù)據(jù)庫中該選中的功能函數(shù)標(biāo)識對應(yīng)的 功能函數(shù)的接口信息;所述統(tǒng)一代理中間件,根據(jù)調(diào)用功能函數(shù)命令中的功能函數(shù)標(biāo)識,在數(shù) 據(jù)庫中查找到對應(yīng)的功能函數(shù)的接口信息和功能函數(shù)的物理綁定信息。
優(yōu)選的,所述注冊模塊,將所提取的功能函數(shù)的接口信息轉(zhuǎn)化為可讀的 結(jié)構(gòu)化文檔格式,然后按照所述功能函數(shù)所在軟件的功能層次關(guān)系,在數(shù)據(jù) 庫中對應(yīng)的目錄分類位置處注冊所述功能函數(shù)的接口信息。
優(yōu)選的,所述查看訪問器中包括交互模塊和代碼生成模塊,其中,
交互模塊,用于接收用戶輸入的査詢功能函數(shù)的命令,并向用戶展現(xiàn)數(shù)
據(jù)庫中功能函數(shù)的接口信息;
代碼生成模塊,根據(jù)在交互模塊中査詢到的功能函數(shù)接口信息,生成創(chuàng) 建統(tǒng)一代理中間件對象代碼,根據(jù)功能函數(shù)接口信息中的參數(shù)信息,自動生 成功能函數(shù)的參數(shù)賦值代碼,以及自動生成通過統(tǒng)一代理中間件調(diào)用功能函 數(shù)的代碼和通過統(tǒng)一代理中間件獲取調(diào)用結(jié)果的代碼。
可見,在本發(fā)明中,由于能夠?qū)?yīng)用軟件中的功能函數(shù)的接口信息提取 出來,并統(tǒng)一注冊到數(shù)據(jù)庫中,統(tǒng)一發(fā)布,統(tǒng)一進(jìn)行功能函數(shù)接口信息的查 找和功能函數(shù)的調(diào)用,這樣,為用戶提供了一個統(tǒng)一的查看并調(diào)用功能函數(shù) 的方式,用戶無需關(guān)心針對每一個軟件應(yīng)用系統(tǒng)中調(diào)用功能函數(shù)的技術(shù)細(xì) 節(jié)??梢?,本發(fā)明可以通過通用方式調(diào)用功能函數(shù),大大簡化了業(yè)務(wù)的實現(xiàn)。


圖1A為本發(fā)明實施例提供的一種調(diào)用功能函數(shù)的流程圖; 圖1B為本發(fā)明實施例中功能函數(shù)A的接口信息的示意圖; 圖2為本發(fā)明實施例中按照功能層次關(guān)系對功能函數(shù)接口進(jìn)行目錄分類 的示意圖3為本發(fā)明一個實施例中利用代碼生成模塊自動生成功能函數(shù)調(diào)用程 序代碼的流程圖4為本發(fā)明實施例提供的裝置結(jié)構(gòu)圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體 實施例對本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明提出了一種調(diào)用功能函數(shù)的方法,該方法的核心思想是提取應(yīng) 用軟件中功能函數(shù)的接口信息;在數(shù)據(jù)庫中注冊所提取的功能函數(shù)的接口信 息;對外發(fā)布數(shù)據(jù)庫中功能函數(shù)的接口信息;接收用戶輸入的調(diào)用功能函數(shù) 的命令,在數(shù)據(jù)庫中查找到該功能函數(shù)的接口信息,利用該查找到的接口信 息調(diào)用該功能函數(shù)。
可見,在本發(fā)明中,由于能夠?qū)?yīng)用軟件中的功能函數(shù)的接口信息提取 出來,并統(tǒng)一注冊到數(shù)據(jù)庫中,統(tǒng)一發(fā)布,統(tǒng)一進(jìn)行功能函數(shù)接口信息的査 找和功能函數(shù)的調(diào)用,這樣,為用戶提供了一個統(tǒng)-一的查看并調(diào)用功能函數(shù) 的方式,用戶無需關(guān)心針對每一個軟件應(yīng)用系統(tǒng)中調(diào)用功能函數(shù)的技術(shù)細(xì) 節(jié)??梢?,本發(fā)明可以通過通用方式調(diào)用功能函數(shù),大大簡化了業(yè)務(wù)的實現(xiàn)。
圖1為本發(fā)明實施例提供的一種調(diào)用功能函數(shù)的流程圖。參見圖1,在 本發(fā)明的一個實施例中,調(diào)用功能函數(shù)的過程具體包括以下步驟
步驟101:提取應(yīng)用軟件中功能函數(shù)的接口信息。
本步驟提取功能函數(shù)接口信息的目的是為了后續(xù)能夠集中注冊和管理 這些分散的功能接口,以方便后續(xù)過程中外部用戶的調(diào)用。
本發(fā)明可以在多種業(yè)務(wù)場景下應(yīng)用,相應(yīng)地,針對不同的業(yè)務(wù)場景本步 驟提取的功能函數(shù)的接口也不同。
比如, 一種業(yè)務(wù)場景是根據(jù)使用應(yīng)用軟件的具體調(diào)用方系統(tǒng)的業(yè)務(wù)需 求,確定出需要使用的應(yīng)用軟件的功能函數(shù),這樣,在本步驟101中,則只 提取出需要使用的應(yīng)用軟件的功能函數(shù)的接口信息。比如,調(diào)用方系統(tǒng)為采 購系統(tǒng),后續(xù)則一定需要調(diào)用財務(wù)應(yīng)用軟件中的付賬功能函數(shù),那么,在本 步驟中,則提取付賬功能函數(shù)的接口信息。
再如,另一種業(yè)務(wù)場景是由于未來會朝向存在分層結(jié)構(gòu)應(yīng)用軟件的標(biāo)準(zhǔn)業(yè)務(wù)邏輯層方向發(fā)展,也就是說,應(yīng)用軟件的各部分功能分層實現(xiàn),當(dāng)然, 應(yīng)用軟件功能函數(shù)的接口則需要作為單獨(dú)一層,對外開放。針對此種業(yè)務(wù), 在本步驟101中,則是將所有應(yīng)用軟件中的所有功能函數(shù)的接口信息都分別 提取出來。
本步驟的具體實現(xiàn)過程可以包括
1011、 加載應(yīng)用軟件中的動態(tài)鏈接庫(Dynamic Link Library, DLL) 模塊文件,具體地是定位到DLL模塊文件所在磁盤的物理位置, 一般用文件 路徑表示,隨后讀取此DLL模塊文件。
1012、 解析DLL模塊文件中的類對象(Class) 。 DLL模塊文件中一般包 含有類型庫信息,通過解析類型庫信息,便可以獲取某個具體的類對象信息。 解析類對象信息是為了取得功能函數(shù)接口定義。
1013、 解析并提取類對象中的功能函數(shù)(Function)接口信息(元數(shù)據(jù))。 類對象中包含有其所實現(xiàn)的所有功能函數(shù),通過解析功能函數(shù)接口信息可以 取得功能函數(shù)的參數(shù)(Parameter)、參數(shù)名、參數(shù)類型(Type)、參數(shù)傳遞方 向(Direction)等信息,提取出這些參數(shù)信息作為功能函數(shù)的接口信息,這 樣,后續(xù)注冊公布后,外部在調(diào)用此功能函數(shù)的接口時便知道如何進(jìn)行參數(shù) 賦值。比如,參見圖1B,對于功能函數(shù)A,獲取及后續(xù)注冊的接口信息如圖 1B所示。
本發(fā)明的提取功能函數(shù)接口信息的功能不限于支持Windows平臺下COM
和.NET的組件DLL。
步驟102:在數(shù)據(jù)庫中注冊所提取的功能函數(shù)的接口信息。
較佳的,為了以標(biāo)準(zhǔn)和一致的方式進(jìn)行集中注冊,便于對接口信息進(jìn)行
統(tǒng)一管理和維護(hù),本步驟中,可以按照指定的內(nèi)部規(guī)范和功能組織結(jié)構(gòu)在數(shù)
據(jù)庫中注冊所提取的功能函數(shù)的接口信息。
其中,指定的內(nèi)部規(guī)范可以是采用可讀的結(jié)構(gòu)化的文本格式(比如 XML)來描述功能函數(shù)的接口信息,包括參數(shù)(Parameter)、參數(shù)類型(Type)、 參數(shù)傳遞方向(Direction)等信息。其中,指定的功能組織結(jié)構(gòu)可以是按照軟件的功能層次關(guān)系對功能函數(shù)接口進(jìn)行目錄分類。這樣,本步驟的具體 實現(xiàn)過程則可以包括將所提取的功能函數(shù)的接口信息轉(zhuǎn)化為可讀的結(jié)構(gòu)化 文檔格式,然后按照當(dāng)前功能函數(shù)所在軟件的功能層次關(guān)系,在數(shù)據(jù)庫中對 應(yīng)的目錄分類位置處寫入當(dāng)前的功能函數(shù)的接口信息。
比如,對于供應(yīng)系統(tǒng)與采購訂單提交,其中,采購訂單提交是供應(yīng)系統(tǒng) 中的一個功能函數(shù),其功能層次關(guān)系為父子關(guān)系,因此,最終在數(shù)據(jù)庫中注 冊時,其功能組織結(jié)構(gòu)為圖2所示的目錄分類。
步驟103:在數(shù)據(jù)庫中注冊功能函數(shù)的物理綁定信息。
在調(diào)用功能函數(shù)時,計算機(jī)操作系統(tǒng)需要知道功能函數(shù)的地址以及調(diào)用 方式等信息,這些信息被稱為物理綁定信息,比如Windows平臺下COM 組件的服務(wù)器名、程序ID信息,Windows平臺下.Net組件的DLL文件路徑、 類名(Class)等。
在本發(fā)明中,為了在后續(xù)過程中,能夠?qū)φ{(diào)用方(外部)屏蔽功能函數(shù) 的技術(shù)細(xì)節(jié),即物理綁定信息僅由內(nèi)部使用,外部調(diào)用方在不用關(guān)心此信息, 不用知道功能函數(shù)的DLL模塊文件的物理部署位置,也不用知道此功能函數(shù) 是基于COM還是基于.Net平臺的,也不用關(guān)心實現(xiàn)此功能函數(shù)的類對象 (Class)的情況下,就能夠?qū)δ芎瘮?shù)進(jìn)行調(diào)用,在本步驟中,將功能函 數(shù)的物理綁定信息也注冊到數(shù)據(jù)庫中。這種處理方式降低耦合性,減少了外 部系統(tǒng)對內(nèi)部接口的技術(shù)依賴程度,同時使得軟件內(nèi)部功能函數(shù)的變化不會 影響到外部使用者的調(diào)用,從而體現(xiàn)了面向服務(wù)(S0A)的技術(shù)思想。
步驟104:為功能函數(shù)分配功能函數(shù)標(biāo)識,并設(shè)置所注冊的功能函數(shù)接口 信息以及物理綁定信息與該功能函數(shù)標(biāo)識的對應(yīng)關(guān)系。
為了區(qū)分不同功能函數(shù)的信息的注冊,在本步驟,為每一個函數(shù)分配一 個唯一的功能函數(shù)標(biāo)識。本步驟的處理是為了在后續(xù)過程中,外部調(diào)用方能 夠方便地通過功能函數(shù)標(biāo)識查詢到功能函數(shù)接口信息,從而直接調(diào)用一個功 能函數(shù)。
步驟105:對外發(fā)布數(shù)據(jù)庫中的功能函數(shù)的接口信息及對應(yīng)的功能函數(shù)標(biāo)識。
如果要調(diào)用一個功能函數(shù),則外部調(diào)用方必須了解功能函數(shù)的參數(shù)信 息,以便對參數(shù)進(jìn)行賦值,因此,需要對外發(fā)布功能函數(shù)的接口信息。
在實際的業(yè)務(wù)實現(xiàn)中,如果將所有功能函數(shù)的接口信息都直接對外顯示 發(fā)布,則會造成信息量太大,調(diào)用方無法方便的査找到需要調(diào)用的功能函數(shù)。 因此,在本發(fā)明的一個較佳實施例中,為了解決該問題,則可以首先不直接 對外發(fā)布功能函數(shù)的接口信息,而是對外發(fā)布各個功能函數(shù)標(biāo)識,通過功能 函數(shù)標(biāo)識向調(diào)用方用戶直觀地顯示各個功能函數(shù)的信息,如果用戶對某一個 功能函數(shù)感興趣,需要了解其注冊信息,則可以點擊對應(yīng)的功能函數(shù)標(biāo)識, 這樣,當(dāng)檢測到用戶選中一個功能函數(shù)標(biāo)識時,再對外發(fā)布該選中的功能函 數(shù)標(biāo)識對應(yīng)的功能函數(shù)的接口信息。
需要說明的是,如果在步驟102中,按照目錄分類的方式注冊了各個功 能函數(shù)的接口信息,那么在本步驟中,當(dāng)發(fā)布各個功能函數(shù)的接口信息時, 也是按照目錄分類的方式發(fā)布各個功能函數(shù)的接口信息,從而便于調(diào)用方用 戶區(qū)分各個功能函數(shù)之間的層次關(guān)系。
步驟106:當(dāng)用戶需要調(diào)用一個功能函數(shù)(為便于描述以下記為功能函 數(shù)l)時,輸入調(diào)用功能函數(shù)1的命令,具體的,可以是觸發(fā)該功能函數(shù)l 的功能函數(shù)標(biāo)識1,并根據(jù)發(fā)布的功能函數(shù)1的接口信息進(jìn)行參數(shù)賦值。
在本發(fā)明的一個較佳實施例中,可以由預(yù)先設(shè)置的查看訪問器來統(tǒng)一執(zhí) 行步驟105中的發(fā)布處理,用戶通過該査看訪問器來査看已注冊的各個功
能函數(shù)的接口信息及標(biāo)識。這樣,在本步驟106中,用戶可以根據(jù)査看訪問
器顯示的功能函數(shù)接口信息進(jìn)行參數(shù)賦值。
步驟107:在數(shù)據(jù)庫中査找被觸發(fā)功能函數(shù)標(biāo)識1對應(yīng)的功能函數(shù)接口
信息和物理綁定信息。
步驟108:根據(jù)査找到的功能函數(shù)接口信息對用戶輸入的參數(shù)賦值進(jìn)行 合法性檢查。
這里,合法性檢査的內(nèi)容包括但不限于參數(shù)類型、參數(shù)的取值范圍等。步驟109:在合法性檢查通過后,根據(jù)査找到的物理綁定信息加載功能 函數(shù)1所在的DLL模塊文件。
步驟110:創(chuàng)建函數(shù)的類對象,構(gòu)建物理參數(shù)列表,調(diào)用功能函數(shù)l并 返回調(diào)用結(jié)果。
需要說明的是,在本發(fā)明中可以預(yù)先設(shè)置統(tǒng)一代理中間件(Broker), 提供統(tǒng)一的通用入口來代理用戶對所有功能函數(shù)的調(diào)用,這樣,外部要訪問 軟件對外公布的功能函數(shù)時,不需直接與軟件的內(nèi)部函數(shù)本身打交道,不用 了解函數(shù)的具體調(diào)用技術(shù)細(xì)節(jié),只需要通過一個統(tǒng)一的通用入口即統(tǒng)一代理 中間件進(jìn)行訪問即可,從而簡化了業(yè)務(wù)的實現(xiàn)。這樣,在利用統(tǒng)一代理中間 件時,步驟107至步驟110中是由統(tǒng)一代理中間件執(zhí)行各種處理。
雖然用戶利用統(tǒng)一代理中間件調(diào)用功能函數(shù)時,不需要直接與軟件的內(nèi) 部函數(shù)本身打交道,不用了解函數(shù)的具體調(diào)用技術(shù)細(xì)節(jié),但是,用戶還需要 編寫代碼觸發(fā)統(tǒng)一代理中間件執(zhí)行調(diào)用。在本發(fā)明的一個較佳實施例中,為 了進(jìn)一步簡化用戶的處理,使得用戶無需編寫代碼,上述査看訪問器中可以 進(jìn)一步包括代碼生成模塊,具有自動生成代碼的功能,由于函數(shù)的接口注冊 信息描述了函數(shù)的接口模型,而統(tǒng)一代理中間件(Broker)提供了統(tǒng)一的函 數(shù)訪問入口和途徑,基于這兩類信息,代碼生成模塊能夠自動生成函數(shù)調(diào)用 代碼(Code)。自動代碼免除了手工編碼,減少了出錯率,提高易用性。
圖3為本發(fā)明一個實施例中利用代碼生成模塊自動生成功能函數(shù)調(diào)用程 序代碼的流程圖。參見圖3,該流程具體包括以下步驟
步驟301:代碼生成模塊生成創(chuàng)建統(tǒng)一代理中間件對象代碼。
步驟302:代碼生成模塊根據(jù)功能函數(shù)標(biāo)識1對應(yīng)的功能函數(shù)接口信息 中的參數(shù)信息,自動生成功能函數(shù)l的參數(shù)賦值代碼,該代碼的作用是使得 用戶后續(xù)能夠進(jìn)行參數(shù)賦值。
步驟303:代碼生成模塊生成通過統(tǒng)一代理中間件調(diào)用功能函數(shù)1的代碼。
在本步驟生成的代碼中,包括了調(diào)用函數(shù)的Invoke方法和參數(shù)傳遞代碼。
步驟304:代碼生成模塊生成通過統(tǒng)一代理中間件獲取調(diào)用結(jié)果的代碼。 上述自動生成代碼的過程代替了用戶大部分手工編碼,用戶唯一需要手 工完成的是函數(shù)參數(shù)的實際賦值。在上述圖3所示流程執(zhí)行完后,就可以真
正的執(zhí)行一次調(diào)用功能函數(shù)的過程,即首先執(zhí)行上述圖1中的步驟106,之
后,用戶將上述代碼編譯,并運(yùn)行,然后就可以由統(tǒng)一代理中間件執(zhí)行上述
步驟107至步驟110的過程。
比如,代碼生成模塊生產(chǎn)的代碼可以為如下形式:
Broker theBkr 二 畫 Broker("功能函數(shù)ID,,, …) theBkr . SetPaxameterValues(…) theBkr . Invoke ()
本發(fā)明還提出了一種調(diào)用功能函數(shù)的裝置。參加圖4,該裝置包括提 取模塊、注冊模塊、數(shù)據(jù)庫、査看訪問器和統(tǒng)一代理中間件,其中, 提取模塊,用于提取應(yīng)用軟件中功能函數(shù)的接口信息; 注冊模塊,用于在數(shù)據(jù)庫中注冊所述提取模塊提取的功能函數(shù)的接口信自.
查看訪問器,用于接收用戶的査詢,并向用戶展現(xiàn)數(shù)據(jù)庫中功能函數(shù)的 接口信息;
統(tǒng)一代理中間件,用于根據(jù)用戶傳入的調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫 中査找到對應(yīng)的功能函數(shù)的接口信息,利用該査找到的接口信息調(diào)用功能函 數(shù)。
具體實現(xiàn)時,所述注冊模塊,進(jìn)一步將所述功能函數(shù)的物理綁定信息注 冊到所述數(shù)據(jù)庫中;
所述統(tǒng)一代理中間件,進(jìn)一步根據(jù)所述調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫 中查找到對應(yīng)的功能函數(shù)的接口信息,根據(jù)査找到的功能函數(shù)的接口信息對 用戶輸入的參數(shù)賦值進(jìn)行合法性檢査,在合法性檢查通過后,根據(jù)查找到的 物理綁定信息調(diào)用所述功能函數(shù)。具體實現(xiàn)時,所述注冊模塊,進(jìn)一步為注冊的功能函數(shù)的接口信息和物 理綁定信息分配對應(yīng)的功能函數(shù)標(biāo)識;
所述査看訪問服務(wù)器,用于對外發(fā)布各個功能函數(shù)標(biāo)識,當(dāng)檢測到用戶 選中一個功能函數(shù)標(biāo)識時,對外發(fā)布數(shù)據(jù)庫中該選中的功能函數(shù)標(biāo)識對應(yīng)的
功能函數(shù)的接口信息;
所述統(tǒng)一代理中間件,根據(jù)調(diào)用功能函數(shù)命令中的功能函數(shù)標(biāo)識,在數(shù) 據(jù)庫中査找到對應(yīng)的功能函數(shù)的接口信息和功能函數(shù)的物理綁定信息。
較佳的,為了以標(biāo)準(zhǔn)和一致的方式進(jìn)行集中注冊,便于對接口信息進(jìn)行 統(tǒng)一管理和維護(hù),所述注冊模塊,將所提取的功能函數(shù)的接口信息轉(zhuǎn)化為可 讀的結(jié)構(gòu)化文檔格式,然后按照所述功能函數(shù)所在軟件的功能層次關(guān)系,在 數(shù)據(jù)庫中對應(yīng)的目錄分類位置處注冊所述功能函數(shù)的接口信息。
為了進(jìn)一步簡化用戶的處理,使得用戶無需編寫代碼,所述査看訪問器 可以具有自動生成代碼的功能,具體的實現(xiàn)包括在査看訪問器中包括交互
模塊和代碼生成模塊,其中,
交互模塊,用于接收用戶輸入的査詢功能函數(shù)的命令,并向用戶展現(xiàn)數(shù)
據(jù)庫中功能函數(shù)的接口信息;
代碼生成模塊,根據(jù)在交互模塊中査詢到的功能函數(shù)接口信息,生成創(chuàng) 建統(tǒng)一代理中間件對象代碼,根據(jù)功能函數(shù)接口信息中的參數(shù)信息,自動生 成功能函數(shù)的參數(shù)賦值代碼,以及自動生成通過統(tǒng)一代理中間件調(diào)用功能函 數(shù)的代碼和通過統(tǒng)一代理中間件獲取調(diào)用結(jié)果的代碼,用戶將這些自動生成 的代碼編譯后,便可以在運(yùn)行時直接使用函數(shù)功能。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在 本發(fā)明保護(hù)的范圍之內(nèi)。
1權(quán)利要求
1、一種調(diào)用功能函數(shù)的方法,其特征在于,該方法包括提取應(yīng)用軟件中功能函數(shù)的接口信息;在數(shù)據(jù)庫中注冊所提取的功能函數(shù)的接口信息;對外發(fā)布數(shù)據(jù)庫中功能函數(shù)的接口信息;接收用戶輸入的調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫中查找到對應(yīng)的功能函數(shù)的接口信息,利用該查找到的接口信息調(diào)用該功能函數(shù)。
2、 根據(jù)權(quán)利要求l所述的方法,其特征在于,該方法進(jìn)一步包括將所 述功能函數(shù)的物理綁定信息注冊到所述數(shù)據(jù)庫中;在所述數(shù)據(jù)庫中査找到該功能函數(shù)的接口信息時,進(jìn)一步包括査找到 該功能函數(shù)的物理綁定信息;所述利用査找到的功能函數(shù)的接口信息調(diào)用功能函數(shù)的步驟包括根據(jù) 查找到的功能函數(shù)的接口信息對用戶輸入的參數(shù)賦值進(jìn)行合法性檢查,在合 法性檢查通過后,根據(jù)查找到的物理綁定信息調(diào)用所述功能函數(shù)。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進(jìn)一步包括為注冊的功能函數(shù)的接口信息和物理綁定信息分配對應(yīng)的功能函數(shù)標(biāo)識;所述對外發(fā)布數(shù)據(jù)庫中功能函數(shù)的接口信息的步驟包括對外發(fā)布各個 功能函數(shù)標(biāo)識,當(dāng)用戶選中一個功能函數(shù)標(biāo)識時,對外發(fā)布數(shù)據(jù)庫中該選中的功能函數(shù)標(biāo)識對應(yīng)的功能函數(shù)的接口信息;所述用戶輸入的調(diào)用功能函數(shù)的命令中包括功能函數(shù)標(biāo)識,則根據(jù)該功 能函數(shù)標(biāo)識在數(shù)據(jù)庫中查找到對應(yīng)的功能函數(shù)的接口信息和功能函數(shù)的物 理綁定信息。
4、 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述在數(shù)據(jù)庫中注冊所提取的功能函數(shù)的接口信息的步驟包括將所提取的功能函數(shù)的接口信息轉(zhuǎn)化為可讀的結(jié)構(gòu)化文檔格式,然后按照所述功能函數(shù)所在軟件的功能層次關(guān) 系,在數(shù)據(jù)庫中對應(yīng)的目錄分類位置處寫入所述功能函數(shù)的接口信息。
5、 根據(jù)權(quán)利要求1至4中任意一項所述的方法,其特征在于,所述提取 應(yīng)用軟件中功能函數(shù)的接口信息為根據(jù)使用應(yīng)用軟件的具體調(diào)用方系統(tǒng)的業(yè)務(wù)需求,確定出需要使用的應(yīng) 用軟件的功能函數(shù),提取出需要使用的應(yīng)用軟件的功能函數(shù)接口信息; 或者,將所有應(yīng)用軟件中所有功能函數(shù)的接口信息都分別提取出來。
6、 根據(jù)權(quán)利要求1至4中任意一項所述的方法,其特征在于,所述提取應(yīng)用軟件中功能函數(shù)的接口信息的步驟具體包括加載應(yīng)用軟件中的動態(tài)鏈接庫DLL模塊文件;通過解析DLL模塊文件中 的類型庫信息,獲取類對象;解析并提取類對象中的功能函數(shù)接口信息。
7、 一種調(diào)用功能函數(shù)的裝置,其特征在于,該裝置包括提取模塊、注 冊模塊、數(shù)據(jù)庫、査看訪問器和統(tǒng)一代理中間件,其屮,提取模塊,用于提取應(yīng)用軟件中功能函數(shù)的接口信息;注冊模塊,用于在數(shù)據(jù)庫中注冊所述提取模塊提取的功能函數(shù)的接口信自.査看訪問器,用于接收用戶的査詢,并向用戶展現(xiàn)數(shù)據(jù)庫中功能函數(shù)的接口信息;統(tǒng)一代理中間件,用于根據(jù)用戶傳入的調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫 中査找到對應(yīng)的功能函數(shù)的接口信息,利用該査找到的接口信息調(diào)用功能函數(shù)。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述注冊模塊,進(jìn)一步將 所述功能函數(shù)的物理綁定信息注冊到所述數(shù)據(jù)庫中;所述統(tǒng)一代理中間件,進(jìn)一步根據(jù)所述調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫 中查找到對應(yīng)的功能函數(shù)的接口信息,根據(jù)査找到的功能函數(shù)的接口信息對 用戶輸入的參數(shù)賦值進(jìn)行合法性檢查,在合法性檢查通過后,根據(jù)查找到的 物理綁定信息調(diào)用所述功能函數(shù)。
9、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述注冊模塊,進(jìn)一步為注冊的功能函數(shù)的接口信息和物理綁定信息分配對應(yīng)的功能函數(shù)標(biāo)識; 所述查看訪問服務(wù)器,用于對外發(fā)布各個功能函數(shù)標(biāo)識,當(dāng)檢測到用戶 選中一個功能函數(shù)標(biāo)識時,對外發(fā)布數(shù)據(jù)庫中該選中的功能函數(shù)標(biāo)識對應(yīng)的功能函數(shù)的接口信息;所述統(tǒng)一代理中間件,根據(jù)調(diào)用功能函數(shù)命令中的功能函數(shù)標(biāo)識,在數(shù) 據(jù)庫中査找到對應(yīng)的功能函數(shù)的接口信息和功能函數(shù)的物理綁定信息。
10、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述注冊模塊,將所提 取的功能函數(shù)的接口信息轉(zhuǎn)化為可讀的結(jié)構(gòu)化文檔格式,然后按照所述功能 函數(shù)所在軟件的功能層次關(guān)系,在數(shù)據(jù)庫中對應(yīng)的目錄分類位置處注冊所述 功能函數(shù)的接口信息。
11、 根據(jù)權(quán)利要求7至10中任意一項所述的裝置,其特征在于,所述查看訪問器中包括交互模塊和代碼生成模塊,其中,交互模塊,用于接收用戶輸入的查詢功能函數(shù)的命令,并向用戶展現(xiàn)數(shù) 據(jù)庫中功能函數(shù)的接口信息;代碼生成模塊,根據(jù)在交互模塊中査詢到的功能函數(shù)接口信息,生成創(chuàng) 建統(tǒng)一代理中間件對象代碼,根據(jù)功能函數(shù)接口信息中的參數(shù)信息,自動生 成功能函數(shù)的參數(shù)賦值代碼,以及自動生成通過統(tǒng)一代理中間件調(diào)用功能函 數(shù)的代碼和通過統(tǒng)一代理中間件獲取調(diào)用結(jié)果的代碼。
全文摘要
本發(fā)明公開了一種調(diào)用功能函數(shù)的方法和裝置。該方法包括提取應(yīng)用軟件中功能函數(shù)的接口信息;在數(shù)據(jù)庫中注冊所提取的功能函數(shù)的接口信息;對外發(fā)布數(shù)據(jù)庫中功能函數(shù)的接口信息;接收用戶輸入的調(diào)用功能函數(shù)的命令,在數(shù)據(jù)庫中查找到對應(yīng)的功能函數(shù)的接口信息,利用該查找到的接口信息調(diào)用該功能函數(shù)。本發(fā)明能夠以通用方式調(diào)用功能函數(shù)。
文檔編號G06F9/44GK101620536SQ200910091240
公開日2010年1月6日 申請日期2009年8月17日 優(yōu)先權(quán)日2009年8月17日
發(fā)明者靜 李 申請人:用友軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
吉安县| 海安县| 灵宝市| 兴宁市| 泸西县| 广德县| 桃园县| 衢州市| 海阳市| 泰安市| 阜阳市| 寿阳县| 大同县| 北流市| 康平县| 正定县| 拉萨市| 钦州市| 银川市| 慈溪市| 丰宁| 钟山县| 南充市| 乌鲁木齐市| 泌阳县| 兰坪| 桂林市| 阿勒泰市| 巧家县| 临沂市| 广宗县| 文成县| 丰台区| 吉木乃县| 道真| 霍城县| 咸宁市| 惠州市| 宕昌县| 邓州市| 西盟|