999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于REST架構(gòu)的電子村務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

2016-06-23 00:26:23李彬峰陳建國(guó)朱明敏華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院廣州510642
現(xiàn)代計(jì)算機(jī) 2016年15期
關(guān)鍵詞:資源服務(wù)

李彬峰,陳建國(guó),朱明敏(華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院,廣州 510642)

?

基于REST架構(gòu)的電子村務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

李彬峰,陳建國(guó),朱明敏
(華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院,廣州510642)

摘要:

關(guān)鍵詞:

REST;電子村務(wù);Web服務(wù);HATEOAS

0 引言

電子村務(wù)是電子政務(wù)在農(nóng)村的延伸和落地。電子政務(wù)在城市的發(fā)展已經(jīng)基本成熟,但是在廣大的農(nóng)村地區(qū)這仍是一個(gè)亟待解決的問(wèn)題。2016年,中央一號(hào)文件提出提高農(nóng)村公共服務(wù)水平,創(chuàng)新和完善鄉(xiāng)村治理機(jī)制,這指明了電子村務(wù)或農(nóng)村電子政務(wù)的重要性和發(fā)展方向。而且,隨著農(nóng)村經(jīng)濟(jì)的發(fā)展和信息化水平的提高,我省很多農(nóng)村地區(qū)尤其是珠三角的農(nóng)村地區(qū)已經(jīng)具備實(shí)現(xiàn)電子村務(wù)的基本條件。

目前,我國(guó)學(xué)者在電子村務(wù)的研究方面已經(jīng)有一定積累,這些研究和實(shí)踐主要分為兩類(lèi):一類(lèi)是針對(duì)電子村務(wù)內(nèi)容或基本需求;一類(lèi)是聚焦于電子村務(wù)系統(tǒng)和平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)。總的來(lái)說(shuō),電子村務(wù)的研究和實(shí)踐主要存在以下問(wèn)題:(1)沒(méi)有以村民為核心,需求調(diào)研不足,從而造成系統(tǒng)實(shí)用性差、使用率低。(2)不適合目前移動(dòng)互聯(lián)網(wǎng)時(shí)代的要求;(3)系統(tǒng)難以擴(kuò)展,一旦業(yè)務(wù)變更系統(tǒng)需要進(jìn)行繁雜的重構(gòu),更沒(méi)有考慮未來(lái)與其他系統(tǒng)的交互。

針對(duì)以上問(wèn)題,本文提出基于REST架構(gòu)的電子村務(wù)平臺(tái),該平臺(tái)具備以下特點(diǎn):(1)以廣州市南沙區(qū)民興村為研究對(duì)象,對(duì)村民和村委會(huì)的核心需求進(jìn)行建模。(2)同時(shí)開(kāi)發(fā)Web網(wǎng)頁(yè)端和Android客戶端,雙端共享同一后臺(tái);(3)基于REST架構(gòu)設(shè)計(jì)平臺(tái),服務(wù)端滿足HATEOAS約束,使系統(tǒng)具備良好的擴(kuò)展性、可維護(hù)性。這尤其適合于目前農(nóng)村未成熟穩(wěn)定的應(yīng)用環(huán)境。

1 相關(guān)理論和技術(shù)概述

1.1REST架構(gòu)簡(jiǎn)述

REST是在已有各種Web架構(gòu)規(guī)范的基礎(chǔ)上新增一部分新規(guī)范,從而形成的一種新的Web架構(gòu)風(fēng)格,通常也用REST架構(gòu)指代REST架構(gòu)風(fēng)格。REST架構(gòu)由HTTP設(shè)計(jì)者之一Roy Thomas Fielding博士提出,它包含了客戶端-服務(wù)器、無(wú)狀態(tài)、緩存、統(tǒng)一接口、分層系統(tǒng)五個(gè)必要架構(gòu)約束和按需代碼一個(gè)可選架構(gòu)約束。REST的出現(xiàn)是為了降低Web應(yīng)用開(kāi)發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性和可維護(hù)性。

1.2Web服務(wù)成熟度模型

