本申請屬于通用軟件開發(fā)領(lǐng)域,具有涉及一種面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺。
背景技術(shù):
信息系統(tǒng)的開發(fā)需要前端和后臺的配合,才能實現(xiàn)客戶端和服務(wù)端、數(shù)據(jù)庫以及第三方接口之間的互動、數(shù)據(jù)交流等功能。眾多的軟件開發(fā)中小企業(yè),限于沒有可用的平臺化的軟件運營服務(wù),開發(fā)人員要么需要掌握從前端頁面到后臺業(yè)務(wù)邏輯、webservice接口、甚至數(shù)據(jù)庫sql(結(jié)構(gòu)化查詢語言)的開發(fā)技能(所謂的全棧工程師),要么需要眾多的上述各個崗位熟練開發(fā)人員配合才能順利完成項目開發(fā)。
顯然上述傳統(tǒng)技術(shù)的存在如下缺點:
1)開發(fā)工作量大,可重用性低,隨著需求的變更、新增,需要重寫后臺所有過程,開發(fā)效率低下;
2)業(yè)務(wù)邏輯接口完全暴露給所有開發(fā)人員,安全性差;
不同的開發(fā)人員接口設(shè)計風(fēng)格可能不統(tǒng)一,導(dǎo)致維護工作量加大,可維護性差;
3)沒有利用SaaS(軟件即服務(wù))思想實現(xiàn)平臺化服務(wù)接口。
因此,如何研發(fā)一種面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺,便成為亟待解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本申請解決的主要問題是提供一種面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺,以解決無法實現(xiàn)的技術(shù)問題。
為了解決上述技術(shù)問題,本發(fā)明公開了一種面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺,包括:架設(shè)于云網(wǎng)絡(luò)的服務(wù)器、至少一個連接所述服務(wù)器的開發(fā)者客戶端,其特征在于,所述服務(wù)器,包括:校驗?zāi)K、調(diào)度管理模塊、數(shù)據(jù)庫表模塊、模板引擎模塊,
所述數(shù)據(jù)庫表中字段與所述開發(fā)者客戶端發(fā)送的請求參數(shù)、所述模板引擎模塊中的模板變量名稱耦合;
所述校驗?zāi)K,包括:若干封裝API接口,用于根據(jù)所述開發(fā)者客戶端請求信息校驗;
所述調(diào)度管理模塊,用于解析所述開發(fā)者客戶端發(fā)送的請求參數(shù)并調(diào)用對應(yīng)程序處理,生成數(shù)據(jù)應(yīng)答文件回送所述調(diào)度管理模塊,所述調(diào)度管理模塊將所述應(yīng)答文件處理為約定格式應(yīng)答包回送所述開發(fā)者客戶端;
所述模板引擎模塊,用于將所述請求參數(shù)、數(shù)據(jù)應(yīng)答包渲染,生成HTML文件。
進一步地,所述封裝API接口,包括:請求類API接口、服務(wù)類API接口。
進一步地,所述應(yīng)答包的格式為json、jsonp或HTML。
進一步地,所述模板引擎模塊,包括:交易專用變量模塊,所述交易專用變量模塊用于現(xiàn)實交易請求數(shù)據(jù)的應(yīng)答。
進一步地,所述調(diào)度管理模塊將所述應(yīng)答文件處理為約定形式應(yīng)答包的具體形式為:
1)如果約定的是json形式,則回送json包;
2)如果約定的是jsonp形式,則回送jsonp包;
3)如果約定的是template形式,則調(diào)用模板引擎,將輸出信息返回;如果應(yīng)答包結(jié)果代碼是錯誤的,則使用錯誤頁面的模板;
4)如果約定的是url形式,則回送redirect重定向包;如果應(yīng)答包結(jié)果代碼是錯誤的,則使用錯誤頁面的url地址。
進一步地,所述封裝API接口采用HTTP協(xié)議的GET操作進行。
進一步地,還包括:日志監(jiān)測工具,所述日志監(jiān)測工具用于在線查看服務(wù)器日志。
進一步地,所述調(diào)度管理模塊解析所述開發(fā)者客戶端發(fā)送的請求參數(shù)并調(diào)用對應(yīng)程序處理的具體步驟為:
1)對請求數(shù)據(jù)進行有效性校驗及準備;
2)負責(zé)操作數(shù)據(jù)庫表返回處理結(jié)果生成應(yīng)答文件;
3)對將所述應(yīng)答文件處理為約定形式的應(yīng)答包。
進一步地,所述封裝API接口的文件采用數(shù)字進行命名管理。
進一步地,所述商業(yè)云平臺的開發(fā)語言為PHP或NodeJS。
與現(xiàn)有技術(shù)相比,本申請所述的面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺,達到了如下效果:
1)本申請?zhí)峁┑拿嫦蚧ヂ?lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺使前端開發(fā)人員從繁重的后臺業(yè)務(wù)邏輯中解放出來,可以集中精力處理前端的展示和客戶端本地的需求;
2)本申請?zhí)峁┑拿嫦蚧ヂ?lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺是使后臺業(yè)務(wù)的開發(fā)、接口的開發(fā)更加簡化,實現(xiàn)需求分析、數(shù)據(jù)庫設(shè)計人員和前端開發(fā)人員的解耦,提高了軟件開發(fā)中的專業(yè)化分工程度;同時因為隱藏了后臺業(yè)務(wù)實現(xiàn)的細節(jié),提高了安全性;最終達到提高整體開發(fā)效率的目的。
具體實施方式
如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明 書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準則。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實施本申請的較佳實施方式,然所述描述乃以說明本申請的一般原則為目的,并非用以限定本申請的范圍。本申請的保護范圍當(dāng)視所附權(quán)利要求所界定者為準。
實施例1
本實施例提供一種面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺,包括:架設(shè)于云網(wǎng)絡(luò)的服務(wù)器、至少一個連接所述服務(wù)器的開發(fā)者客戶端,其特征在于,所述服務(wù)器,包括:校驗?zāi)K、調(diào)度管理模塊、數(shù)據(jù)庫表模塊、模板引擎模塊,
所述數(shù)據(jù)庫表中字段與所述開發(fā)者客戶端發(fā)送的請求參數(shù)、所述模板引擎模塊中的模板變量名稱耦合;
所述校驗?zāi)K,包括:若干封裝API接口,用于根據(jù)所述開發(fā)者客戶端請求信息校驗;
所述調(diào)度管理模塊,用于解析所述開發(fā)者客戶端發(fā)送的請求參數(shù)并調(diào)用對應(yīng)程序處理,生成數(shù)據(jù)應(yīng)答文件回送所述調(diào)度管理模塊,所述調(diào)度管理模塊將所述應(yīng)答文件處理為約定格式應(yīng)答包回送所述開發(fā)者客戶端;
所述模板引擎模塊,用于將所述請求參數(shù)、數(shù)據(jù)應(yīng)答包渲染,生成HTML文件。
所述數(shù)據(jù)庫表模塊包含API認證的庫表,所述用于API認證的庫表, 包含,用戶名認證、手機號認證、用戶頭像認證、設(shè)備ID認證、秘鑰認證等內(nèi)容。
所述校驗?zāi)K在接收客戶端請求信息后可以根據(jù)所述API認證的庫表的信息,對客戶端發(fā)來的信息校驗,認證用戶在所述互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺的權(quán)限。
所述數(shù)據(jù)庫表模塊包含日志存放庫表,所述日志存放庫表用于動態(tài)存儲互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺的日志,方便互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺的記錄查詢和后續(xù)開發(fā)。
本實施例提供的面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺為眾多的軟件開發(fā)團隊或者企業(yè)提供一種SaaS平臺,這個平臺給前端和后臺開發(fā)人員提供了一組API(Application Program Interface應(yīng)用程序接口)接口,通過這一平臺,使原本需要后臺開發(fā)或者數(shù)據(jù)庫設(shè)計人員強力介入的前端開發(fā)人員(client客戶端)在不需要掌握數(shù)據(jù)庫sql或者復(fù)雜業(yè)務(wù)邏輯的情況下,也能獨立開發(fā)完整的軟件項目。
實施例2
本實施例提供一種面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺,包括:架設(shè)于云網(wǎng)絡(luò)的服務(wù)器、至少一個連接所述服務(wù)器的開發(fā)者客戶端,其特征在于,所述服務(wù)器,包括:校驗?zāi)K、調(diào)度管理模塊、數(shù)據(jù)庫表模塊、模板引擎模塊,
所述數(shù)據(jù)庫表中字段與所述開發(fā)者客戶端發(fā)送的請求參數(shù)、所述模板引擎模塊中的模板變量名稱耦合;所述請求參數(shù)分為公共參數(shù)和私有參數(shù)。
公共參數(shù)基本上是每個API都約定要使用的參數(shù)。公共參數(shù)、私有參數(shù)分別在云網(wǎng)絡(luò)服務(wù)器指定文件夾中定義;
對請求參數(shù)有特殊處理要求的交易,可以定義相應(yīng)的交易請求子類,在構(gòu)造器函數(shù)中進行處理。
所述校驗?zāi)K,包括:若干封裝API接口,用于根據(jù)所述開發(fā)者客戶端請求信息校驗;
所述調(diào)度管理模塊,用于解析所述開發(fā)者客戶端發(fā)送的請求參數(shù)并調(diào)用對應(yīng)程序處理,生成數(shù)據(jù)應(yīng)答文件回送所述調(diào)度管理模塊,所述調(diào)度管理模塊將所述應(yīng)答文件處理為約定格式應(yīng)答包回送所述開發(fā)者客戶端;
所述模板引擎模塊,用于將所述請求參數(shù)、數(shù)據(jù)應(yīng)答包渲染,生成HTML文件。
所述面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺的客戶端訪問的云網(wǎng)絡(luò)的服務(wù)器的指定兩個文件夾:api,server。其中api為對外的虛擬目錄,其中使用.htaccss文件重定向url,將請求轉(zhuǎn)換到/server/framework/server.php目錄下。.htaccess文件內(nèi)容如下:
RewriteEngine On
RewriteRule^(.*)$/server/framework/server.php?action=$1[QSA]
也可以直接使用server.php作為controller。例如:
http://www.innoviews.com/mp/server/framework/server.php?action=y(tǒng)ongda/voiceMsg.list
server目錄包含了框架部分和用戶應(yīng)用的具體邏輯部分。其中,framework為框架部分;html為頁面模板部分;api為應(yīng)用的業(yè)務(wù)邏輯部分;model為O/R Mapping對象;test目錄為api測試目錄,可通過“php test.php”來測試指定api是否正常;tools目錄放置了一個日志監(jiān)測工具mlog.php用于在線查看服務(wù)器日志。
優(yōu)選地,所述封裝API接口,包括:請求類API接口、服務(wù)類API接口。所述請求類API接口的類名由Rxxxxxx格式定義,所述處理類API接口的類名由Axxxxxx格式定義,其中xxxxxx為6位數(shù)字編號。相應(yīng)的文件名以類 名開始,后面加上“.php”。如編號為123456的處理類名稱為A123456,處理類的文件名為A123456.php,請求類的類名為R123456,請求類的文件名為R123456.php。請求類和處理類的相關(guān)文件存放在云網(wǎng)絡(luò)的服務(wù)器的server/api/目錄下。
對于某一接口服務(wù),請求類可以有,也可以沒有。沒有時,系統(tǒng)會傳遞一個基礎(chǔ)請求類BaseRequest對象給相應(yīng)的邏輯處理程序。
API接口類文件統(tǒng)一采用數(shù)字進行命名管理,可以規(guī)定,其中99打頭的是框架保留的接口類,可以直接使用,即系統(tǒng)本身已配置好,可直接調(diào)用。其他數(shù)字打頭的交給用戶自定義。
所述數(shù)據(jù)庫中表格字段一般與請求對象屬性和應(yīng)答對象屬性在名稱命名上保持一致。可以利用與數(shù)據(jù)庫表名稱耦合來實現(xiàn)。
數(shù)據(jù)庫表的命名采用首字母大寫方式,如:“MyTable”。API交易數(shù)據(jù)字典的命名同數(shù)據(jù)庫表字段:采用首字母小寫,其他詞首字母大寫方式,如:“manAge”。API交易的公共字典在命名上可以有不同,可前面加下劃線_,如:“_manAge”。
Request對象中的各個屬性名稱可以直接作為DAO對象和Model對象使用的參數(shù);
Reponse對象中的各個屬性名稱可以直接作為XTemplate模板文件中的模板變量名。
優(yōu)選地,所述應(yīng)答包的格式為json、jsonp或HTML。
優(yōu)選地,所述模板引擎模塊,包括:交易專用變量模塊,所述交易專用變量模塊用于現(xiàn)實交易請求數(shù)據(jù)的應(yīng)答。
優(yōu)選地,所述調(diào)度管理模塊將所述應(yīng)答文件處理為約定形式應(yīng)答包的具體形式為:
1)如果約定的是json形式,則回送json包;
2)如果約定的是jsonp形式,則回送jsonp包;
3)如果約定的是template形式,則調(diào)用模板引擎,將輸出信息返回;如果應(yīng)答包結(jié)果代碼是錯誤的,則使用錯誤頁面的模板;
4)如果約定的是url形式,則回送redirect重定向包;如果應(yīng)答包結(jié)果代碼是錯誤的,則使用錯誤頁面的url地址。
優(yōu)選地,所述封裝API接口采用HTTP協(xié)議的GET操作進行。
優(yōu)選地,還包括:日志監(jiān)測工具,所述日志監(jiān)測工具用于在線查看服務(wù)器日志。
優(yōu)選地,所述調(diào)度管理模塊解析所述開發(fā)者客戶端發(fā)送的請求參數(shù)并調(diào)用對應(yīng)程序處理的具體步驟為:
1)對請求數(shù)據(jù)進行有效性校驗及準備;
2)負責(zé)操作數(shù)據(jù)庫表返回處理結(jié)果生成應(yīng)答文件;
3)對將所述應(yīng)答文件處理為約定形式的應(yīng)答包。
優(yōu)選地,所述封裝API接口的文件采用數(shù)字進行命名管理。
優(yōu)選地,所述商業(yè)云平臺的開發(fā)語言為PHP或NodeJS。
本實施例提供的面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺主要特點是面向軟件開發(fā)者的平臺,其實現(xiàn)前后端分離,提高軟件系統(tǒng)的可擴展性。
具體體現(xiàn)為:
1)MVC(model-view-controller的縮寫,意為數(shù)據(jù)模型-視圖展現(xiàn)-控制器,一種網(wǎng)站的設(shè)計模式)分離設(shè)計,便于開發(fā)者集中精力實現(xiàn)前端頁面(View視圖和Template模板);
2)開發(fā)者通過系統(tǒng)的一些簡單規(guī)則來定義數(shù)據(jù)模型(Model)及其操作方法(action);
3)開發(fā)者可以通過系統(tǒng)定義的規(guī)則來注入原生的諸如Javascript腳本(Controller),用于在服務(wù)器端處理獲取到的Model數(shù)據(jù),或者調(diào)用系統(tǒng)提供的其它服務(wù)接口(例如微信相關(guān)接口)
4)可擴展性:系統(tǒng)提供服務(wù)/接口,系統(tǒng)開發(fā)人員可以通過提供系統(tǒng)服務(wù)/接口來擴展系統(tǒng)能力。
與現(xiàn)有技術(shù)相比,本申請所述的面向互聯(lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺,達到了如下效果:
1)本申請?zhí)峁┑拿嫦蚧ヂ?lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺使前端開發(fā)人員從繁重的后臺業(yè)務(wù)邏輯中解放出來,可以集中精力處理前端的展示和客戶端本地的需求;
2)本申請?zhí)峁┑拿嫦蚧ヂ?lián)網(wǎng)WEB前端開發(fā)的商業(yè)云平臺是使后臺業(yè)務(wù)的開發(fā)、接口的開發(fā)更加簡化,實現(xiàn)需求分析、數(shù)據(jù)庫設(shè)計人員和前端開發(fā)人員的解耦,提高了軟件開發(fā)中的專業(yè)化分工程度;同時因為隱藏了后臺業(yè)務(wù)實現(xiàn)的細節(jié),提高了安全性;最終達到提高整體開發(fā)效率的目的。由于方法部分已經(jīng)對本申請實施例進行了詳細描述,這里對實施例中涉及的系統(tǒng)與方法對應(yīng)部分的展開描述省略,不再贅述。對于系統(tǒng)中具體內(nèi)容的描述可參考方法實施例的內(nèi)容,這里不再具體限定。
上述說明示出并描述了本申請的若干優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本申請并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述申請構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本申請的精神和范圍,則都應(yīng)在本申請所附權(quán)利要求的保護范圍內(nèi)。