楊力
摘 要 隨著移動(dòng)互聯(lián)網(wǎng)的普及,各個(gè)行業(yè)也逐漸重視用戶體驗(yàn),極大影響了傳統(tǒng)的Web設(shè)計(jì)和架構(gòu),因此如何能夠更好地優(yōu)化性能,擴(kuò)展功能等已經(jīng)成為Web的未來(lái)發(fā)展趨勢(shì),能夠有效改變移動(dòng)環(huán)境下消費(fèi)Web資源方式。此次研究主要是探討分析移動(dòng)環(huán)境下RESTfulWebService設(shè)計(jì),希望能夠?qū)ο嚓P(guān)人員起到參考性價(jià)值。
關(guān)鍵詞 移動(dòng)環(huán)境 RESTfulWebService 設(shè)計(jì)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,以3G和4G無(wú)線通信為代表全面促進(jìn)了移動(dòng)市場(chǎng)的發(fā)展,也相應(yīng)提升了移動(dòng)設(shè)備的工藝水平,在互聯(lián)網(wǎng)市場(chǎng)當(dāng)中智能設(shè)備已經(jīng)成為主力軍。相比于互聯(lián)網(wǎng)來(lái)說(shuō),除了網(wǎng)絡(luò)接入技術(shù)有所差異,在本質(zhì)結(jié)構(gòu)方面無(wú)差別。移動(dòng)互聯(lián)網(wǎng)的各項(xiàng)業(yè)務(wù)是通過(guò)移動(dòng)APP與互聯(lián)網(wǎng)連接。如果需要在較短時(shí)間內(nèi)試下實(shí)現(xiàn)移動(dòng)互聯(lián)網(wǎng),需要將傳統(tǒng)互聯(lián)網(wǎng)業(yè)務(wù)進(jìn)行復(fù)制,這樣就形成了移動(dòng)互聯(lián)網(wǎng)。能夠細(xì)化移動(dòng)APP業(yè)務(wù),給予更優(yōu)質(zhì)的用戶體驗(yàn)。
1移動(dòng)環(huán)境下RESTfulWebService的設(shè)計(jì)規(guī)范
在設(shè)計(jì)RESTfulWebService時(shí)需要按照REST設(shè)計(jì)原則,并且滿足ROA架構(gòu)規(guī)范,這樣就能夠適應(yīng)于移動(dòng)環(huán)境下的Web開(kāi)發(fā)。在設(shè)計(jì)和研究RESTfulWebService期間統(tǒng)一資源的操作屬于統(tǒng)一接口的第一步,使用HTTP協(xié)議定義的通用方法作為其操作方法,因此在HTTP方法當(dāng)中包含著資源操作方法,因此為了簡(jiǎn)化RESTfulWebService設(shè)計(jì),首先需要全面明確HTTP方法和安全性等。在移動(dòng)環(huán)境下RESTfulWebService的設(shè)計(jì)規(guī)范當(dāng)中需要統(tǒng)一定位和資源操作,因此在統(tǒng)一接口之前需要定位統(tǒng)一資源。
2移動(dòng)環(huán)境下RESTfulWebService的設(shè)計(jì)
2.1整體設(shè)計(jì)
(1)系統(tǒng)業(yè)務(wù)邏輯:在移動(dòng)環(huán)境下的訂單管理系統(tǒng)會(huì)從兩方面抽象和梳理業(yè)務(wù)邏輯,全面滿足用戶需求。之后按照具體業(yè)務(wù)推出系統(tǒng)業(yè)務(wù)邏輯。其中訂單管理系統(tǒng)主要是管理訂單,包括用戶訂單管理,用戶管理業(yè)務(wù)以及訂單列表管理等。
(2)系統(tǒng)功能結(jié)構(gòu):移動(dòng)端用戶比較注重我的訂單,因此需要統(tǒng)一管理訂單,移動(dòng)APP需要承擔(dān)用戶需求。在該系統(tǒng)當(dāng)中,移動(dòng)端APP需要滿足用戶提交訂單業(yè)務(wù),撤銷訂單業(yè)務(wù),修改訂單業(yè)務(wù)和查看訂單業(yè)務(wù)等。
(3)系統(tǒng)整體架構(gòu):該系統(tǒng)結(jié)構(gòu)主要包括持久層,業(yè)務(wù)層和資源層。此次研究的系統(tǒng)主要是應(yīng)用REST風(fēng)格的ROA架構(gòu)方式,因此需要設(shè)計(jì)和實(shí)現(xiàn)資源層,并且將表面層代替資源層。
2.2設(shè)計(jì)與實(shí)現(xiàn)
在整理系統(tǒng)業(yè)務(wù)之后需要推出系統(tǒng)的功能模塊,并且對(duì)其實(shí)施分層架構(gòu)設(shè)計(jì),這樣能夠?yàn)镽ESTfulWebService設(shè)計(jì)提供重要依據(jù)。
(1)RESTfulAPI設(shè)計(jì):在資源層設(shè)計(jì)當(dāng)中資源RESTful API設(shè)計(jì)屬于核心部位,在資源抽象結(jié)束之后需要實(shí)施具體設(shè)計(jì),主要分為資源標(biāo)識(shí)符URI設(shè)計(jì)和資源操作方法匹配等。因此同時(shí)還需要參照移動(dòng)環(huán)境下RESTfulAPI設(shè)計(jì)原則,有效控制耦合度和顆粒度,之后實(shí)施組合和分層,統(tǒng)一暴露清晰接口,這樣能夠使APP調(diào)用。
(2)資源層的實(shí)現(xiàn):資源層的功能主要是分類管理資源和控制轉(zhuǎn)發(fā)移動(dòng)APP資源請(qǐng)求,因此實(shí)現(xiàn)資源層需要全面注重以上兩個(gè)方面。資源層主要是由Jersey框架完成,因此需要由注解完成請(qǐng)求控制,請(qǐng)求匹配URL,轉(zhuǎn)換資源表述和資源實(shí)體類,配置相關(guān)參數(shù)等。分類和管理資源主要是將資源映射為資源實(shí)體類,即POJO類型。其中資源請(qǐng)求控制主要是由資源控制類完成,當(dāng)移動(dòng)APP的請(qǐng)求達(dá)到資源控制類,就會(huì)完成資源的POST,PUT等,資源控制類主要是被定義的POJO類,在API包含當(dāng)中的URI能夠注解到JAVA接口當(dāng)中。此時(shí)如果需要將其注解到方法位置,則表明該方法屬于資源方法,使用戶請(qǐng)求的URI能夠匹配到該方法當(dāng)中。
2.3移動(dòng)端的設(shè)計(jì)與實(shí)現(xiàn)
(1)移動(dòng)APP網(wǎng)絡(luò)編程接口:①Client接口的實(shí)現(xiàn)類主要是org,jersey等,能夠與RESTfulWebService之間完成通信,對(duì)底層通信細(xì)節(jié)進(jìn)行封裝。②Web Target接口的實(shí)現(xiàn)類為org,client等,能夠定義請(qǐng)求資源的地質(zhì),查詢媒體類型和參數(shù)。③Invocation接口的實(shí)現(xiàn)類就是org,glassfish等,能夠定義請(qǐng)求方法。
(2)移動(dòng)APP的功能實(shí)現(xiàn):①不同狀態(tài)下的訂單列表資源展示界面主要包括,沒(méi)有付款的訂單列表,待收貨狀態(tài)的訂單列表以及歷史記錄等。其中歷史記錄包括交易失敗和交易成功的訂單信息。訂單狀態(tài)能夠決定具體訂單的屬類,業(yè)務(wù)邏輯主要是GET方式調(diào)用RESTfulWebService來(lái)獲取資源。②訂單生成界面:界面當(dāng)中的數(shù)據(jù)主要是來(lái)源于商品信息,在選擇付款方式之后能夠直接跳轉(zhuǎn)到該界面,此時(shí)可以應(yīng)用POST方式調(diào)用后端RESTfulAPI,提交新生成的訂單,在后端Web系統(tǒng)當(dāng)中能夠生成新的資源。
3結(jié)束語(yǔ)
綜上所述,本文主要是分析研究了RESTfulWebService的設(shè)計(jì)規(guī)范和具體設(shè)計(jì)的訂單管理系統(tǒng),在系統(tǒng)整體設(shè)計(jì)當(dāng)中使用分層架構(gòu)模式實(shí)現(xiàn)資源模式,并且研究分析了系統(tǒng)內(nèi)部的耦合度問(wèn)題,希望能夠?yàn)樵O(shè)計(jì)人員提供設(shè)計(jì)依據(jù)。
參考文獻(xiàn)
[1] 劉靖,陳文杰.基于變異測(cè)試的RESTful Web服務(wù)測(cè)試數(shù)據(jù)優(yōu)化生成方法[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,47(03):472-477.