2008年,Leonard Richardson提出一個(gè)Web服務(wù)成熟度模型,該模型對(duì)于Web服務(wù)成熟度層級(jí)的劃分是基于Web服務(wù)對(duì)于Web技術(shù)的支持程度,它描述了四個(gè)層級(jí)的Web服務(wù),分別從第0層到第3層。第0層服務(wù)的特點(diǎn)是HTTP只是作為傳輸協(xié)議,基于SOAP 的Web服務(wù)就屬于第0層類(lèi)型的服務(wù)。第1層服務(wù)引入資源的概念,使用符合REST風(fēng)格的URI來(lái)標(biāo)識(shí)系統(tǒng)中的資源。第2層服務(wù)在第1層的基礎(chǔ)上,使用HTTP方法來(lái)作為操作資源的統(tǒng)一接口,通常是HTTP get、post、put、delete四個(gè)方法。同時(shí),屬于該層的服務(wù)還使用不同的狀態(tài)碼(Status Code)來(lái)區(qū)別服務(wù)器響應(yīng)的結(jié)果。第3層是目前Web服務(wù)設(shè)計(jì)的最理想狀態(tài)。這一層級(jí)的服務(wù)應(yīng)用HATEOAS(Hypermedia as the Engine of Application State)設(shè)計(jì)模式,即超媒體作為應(yīng)用狀態(tài)引擎。HATEOAS的運(yùn)用使得客戶端和服務(wù)器完全解耦,打破了客戶端和服務(wù)器之間嚴(yán)格的契約,使得客戶端更加智能和自適應(yīng),也讓服務(wù)的演化和更新更加簡(jiǎn)單方便。

1.3REST開(kāi)發(fā)框架

在眾多REST開(kāi)發(fā)框架中,主要分為兩類(lèi):一類(lèi)是按照J(rèn)AX-RS(Java API for RESTful Web Services)規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn)的,例如Jersey、Apache CXF和Apache Wink;另一類(lèi)是按照自定義方式實(shí)現(xiàn)的。例如Spring HATEOAS、Restlet和Django等。

Spring HATEOAS是Spring按照HATEOAS原則設(shè)計(jì)的,它提供了與Spring MVC共同開(kāi)發(fā)時(shí)方便創(chuàng)建REST表述的API,它能幫助開(kāi)發(fā)者更快地開(kāi)發(fā)最高成熟度的REST服務(wù)。由于Spring為各種業(yè)務(wù)領(lǐng)域和技術(shù)場(chǎng)景提供了一站式的解決方案,并與眾多開(kāi)源框架能夠方便整合。因此,鑒于開(kāi)發(fā)的一致性、簡(jiǎn)單性和服務(wù)的兼容性、可維護(hù)性,本平臺(tái)采用Spring進(jìn)行服務(wù)端的開(kāi)發(fā)。

2 電子村務(wù)平臺(tái)的需求建模

經(jīng)過(guò)對(duì)民興村村民和村委會(huì)的需求調(diào)研,確定平臺(tái)的目標(biāo)是提高村委會(huì)村務(wù)管理效率,為村民提供一站式的公共服務(wù),村民可以通過(guò)PC或手機(jī)就可以足不出戶地辦理業(yè)務(wù)和獲取資訊。具體地說(shuō),平臺(tái)需求主要包括以下:

(1)對(duì)于村民而言,他們可以通過(guò)網(wǎng)頁(yè)或手機(jī)在線辦理戶籍證明、申請(qǐng)報(bào)建、醫(yī)保社保等業(yè)務(wù),還可以瀏覽村委會(huì)公開(kāi)的各類(lèi)信息和新聞,此外,還可以向村委會(huì)進(jìn)行意見(jiàn)反饋。

(2)對(duì)于村委會(huì)而言,他們可以通過(guò)平臺(tái)為村民提供戶籍證明、報(bào)建申請(qǐng)、醫(yī)保社保等各類(lèi)業(yè)務(wù)的在線辦理。此外,村委會(huì)可以通過(guò)平臺(tái)發(fā)布財(cái)務(wù),計(jì)生、宣傳、農(nóng)業(yè)等各類(lèi)信息和熱點(diǎn)新聞,以及推送重要的信息到村民手機(jī)。

(3)村委會(huì)可以發(fā)布公眾投票,從而村民通過(guò)PC和手機(jī)可以進(jìn)行無(wú)記名投票。

平臺(tái)的用例模型如圖1所示。

圖1 用例模型

3 電子村務(wù)平臺(tái)的設(shè)計(jì)

3.1總體架構(gòu)設(shè)計(jì)

