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

基于OAUTH、OPENAPI、REST技術(shù)的快速開(kāi)發(fā)云平臺(tái)架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)

2016-10-21 16:49:51段玉龍
工業(yè)設(shè)計(jì) 2016年2期

段玉龍

摘 要:本文基于OAUTH、OPENAPI、REST等技術(shù)設(shè)計(jì)了一個(gè)快速開(kāi)發(fā)平臺(tái)框架,框架具有松耦合、高可擴(kuò)展性、開(kāi)發(fā)快速等特點(diǎn)。本平臺(tái)的主要優(yōu)勢(shì)在于:1.大規(guī)模系統(tǒng)拆分;2.OpenAPI在控制器層進(jìn)行設(shè)計(jì),同時(shí)采用REST風(fēng)格;3.界面調(diào)用OpenAPI采用JQuery的Ajax調(diào)用方式;4.可重用組件。

關(guān)鍵詞:OAUTH;OPENAPI;REST;開(kāi)放平臺(tái)

伴隨互聯(lián)網(wǎng)、智能手機(jī)技術(shù)的飛速發(fā)展,軟件行業(yè)也面臨著新的挑戰(zhàn)。傳統(tǒng)企業(yè)級(jí)軟件已經(jīng)轉(zhuǎn)變?yōu)樾∠到y(tǒng)集成的大規(guī)模軟件,傳統(tǒng)的先充分論證需求分析,然后按軟件工程的理論一步步按部就班的開(kāi)發(fā)模式已經(jīng)不適應(yīng)當(dāng)今軟件行業(yè)發(fā)展的速度了。另外,現(xiàn)今的軟件需求也變的越來(lái)越專業(yè)化、精細(xì)化,一個(gè)應(yīng)用或App只關(guān)注一個(gè)細(xì)節(jié)一個(gè)點(diǎn),一旦需求確認(rèn),需要在盡可能短的時(shí)間研發(fā)出來(lái)并上線,這樣才能更快的占有市場(chǎng),同時(shí)注意和使用用戶互動(dòng)、促進(jìn)用戶反饋意見(jiàn),然后在使用中迭代更新升級(jí)系統(tǒng),積累了一定用戶量后再逐步擴(kuò)展其他附帶功能。

這就要求我們開(kāi)發(fā)軟件模式需要從傳統(tǒng)軟件按部就班的開(kāi)發(fā)模式轉(zhuǎn)變?yōu)槊艚荨⒖焖俚牡_(kāi)發(fā)模式,敏捷快速不是單純的圖快,同時(shí)要兼顧系統(tǒng)的穩(wěn)定性、可擴(kuò)展性、魯棒性等各方面的性能的考慮,以便將來(lái)更好的迭代和擴(kuò)展。本文借鑒敏捷開(kāi)發(fā)、開(kāi)放平臺(tái)、OAUTH,REST等技術(shù),設(shè)計(jì)了一個(gè)快速開(kāi)發(fā)平臺(tái)框架:每個(gè)待開(kāi)發(fā)系統(tǒng)作為獨(dú)立子系統(tǒng)開(kāi)發(fā),最后集成到平臺(tái)中,提倡子系統(tǒng)專一化,一個(gè)子系統(tǒng)只干一件事,如果業(yè)務(wù)比較復(fù)雜則拆分為多個(gè)子系統(tǒng)開(kāi)發(fā);子系統(tǒng)直接通過(guò)開(kāi)發(fā)平臺(tái)技術(shù)通過(guò)OPENAPI相互調(diào)用,OPENAPI設(shè)計(jì)遵從RESTFUL風(fēng)格設(shè)計(jì),每個(gè)OPENAPI作為一個(gè)資源存在,調(diào)用使用HTTP協(xié)議,采用JSON格式傳遞數(shù)據(jù),這樣各子系統(tǒng)之間更具獨(dú)立性,耦合度更低,可擴(kuò)展性更強(qiáng);平臺(tái)本身已經(jīng)集成了基礎(chǔ)服務(wù)組件、日志組件、權(quán)限組件、認(rèn)證組件、調(diào)度組件、事務(wù)組件,待開(kāi)發(fā)系統(tǒng)只需要引入相應(yīng)的包并做簡(jiǎn)單的配置即可使用這些基礎(chǔ)組件,使開(kāi)發(fā)人員把主要精力集中在具體業(yè)務(wù)邏輯上。

