請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/95622完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 李允中 | zh_TW |
| dc.contributor.advisor | Jonathan Lee | en |
| dc.contributor.author | 蔡智冠 | zh_TW |
| dc.contributor.author | Chih-Kuan Tsai | en |
| dc.date.accessioned | 2024-09-15T16:09:22Z | - |
| dc.date.available | 2024-09-16 | - |
| dc.date.copyright | 2024-09-14 | - |
| dc.date.issued | 2024 | - |
| dc.date.submitted | 2024-08-12 | - |
| dc.identifier.citation | Java reflection api. https://docs.oracle.com/javase/8/docs/technotes/guides/reflection/index.html.
Spring cloud. https://spring.io/projects/spring-cloud. Spring framework. https://spring.io/. Web service description language. https://www.w3.org/TR/wsdl.html. L.-S. Chen. From monolithic to microservice: A dependency decoupling approach. Master’s thesis, National Taiwan University, 2023. M.-H. Hsieh. Construct and bind user interface components. Master’s thesis, National Taiwan University, 2021. H.-Y. Huang. Atomic service generation from java-based open source software. Master’s thesis, National Taiwan University, 2019. S.-W. Huang. Towards a solution to iot interoperability through reverse engineering. Master’s thesis, National Taiwan University, 2017. P. Jaccard. Distribution de la flore alpine dans le bassin des dranses et dans quelques régions voisines. Bulletin de la Société Vaudoise des Sciences Naturelles, 1901 T.-C. Lu. Develop web applications through service components repacking. Master’s thesis, National Taiwan University, 2022. C. Malzer and M. Baum. A hybrid approach to hierarchical density-based cluster selection. In 2020 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI)., 2020. S. Newman. Building Microservices: Designing Fine-Grained Systems. O’Reilly Media, 2015. P. J. Rousseeuw. Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 1987. W.-L. Shih. Construct service components from java-based open source projects. Master’s thesis, National Taiwan University, 2022. R. R. Yager. On ordered weighted averaging aggregation operators in multicriteria decisionmaking. IEEE Transactions on Systems, Man, and Cybernetics, 1988. J.-J. Yu. Construct service components from open source java projects. Master’s thesis, National Taiwan University, 2021. | - |
| dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/95622 | - |
| dc.description.abstract | 近年來,由於微服務架構的模組化設計、去中心化管理、獨立部署以及明確的邊界等特性,它已成為構建大型、複雜應用程序的流行選擇。然而,從單體服務架構轉換為微服務架構需要大量的人力和時間。因此,自動化構建微服務可以大大節省這方面的開銷。要成功地將單體服務架構拆分為定義明確的微服務架構,必須清晰地界定微服務之間的邊界,以符合微服務的設計初衷。此外,許多人在網絡上分享和開源自己的專案,這些大量的開源專案對我們來說是寶貴的資料來源。因此,本論文將著重於拆解網絡上開源的單體服務架構專案,並根據服務性質將其重新組裝成多個微服務。 | zh_TW |
| dc.description.abstract | In recent years, due to the modular design, decentralized management, independent deployment, and clear boundaries of microservices architecture, it has become a popular choice for building large and complex applications. However, transitioning from a monolithic architecture to a microservices architecture requires a significant amount of manpower and time. Therefore, automating the construction of microservices can greatly reduce these costs. To successfully split a monolithic architecture into well-defined microservices, it is essential to clearly define the boundaries between the services to align with the original design principles of microservices. Moreover, many people share and open source their projects on the internet, providing a valuable resource for us. Therefore, this thesis will focus on deconstructing open-source monolithic projects found online and reassembling them into multiple microservices based on the nature of their services. | en |
| dc.description.provenance | Submitted by admin ntu (admin@lib.ntu.edu.tw) on 2024-09-15T16:09:21Z No. of bitstreams: 0 | en |
| dc.description.provenance | Made available in DSpace on 2024-09-15T16:09:22Z (GMT). No. of bitstreams: 0 | en |
| dc.description.tableofcontents | Verification Letter from the Oral Examination Committee i
Acknowledgements ii 摘要 iii Abstract iv Contents vi List of Figures ix Chapter 1 Introduction 1 Chapter 2 Related Work 4 2.1 Background Work 4 2.1.1 Java Reflection API 4 2.1.2 JDK Compiler 4 2.1.3 Java Parser 5 2.1.4 ClassLoader 5 2.1.5 SootUp 5 2.1.6 Microservice 6 2.1.7 Spring Cloud Eureka 6 2.1.8 Spring Cloud Gateway 6 2.1.9 Spring Data JPA 7 2.1.10 Silhouette 7 2.1.11 OWA 7 2.2 Related Work 8 2.2.1 Java Code Parser 8 2.2.2 Reveal 8 2.2.3 Service Decomposition 8 2.2.4 Repack 9 Chapter 3 Service Decomposition 10 3.1 Service Decomposition 12 3.1.1 Source Code Parsing 12 3.1.2 Dependency Analysis 12 3.1.3 Extract Information 14 3.1.3.1 Map Info Evaluator 14 3.1.3.2 ResponseEntity Info Evaluator 16 3.1.3.3 Bean Container Singleton 19 3.1.4 Database Modeling 20 3.2 WSDL Generation 20 Chapter 4 Service Clustering 23 4.1 Dependency Repack 24 4.2 Service Clustering 25 4.2.1 Calculate Distance between Service Components 25 4.2.2 Clustering Algorithm 26 Chapter 5 Microservice Generation 29 5.1 Service Composition 29 5.1.1 Query dependencies & Model dependencies 30 5.1.2 Configure Javaparser & Attach model with AST & Clone the tree and remove the unnecessary node in the tree based on the information stored in the mode 30 5.1.3 Plugin Handler CoR to collect the needed configuration AST 31 5.1.4 Decoupling Microservices 31 5.1.4.1 Find and Break the relationships between Entity classes 32 5.1.4.2 Modify the repository approach 33 5.1.4.3 Create a Mediator class 34 5.1.4.4 Create API methods 35 5.1.5 Make the rewritten project be deployed on Spring Cloud Eureka 38 5.1.6 Write Project and Post Processing & Build project and zip 39 5.2 Deployment 39 Chapter 6 Conclusion 41 Chapter 7 Future Work 43 Bibliography 44 | - |
| dc.language.iso | en | - |
| dc.subject | 服務元件 | zh_TW |
| dc.subject | 解耦服務 | zh_TW |
| dc.subject | 程式碼生成 | zh_TW |
| dc.subject | 微服務 | zh_TW |
| dc.subject | 網路應用程式重組 | zh_TW |
| dc.subject | 網路服務 | zh_TW |
| dc.subject | Microservice | en |
| dc.subject | Service Component | en |
| dc.subject | Service Decoupling | en |
| dc.subject | Automatic Code Generation | en |
| dc.subject | Repack Web Application | en |
| dc.subject | Web Service | en |
| dc.title | 基於 Java 的開源專案自動建構微服務 | zh_TW |
| dc.title | Auto-Build Microservices from Java-Based Open-Source Projects | en |
| dc.type | Thesis | - |
| dc.date.schoolyear | 112-2 | - |
| dc.description.degree | 碩士 | - |
| dc.contributor.oralexamcommittee | 劉立頌;林楚迪;李文廷;郭忠義 | zh_TW |
| dc.contributor.oralexamcommittee | Alan Liu;Chu-Ti Lin;Wen-Tin Lee;Jong-Yih Kuo | en |
| dc.subject.keyword | 服務元件,網路服務,網路應用程式重組,微服務,程式碼生成,解耦服務, | zh_TW |
| dc.subject.keyword | Service Component,Web Service,Repack Web Application,Microservice,Automatic Code Generation,Service Decoupling, | en |
| dc.relation.page | 45 | - |
| dc.identifier.doi | 10.6342/NTU202404079 | - |
| dc.rights.note | 同意授權(全球公開) | - |
| dc.date.accepted | 2024-08-14 | - |
| dc.contributor.author-college | 電機資訊學院 | - |
| dc.contributor.author-dept | 資訊工程學系 | - |
| dc.date.embargo-lift | 2029-08-08 | - |
| 顯示於系所單位: | 資訊工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-112-2.pdf 此日期後於網路公開 2029-08-08 | 7.93 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
