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/95622
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor李允中zh_TW
dc.contributor.advisorJonathan Leeen
dc.contributor.author蔡智冠zh_TW
dc.contributor.authorChih-Kuan Tsaien
dc.date.accessioned2024-09-15T16:09:22Z-
dc.date.available2024-09-16-
dc.date.copyright2024-09-14-
dc.date.issued2024-
dc.date.submitted2024-08-12-
dc.identifier.citationJava 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.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/95622-
dc.description.abstract近年來,由於微服務架構的模組化設計、去中心化管理、獨立部署以及明確的邊界等特性,它已成為構建大型、複雜應用程序的流行選擇。然而,從單體服務架構轉換為微服務架構需要大量的人力和時間。因此,自動化構建微服務可以大大節省這方面的開銷。要成功地將單體服務架構拆分為定義明確的微服務架構,必須清晰地界定微服務之間的邊界,以符合微服務的設計初衷。此外,許多人在網絡上分享和開源自己的專案,這些大量的開源專案對我們來說是寶貴的資料來源。因此,本論文將著重於拆解網絡上開源的單體服務架構專案,並根據服務性質將其重新組裝成多個微服務。zh_TW
dc.description.abstractIn 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.provenanceSubmitted by admin ntu (admin@lib.ntu.edu.tw) on 2024-09-15T16:09:21Z
No. of bitstreams: 0
en
dc.description.provenanceMade available in DSpace on 2024-09-15T16:09:22Z (GMT). No. of bitstreams: 0en
dc.description.tableofcontentsVerification 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.isoen-
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.subjectMicroserviceen
dc.subjectService Componenten
dc.subjectService Decouplingen
dc.subjectAutomatic Code Generationen
dc.subjectRepack Web Applicationen
dc.subjectWeb Serviceen
dc.title基於 Java 的開源專案自動建構微服務zh_TW
dc.titleAuto-Build Microservices from Java-Based Open-Source Projectsen
dc.typeThesis-
dc.date.schoolyear112-2-
dc.description.degree碩士-
dc.contributor.oralexamcommittee劉立頌;林楚迪;李文廷;郭忠義zh_TW
dc.contributor.oralexamcommitteeAlan Liu;Chu-Ti Lin;Wen-Tin Lee;Jong-Yih Kuoen
dc.subject.keyword服務元件,網路服務,網路應用程式重組,微服務,程式碼生成,解耦服務,zh_TW
dc.subject.keywordService Component,Web Service,Repack Web Application,Microservice,Automatic Code Generation,Service Decoupling,en
dc.relation.page45-
dc.identifier.doi10.6342/NTU202404079-
dc.rights.note同意授權(全球公開)-
dc.date.accepted2024-08-14-
dc.contributor.author-college電機資訊學院-
dc.contributor.author-dept資訊工程學系-
dc.date.embargo-lift2029-08-08-
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-112-2.pdf
  此日期後於網路公開 2029-08-08
7.93 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