1開(kāi)發(fā)平臺(tái)框架設(shè)計(jì)

本平臺(tái)的框架設(shè)計(jì)圖如圖1。

本文設(shè)計(jì)的快速開(kāi)發(fā)平臺(tái)以各子系統(tǒng)作為云服務(wù)單元,即系統(tǒng)開(kāi)發(fā)過(guò)程中的一個(gè)獨(dú)立項(xiàng)目,下面本文以一個(gè)類似淘寶網(wǎng)的小型購(gòu)物網(wǎng)站為例介紹下本平臺(tái)的具體設(shè)計(jì)和研發(fā)過(guò)程。

1.1 系統(tǒng)拆分

子系統(tǒng)的規(guī)模要適當(dāng),不要太大,如果待開(kāi)發(fā)的系統(tǒng)較大,對(duì)系統(tǒng)進(jìn)行拆分,使每個(gè)子系統(tǒng)只專注一項(xiàng)業(yè)務(wù),粒度要適中,保證每個(gè)子系統(tǒng)開(kāi)發(fā)簡(jiǎn)單高效。

本例中購(gòu)物網(wǎng)站系統(tǒng)規(guī)模較大,根據(jù)具體業(yè)務(wù),我們拆分為會(huì)員管理子系統(tǒng)、商品管理子系統(tǒng)、訂單子系統(tǒng)三個(gè)子系統(tǒng),其中支付和物流部分使用第三方平臺(tái)的Open API,每個(gè)子系統(tǒng)作為獨(dú)立工程研發(fā),可以分配不同研發(fā)人員進(jìn)行獨(dú)立研發(fā),而且每個(gè)子系統(tǒng)相對(duì)簡(jiǎn)單, 研發(fā)人員不必陷入復(fù)雜的業(yè)務(wù)邏輯上,大大提高了研發(fā)效率。如果需要調(diào)用其他子系統(tǒng)接口時(shí),使用Open API調(diào)用,如2.2節(jié)所述。

圖1 開(kāi)發(fā)平臺(tái)框架

1.2 子系統(tǒng)Open API設(shè)計(jì)與調(diào)用

每個(gè)子系統(tǒng)采用OPEN API為其他子系統(tǒng)或第三方系統(tǒng)提供接口,每個(gè)OPEN API使用RESTful風(fēng)格設(shè)計(jì),調(diào)用時(shí)使用HTTP協(xié)議調(diào)用,數(shù)據(jù)交換格式采用JSON格式。

下面以購(gòu)買商品為例說(shuō)明各子系統(tǒng)Open API的設(shè)計(jì)和調(diào)用過(guò)程,如圖2所示。首先調(diào)用認(rèn)證子系統(tǒng)登錄認(rèn)證(2.3節(jié)詳細(xì)介紹),然后調(diào)用商品管理子系統(tǒng)查詢商品API,選中要購(gòu)買的商品后,調(diào)用訂單子系統(tǒng)的購(gòu)買API,系統(tǒng)自動(dòng)調(diào)用會(huì)員管理子系統(tǒng)的獲得會(huì)員郵件地址信息API獲得郵寄地址信息,用戶選中或填寫(xiě)郵寄地址,調(diào)用訂單子系統(tǒng)的生成訂單API生成訂單,并置訂單狀態(tài)為未支付。用戶點(diǎn)擊支付按鈕,調(diào)用第三方支付系統(tǒng)如支付寶、網(wǎng)上銀行等,等待第三方系統(tǒng)返回結(jié)果,接收到支付成功結(jié)果后調(diào)用訂單子系統(tǒng)的修改訂單狀態(tài)API把訂單狀態(tài)置為已支付狀態(tài)。然后系統(tǒng)物流人員根據(jù)訂單調(diào)用第三方物流系統(tǒng)發(fā)貨,系統(tǒng)等待物流返回結(jié)果,接收到物流返回成功結(jié)果后調(diào)用訂單子系統(tǒng)的修改訂單狀態(tài)API把訂單狀態(tài)置為成功狀態(tài)。

圖2 購(gòu)買商品各子系統(tǒng)Open API調(diào)用流程

1.3 認(rèn)證子系統(tǒng)