平臺(tái)的客戶端包括PC(瀏覽器)和Android手機(jī)端,兩類(lèi)客戶端共享同一個(gè)服務(wù)端,使用HTTP的方法進(jìn)行資源操作的請(qǐng)求。由于REST的應(yīng)用,請(qǐng)求將方法信息和作用域信息封裝在URI里。服務(wù)端的構(gòu)建采用分層體系。平臺(tái)的總體架構(gòu)如圖2所示。

圖2 總體架構(gòu)

3.2基于REST的服務(wù)端設(shè)計(jì)

(1)數(shù)據(jù)集規(guī)劃。平臺(tái)主要有以下數(shù)據(jù):用戶賬戶、醫(yī)保賬戶、社保賬戶、戶籍證明、報(bào)建申請(qǐng)、村民反饋、村委信息、熱點(diǎn)新聞、商業(yè)合同、投票等。

(2)資源規(guī)劃。根據(jù)需求信息和數(shù)據(jù)集,設(shè)計(jì)平臺(tái)的資源,并考慮客戶端在交互過(guò)程中可能的資源轉(zhuǎn)移過(guò)程,從而設(shè)計(jì)狀態(tài)轉(zhuǎn)移圖。表1列出電子村務(wù)平臺(tái)的資源。圖3展示了辦理戶籍證明的資源狀態(tài)轉(zhuǎn)移的過(guò)程。

(3)接口的設(shè)計(jì)。基于REST架構(gòu)的Web服務(wù)采用HTTP的統(tǒng)一接口進(jìn)行資源操作。然而,對(duì)于每一個(gè)資源并不一定需要實(shí)現(xiàn)所有的HTTP方法。一般根據(jù)資源狀態(tài)轉(zhuǎn)移圖,將每一次引起資源狀態(tài)轉(zhuǎn)移的事件抽象為一次資源操作。

(4)資源的表述。資源的狀態(tài)在客戶端和服務(wù)端之間交互時(shí)可以采用多種格式進(jìn)行表述。在本平臺(tái)中,由于網(wǎng)頁(yè)前端采用了AJAX技術(shù)以及Android客戶端的使用,因此統(tǒng)一采用JSON作為資源表述格式。

(5)服務(wù)端返回狀態(tài)碼設(shè)計(jì)。REST風(fēng)格的Web服務(wù)需要使用不同狀態(tài)碼來(lái)區(qū)分響應(yīng)結(jié)果,從而客戶端可以通過(guò)狀態(tài)碼清晰地了解響應(yīng)的含義。例如,客戶端可能會(huì)創(chuàng)建一個(gè)已經(jīng)存在的村民賬戶,從服務(wù)角度來(lái)說(shuō),這是修改已有賬戶卻未提供任何授權(quán)信息的請(qǐng)求,這時(shí)服務(wù)端應(yīng)該返回狀態(tài)碼409(沖突),而不是表示未授權(quán)的狀態(tài)碼401。這樣客戶端才能不被響應(yīng)代碼困惑。

表1 電子村務(wù)平臺(tái)資源

圖3 辦理戶籍證明資源狀態(tài)轉(zhuǎn)移過(guò)程

4 電子村務(wù)平臺(tái)的實(shí)現(xiàn)

4.1電子村務(wù)平臺(tái)服務(wù)端的實(shí)現(xiàn)

構(gòu)建HATEOAS約束的REST服務(wù),需要在服務(wù)端的響應(yīng)表述中添加動(dòng)態(tài)鏈接信息,從而客戶端可以通過(guò)鏈接來(lái)發(fā)現(xiàn)可以觸發(fā)狀態(tài)轉(zhuǎn)換的動(dòng)作。而Spring HATEOAS則提供了簡(jiǎn)便的機(jī)制來(lái)實(shí)現(xiàn)。將資源表述類(lèi)繼承ResourceSupport類(lèi),可以方便地添加資源鏈接以及關(guān)系,這是通過(guò)Link對(duì)象實(shí)現(xiàn)的,它由rel(關(guān)系)屬性和href(超鏈接)屬性構(gòu)成。

