Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/74635
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor李允中(Jonathan Lee)
dc.contributor.authorHong-Yan Huangen
dc.contributor.author黃泓硯zh_TW
dc.date.accessioned2021-06-17T08:47:01Z-
dc.date.available2024-08-07
dc.date.copyright2019-08-07
dc.date.issued2019
dc.date.submitted2019-08-05
dc.identifier.citation[1] Angular. https://angular.io/.
[2] Apache ode. http://ode.apache.org/index.html.
[3] Github. https://github.com/.
[4] Github api. https://developer.github.com/v3/.
[5] Githut 2.0. https://madnight.github.io/githut/.
[6] Gradle build tool. https://gradle.org/.
[7] Hibernate. https://hibernate.org/.
[8] Java compiler api. https://docs.oracle.com/javase/8/docs/api/javax/tools/JavaCompiler.html.
[9] Java compiler tree api. https://docs.oracle.com/javase/8/docs/jdk/api/javac/tree/.
[10] Java reflection api. https://docs.oracle.com/javase/8/docs/technotes/guides/reflection/index.html.
[11] Javapoet. https://github.com/square/javapoet.
[12] Jdk compiler module. https://docs.oracle.com/javase/9/docs/api/jdk.compiler-summary.html.
[13] Jenkins. https://jenkins.io/.
[14] Oracle soa. https://www.oracle.com/middleware/technologies/soasuite.html.
[15] Play framework. https://www.playframework.com/.
[16] PrimeNG. https://www.primefaces.org/primeng/.
[17] Spring framework. https://spring.io/.
[18] P.-Y. Chen. Tailoring embedded web server for user interface components generation. Master’s thesis, National Taiwan University, 2019.
[19] B.-R. Chuang. Extracting wsdls from open source code. Master’s thesis, National Taiwan University, 2018.
[20] C. Ebert, G. Gallardo, J. Hernantes, and N. Serrano. Devops. IEEE Software, 33(03):94–100, may 2016.
[21] S.-W. Huang. Towards a solution to iot interoperability through reverse engineering. Master’s thesis, National Taiwan University, 2017.
[22] J. Lee, H.-W. Chen, and H.-Y. Huang. Analyzing the build-ability of open source java projects on github. In Taiwan Conference of Software Engineering 2019, 2019.
[23] C.-Y. Lu. Bpel engine refactoring for web services. Master’s thesis, National Taiwan University, 2019.
[24] J. Roche. Adopting devops practices in quality assurance. Commun. ACM, 56(11):38–43, Nov. 2013.
[25] J. M. Vara, V. de Castro, and E. Marcos. Wsdl automatic generation from uml models in a mda framework. In International Conference on Next Generation Web Services Practices (NWeSP’05), pages 6 pp.–, Aug 2005.
[26] J. Yang. Web service componentization. Commun. ACM, 46(10):35–40, Oct. 2003.
[27] J. Yang and M. P. Papazoglou. Web component: A substrate for web service reuse and composition. In A. B. Pidduck, M. T. Ozsu, J. Mylopoulos, and C. C. Woo, editors, Advanced Information Systems Engineering, pages 21–36, Berlin, Heidelberg, 2002. Springer Berlin Heidelberg.
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/74635-
dc.description.abstract服務組合技術可以將既存的服務進行組合以完成複雜的任務,然而缺乏足夠的服務可能會是此技術的一大難點,因此本研究提出了一個直接將Java的開放原始碼轉成網路服務的方法來解決此問題。
在本研究中,我們開發了一個DevOps流程來自動將Java的開放原始碼轉成網路服務,此流程包含以下步驟:自網路上擷取、建構、測試原始碼;從原始碼中解析出能作為服務的部分;辨識出運行服務所各自需要的原始碼;生成運行於網路伺服器端的程式碼;以及生成WSDL的文件用以描述生成的網路服務。為了要讓服務組合時也能生成對應的使用者介面,生成與網路服務對應的使用者介面元件的流程也會在本研究中進行討論。
zh_TW
dc.description.abstractService composition facilitates the reusability of existing service components to build web applications. However, lacking of service components imposes a major barrier for service composition. An approach to directly converting open source code into web services is necessitated in order to solve this issue.
In this work, a DevOps process is proposed to automatically generate web services from Java-based open source code with the following features: 1. crawling, building and testing open source projects, 2. analyzing and extracting services from source code, 3. identifying the dependencies of a service, 4. generating web-framework-dependent service components running on API servers to convert extracted services to web services, 5. generating WSDL documents for the generated services, and 6. generating and binding associated UI components for each web service.
en
dc.description.provenanceMade available in DSpace on 2021-06-17T08:47:01Z (GMT). No. of bitstreams: 1
ntu-108-R06922050-1.pdf: 5007656 bytes, checksum: 33be6167dd0569b502ab7e05c91f5242 (MD5)
Previous issue date: 2019
en
dc.description.tableofcontents誌謝.....................................................ii
摘要....................................................iii
Abstracts................................................iv
List of Figures..........................................ix
List of Tables...........................................xi
Chapter 1 Introduction....................................1
Chapter 2 Related Work....................................5
2.1 Background Work.......................................5
2.1.1 DevOps..............................................6
2.1.2 Parser..............................................6
2.1.3 Generator...........................................7
2.1.4 Web Framework.......................................8
2.1.5 Hibernate ORM.......................................8
2.2 Service Component.....................................9
Chapter 3 DevOps.........................................11
3.1 Service Components Generating Process................12
3.2 Architecture.........................................12
3.3 Interaction between Services and the BPEL Engine.....13
Chapter 4 Build-ability Analysis.........................18
4.1 Projects Collection..................................18
4.2 Building Process.....................................20
Chapter 5 Service Dependency Analysis....................22
5.1 Generating Dependency Graph..........................22
5.1.1 Program Element....................................23
5.1.2 Program Relation...................................23
5.2 Analyzing Dependency.................................25
Chapter 6 Source Code Parsing............................27
6.1 Requirement..........................................27
6.1.1 Parse Source Code into Data Models.................27
6.1.2 Extract Services from Source Code..................28
6.2 Architecture.........................................28
6.2.1 Main Parser........................................29
6.2.2 Code Parser........................................30
6.2.3 Data Model.........................................31
6.2.4 Output Model.......................................32
6.2.5 Input Handler......................................33
6.2.6 Output Handler.....................................34
Chapter 7 Service Code Generation........................35
7.1 Service Code Generator...............................35
7.1.1 Architecture.......................................36
7.1.2 Instance Handling..................................41
7.2 WSDL Generator.......................................41
Chapter 8 Query Component................................44
8.1 Architecture.........................................44
8.1.1 Database Manager...................................46
8.1.2 Model..............................................46
8.1.3 POJO Generator.....................................47
Chapter 9 User Interface Component Generation............48
9.1 Generating UICDL Specification Documents.............50
9.1.1 Architecture.......................................50
9.2 Matching UICDL Specification Documents with WSDL Documents................................................54
9.2.1 Architecture.......................................54
Chapter 10 Conclusion....................................57
Bibliography.............................................59
A Regular Expression Patterns............................61
dc.language.isoen
dc.title基於Java開源軟體的單元服務生成zh_TW
dc.titleAtomic Services Generation from Java-Based Open Source Softwareen
dc.typeThesis
dc.date.schoolyear107-2
dc.description.degree碩士
dc.contributor.oralexamcommittee鄭有進,劉立頌,徐國勛,薛念林
dc.subject.keyword服務元件,DevOps,網路服務,程式碼生成,WSDL生成,zh_TW
dc.subject.keywordService Component,DevOps,Web Service,Code Generation,WSDL Generation,en
dc.relation.page62
dc.identifier.doi10.6342/NTU201902584
dc.rights.note有償授權
dc.date.accepted2019-08-06
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-108-1.pdf
  目前未授權公開取用
4.89 MBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved