專利名稱:java 系統(tǒng)應(yīng)用程序編程接口調(diào)用方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請涉及計(jì)算機(jī)數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法及系統(tǒng)。
背景技術(shù):
java語言作為一種較為成熟的編程語言,被廣泛應(yīng)用到各種程序的編程中。一般來說,java語言實(shí)現(xiàn)的服務(wù)端通過提供API (ApplicationProgramming Interface,應(yīng)用程序編程接口),并在API中定義實(shí)現(xiàn)java類的方法,在服務(wù)端該方法的實(shí)例。為了方便查找,一般會將API及方法實(shí)例等java文件打包成java包,當(dāng)客戶端需要調(diào)用API時(shí),需要首先引入該API對應(yīng)的jar包到本地系統(tǒng)中,然后再構(gòu)造API實(shí)例來實(shí)現(xiàn)調(diào)用。當(dāng)需要在API中新增一個(gè)方法時(shí),需要修改或者增加對應(yīng)的java類,在java類中定義實(shí)現(xiàn)該新增方法的方法實(shí)例及相關(guān)的參數(shù),接著編譯java類文件并重新打包成jar包,以供調(diào)用者調(diào)用。在此種方法中,每次新增方法時(shí),就需要對應(yīng)的修改或增加現(xiàn)有的java類,使用較不方便,且會增加改動的工作量和成本,擴(kuò)展性能被限制。另外,在每次更新后,調(diào)用者需要首先引入更新后的jar包到本地后,再次構(gòu)造接口實(shí)例后才能重新使用,過程繁瑣、費(fèi)時(shí)。
發(fā)明內(nèi)容
本申請?zhí)峁?一種java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法及系統(tǒng),以解決數(shù)據(jù)更新而增加改動工作量和成本的問題。為了解決上述問題,本申請公開了一種java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,包括以下步驟:接收客戶端發(fā)送的對通用應(yīng)用程序編程接口的調(diào)用請求,所述調(diào)用請求的輸入?yún)?shù)為類SQL字符串;對所述類SQL字符串進(jìn)行SQL解析,獲取其中所包含的數(shù)據(jù)對象,所述數(shù)據(jù)對象包括實(shí)際應(yīng)用程序編程接口名稱和查詢條件;根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱查詢與該實(shí)際應(yīng)用程序編程接口名稱對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù);根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例,并基于所述解析得到的查詢條件調(diào)用所述應(yīng)用程序編程接口實(shí)例中的方法獲取返回值;將所述返回值返回給客戶端。進(jìn)一步地,所述輸入?yún)?shù)包括實(shí)際應(yīng)用程序接口名稱和查詢條件。進(jìn)一步地,所述輸入?yún)?shù)還包括需要返回的數(shù)據(jù)對象屬性。進(jìn)一步地,在根據(jù)所述數(shù)據(jù)對象查詢與該數(shù)據(jù)對象對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù)之前還包括:掃描java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,獲取接口名稱和參數(shù);
存儲所述掃描獲取的接口名稱和參數(shù)。進(jìn)一步地,所述掃描java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,獲取接口名稱和參數(shù)包括:在java服務(wù)器端啟動時(shí)掃描;或在java服務(wù)器端啟動后接收到第一次調(diào)用請求時(shí)掃描。進(jìn)一步地,所述將所述返回值并返回給客戶端包括:將所述返回值二次封裝成符合客戶端要求的數(shù)據(jù)結(jié)構(gòu)后返回給客戶端。為了解決上述問題,本申請還公開了一種java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng),包括java服務(wù)器端和解析裝置;解析裝置,用于對所述類SQL字符串進(jìn)行SQL解析,獲取其中所包含的實(shí)際應(yīng)用程序編程接口名稱和查詢條件,并將接口名稱和查詢條件傳給java服務(wù)器端;所述java服務(wù)器端包括:接收模塊,用于接收客戶端發(fā)送的對通用應(yīng)用程序編程接口的調(diào)用請求,所述調(diào)用請求的輸入?yún)?shù)為類SQL字符串,并將類SQL字符串傳送給解析裝置;查詢模塊,用于根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱查詢與該實(shí)際應(yīng)用程序編程接口名稱對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù);應(yīng)用程序編程接口實(shí)例生成模塊,用于根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例,并基于所述解析得到的查詢條件調(diào)用所述應(yīng)用程序編程接口實(shí)例中的方法獲取返回值;和數(shù)據(jù)返回模塊,用于將所述返回值返回給客戶端。進(jìn)一步地,所述java服務(wù)器端還包括:掃描模塊,用于掃描java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,獲取接口名稱和參數(shù);和存儲模塊,用于存儲所述掃描獲取的接口名稱和參數(shù)。進(jìn)一步地,所述java服務(wù)器端還包括:掃描觸發(fā)模塊,用于在java服務(wù)器端啟動時(shí)觸發(fā)掃描模塊掃描或在java服務(wù)器端啟動后接收到第一次調(diào)用請求時(shí)觸發(fā)掃描模塊掃描。進(jìn)一步地,所述java服務(wù)器端還包括:封裝模塊,用于將返回值二次封裝成符合客戶端要求的數(shù)據(jù)結(jié)構(gòu)后返回給客戶端。與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點(diǎn):本申請中,通過在java服務(wù)器端和客戶端之間建立解析裝置,并在java服務(wù)器端設(shè)定一個(gè)通用應(yīng)用程序編程接口,當(dāng)客戶端需要調(diào)用java服務(wù)器端任意一個(gè)實(shí)際存在的應(yīng)用程序編程接口時(shí),可以通過該通用應(yīng)用程序編程接口和解析裝置便能實(shí)現(xiàn)調(diào)用。因此,客戶端在進(jìn)行接口調(diào)用時(shí)只需要引入該通用應(yīng)用程序編程接口對應(yīng)的jar包,無需引入其他實(shí)際存在的應(yīng)用程序編程接口對應(yīng)的jar包,即使當(dāng)java服務(wù)端修改或者新增應(yīng)用程序編程接口后并對應(yīng)更新jar包,客戶端也無需重新引入更新后的jar包,從而簡化了客戶端操作流程和時(shí)間。另外,因?yàn)閖ava服務(wù)器端通過動態(tài)掃描的方式獲取實(shí)際存在的應(yīng)用程序編程接口和接口參數(shù),當(dāng)應(yīng)用程序編程接口相關(guān)數(shù)據(jù)有更新或者修改時(shí),java服務(wù)器端可以通過動態(tài)掃描及時(shí)獲取到更新數(shù)據(jù)并存入內(nèi)存中,當(dāng)客戶端需要調(diào)用新的應(yīng)用程序編程接口時(shí),只需要根據(jù)需要輸入不同的參數(shù)即可,不需要再次將修改后的.jar包更新引入到本地,簡單高效,降低了改動的工作量和成本。進(jìn)一步地,通過類SQL字符串的方式還可以控制客戶端輸入?yún)?shù)的形式,限制按照其標(biāo)準(zhǔn)的類SQL的方式查詢調(diào)用java服務(wù)器端所提供的應(yīng)用程序編程接口,從而使調(diào)用標(biāo)準(zhǔn)得到了統(tǒng)一,減少系統(tǒng)數(shù)據(jù)處理的時(shí)間和工作量。當(dāng)然,實(shí)施本申請的任一產(chǎn)品不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
圖1是本申請的java系統(tǒng)應(yīng)用程序編程接口調(diào)用實(shí)現(xiàn)的系統(tǒng)架構(gòu)圖;圖2是本申請的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法實(shí)施例一的流程圖;圖3是本申請的java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng)實(shí)施例一的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本申請的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本申請作進(jìn)一步詳細(xì)的說明。參照圖1,其示出實(shí)現(xiàn)本申請的Java系統(tǒng)應(yīng)用程序編程接口調(diào)用的系統(tǒng)架構(gòu)圖,本申請通過在java服務(wù)器端和客戶端之間建立一個(gè)解析裝置,并在java服務(wù)器端中設(shè)定一個(gè)通用應(yīng)用程序編程接口,客戶端可以將其實(shí)際需要調(diào)用的應(yīng)用程序編程接口和查詢條件,按照通用應(yīng)用程序編程接口的定義,輸入類SQL字符串作為輸出參數(shù),并向通用應(yīng)用程序編程接口發(fā)起調(diào)用請求,然后通過解析裝置對類SQL字符串進(jìn)行解析后,獲取其實(shí)際需要調(diào)用的應(yīng)用程序編程接口名稱,并傳輸給java服務(wù)器端,java服務(wù)器端根據(jù)解析裝置解析得到的數(shù)據(jù),查詢其中預(yù)先存儲的實(shí)際需要調(diào)用的應(yīng)用程序編程接口數(shù)據(jù)(如接口名稱、參數(shù)等等),從而構(gòu)造應(yīng)用程序編程接口實(shí)例,并實(shí)現(xiàn)對該實(shí)際應(yīng)用程序接口方法的調(diào)用并獲取到返回值,然后返回給客戶端。參照圖2,其示出本申請的一種Java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法實(shí)施例一,包括以下步驟:步驟101,接收客戶端發(fā)送的對通用應(yīng)用程序編程接口的調(diào)用請求,所述調(diào)用請求的輸入?yún)?shù)為類SQL字符串。通用應(yīng)用程序編程接口為預(yù)先設(shè)置在java服務(wù)器端,其輸入?yún)?shù)為類SQL (Structured Query Language,結(jié)構(gòu)化查詢語言)字符串,返回參數(shù)可以設(shè)定為預(yù)定格式的字符串,一般來說,為通用的開發(fā)語言,例如,XML或者json結(jié)構(gòu)的字符串。該通用應(yīng)用程序編程接口包含在一個(gè)通用的jar包中,在客戶端進(jìn)行調(diào)用之前,首先需要引入該通用的jar包到其系統(tǒng)中,然后再進(jìn)行調(diào)用。其中,通用應(yīng)用程序編程接口定義了輸入?yún)?shù)的固定格式,當(dāng)客戶端發(fā)送調(diào)用請求時(shí),其輸入?yún)?shù)格式需要滿足通用應(yīng)用程序編程接口的規(guī)定。為了實(shí)現(xiàn)對具體實(shí)際應(yīng)用程序編程接口的調(diào)用,輸入?yún)?shù)至少需要包括實(shí)際應(yīng)用程序編程接口名稱和查詢條件,以便java服務(wù)器端能夠在解析該輸入?yún)?shù)后獲取其目標(biāo)實(shí)際應(yīng)用程序編程接口,具體的格式可以根據(jù)需要來規(guī)定。例如,本申請中類SQL字符串可以為“select*fromtaoba0.user,get where nick = alipublic29”。其中,taoba0.user, get 代表實(shí)際應(yīng)用程序編程接口,nick = alipublic29表示查詢條件,這段SQL的意思就是調(diào)用taoba0.user, get這個(gè)實(shí)際應(yīng)用程序編程接口查詢nick為alipublic29的用戶信息。步驟102,對所述類SQL字符串進(jìn)行SQL解析,獲取其中所包含的數(shù)據(jù)對象,所述數(shù)據(jù)對象包括實(shí)際應(yīng)用程序編程接口名稱和查詢條件。因?yàn)檩斎氲念怱QL字符串是按照預(yù)訂格式來輸入的,所以解析的時(shí)候按照格式便可以獲取到對應(yīng)位置的信息。仍以前述類SQL字符串為例,from之后的字符串即為數(shù)據(jù)對象,分別包括實(shí)際應(yīng)用程序編程接口名稱“taoba0.user, get”和查詢條件“nick =alipublic29,,。優(yōu)選地,還可以預(yù)先定義需要返回的數(shù)據(jù)對象屬性,在對類SQL字符串進(jìn)行解析時(shí)還包括獲取數(shù)據(jù)對象屬性。當(dāng)java服務(wù)器端獲取到返回值后,根據(jù)獲取到的輸入?yún)?shù)中所包含的需要返回的數(shù)據(jù)對象屬性對返回值進(jìn)行二次封裝,從而使返回值的屬性符合客戶端要求。例如,在前述類SQL字符串中,select之后的字符解析為需要返回的數(shù)據(jù)對象屬性??梢岳斫?,類SQL字符串也可以用update來替換select,相應(yīng)的,update之后的字符解析為需要返回的數(shù)據(jù)對象屬性。步驟103,根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱查詢與該實(shí)際應(yīng)用程序編程接口名稱對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù)。實(shí)際應(yīng)用程序編程接口為java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,具體可根據(jù)java服務(wù)器端對應(yīng)的業(yè)務(wù)來決定。例如對于購物平臺來說,可以是交易接口、商品接口等等。接口參數(shù)包括輸入?yún)?shù)、輸出參數(shù)、調(diào)用方式等等。java服務(wù)器端在啟動時(shí),會預(yù)先掃描服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,并獲取各接口名稱和參數(shù),然后存儲在單例靜態(tài)實(shí)例中,如內(nèi)存中,以供后續(xù)使用??梢岳斫?,服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口及各接口參數(shù)的存儲并不局限于在啟動時(shí)掃描獲取,也可以在服務(wù)器端在啟動后接收到第一次調(diào)用請求時(shí)掃描獲取。其中,實(shí)際應(yīng)用程序編程接口和接口參數(shù)可以以key-value的形式進(jìn)行存儲,即實(shí)際應(yīng)用程序編程接口名稱為key,其接口參數(shù)為value,當(dāng)對客戶端通過通用應(yīng)用程序編程接口的輸入?yún)?shù)進(jìn)行解析后,可以獲取到其目標(biāo)實(shí)際應(yīng)用程序編程接口名稱,然后作為查詢關(guān)鍵詞(key)在預(yù)存數(shù)據(jù)中查詢能夠匹配的實(shí)際應(yīng)用程序編程接口,并進(jìn)一步地獲取該實(shí)際應(yīng)用程序編程接口的接口參數(shù)。步驟104,根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例,并基于所述解析得到的查詢條件調(diào)用所述應(yīng)用程序編程接口實(shí)例中的方法獲取返回值。Java服務(wù)器端在獲取到實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例過程為:通過調(diào)用java中基礎(chǔ)的Class類中的newlnstance方法或者調(diào)用java中基礎(chǔ)的Constructor類中newlnstance方法來構(gòu)造該應(yīng)用程序編程接口實(shí)例,并基于查詢條件調(diào)用該應(yīng)用程序編程接口實(shí)例中的方法。步驟105,將所述返回值返回給客戶端。其中,獲取返回值后,根據(jù)輸入?yún)?shù)中是否包含有需要返回的數(shù)據(jù)對象屬性來確定是否對返回值進(jìn)行二次封裝,若不包含,例如一些簡單的數(shù)據(jù)格式,則可以直接將返回值返回給客戶端,若包含,則對返回值進(jìn)行二次封裝,使二次封裝后的返回值符合客戶端需要的數(shù)據(jù)結(jié)構(gòu),然后再將二次封裝后的返回值返回給客戶端。例如,以前述類SQL字符串為例,二次封裝后的返回值需要為XML或者json格式的數(shù)據(jù),從而滿足通用應(yīng)用程序編程接口所定義的返回參數(shù)格式。本申請中,通過在java服務(wù)器端和客戶端之間建立解析裝置,并在java服務(wù)器端設(shè)定一個(gè)通用應(yīng)用程序編程接口,當(dāng)客戶端需要調(diào)用java服務(wù)器端任意一個(gè)實(shí)際存在的應(yīng)用程序編程接口時(shí),可以通過該通用應(yīng)用程序編程接口和解析裝置便能實(shí)現(xiàn)調(diào)用。因此,客戶端在進(jìn)行接口調(diào)用時(shí)只需要引入該通用應(yīng)用程序編程接口對應(yīng)的jar包,無需引入其他實(shí)際存在的應(yīng)用程序編程接口對應(yīng)的jar包,即時(shí)當(dāng)java服務(wù)端修改或者新增應(yīng)用程序編程接口后并對應(yīng)更新jar包,客戶端也無需重新引入更新后的jar包,從而簡化了客戶端操作流程和時(shí)間。另外,因?yàn)閖ava服務(wù)器端通過動態(tài)掃描的方式獲取實(shí)際存在的應(yīng)用程序編程接口和接口參數(shù),當(dāng)應(yīng)用程序編程接口相關(guān)數(shù)據(jù)有更新或者修改時(shí),java服務(wù)器端可以通過動態(tài)掃描及時(shí)獲取到更新數(shù)據(jù)并存入內(nèi)存中,當(dāng)客戶端需要調(diào)用新的應(yīng)用程序編程接口時(shí),只需要根據(jù)需要輸入不同的參數(shù)即可,不需要再次將修改后的jar包更新引入到本地,簡單高效,降低了改動的工作量和成本。進(jìn)一步地,通過類SQL字符串的方式還可以控制客戶端輸入?yún)?shù)的形式,限制按照其標(biāo)準(zhǔn)的類SQL的方式查詢調(diào)用java服務(wù)器端所提供的應(yīng)用程序編程接口,從而使調(diào)用標(biāo)準(zhǔn)得到了統(tǒng)一,減少系統(tǒng)數(shù)據(jù)處理的時(shí)間和工作量。參照圖3,其示出本申請的一種Java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng)實(shí)施例,包括java服務(wù)器端10和解析裝置20。java服務(wù)器端10包括輸入?yún)?shù)接收模塊11、查詢模塊12、應(yīng)用程序編程接口實(shí)例生成模塊13和數(shù)據(jù)返回模塊14。解析裝置20,用于對所述類SQL字符串進(jìn)行SQL解析,獲取其中所包含的實(shí)際應(yīng)用程序編程接口名稱和查詢條件,并將接口名稱和查詢條件傳給java服務(wù)器端的查詢模塊12。其中,接收模塊11,用于接收客戶端發(fā)送的對通用應(yīng)用程序編程接口的調(diào)用請求,所述調(diào)用請求的輸入?yún)?shù)為類SQL字符串,并將類SQL字符串傳送給解析裝置20。其中,接收模塊11還限定了輸入?yún)?shù)格式,所述輸入?yún)?shù)至少包括實(shí)際應(yīng)用程序接口名稱和查詢條件。優(yōu)選地,輸入?yún)?shù)還包括需要返回的數(shù)據(jù)對象屬性。查詢模塊12,用于根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱查詢與該實(shí)際應(yīng)用程序編程接口名稱對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù)。應(yīng)用程序編程接口實(shí)例生成模塊13,用于根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例,并基于所述解析得到的查詢條件調(diào)用所述應(yīng)用程序編程接口實(shí)例中的方法獲取返回值。數(shù)據(jù)返回模塊14,用于將所述返回值并返回給客戶端。優(yōu)選地,該java服務(wù)器端10還包括掃描模塊和存儲模塊。其中,掃描模塊,用于掃描java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,獲取接口名稱和參數(shù)。存儲模塊,用于存儲所述掃描獲取的接口名稱和參數(shù)。優(yōu)選地,該java服務(wù)器端10還包括掃描觸發(fā)模塊,用于在java服務(wù)器端啟動時(shí)觸發(fā)掃描模塊掃描或在java服務(wù)器端啟動后接收到第一次調(diào)用請求時(shí)觸發(fā)掃描模塊掃描。優(yōu)選地,該java服務(wù)器端10還包括封裝模塊,用于將返回值二次封裝成符合客戶端要求的數(shù)據(jù)結(jié)構(gòu)后返回給客戶端。本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對于系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上對本申請所提供的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
權(quán)利要求
1.一種java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,其特征在于,包括以下步驟: 接收客戶端發(fā)送的對通用應(yīng)用程序編程接口的調(diào)用請求,所述調(diào)用請求的輸入?yún)?shù)為類SQL字符串; 對所述類SQL字符串進(jìn)行SQL解析,獲取其中所包含的數(shù)據(jù)對象,所述數(shù)據(jù)對象包括實(shí)際應(yīng)用程序編程接口名稱和查詢條件; 根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱查詢與該實(shí)際應(yīng)用程序編程接口名稱對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù); 根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例,并基于所述解析得到的查詢條件調(diào)用所述應(yīng)用程序編程接口實(shí)例中的方法獲取返回值; 將所述返回值返回給客戶端。
2.如權(quán)利要求1所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,其特征在于,所述輸入?yún)?shù)包括實(shí)際應(yīng)用程序接口名稱和查詢條件。
3.如權(quán)利要求2所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,其特征在于,所述輸入?yún)?shù)還包括需要返回的數(shù)據(jù)對象屬性。
4.如權(quán)利要求1所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,其特征在于,在根據(jù)所述數(shù)據(jù)對象查詢與該數(shù)據(jù)對象對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù)之前還包括: 掃描java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,獲取接口名稱和參數(shù); 存儲所述掃描獲取的接口名稱和參數(shù)。
5.如權(quán)利要求4所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,其特征在于,所述掃描java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,獲取接口名稱和參數(shù)包括: 在java服務(wù)器端啟動時(shí)掃描;或 在java服務(wù)器端啟動后接收到第一次調(diào)用請求時(shí)掃描。
6.如權(quán)利要求1所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,其特征在于,所述將所述返回值并返回給客戶端包括: 將所述返回值二次封裝成符合客戶端要求的數(shù)據(jù)結(jié)構(gòu)后返回給客戶端。
7.—種java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng),其特征在于,包括java服務(wù)器端和解析裝置; 解析裝置,用于對所述類SQL字符串進(jìn)行SQL解析,獲取其中所包含的實(shí)際應(yīng)用程序編程接口名稱和查詢條件,并將接口名稱和查詢條件傳給java服務(wù)器端; 所述java服務(wù)器端包括: 接收模塊,用于接收客戶端發(fā)送的對通用應(yīng)用程序編程接口的調(diào)用請求,所述調(diào)用請求的輸入?yún)?shù)為類SQL字符串,并將類SQL字符串傳送給解析裝置; 查詢模塊,用于根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱查詢與該實(shí)際應(yīng)用程序編程接口名稱對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù); 應(yīng)用程序編程接口實(shí)例生成模塊,用于根據(jù)所述實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例,并基于所述解析得到的查詢條件調(diào)用所述應(yīng)用程序編程接口實(shí)例中的方法獲取返回值;和 數(shù)據(jù)返回模塊,用于將所述返回值返回給客戶端。
8.如權(quán)利要求7所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng),其特征在于,所述java服務(wù)器端還包括: 掃描模塊,用于掃描java服務(wù)器端實(shí)際存在的所有應(yīng)用程序編程接口,獲取接口名稱和參數(shù);和 存儲模塊,用于存儲所述掃描獲取的接口名稱和參數(shù)。
9.如權(quán)利要求8所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng),其特征在于,所述java服務(wù)器端還包括: 掃描觸發(fā)模塊,用于在java服務(wù)器端啟動時(shí)觸發(fā)掃描模塊掃描或在java服務(wù)器端啟動后接收到第一次調(diào)用請求時(shí)觸發(fā)掃描模塊掃描。
10.如權(quán)利要求7所述的java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng),其特征在于,所述java服務(wù)器端還包括: 封裝模塊,用于將返回值二次封裝成符合 客戶端要求的數(shù)據(jù)結(jié)構(gòu)后返回給客戶端。
全文摘要
本申請?zhí)峁┝艘环Njava系統(tǒng)應(yīng)用程序編程接口調(diào)用方法,包括接收客戶端發(fā)送的對通用應(yīng)用程序編程接口的調(diào)用請求,調(diào)用請求的輸入?yún)?shù)為類SQL字符串;對類SQL字符串進(jìn)行SQL解析,獲取其中的實(shí)際應(yīng)用程序編程接口名稱和查詢條件;根據(jù)實(shí)際應(yīng)用程序編程接口名稱查詢對應(yīng)的實(shí)際應(yīng)用程序編程接口,獲取接口參數(shù);根據(jù)實(shí)際應(yīng)用程序編程接口名稱和參數(shù)生成應(yīng)用程序編程接口實(shí)例,并基于解析得到的查詢條件調(diào)用應(yīng)用程序編程接口實(shí)例中的方法獲取返回值,并返回給客戶端。本申請還提供了一種實(shí)現(xiàn)前述方法的java系統(tǒng)應(yīng)用程序編程接口調(diào)用系統(tǒng)。本申請的java系統(tǒng)應(yīng)用程序編程接口調(diào)用方法及系統(tǒng),可以降低因?yàn)閿?shù)據(jù)更新的改動工作量和成本。
文檔編號G06F9/48GK103164270SQ20111041125
公開日2013年6月19日 申請日期2011年12月12日 優(yōu)先權(quán)日2011年12月12日
發(fā)明者李慶豐 申請人:阿里巴巴集團(tuán)控股有限公司