Spring MVC中的控制器在創(chuàng)建單個(gè)資源的鏈接時(shí)都是通過(guò)硬編碼的方式實(shí)現(xiàn)的,這是不符合HATEOAS約束的。Spring HATEOAS通過(guò)ControllerLinkBuilder類(lèi)的linkTo方法,先指定Spring MVC控制器的Java類(lèi),再通過(guò)slash方法來(lái)找到下一級(jí)的路徑,最后生成具有rel屬性值(如self)的鏈接。在使用Controller-LinkBuilder生成鏈接時(shí),除了可以使用控制器類(lèi)之外,還可以通過(guò)methodOn方法來(lái)使用控制器類(lèi)中包含的方法。以村民資源表述類(lèi)VillagerResource為例,表2給出了該類(lèi)的代碼。

除了通過(guò)Spring MVC的控制器來(lái)創(chuàng)建資源鏈接,Spring HATEOAS還提供了從模型類(lèi)中創(chuàng)建鏈接的機(jī)制。通過(guò)在控制器類(lèi)中添加@ExposesResourceFor注解聲明需要暴露的模型類(lèi),如使用@ExposesResourceFor (Villager.class)即可暴露村民類(lèi)。之后需要在Spring MVC的配置類(lèi)中添加@EnableEntityLinks注解來(lái)啟用實(shí)體鏈接(EntityLinks)功能。在需要?jiǎng)?chuàng)建鏈接的控制器中,通過(guò)依賴(lài)注入的方式添加對(duì)EntityLinks的引用,就可以使用EntityLinks的linkToSingleResource方法創(chuàng)建指向單個(gè)資源的鏈接。

表2 VillagerResource類(lèi)

Rel("villager");this.add(linkTo(methodOn(VillagerRestController.class,userId).readVillager(userId).withSelfRel();}

4.2電子村務(wù)平臺(tái)客戶端的實(shí)現(xiàn)

電子村務(wù)平臺(tái)的客戶端有網(wǎng)頁(yè)端和Android終端。其中,網(wǎng)頁(yè)端采用Bootstrap和jQuery框架進(jìn)行開(kāi)發(fā)。Bootstrap的使用可以讓網(wǎng)頁(yè)適配不同屏幕大小的終端設(shè)備。客戶端的一些運(yùn)行界面如圖4和圖5所示。

5 結(jié)語(yǔ)

電子村務(wù)平臺(tái)以村民為核心進(jìn)行需求建模,保證平臺(tái)的實(shí)用性。平臺(tái)采用REST式的Web服務(wù)架構(gòu),使不同客戶端可以共享同一后臺(tái)。平臺(tái)服務(wù)的設(shè)計(jì)滿足HATEOAS約束,使得客戶端和服務(wù)端之間變成松耦合,業(yè)務(wù)和邏輯相關(guān)的變化將被限制在服務(wù)端內(nèi),從而簡(jiǎn)化客戶端開(kāi)發(fā)和演化,提高平臺(tái)的擴(kuò)展性、可維護(hù)性。這為目前農(nóng)村不成熟的應(yīng)用場(chǎng)景提供了良好的解決方案。

圖4 戶籍證明辦理網(wǎng)頁(yè)端界面

圖5 戶籍證明辦理Android手機(jī)端界面

參考文獻(xiàn):

[1]盧義.重慶市榮昌縣農(nóng)村電子政務(wù)研究[D].重慶大學(xué),2014.

[2]王鳳云.電子村務(wù)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[J].山東農(nóng)業(yè)科學(xué),2014,46(5):18-25.

[3]王宏禹.新農(nóng)村電子村務(wù)的構(gòu)建[J].江西農(nóng)業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2009,8(2):72-75.

[4]夏露.農(nóng)村電子政務(wù)的功能與建設(shè)內(nèi)容[J].湖北農(nóng)業(yè)科學(xué),2013,52(21):5354-5357.

[5]楊倩茹,黃夢(mèng)醒,萬(wàn)兵.基于云計(jì)算的農(nóng)村電子政務(wù)架構(gòu)研究[J].計(jì)算機(jī)與數(shù)字工程,2011,39(10):25-29.

[6]周海瓊.新農(nóng)村電子政務(wù)系統(tǒng)構(gòu)建的研究[D].華中師范大學(xué),2008.

Electronic village not only helps narrow digital gap between urban and rural area,but also benefits the problem-solving of agriculture,countryside and peasants.The proposed E-village platform based on REST models requirements of villagers live in Minxing Village,Guangzhou City.Web service satisfying HATEOAS constraint is adopted to design the server side of platform.In this way,backend can be shared by web page and android,and it breaks the strict contract between client and server,which makes platform more extensible and maintainable.

Keywords:

REST;Electronic Village;Web Service;HATEOAS

Design and Implementation of E-village Platform Based on REST

LI Bin-feng,CHEN Jian-guo,ZHU Ming-min
(College of Mathematics and Informatics,South China Agricultural University,Guangzhou 510642)

Abstract:

電子村務(wù)有利于縮小城鄉(xiāng)數(shù)字鴻溝,幫助解決三農(nóng)問(wèn)題。基于REST架構(gòu)的電子村務(wù)平臺(tái)對(duì)廣州市民興村的需求進(jìn)行建模。電子村務(wù)平臺(tái)基于REST架構(gòu),服務(wù)端的設(shè)計(jì)滿足HATEOAS約束,不僅使網(wǎng)頁(yè)端和Android端可以共享同一后臺(tái),還打破客戶端和服務(wù)端之間嚴(yán)格的契約,從而使平臺(tái)具備良好的擴(kuò)展性、可維護(hù)性。

文章編號(hào):1007-1423(2016)15-0061-05

DOI:10.3969/j.issn.1007-1423.2016.15.015

作者簡(jiǎn)介:

李彬峰(1991-),男,廣東梅州人,碩士研究生,中級(jí)工程師,研究方向?yàn)楣芾硇畔⑾到y(tǒng)

