請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/74635
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 李允中(Jonathan Lee) | |
dc.contributor.author | Hong-Yan Huang | en |
dc.contributor.author | 黃泓硯 | zh_TW |
dc.date.accessioned | 2021-06-17T08:47:01Z | - |
dc.date.available | 2024-08-07 | |
dc.date.copyright | 2019-08-07 | |
dc.date.issued | 2019 | |
dc.date.submitted | 2019-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.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/74635 | - |
dc.description.abstract | 服務組合技術可以將既存的服務進行組合以完成複雜的任務,然而缺乏足夠的服務可能會是此技術的一大難點,因此本研究提出了一個直接將Java的開放原始碼轉成網路服務的方法來解決此問題。
在本研究中,我們開發了一個DevOps流程來自動將Java的開放原始碼轉成網路服務,此流程包含以下步驟:自網路上擷取、建構、測試原始碼;從原始碼中解析出能作為服務的部分;辨識出運行服務所各自需要的原始碼;生成運行於網路伺服器端的程式碼;以及生成WSDL的文件用以描述生成的網路服務。為了要讓服務組合時也能生成對應的使用者介面,生成與網路服務對應的使用者介面元件的流程也會在本研究中進行討論。 | zh_TW |
dc.description.abstract | Service 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.provenance | Made 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.iso | en | |
dc.title | 基於Java開源軟體的單元服務生成 | zh_TW |
dc.title | Atomic Services Generation from Java-Based Open Source Software | en |
dc.type | Thesis | |
dc.date.schoolyear | 107-2 | |
dc.description.degree | 碩士 | |
dc.contributor.oralexamcommittee | 鄭有進,劉立頌,徐國勛,薛念林 | |
dc.subject.keyword | 服務元件,DevOps,網路服務,程式碼生成,WSDL生成, | zh_TW |
dc.subject.keyword | Service Component,DevOps,Web Service,Code Generation,WSDL Generation, | en |
dc.relation.page | 62 | |
dc.identifier.doi | 10.6342/NTU201902584 | |
dc.rights.note | 有償授權 | |
dc.date.accepted | 2019-08-06 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-108-1.pdf 目前未授權公開取用 | 4.89 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。