認(rèn)證子系統(tǒng)已集成到框架中,為其他子系統(tǒng)或第三方系統(tǒng)提供認(rèn)證服務(wù),采用OAUTH技術(shù)實(shí)現(xiàn),如圖3為用戶訪問(wèn)會(huì)員管理子系統(tǒng)的認(rèn)證過(guò)程。

用戶訪問(wèn)會(huì)員管理子系統(tǒng),如查看個(gè)人資料等;系統(tǒng)自動(dòng)跳轉(zhuǎn)到認(rèn)證子系統(tǒng)的登錄頁(yè)面,提示用戶輸入用戶名密碼進(jìn)行授權(quán);用戶輸入用戶名密碼,由認(rèn)證子系統(tǒng)進(jìn)行密碼驗(yàn)證;驗(yàn)證成功后,認(rèn)證子系統(tǒng)會(huì)返回給會(huì)員管理子系統(tǒng)一個(gè)授權(quán)的令牌(Access Token),會(huì)員管理子系統(tǒng)或其他系統(tǒng)通過(guò)此令牌通過(guò)認(rèn)證子系統(tǒng)的Open API即可獲得用戶的基本信息。

圖3 獲取會(huì)員物流信息

1.4 權(quán)限子系統(tǒng)

權(quán)限子系統(tǒng)也已集成到框架中,為其他子系統(tǒng)或第三方系統(tǒng)提供權(quán)限管理服務(wù),采取RBAC模型(基于角色的訪問(wèn)控制)實(shí)現(xiàn),使用角色實(shí)現(xiàn)用戶和權(quán)限的邏輯分離。

各個(gè)子系統(tǒng)以O(shè)pen API的形式為其他系統(tǒng)提供調(diào)用,但不是任何系統(tǒng)或角色都可以隨便調(diào)用這些API的,需要具有一定的權(quán)限控制。如修改圖2中的修改訂單狀態(tài)接口對(duì)于普通會(huì)員是不開(kāi)放的,只針對(duì)后臺(tái)管理員有效。權(quán)限子系統(tǒng)已經(jīng)實(shí)現(xiàn)本功能,開(kāi)發(fā)人員只需在權(quán)限配置界面配置相應(yīng)的角色,及該角色受限訪問(wèn)的資源。

1.5 可重用基礎(chǔ)組件

基礎(chǔ)組件為子系統(tǒng)開(kāi)發(fā)提供一些常用的組件支持,子系統(tǒng)開(kāi)發(fā)時(shí)首先引入組件的jar包,然后在web.xml或Spring配置文件中引入相應(yīng)的配置即可使用組件,使用非常方便。

其中基礎(chǔ)服務(wù)組件提供對(duì)某數(shù)據(jù)模型的增刪改查操作的支持,和RESTFUL風(fēng)格中的四個(gè)HTTP動(dòng)作一一對(duì)應(yīng),開(kāi)發(fā)人員不需要再關(guān)心單個(gè)數(shù)據(jù)模型的增刪改查邏輯,只需要關(guān)心自己業(yè)務(wù)系統(tǒng)的復(fù)雜業(yè)務(wù)邏輯。日志組件提供系統(tǒng)對(duì)日志的支持等。

2 結(jié)語(yǔ)

本文基于OAUTH、OPENAPI等技術(shù)設(shè)計(jì)了一個(gè)快速開(kāi)發(fā)平臺(tái)框架,框架具有松耦合、高可擴(kuò)展性、開(kāi)發(fā)快速等特點(diǎn)。同時(shí)介紹了本平臺(tái)中的一些設(shè)計(jì)原則:大規(guī)模系統(tǒng)拆分;OpenAPI在控制器層進(jìn)行設(shè)計(jì),同時(shí)采用REST風(fēng)格;界面調(diào)用OpenAPI采用JQuery的Ajax調(diào)用方式;可重用組件。

參考文獻(xiàn):

[1] 朱蔚恒,周偉,龍舜.開(kāi)放平臺(tái)解決方案及其安全策略研究[J].計(jì)算機(jī)工程.2012(12):265-267.

[2] 時(shí)子慶,劉金蘭,譚曉華.基于OAuth2.0的認(rèn)證授權(quán)技術(shù)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用.2012(03):260-264.

[3] 丁波,晁愛(ài)農(nóng).基于Struts2框架的AJAX開(kāi)發(fā)研究[J].計(jì)算機(jī)工程與設(shè)計(jì).2009(16):3910-3913.

