一種flex無服務(wù)器調(diào)用外部程序的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種flex無服務(wù)器調(diào)用外部程序的方法,包括步驟:步驟1:flex創(chuàng)建socket連接;步驟2:將socket連接封裝為jar包,并為jar包創(chuàng)建一個對應(yīng)的socket界面;步驟3:接收外部程序發(fā)送的請求,通過socket接口調(diào)用jar包;步驟4:jar包響應(yīng)外部請求,創(chuàng)建socket通道,將外部請求轉(zhuǎn)換為請求報文;步驟5:根據(jù)請求報文的不同類型調(diào)用jar包中的不同操作方法進行操作,并生成操作結(jié)果;步驟6:通過socket接口返回操作結(jié)果,結(jié)束。將flex程序與外部程序調(diào)用分開,層次分明,開發(fā)、發(fā)布、部署都極為方便;針對需要調(diào)用外部資源的客戶端的Flex AIR程序,無需耗費人力物力來部署額外的服務(wù)器;跨平臺性和擴展性加強。
【專利說明】一種〒|汾無服務(wù)器調(diào)用外部程序的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種?1以無服務(wù)器調(diào)用外部程序的方法及系統(tǒng)。
【背景技術(shù)】
[0002]?1以是一個高效、免費的開源框架,可用于構(gòu)建具有表現(xiàn)力的應(yīng)用程序,這些應(yīng)用程序利用八(10)36 ?18811八10,可以實現(xiàn)跨瀏覽器、桌面和操作系統(tǒng)。雖然只能使用?16工框架構(gòu)建?161應(yīng)用程序,但八(10136 ?1狀1!之前稱為八(10136?1以81:11(161-11)軟件可以通過智能編碼、交互式遍歷調(diào)試以及可視設(shè)計用戶接口布局等功能加快開發(fā)。
[0003]?1以八II?程序具有良好的客戶體驗和安全沙盒機制,為眾多開發(fā)者親睞,但正是其沙盒機制使得行61程序無法調(diào)用本地程序,限制了其可擴展性。
[0004]針對此問題,以往的解決方案是額外搭建一個服務(wù)器(如,將信息通過服務(wù)器傳遞請求,得到結(jié)果后再返回給客戶端程序,這種方式加大了開發(fā)成本和開發(fā)難度,而且部署服務(wù)器本身也需要硬件支持和維護成本。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是提供一種通過80461:接口協(xié)議,將?16乂八II?安裝所在的機器作為虛擬服務(wù)器,從而處理與外部程序的交互的無服務(wù)器調(diào)用外部程序的方法。
[0006]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種無服務(wù)器調(diào)用外部程序的方法,具體包括以下步驟:
[0007]步驟1::?16^ 創(chuàng)建連接;
[0008]步驟2:將80461:連接封裝為扣!"包,并為扣!"包創(chuàng)建一個對應(yīng)的80461:界面;
[0009]步驟3:接收外部程序發(fā)送的請求,通過80461:接口調(diào)用包;
[0010]步驟4:3^包響應(yīng)外部請求,創(chuàng)建80461:通道,將外部請求轉(zhuǎn)換為請求報文;
[0011]步驟5:800^6^通道根據(jù)請求報文的不同類型調(diào)用扣!'包中的不同操作方法進行操作,并生成操作結(jié)果;
[0012]步驟6:通過80461:接口返回操作結(jié)果,結(jié)束。
[0013]本發(fā)明的有益效果是:本發(fā)明通過高度抽象,將?I#程序與外部程序調(diào)用分開,行以只處理804的接口相關(guān)邏輯,外部調(diào)用由扣妨處理,層次分明,開發(fā)、發(fā)布、部署都極為方便;針對需要調(diào)用外部資源的客戶端的程序,無需耗費人力物力來部署額外的服務(wù)器;使用來調(diào)用其他程序,跨平臺性和擴展性加強。
[0014]本發(fā)明一方面可以降低開發(fā)成本,80(^61:的'包和連接80461:的程序已編寫完成;另一方面免去了部署服務(wù)器所需的硬件支持和維護成本,只需要維護?161八II?程序即可;最后,如果需要擴展調(diào)用其他程序(如本地的6社程序、0程序、扣妨程序、數(shù)據(jù)庫處理等),只需要將相關(guān)程序在804的的扣I'包中增加即可,相當(dāng)于是使用扣妨調(diào)用了其他程序,由于外圍使用扣妨調(diào)用,所以其跨平臺性也是極好的。
[0015]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。
[0016]進一步,所述扣!'包中包括數(shù)據(jù)庫操作、文件操作和遠(yuǎn)程操作等多種操作方法。
[0017]進一步,步驟5中扣I'包中不存在對應(yīng)報文類型的操作方法時,將對應(yīng)此報文類型的外部操作方法添加到80461:連接中,將完成添加的80461:連接封裝為扣!"包。
[0018]進一步,所述步驟4中創(chuàng)建的80461:通道中包含'包中的操作方法,具體包括0程序調(diào)用方法、8社程序調(diào)用方法和數(shù)據(jù)庫調(diào)用方法。
[0019]本發(fā)明所要解決的技術(shù)問題是提供一種通過80461:接口協(xié)議,將?16乂八II?安裝所在的機器作為虛擬服務(wù)器,從而處理與外部程序的交互的無服務(wù)器調(diào)用外部程序的系統(tǒng)。
[0020]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種無服務(wù)器調(diào)用外部程序的系統(tǒng),包括創(chuàng)建模塊、封裝模塊、接收請求模塊、請求轉(zhuǎn)換模塊、操作模塊和結(jié)果返回模塊;
[0021]所述創(chuàng)建模塊用于使創(chuàng)建80461:連接;
[0022]所述封裝模塊用于將80461:連接封裝為'包,并為'包創(chuàng)建一個對應(yīng)的800^61:界面;
[0023]所述接收請求模塊用于接收外部程序發(fā)送的請求,通過80461:接口調(diào)用包;
[0024]所述請求轉(zhuǎn)換模塊用于使扣!"包回應(yīng)外部請求,創(chuàng)建80461:通道,將外部請求轉(zhuǎn)換為請求報文;
[0025]所述操作模塊用于使804的通道根據(jù)請求報文的不同類型調(diào)用扣!'包中的不同操作方法進行操作,并生成操作結(jié)果;
[0026]所述結(jié)果返回模塊用于通過804的接口返回操作結(jié)果,結(jié)束。
[0027]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。
[0028]進一步,所述扣!'包中包括數(shù)據(jù)庫操作、文件操作和遠(yuǎn)程操作等多種操作方法。
[0029]進一步,所述操作模塊中'包中不存在對應(yīng)報文類型的操作方法時,將對應(yīng)此報文類型的外部操作方法添加到80461:連接中,將完成添加的80461:連接封裝為'包。
[0030]進一步,所述請求轉(zhuǎn)換模塊中創(chuàng)建的80461:通道中包含扣!"包中的操作方法,具體包括程序調(diào)用方法、8社程序調(diào)用方法和數(shù)據(jù)庫調(diào)用方法。
【專利附圖】
【附圖說明】
[0031]圖1為本發(fā)明所述的一種?1以無服務(wù)器調(diào)用外部程序的方法的流程圖;
[0032]圖2為本發(fā)明所述的一種?1以無服務(wù)器調(diào)用外部程序的系統(tǒng)結(jié)構(gòu)框圖;
[0033]圖3為本發(fā)明所述的一種?1以無服務(wù)器調(diào)用外部程序的系統(tǒng)具體操作示意圖。
[0034]附圖中,各標(biāo)號所代表的部件列表如下:
[0035]1、創(chuàng)建模塊,2、封裝模塊,3、接收請求模塊,4、請求轉(zhuǎn)換模塊,5、操作模塊,6、結(jié)果返回模塊。
【具體實施方式】
[0036]以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0037]如圖1所示,為本發(fā)明所述的一種?1以無服務(wù)器調(diào)用外部程序的方法,具體包括以下步驟:
[0038]步驟1 創(chuàng)建80461:連接;
[0039]步驟2:將80461:連接封裝為扣!"包,并為扣!"包創(chuàng)建一個對應(yīng)的80461:界面;
[0040]步驟3:接收外部程序發(fā)送的請求,通過80461:接口調(diào)用扣!"包;
[0041]步驟4:3^包響應(yīng)外部請求,創(chuàng)建80461:通道,將外部請求轉(zhuǎn)換為請求報文;
[0042]步驟5:800^6^通道根據(jù)請求報文的不同類型調(diào)用扣!'包中的不同操作方法進行操作,并生成操作結(jié)果;
[0043]步驟6:通過80461:接口返回操作結(jié)果,結(jié)束。
[0044]本發(fā)明通過高度抽象,將?1以程序與外部程序調(diào)用分開,?1以只處理804的接口相關(guān)邏輯,外部調(diào)用由扣妨處理,層次分明,開發(fā)、發(fā)布、部署都極為方便;針對需要調(diào)用外部資源的客戶端的?161八II?程序,無需耗費人力物力來部署額外的服務(wù)器;使用扣妨來調(diào)用其他程序,跨平臺性和擴展性加強。
[0045]本發(fā)明一方面可以降低開發(fā)成本,800^61:的扣!"包和連接80461:的程序已編寫完成;另一方面免去了部署服務(wù)器所需的硬件支持和維護成本,只需要維護?161八II?程序即可;最后,如果需要擴展調(diào)用其他程序(如本地的6社程序、0程序、扣妨程序、數(shù)據(jù)庫處理等),只需要將相關(guān)程序在804的的扣I'包中增加即可,相當(dāng)于是使用扣妨調(diào)用了其他程序,由于外圍使用扣妨調(diào)用,所以其跨平臺性也是極好的。
[0046]所述扣包中包括數(shù)據(jù)庫操作、文件操作和遠(yuǎn)程操作等多種操作方法。
[0047]步驟5中包中不存在對應(yīng)報文類型的操作方法時,將對應(yīng)此報文類型的外部操作方法添加到80461:連接中,將完成添加的80461:連接封裝為扣!"包。
[0048]所述步驟4中創(chuàng)建的8046丨通道中包含包中的操作方法,具體包括 ?:程序調(diào)用方法、8社程序調(diào)用方法和數(shù)據(jù)庫調(diào)用方法。
[0049]如圖2所示,為本發(fā)明所述的一種?1以無服務(wù)器調(diào)用外部程序的系統(tǒng),包括創(chuàng)建模塊1、封裝模塊2、接收請求模塊3、請求轉(zhuǎn)換模塊4、操作模塊5和結(jié)果返回模塊6 ;
[0050]所述創(chuàng)建模塊1用于使創(chuàng)建80461:連接;
[0051]所述封裝模塊2用于將80461:連接封裝為'包,并為'包創(chuàng)建一個對應(yīng)的800^61:界面;
[0052]所述接收請求模塊3用于接收外部程序發(fā)送的請求,通過80461:接口調(diào)用包;
[0053]所述請求轉(zhuǎn)換模塊4用于使扣!"包回應(yīng)外部請求,創(chuàng)建80461:通道,將外部請求轉(zhuǎn)換為請求報文;
[0054]所述操作模塊5用于使80土的通道根據(jù)請求報文的不同類型調(diào)用扣!'包中的不同操作方法進行操作,并生成操作結(jié)果;
[0055]所述結(jié)果返回模塊6用于通過80461:接口返回操作結(jié)果,結(jié)束。
[0056]所述扣包中包括數(shù)據(jù)庫操作、文件操作和遠(yuǎn)程操作等多種操作方法。
[0057]所述操作模塊5中包中不存在對應(yīng)報文類型的操作方法時,將對應(yīng)此報文類型的外部操作方法添加到80461:連接中,將完成添加的80461:連接封裝為扣!"包。
[0058]所述請求轉(zhuǎn)換模塊4中創(chuàng)建的8046丨通道中包含包中的操作方法,具體包括0程序調(diào)用方法、8社程序調(diào)用方法和數(shù)據(jù)庫調(diào)用方法。
[0059]如圖3所示,為本發(fā)明所述的一種?I#無服務(wù)器調(diào)用外部程序的系統(tǒng)具體操作示意圖,接收外部0程序、外部8社程序和本地或遠(yuǎn)程數(shù)據(jù)庫三種外部程序;80土的信道中包括對應(yīng)上述外部程序的三種調(diào)用方法,分別為4程序調(diào)用方法、8社程序調(diào)用方法和數(shù)據(jù)庫調(diào)用方法。
[0060]在數(shù)據(jù)移植工作臺產(chǎn)品開發(fā)工作中,使用了該技術(shù),通過將扣妨連接數(shù)據(jù)庫的程序打成包,使用80461:與通信,成功實現(xiàn)了對遠(yuǎn)程數(shù)據(jù)庫的訪問而沒有額外部署服務(wù)器,減少了軟件大??;并且由于扣妨連接數(shù)據(jù)庫的程序是使用已有的工具類,復(fù)用后也減少了開發(fā)工作。
[0061〕 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種flex無服務(wù)器調(diào)用外部程序的方法,其特征在于,具體包括以下步驟: 步驟I:flex創(chuàng)建socket連接; 步驟2:將socket連接封裝為jar包,并為jar包創(chuàng)建一個對應(yīng)的socket界面; 步驟3:接收外部程序發(fā)送的請求,通過socket接口調(diào)用jar包; 步驟4: jar包響應(yīng)外部請求,創(chuàng)建socket通道,將外部請求轉(zhuǎn)換為請求報文; 步驟5 =Socket通道根據(jù)請求報文的不同類型調(diào)用jar包中的不同操作方法進行操作,并生成操作結(jié)果; 步驟6:通過socket接口返回操作結(jié)果,結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種flex無服務(wù)器調(diào)用外部程序的方法,其特征在于,所述jar包中包括數(shù)據(jù)庫操作、文件操作和遠(yuǎn)程操作等多種操作方法。
3.根據(jù)權(quán)利要求1或2所述的一種flex無服務(wù)器調(diào)用外部程序的方法,其特征在于,步驟5中jar包中不存在對應(yīng)報文類型的操作方法時,將對應(yīng)此報文類型的外部操作方法添加到socket連接中,將完成添加的socket連接封裝為jar包。
4.根據(jù)權(quán)利要求3所述的一種flex無服務(wù)器調(diào)用外部程序的方法,其特征在于,所述步驟4中創(chuàng)建的socket通道中包含jar包中的操作方法,具體包括C程序調(diào)用方法、Bat程序調(diào)用方法和數(shù)據(jù)庫調(diào)用方法。
5.一種flex無服務(wù)器調(diào)用外部程序的系統(tǒng),其特征在于,包括創(chuàng)建模塊、封裝模塊、接收請求模塊、請求轉(zhuǎn)換模塊、操作模塊和結(jié)果返回模塊; 所述創(chuàng)建模塊用于使flex創(chuàng)建socket連接; 所述封裝模塊用于將socket連接封裝為jar包,并為jar包創(chuàng)建一個對應(yīng)的socket界面; 所述接收請求模塊用于接收外部程序發(fā)送的請求,通過socket接口調(diào)用jar包; 所述請求轉(zhuǎn)換模塊用于使jar包回應(yīng)外部請求,創(chuàng)建socket通道,將外部請求轉(zhuǎn)換為請求報文; 所述操作模塊用于使socket通道根據(jù)請求報文的不同類型調(diào)用jar包中的不同操作方法進行操作,并生成操作結(jié)果; 所述結(jié)果返回模塊用于通過socket接口返回操作結(jié)果,結(jié)束。
6.根據(jù)權(quán)利要求5所述的一種flex無服務(wù)器調(diào)用外部程序的系統(tǒng),其特征在于,所述jar包中包括數(shù)據(jù)庫操作、文件操作和遠(yuǎn)程操作等多種操作方法。
7.根據(jù)權(quán)利要求5或6所述的一種flex無服務(wù)器調(diào)用外部程序的系統(tǒng),其特征在于,所述操作模塊中jar包中不存在對應(yīng)報文類型的操作方法時,將對應(yīng)此報文類型的外部操作方法添加到socket連接中,將完成添加的socket連接封裝為jar包。
8.根據(jù)權(quán)利要求7所述的一種flex無服務(wù)器調(diào)用外部程序的系統(tǒng),其特征在于,所述請求轉(zhuǎn)換模塊中創(chuàng)建的socket通道中包含jar包中的操作方法,具體包括C程序調(diào)用方法、Bat程序調(diào)用方法和數(shù)據(jù)庫調(diào)用方法。
【文檔編號】H04L29/08GK104363273SQ201410602539
【公開日】2015年2月18日 申請日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】羅國俊 申請人:北京思特奇信息技術(shù)股份有限公司