陳建國(guó)(1963-),男(漢族),湖南岳陽(yáng)人,教授,研究方向?yàn)楣I(yè)工程

朱明敏(1992-)年11月,男,安徽安慶人,碩士研究生,研究方向?yàn)楣I(yè)工程

收稿日期:2016-03-27修稿日期:2016-05-10

猜你喜歡
資源服務(wù)
讓有限的“資源”更有效
基礎(chǔ)教育資源展示
一樣的資源,不一樣的收獲
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
資源回收
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
主站蜘蛛池模板: 国产你懂得| 国产亚洲高清在线精品99| 美女内射视频WWW网站午夜 | 国产综合日韩另类一区二区| 四虎永久免费地址| 日本在线视频免费| 国产女人在线| a级毛片在线免费| 激情亚洲天堂| 尤物在线观看乱码| 五月婷婷导航| 欧美成人a∨视频免费观看| 欧美不卡在线视频| 国产成人亚洲毛片| 日韩a级毛片| 日韩欧美91| 福利视频久久| 91福利在线观看视频| 国产日韩精品一区在线不卡| 丝袜高跟美脚国产1区| 国产日韩丝袜一二三区| 国产成人精品视频一区视频二区| 久久婷婷五月综合色一区二区| 亚洲妓女综合网995久久| 亚洲精品自产拍在线观看APP| 在线看国产精品| 91成人在线免费视频| 欧美一级色视频| 欧美色图久久| 91久久偷偷做嫩草影院| 国产福利一区二区在线观看| 欧美成人午夜影院| 久久综合九九亚洲一区| 国产呦精品一区二区三区下载| 中文字幕在线看| 日本色综合网| 国产毛片片精品天天看视频| 久久国产亚洲偷自| 国产精品手机在线观看你懂的| 欧美成人h精品网站| jizz亚洲高清在线观看| 露脸真实国语乱在线观看| 最新无码专区超级碰碰碰| 亚洲国产成人久久77| 呦系列视频一区二区三区| 亚洲系列无码专区偷窥无码| 日本三级欧美三级| 久久精品嫩草研究院| 国产成人一区免费观看| 日韩色图区| 自拍欧美亚洲| 亚洲首页在线观看| 伊人天堂网| 欧美啪啪视频免码| 欧美国产日韩在线播放| 国产第八页| 国产成人综合亚洲欧洲色就色| 在线看免费无码av天堂的| 视频二区欧美| 激情综合五月网| 久久精品66| 国产日韩丝袜一二三区| 香蕉久久国产精品免| 国产精品美女网站| 久久久波多野结衣av一区二区| 九九免费观看全部免费视频| 国产成人91精品免费网址在线| 亚洲欧洲日韩综合| 欧美午夜视频在线| 国产www网站| 日韩在线视频网站| 久久青草视频| 国产一区二区丝袜高跟鞋| 福利一区三区| 久久精品亚洲专区| 国产手机在线观看| 亚洲欧洲日韩久久狠狠爱| 91色国产在线| 国产精品免费p区| 在线国产综合一区二区三区| 香蕉精品在线| 一本久道久久综合多人|