[4] 相方莉.云計(jì)算基礎(chǔ)設(shè)施中的性能瓶頸的識(shí)別和優(yōu)化[J].計(jì)算機(jī)系統(tǒng)應(yīng)用.2013(12):168-172.

[5] 李淑芝,劉鋒,楊書(shū)新.基于云仿真的Web服務(wù)選擇研究[J].計(jì)算機(jī)應(yīng)用研究.2013(04):1069-1071.

[6] 李小寧,李磊,金連文,等.基于OpenStack構(gòu)建私有云計(jì)算平臺(tái)[J].電信科學(xué).2012(09):1-8.

[7] 胡曉玲,強(qiáng)桂.基于云計(jì)算的教育技術(shù)實(shí)驗(yàn)平臺(tái)構(gòu)建——以3D MAX課程為例[J].實(shí)驗(yàn)技術(shù)與管理.2012(08):88-91.

[8] 羅國(guó)瑋,蘭瑞樂(lè).基于云計(jì)算的高校科研實(shí)驗(yàn)平臺(tái)構(gòu)建研究[J].實(shí)驗(yàn)技術(shù)與管理.2012(04):115-117.

[9] 馬少兵,馬自衛(wèi).數(shù)字圖書(shū)館私有云平臺(tái)的構(gòu)建研究和應(yīng)用開(kāi)發(fā)[J].現(xiàn)代圖書(shū)情報(bào)技術(shù).2011(04):9-16.

主站蜘蛛池模板: 欧美精品xx| 欧美亚洲日韩中文| 国产成人亚洲无吗淙合青草| 亚洲免费毛片| 色老二精品视频在线观看| 欧美亚洲第一页| 高清色本在线www| 亚洲国产日韩视频观看| 亚洲AV人人澡人人双人| 精品国产福利在线| 亚洲最猛黑人xxxx黑人猛交| 亚洲人成网址| 欧美区一区二区三| 亚洲男人的天堂在线| 免费jizz在线播放| 亚洲欧美日韩中文字幕在线| 日韩欧美国产综合| 精品小视频在线观看| 亚洲视频黄| 性欧美久久| 黄色网站在线观看无码| 国产女同自拍视频| 国产精彩视频在线观看| 成人午夜福利视频| 国产原创演绎剧情有字幕的| 色窝窝免费一区二区三区| 国产成人无码综合亚洲日韩不卡| 欧美一级高清片欧美国产欧美| 亚洲手机在线| 免费观看男人免费桶女人视频| 中文字幕天无码久久精品视频免费| 日韩国产亚洲一区二区在线观看| 久久国产精品夜色| 高清国产在线| 免费在线看黄网址| 波多野结衣中文字幕久久| 在线精品亚洲一区二区古装| 欧美在线综合视频| 一级毛片在线播放免费观看 | 婷婷99视频精品全部在线观看 | 好紧太爽了视频免费无码| 欧美日韩国产在线播放| 亚洲成肉网| 欧美精品亚洲精品日韩专区va| 毛片网站在线看| 久久亚洲日本不卡一区二区| 日本欧美精品| 国产成a人片在线播放| 国产精品蜜芽在线观看| 国产精品亚洲精品爽爽| 天天综合网色| 国产在线日本| 99在线视频免费观看| 精品久久香蕉国产线看观看gif| 国产大片黄在线观看| 一级成人a毛片免费播放| 久久综合亚洲鲁鲁九月天| 五月激情综合网| 亚洲日韩AV无码一区二区三区人 | 最新国产在线| 精品福利国产| 国产一级无码不卡视频| 色综合五月婷婷| 国产丰满成熟女性性满足视频| 依依成人精品无v国产| 久久天天躁狠狠躁夜夜2020一| 亚洲国产高清精品线久久| 亚洲精品日产精品乱码不卡| 亚洲av色吊丝无码| 国产尹人香蕉综合在线电影 | 黄色在线不卡| 最新加勒比隔壁人妻| 婷婷午夜天| 国产成人毛片| 欧美午夜在线播放| 国产精品lululu在线观看| 久久青草热| 国产男人天堂| 色哟哟国产精品一区二区| 超碰aⅴ人人做人人爽欧美| 三级国产在线观看| 亚洲日韩精品无码专区97|