本發(fā)明涉及服務端技術領域,具體而言,涉及一種接口服務端的調(diào)用方法及系統(tǒng)。
背景技術:
企業(yè)級應用平臺中總是包含了多個方面的業(yè)務支撐系統(tǒng),而對于各系統(tǒng)間因業(yè)務發(fā)生的需要不可能是獨立的,系統(tǒng)與系統(tǒng)間存在數(shù)據(jù)交換。以浙江報賬系統(tǒng)為例,根據(jù)業(yè)務需求的不同,需編寫與業(yè)務相關的wsdl(webservicesdescriptionlanguage,網(wǎng)絡服務描述語言),生成服務端代碼,服務端固化調(diào)用對應的業(yè)務處理模塊。服務端開發(fā)過程復雜,漫長且低效。因接口的業(yè)務邏輯層和接口調(diào)用層間存在強耦合,業(yè)務邏輯層的代碼編寫可能會受到開發(fā)框架的約束,接口缺乏復用性,無法做到功能復用。同時在接口對應業(yè)務發(fā)生調(diào)整時,必須根據(jù)業(yè)務編號調(diào)整wsdl文件,而wsdl變化后對方調(diào)用系統(tǒng)必須調(diào)整對應客戶端的情況,從而導致多個系統(tǒng)件的連鎖調(diào)整。
技術實現(xiàn)要素:
本發(fā)明旨在至少解決現(xiàn)有技術或相關技術中存在的技術問題之一。
為此,本發(fā)明的一個目的在于提出了一種接口服務端的調(diào)用方法。
本發(fā)明的另一個目的在于提出了一種接口服務端的調(diào)用系統(tǒng)。
有鑒于此,根據(jù)本發(fā)明的一個目的,提出了一種接口服務端的調(diào)用方法,包括:通過統(tǒng)一接口接收調(diào)用指令,其中調(diào)用指令中包括調(diào)用條件;選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方。
本發(fā)明提供的接口服務端的調(diào)用方法,由統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中具有調(diào)用條件,找到符合此調(diào)用條件的接口,同時進行業(yè)務邏輯的調(diào)用,獲取返回數(shù)據(jù),當業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)進行數(shù)據(jù)類型轉換,轉換后的返回數(shù)據(jù)再通過統(tǒng)一接口返回至調(diào)用方,通過統(tǒng)一接口服務可以將原本零散放置于系統(tǒng)各個位置的服務端調(diào)用接口有效整合,方便系統(tǒng)接口的有效管理,并通過分層處理降低接口中的代碼耦合性,同時更加方便功能封裝,可以將接口服務端直接封裝為系統(tǒng)組件。具體地,在使用soa(serviceorientedarchitecture,面向服務的體系結構)架構的系統(tǒng)中,可以通過負載均衡技術單獨的將統(tǒng)一服務端部署于某臺獨立的服務器或虛擬機,使接口服務從主程序中剝離,在有效地減少主程序的服務器壓力的同時又可提高接口交互的性能,使達到服務器集群做到專事專做的效果。
根據(jù)本發(fā)明的上述接口服務端的調(diào)用方法,還可以具有以下技術特征:
在上述技術方案中,優(yōu)選地,當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換,具體包括:當業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式。
在該技術方案中,在業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式,利用xml(extensiblemarkuplanguage,可擴展標記語言)、json(javascriptobjectnotation,javascript對象表示法)等數(shù)據(jù)格式返回數(shù)據(jù),降低接口調(diào)用雙方因業(yè)務發(fā)生變動而調(diào)整接口描述文件后的開發(fā)維護工作,有效提高系統(tǒng)雙方的穩(wěn)定性。
在上述任一技術方案中,優(yōu)選地,在選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù)之前,還包括:對調(diào)用方進行權限驗證;當調(diào)用方的權限驗證通過后,對調(diào)用方的調(diào)用情況進行日志記錄。優(yōu)選地,還包括:當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
在該技術方案中,服務端代理可以對調(diào)用方的權限進行調(diào)用驗證,調(diào)用方的權限通過后,由服務端代理類自動實現(xiàn)對調(diào)用方的調(diào)用情況進行日志記錄并選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,通過對調(diào)用情況進行日志記錄方便后期查詢分析,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
在上述任一技術方案中,優(yōu)選地,還包括:在選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯時,和/或在業(yè)務邏輯調(diào)用異常時,和/或在業(yè)務邏輯調(diào)用完成時,調(diào)用監(jiān)聽回調(diào)。
在該技術方案中,接口調(diào)用過程中針對調(diào)用開始、調(diào)用異常、調(diào)用結束抽象出接口調(diào)用過程事件,并對統(tǒng)一實現(xiàn)上述事件的監(jiān)聽器,通過實現(xiàn)監(jiān)聽,可動態(tài)的添加接口關鍵點的定制化業(yè)務邏輯處理,同時接口監(jiān)聽支持動態(tài)配置。
在上述任一技術方案中,優(yōu)選地,日志記錄包括以下一種或其組合:請求參數(shù)、返回數(shù)據(jù)、調(diào)用時間。
在該技術方案中,調(diào)用時全面記錄交換雙方的請求參數(shù)、返回數(shù)據(jù)以及服務調(diào)用的時間等重要數(shù)據(jù),方便后期日志查詢分析。
根據(jù)本發(fā)明的另一個目的,提出了一種接口服務端的調(diào)用系統(tǒng),包括:接收單元,用于通過統(tǒng)一接口接收調(diào)用指令,其中調(diào)用指令中包括調(diào)用條件;調(diào)用單元,用于選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);數(shù)據(jù)類型轉換單元,用于當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;返回單元,用于將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方。
本發(fā)明提供的接口服務端的調(diào)用系統(tǒng),通過接收單元由統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中具有調(diào)用條件,調(diào)用單元找到符合此調(diào)用條件的接口,同時進行業(yè)務邏輯的調(diào)用,獲取返回數(shù)據(jù),當業(yè)務邏輯調(diào)用完成后,數(shù)據(jù)類型轉換單元將返回數(shù)據(jù)進行數(shù)據(jù)類型轉換,返回單元將轉換后的返回數(shù)據(jù)再通過統(tǒng)一接口返回至調(diào)用方,通過統(tǒng)一接口服務可以將原本零散放置于系統(tǒng)各個位置的服務端調(diào)用接口有效整合,方便系統(tǒng)接口的有效管理,并通過分層處理降低接口中的代碼耦合性,同時更加方便功能封裝,可以將接口服務端直接封裝為系統(tǒng)組件。具體地,在使用soa架構的系統(tǒng)中,可以通過負載均衡技術單獨的將統(tǒng)一服務端部署于某臺獨立的服務器或虛擬機,使接口服務從主程序中剝離,在有效減少主程序的服務器壓力的同時又可提高接口交互的性能,使達到服務器集群做到專事專做的效果。
根據(jù)本發(fā)明的上述接口服務端的調(diào)用系統(tǒng),還可以具有以下技術特征:
在上述技術方案中,優(yōu)選地,數(shù)據(jù)類型轉換單元,具體用于:當業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式。
在該技術方案中,數(shù)據(jù)類型轉換單元在業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式,利用xml、json等數(shù)據(jù)格式返回數(shù)據(jù),降低接口調(diào)用雙方因業(yè)務發(fā)生變動而調(diào)整接口描述文件后的開發(fā)維護工作,有效提高系統(tǒng)雙方的穩(wěn)定性。
在上述任一技術方案中,優(yōu)選地,還包括:驗證單元,用于對調(diào)用方進行權限驗證;記錄單元,用于當調(diào)用方的權限驗證通過后,對調(diào)用方的調(diào)用情況進行日志記錄。優(yōu)選地,記錄單元,還用于當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
在該技術方案中,服務端代理可以通過驗證單元對調(diào)用方的權限進行調(diào)用驗證,調(diào)用方的權限通過后,由服務端代理類自動實現(xiàn)對調(diào)用方的調(diào)用情況進行日志記錄并選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,通過對調(diào)用情況進行日志記錄方便后期查詢分析,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
在上述任一技術方案中,優(yōu)選地,還包括:監(jiān)聽單元,用于在選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯時,和/或在業(yè)務邏輯調(diào)用異常時,和/或在業(yè)務邏輯調(diào)用完成時,調(diào)用監(jiān)聽回調(diào)。
在該技術方案中,接口調(diào)用過程中針對調(diào)用開始、調(diào)用異常、調(diào)用結束抽象出接口調(diào)用過程事件,并對統(tǒng)一實現(xiàn)上述事件的監(jiān)聽器,通過實現(xiàn)監(jiān)聽,可動態(tài)的添加接口關鍵點的定制化業(yè)務邏輯處理,同時接口監(jiān)聽支持動態(tài)配置。
在上述任一技術方案中,優(yōu)選地,日志記錄包括以下一種或其組合:請求參數(shù)、返回數(shù)據(jù)、調(diào)用時間。
在該技術方案中,調(diào)用時全面記錄交換雙方的請求參數(shù)、返回數(shù)據(jù)以及服務調(diào)用的時間等重要數(shù)據(jù),方便后期日志查詢分析。
本發(fā)明的附加方面和優(yōu)點將在下面的描述部分中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1示出了本發(fā)明的一個實施例的接口服務端的調(diào)用方法的流程示意圖;
圖2示出了本發(fā)明的另一個實施例的接口服務端的調(diào)用方法的流程示意圖;
圖3a示出了本發(fā)明的再一個實施例的接口服務端的調(diào)用方法的流程示意圖;
圖3b示出了本發(fā)明的又一個實施例的接口服務端的調(diào)用方法的流程示意圖;
圖4a示出了本發(fā)明的一個實施例的接口服務端的調(diào)用系統(tǒng)的示意框圖;
圖4b示出了本發(fā)明的另一個實施例的接口服務端的調(diào)用系統(tǒng)的示意框圖;
圖5示出了本發(fā)明的一個具體實施例的統(tǒng)一接口服務端的結構示意圖;
圖6示出了本發(fā)明的一個具體實施例的統(tǒng)一接口服務端工作流程示意圖;
圖7示出了本發(fā)明的一個具體實施例的統(tǒng)一接口服務端監(jiān)聽器結構示意圖。
具體實施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實施方式對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不限于下面公開的具體實施例的限制。
本發(fā)明第一方面的實施例,提出一種接口服務端的調(diào)用方法,圖1示出了本發(fā)明的一個實施例的接口服務端的調(diào)用方法的流程示意圖。其中,該方法包括:
步驟102,通過統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中包括調(diào)用條件;
步驟104,選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);
步驟106,當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;
步驟108,將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方。
本發(fā)明提供的接口服務端的調(diào)用方法,由統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中具有調(diào)用條件,找到符合此調(diào)用條件的接口,同時進行業(yè)務邏輯的調(diào)用,獲取返回數(shù)據(jù),當業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)進行數(shù)據(jù)類型轉換,轉換后的返回數(shù)據(jù)再通過統(tǒng)一接口返回至調(diào)用方,通過統(tǒng)一接口服務可以將原本零散放置于系統(tǒng)各個位置的服務端調(diào)用接口有效整合,方便系統(tǒng)接口的有效管理,并通過分層處理降低接口中的代碼耦合性,同時更加方便功能封裝,可以將接口服務端直接封裝為系統(tǒng)組件。具體地,在使用soa架構的系統(tǒng)中,可以通過負載均衡技術單獨的將統(tǒng)一服務端部署于某臺獨立的服務器或虛擬機,使接口服務從主程序中剝離,在有效地減少主程序的服務器壓力的同時又可提高接口交互的性能,使達到服務器集群做到專事專做的效果。
圖2示出了本發(fā)明的另一個實施例的接口服務端的調(diào)用方法的流程示意圖。其中,該方法包括:
步驟202,通過統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中包括調(diào)用條件;
步驟204,選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);
步驟206,當業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式;
步驟208,將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方。
在該實施例中,在業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式,利用xml、json等數(shù)據(jù)格式返回數(shù)據(jù),降低接口調(diào)用雙方因業(yè)務發(fā)生變動而調(diào)整接口描述文件后的開發(fā)維護工作,有效提高系統(tǒng)雙方的穩(wěn)定性。
圖3a示出了本發(fā)明的再一個實施例的接口服務端的調(diào)用方法的流程示意圖。其中,該方法包括:
步驟302,通過統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中包括調(diào)用條件;
步驟304,對調(diào)用方進行權限驗證;
步驟306,判斷是否通過權限驗證;
步驟308,當調(diào)用方的權限驗證通過后,對調(diào)用方的調(diào)用情況進行日志記錄;
步驟310,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令;
步驟312,選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);
步驟314,當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;
步驟316,將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方。
在該實施例中,由統(tǒng)一接口接收調(diào)用指令,服務端代理可以對調(diào)用方的權限進行調(diào)用驗證,調(diào)用方的權限通過后,由服務端代理類自動實現(xiàn)對調(diào)用方的調(diào)用情況進行日志記錄并選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,通過對調(diào)用情況進行日志記錄方便后期查詢分析,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
圖3b示出了本發(fā)明的另一個實施例的接口服務端的調(diào)用方法的流程示意圖。其中,該方法包括:
步驟302,通過統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中包括調(diào)用條件;
步驟304,對調(diào)用方進行權限驗證;
步驟306,判斷是否通過權限驗證;
步驟308,當調(diào)用方的權限驗證通過后,對調(diào)用方的調(diào)用情況進行日志記錄;
步驟310,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令;
步驟312,選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);
步驟314,當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;
步驟316,將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方;
步驟318,在選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯時,和/或在業(yè)務邏輯調(diào)用異常時,和/或在業(yè)務邏輯調(diào)用完成時,調(diào)用監(jiān)聽回調(diào)。
在該實施例中,接口調(diào)用過程中針對調(diào)用開始、調(diào)用異常、調(diào)用結束抽象出接口調(diào)用過程事件,并對統(tǒng)一實現(xiàn)上述事件的監(jiān)聽器,通過實現(xiàn)監(jiān)聽,可動態(tài)的添加接口關鍵點的定制化業(yè)務邏輯處理,同時接口監(jiān)聽支持動態(tài)配置。
在本發(fā)明的一個實施例中,優(yōu)選地,日志記錄包括以下一種或其組合:請求參數(shù)、返回數(shù)據(jù)、調(diào)用時間。
在該實施例中,調(diào)用時全面記錄交換雙方的請求參數(shù)、返回數(shù)據(jù)以及服務調(diào)用的時間等重要數(shù)據(jù),方便后期日志查詢分析。
本發(fā)明第二方面的實施例,提出一種接口服務端的調(diào)用系統(tǒng)400,圖4a示出了本發(fā)明的一個實施例的接口服務端的調(diào)用系統(tǒng)400的示意框圖。其中,該系統(tǒng)包括:
接收單元402,用于通過統(tǒng)一接口接收調(diào)用指令,其中調(diào)用指令中包括調(diào)用條件;
調(diào)用單元404,用于選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);
數(shù)據(jù)類型轉換單元406,用于當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;
返回單元408,用于將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方。
本發(fā)明提供的接口服務端的調(diào)用系統(tǒng)400,通過接收單元402由統(tǒng)一接口接收調(diào)用指令,調(diào)用指令中具有調(diào)用條件,調(diào)用單元404找到符合此調(diào)用條件的接口,同時進行業(yè)務邏輯的調(diào)用,獲取返回數(shù)據(jù),當業(yè)務邏輯調(diào)用完成后,數(shù)據(jù)類型轉換單元406將返回數(shù)據(jù)進行數(shù)據(jù)類型轉換,返回單元408將轉換后的返回數(shù)據(jù)再通過統(tǒng)一接口返回至調(diào)用方,通過統(tǒng)一接口服務可以將原本零散放置于系統(tǒng)各個位置的服務端調(diào)用接口有效整合,方便系統(tǒng)接口的有效管理,并通過分層處理降低接口中的代碼耦合性,同時更加方便功能封裝,可以將接口服務端直接封裝為系統(tǒng)組件。具體地,在使用soa架構的系統(tǒng)中,可以通過負載均衡技術單獨的將統(tǒng)一服務端部署于某臺獨立的服務器或虛擬機,使接口服務從主程序中剝離,在有效地減少主程序的服務器壓力的同時又可提高接口交互的性能,使達到服務器集群做到專事專做的效果。
在本發(fā)明的一個實施例中,優(yōu)選地,數(shù)據(jù)類型轉換單元,具體用于:當業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式。
在該實施例中,數(shù)據(jù)類型轉換單元在業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)轉換為統(tǒng)一數(shù)據(jù)返回格式,利用xml、json等數(shù)據(jù)格式返回數(shù)據(jù),降低接口調(diào)用雙方因業(yè)務發(fā)生變動而調(diào)整接口描述文件后的開發(fā)維護工作,有效提高系統(tǒng)雙方的穩(wěn)定性。
圖4b示出了本發(fā)明的另一個實施例的接口服務端的調(diào)用系統(tǒng)的示意框圖。其中,該系統(tǒng)包括:
接收單元402,用于通過統(tǒng)一接口接收調(diào)用指令,其中調(diào)用指令中包括調(diào)用條件;
調(diào)用單元404,用于選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);
數(shù)據(jù)類型轉換單元406,用于當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;
返回單元408,用于將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方;
驗證單元410,用于對調(diào)用方進行權限驗證;
記錄單元412,用于當調(diào)用方的權限驗證通過后,對調(diào)用方的調(diào)用情況進行日志記錄,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
在該實施例中,服務端代理可以通過驗證單元410對調(diào)用方的權限進行調(diào)用驗證,調(diào)用方的權限通過后,由服務端代理類自動實現(xiàn)對調(diào)用方的調(diào)用情況進行日志記錄并選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,通過對調(diào)用情況進行日志記錄方便后期查詢分析,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
在本發(fā)明的一個實施例中,如圖4b所示,優(yōu)選地,該系統(tǒng)還包括:
監(jiān)聽單元414,用于在選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯時,和/或在業(yè)務邏輯調(diào)用異常時,和/或在業(yè)務邏輯調(diào)用完成時,調(diào)用監(jiān)聽回調(diào)。
同時還包括:
接收單元402,用于通過統(tǒng)一接口接收調(diào)用指令,其中調(diào)用指令中包括調(diào)用條件;
調(diào)用單元404,用于選擇符合調(diào)用條件的接口調(diào)用業(yè)務邏輯,獲取返回數(shù)據(jù);
數(shù)據(jù)類型轉換單元406,用于當業(yè)務邏輯調(diào)用完成后,對返回數(shù)據(jù)進行數(shù)據(jù)類型轉換;
返回單元408,用于將數(shù)據(jù)類型轉換后的返回數(shù)據(jù)通過統(tǒng)一接口返回至調(diào)用方;
驗證單元410,用于對調(diào)用方進行權限驗證;
記錄單元412,用于當調(diào)用方的權限驗證通過后,對調(diào)用方的調(diào)用情況進行日志記錄,當調(diào)用方的權限驗證未通過,則不處理調(diào)用指令。
在該實施例中,接口調(diào)用過程中針對調(diào)用開始、調(diào)用異常、調(diào)用結束抽象出接口調(diào)用過程事件,并對統(tǒng)一實現(xiàn)上述事件的監(jiān)聽器,通過實現(xiàn)監(jiān)聽,可動態(tài)的添加接口關鍵點的定制化業(yè)務邏輯處理,同時接口監(jiān)聽支持動態(tài)配置。
在本發(fā)明的一個實施例中,優(yōu)選地,日志記錄包括以下一種或其組合:請求參數(shù)、返回數(shù)據(jù)、調(diào)用時間。
在該實施例中,調(diào)用時全面記錄交換雙方的請求參數(shù)、返回數(shù)據(jù)以及服務調(diào)用的時間等重要數(shù)據(jù),方便后期日志查詢分析。
在本發(fā)明的一個具體實施例,webservice是目前使用較為廣泛的系統(tǒng)間交互數(shù)據(jù)技術之一。統(tǒng)一集中的管理每個系統(tǒng)中的服務端,在服務端靈活可配置的情況下同時做到集中可控是本方法的主要實現(xiàn)思想。
統(tǒng)一服務端有以下幾個優(yōu)點:(1)數(shù)據(jù)轉換和業(yè)務處理充分解耦,服務調(diào)用交由服務端處理,業(yè)務處理由業(yè)務系統(tǒng)根據(jù)實際業(yè)務在業(yè)務系統(tǒng)中靈活實現(xiàn)。當服務端被調(diào)用時可根據(jù)配置選擇實際業(yè)務處理方法。來實現(xiàn)面向接口編程,達到分層解耦的效果。(2)統(tǒng)一服務端為所有服務的代理,服務調(diào)用時可以統(tǒng)一的根據(jù)系統(tǒng)配置進行調(diào)用方權限驗證,調(diào)用時全面記錄交換雙方的請求參數(shù)、返回數(shù)據(jù)以及服務調(diào)用的時間等重要數(shù)據(jù),方便后期日志查詢分析。對調(diào)用時異常進行抓捕和統(tǒng)一處理。調(diào)用完成后可以動態(tài)的調(diào)用接口服務規(guī)定的回調(diào)方法。
統(tǒng)一服務端采用xml或json等數(shù)據(jù)格式傳遞請求參數(shù)和返回實體,減少因業(yè)務變改而必須改變服務端wsdl描述文件的情況,使調(diào)用雙方不再因為業(yè)務的不斷發(fā)展而不停的變更服務端及客戶端代碼,有效提高系統(tǒng)雙方的穩(wěn)定性。統(tǒng)一服務端由下述部分組成:
1.服務調(diào)用層,用于webservice的發(fā)布、調(diào)用,及webservice服務調(diào)用時的權限驗證、數(shù)據(jù)加密、交互數(shù)據(jù)的內(nèi)容日志的記錄;
2.接口服務調(diào)用配置文件,用于聲明系統(tǒng)中個服務端接口對應的具體接口及接口的實現(xiàn)類,和每個服務返回數(shù)據(jù)的返回值類型;
3.事件監(jiān)聽器,接口調(diào)用在開始,完成,異常3個切入點提供事件注冊,由監(jiān)聽器根據(jù)事件的發(fā)生調(diào)用已注冊的對于定制化服務或功能;
4.數(shù)據(jù)轉換器,將每個接口的返回數(shù)據(jù)根據(jù)配置文件轉換成要求的數(shù)據(jù)格式,例如xml,json;
5.接口業(yè)務邏輯層,將業(yè)務處理單獨抽象,徹底于服務調(diào)用解耦。
本發(fā)明各層次間結構清晰、功能明確,有效的降低開發(fā)成本,減少問題發(fā)生概率,提高服務的可持續(xù)發(fā)展。
在本發(fā)明的另一個具體實施例,圖5示出了本發(fā)明的一個具體實施例的統(tǒng)一接口服務端的結構示意圖,最上層為外部系統(tǒng)502,包括企業(yè)門戶522、預算系統(tǒng)524、銀企直聯(lián)系統(tǒng)526、增值稅管理系統(tǒng)528,由上述系統(tǒng)進行調(diào)用統(tǒng)一接口,中間層為統(tǒng)一接口服務端504,進行接口的統(tǒng)一驗證、日志管理、接口服務代理、接口服務配置、接口數(shù)據(jù)類型轉換,同時統(tǒng)一接口服務端502可以單獨抽象成為組件并復用于多個項目。最下層為業(yè)務邏輯處理層506,輔助提供各業(yè)務接口的業(yè)務實現(xiàn),包括增值稅發(fā)票查詢業(yè)務、報賬單代辦數(shù)量查詢業(yè)務、報賬單明細查詢業(yè)務、報賬單支付查詢業(yè)務。
在本發(fā)明的再一個具體實施例,圖6示出了本發(fā)明的一個具體實施例的統(tǒng)一接口服務端工作流程示意圖。其中,該工作流程包括:
步驟602,當統(tǒng)一接口接到調(diào)用;
步驟604,由接口服務代理進行統(tǒng)一權限驗證;
步驟606,判斷是否通過權限驗證;
步驟608,驗證通過后,對調(diào)用情況進行日志記錄;
步驟610,驗證未通過,則不進行處理;
步驟612,調(diào)用接口適配器,由接口適配器選擇符合調(diào)用條件的接口;
步驟614,進行業(yè)務邏輯的方法調(diào)用;
步驟616,當業(yè)務邏輯調(diào)用完成后,將返回數(shù)據(jù)進行數(shù)據(jù)類型轉換后再由接口服務代理將數(shù)據(jù)通過統(tǒng)一接口返回給調(diào)用者。
在本發(fā)明的又一個具體實施例,圖7示出了本發(fā)明的一個具體實施例的統(tǒng)一接口服務端監(jiān)聽器結構示意圖,圖7中展示接口調(diào)用邏輯的全部過程,過程包括接口調(diào)用開始、邏輯處理異常、業(yè)務邏輯調(diào)用異常、業(yè)務邏輯調(diào)用結束、調(diào)用接口返回,其中,接口調(diào)用開始、邏輯處理異常、調(diào)用接口返回3處抽象為事件點,過程經(jīng)過事件點時調(diào)用事件監(jiān)聽器702,事件監(jiān)聽器702查詢已注冊的監(jiān)聽回調(diào),包括開始事件處理回調(diào)函數(shù)、異常事件處理回調(diào)函數(shù)、結束事件處理回調(diào)函數(shù),當發(fā)現(xiàn)匹配時,調(diào)用監(jiān)聽回調(diào),實現(xiàn)監(jiān)聽回調(diào)定制化。
本發(fā)明能夠實現(xiàn)統(tǒng)一管理,控制系統(tǒng)中全部對外服務端,對于接口日志,接口調(diào)用權限,接口服務注冊實現(xiàn)統(tǒng)一管理。本發(fā)明通過接口服務調(diào)用,業(yè)務邏輯處理,分層處理,降低接口調(diào)用和業(yè)務邏輯處理之間的代碼耦合。在接口開發(fā)時無效考慮數(shù)據(jù)交互,通信等問題,只需專心于接口的業(yè)務邏輯實現(xiàn),同時實現(xiàn)接口業(yè)務邏輯處理類動態(tài)配置。本發(fā)明在接口調(diào)用過程中針對調(diào)用開始、調(diào)用異常、調(diào)用結束抽象出接口調(diào)用過程事件,并對統(tǒng)一實現(xiàn)上述事件的監(jiān)聽器,通過實現(xiàn)監(jiān)聽,可動態(tài)的添加接口關鍵點的定制化業(yè)務邏輯處理,同時接口監(jiān)聽支持動態(tài)配置。本發(fā)明使用統(tǒng)一的數(shù)據(jù)返回格式,利用xml、json等數(shù)據(jù)格式返回數(shù)據(jù),降低接口調(diào)用雙方,因業(yè)務發(fā)生變動而調(diào)整接口描述文件后的開發(fā)維護工作。
在本說明書的描述中,術語“一個實施例”、“一些實施例”、“具體實施例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或實例。而且,描述的具體特征、結構、材料或特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。