跳到主要內容

臺灣博碩士論文加值系統

(216.73.217.131) 您好!臺灣時間:2026/06/14 10:50
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:黃立維
研究生(外文):Li-Wei Huang
論文名稱:運用Express中介軟體框架設計非同步責任鏈網路服務之研究
論文名稱(外文):Design of Asynchronous Chain of Responsibility Web Services based on Express Middleware Framework
指導教授:陳英一陳英一引用關係
口試委員:郭斯彥陳俊良陳英一
口試日期:2017-05-23
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2017
畢業學年度:105
語文別:中文
論文頁數:70
中文關鍵詞:網路服務責任鏈非同步中介軟體Express
外文關鍵詞:Web ServiceChain of ResponsibilityAsynchronousMiddlewareExpress
相關次數:
  • 被引用被引用:0
  • 點閱點閱:182
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
前後端分離的概念興起,前端負責頁面資料塞入及各種動作處理,後端只負責傳輸頁面所需資料,如此一來網路服務變得非常講究,傳統的HTTP伺服器一個請求就開一個執行緒,如果遇到I/O等待會導致執行緒停滯浪費系統資源,
Node.js透過非同步的方式改善I/O等待的問題。
Node.js在HTTP服務上開發不易,很多HTTP的繁瑣動作需自行處理,Express框架的出現將程式開發簡單化,讓開發人員專注在邏輯上的開發,不用自己處理繁瑣的動作。
本研究應用Node.js搭配Express框架開發,先介紹Express框架的重要概念,並且透過這些概念發展高靈活性模組,在使用這些模組排列組合而成各個網路服務,最後使用壓力測試工具來測試這些網路服務,呈現Node.js在大量請求併發時的高效能處理情形。
The new concept is separate by front-end and back-end. The front-end part consists of front page and various of action interface. The back-end part consists of transfering of data. It makes web service very specific. The traditional HTTP server can only use one thread to activate one execution. If I/O needs to waiting, it will delay and waste the resources.
Node.js needs to use a asynchronous method to improve I/O waiting problem.
Node.ja is hard to develop on HTTP code. Many of HTTP code need to write by self. The Express module makes the coding simplified. It lets developers focus more on their logic code with much less distractions.
We need to investigate how to incorporate Node.js with Express concept. First, we need to understand how Express concept works. It is repeating use module, and we use this module to form web services. Lastly, we use pressure tools to test these web services. It will presemt how Node.js peforms in massive execution.
目錄
摘 要 i
ABSTRACT ii
誌 謝 iv
目錄 v
表目錄 vii
圖目錄 viii
第一章 緒論 1
1.1 研究背景 1
1.2 研究動機與目的 2
1.3 論文架構 3
第二章 相關研究與技術 4
2.1 前後端分離架構 4
2.1.1 AJAX技術 4
2.1.2 非同步技術 4
2.1.3 前後端分離介紹 5
2.2 Node.js 7
2.2.1 Node.js介紹 7
2.2.2 非阻塞式 I/O 8
2.2.3 事件驅動 8
2.2.4 效能比較 10
2.3 Express 13
2.3.1 Express介紹 13
2.3.2 路由 13
2.3.3 中介軟體 18
2.3.4 責任鏈 21
2.4 Sequelize 22
2.4.1 ORM 22
2.4.2 資料表設計 23
2.4.3 CRUD操作 24
2.4.4 資料表關聯 29
第三章 票券管理平台系統分析與設計 31
3.1 系統分析 31
3.1.1 需求分析 31
3.1.2 功能分析 34
3.1.3 流程分析 37
3.2 系統設計 38
3.2.1 模組設計 38
3.2.2 流程設計 46
3.2.3 架構設計 52
第四章 環境與系統建置 54
4.1 環境部屬 54
4.1.1 硬體環境建置 54
4.1.2 軟體環境建置 54
4.2 環境建置 55
4.2.1 開發環境建置 55
4.2.2 專案建置 58
4.3 系統建置成果 61
4.3.1 登入平台頁面 61
4.3.2 建立票券頁面 62
4.3.3 簡訊發送頁面 62
4.3.4 兌換頁面 64
4.3.5 查詢頁面 65
第五章 結論 67
參考文獻 69
[1] 愛貝斯網路,靜態網頁跟動態網頁的不同,https://www.ibest.com.tw/news/ins.php?index_id=45
[2] Wikipedia, Ajax, https://zh.wikipedia.org/wiki/AJAX
[3] G. T. Wang,網頁應用程式架構(Web Application Architectures)的發展趨勢,
https://blog.gtwang.org/programming/web-application-architectures/
[4] Sandro Pasquali, Mastering Node.js, Birmingham: Packt Publishing, 2013, pp. 185-189.
[5] Yi-Feng Xie,NodeJS新一代高效能網路開發框架,https://www.slideshare.net/xdxie/nodejs-15251110
[6] Jollen,Middleware 觀念解說,
http://www.jollen.org/blog/2013/11/expressjs-middleware.html
[7] Fraser Xu,深入理解Express.js,
https://fraserxu.me/2013/06/07/understanding-expressjs/
[8] 張銘翔,網站系統非同步處理機制之研究,碩士論文,清雲科技大學資訊工程所,桃園,98
[9] Duran 研究筆記,MVC 架構與說明,
https://dotblogs.com.tw/dog0416/2016/05/20/131644
[10] Hanin M. Abdullah and Ahmed M. Zeki, "Frontend and Backend Web Technologies in Social Networking Sites: Facebook as an Example," 3rd International Conference on Advanced Computer Science Applications and Technologies (ACSAT), Amman, Jordan, 2014, pp. 86-87
[11] Fillano,node.js簡介,http://ithelp.ithome.com.tw/articles/10075496
[12] 田永强,初探Node.js的異步I/O實現,
http://www.infoq.com/cn/articles/nodejs-asynchronous-io
[13] my dream fly on the sky,對于node.js的阻塞與非阻塞(優缺点)的理解,
http://7915791.blog.51cto.com/7905791/1613929
[14] Zida,Node.js的事件驅動模型,
http://www.edwardesire.com/2015/05/09/nodejs-event-model/
[15] G. T. Wang,Node.js 與 Java 在同時性資料處理應用程式上的差異比較,
https://blog.gtwang.org/programming/node-js-is-faster-than-java-for-concurrent-data-processing-operations/
[16] Evan M.Hahn, Express in Action, New York: Manning Pubns Co, 2016, pp. 53-85.
[17] Express官方文件,基本路由
http://expressjs.com/zh-tw/starter/basic-routing.html
[18] Express官方文件,中介軟體
http://expressjs.com/zh-tw/guide/writing-middleware.html
[19] Zhang Yueping, Li Yuefan and Xu Kesheng, "The Compound Pattern on the Chain of Responsibility and Observer," IFCSTA 09. International Forum on Computer Science-Technology and Applications, Chongqing, China, 2009, pp. 420
[20] BRYCES NOTE,ORM介紹及ORM優點、缺點,
http://blog.twbryce.com/what-is-orm/
[21] KohPoll,Sequelize 和 MySQL 對照,
https://segmentfault.com/a/1190000003987871
[22] YJ BLOG,NodeJS MySQL ORM module 實戰一:創建Table,
http://sj82516-blog.logdown.com/posts/789165/sequelize-nodejs-mysql-orm-module-to-share
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top