請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/84931
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 李允中(Jonathan Lee) | |
dc.contributor.author | Jun-Wei Huang | en |
dc.contributor.author | 黃俊維 | zh_TW |
dc.date.accessioned | 2023-03-19T22:33:23Z | - |
dc.date.copyright | 2022-08-31 | |
dc.date.issued | 2022 | |
dc.date.submitted | 2022-08-23 | |
dc.identifier.citation | [1] Document object model, [online] https://dom.spec.whatwg.org/. [2] Gradle, [online] https://gradle.org. [3] Javapoet, [online] https://github.com/square/javapoet. [4] Javascript object notation, [online] https://www.json.org/. [5] Spring boot, [online] https://docs.spring.io/spring-boot/docs/current/reference/html/. [6] Spring boot api, [online] https://docs.spring.io/spring-boot/docs/current/api/overview-summary.html. [7] Spring framework, [online] https://docs.spring.io/spring-framework/docs/4.3.x/spring-framework-reference/html/. [8] Ws-bpel 2.0, [online] http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html. [9] M.-H. Hsieh. Construct and bind user interface components. Master’s thesis, National Taiwan University, 2021. [10] P.-W. Hsieh. Build web applications with bpel. Master’s thesis, National Taiwan University, 2021. [11] H.-Y. Huang. Atomic services generation from java-based open source software. Mas-ter’s thesis, National Taiwan University, 2019. [12] K.-C. Kuo. Generate web frontend servers with ui components composition and navigation. Master’s thesis, National Taiwan University, 2022. [13] T.-C. Lu. Develop web applications through service components repacking. Master’s thesis, National Taiwan University, 2022. [14] W.-L. SHIH. Construct service components from java-based open source projects. Master’s thesis, National Taiwan University, 2022. [15] J.-J. YU. Construct service components from open source java projects. Master’s thesis, National Taiwan University, 2021. [16] J.-T. Zeng. Integrate user interface components with themes matchmaking. Master’s thesis, National Taiwan University, 2021. | |
dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/84931 | - |
dc.description.abstract | Web 應用程式伺服器提供對業務邏輯的訪問,供前端應用程式使用。為了使應用程式達到使用者需求,應用程式的過程邏輯需要被頻繁地修改,雖然程式開發者能夠直接在伺服器框架上編寫程式碼來修改業務邏輯,但是隨著應用程式的擴充,這仍然需要大量的人力和時間。對於其他企業或用戶,學習並使用伺服器框架的門檻很高,因此我們運用 BPEL (Business Process Execution Language) (業務過程執行語言) 來解決這個問題。BPEL 定義一組 Web 服務編排概念,用來表示服務元件之間的過程邏輯,包含循序、條件以及迭代邏輯,因此,Web 應用程式伺服器的過程可以用 BPEL 流程來表示。 本論文詳細說明如何根據 BPEL 流程和服務元件來自動產生一個完整的且可執行的 Java Spring Boot Web 應用程式伺服器,透過將 BPEL 流程轉換為語意相等的 Java 原始碼的方式,讓產生出來的應用程式伺服器按照 BPEL 流程控制這些服務元件,但不執行 BPEL。 | zh_TW |
dc.description.abstract | A Web application server provides access to business logic for use by front-end application programs. In order to make the application meet the user requirements, the business logic of the application programs needs to be modify frequently. Although software developers can directly modify the business logic with an application server framework, it still requires an enormous amount of human resources and time as the application program expands. For other enterprises or users, the threshold for learning and using application server frameworks is high. BPEL (Business Process Execution Language) can solve this problem, it defines a set of Web service orchestration concepts to represent the procedure logic between service components, including sequential, conditional, and iterative logic. Hence, the procedures of a Web application server can be represented with BPEL processes. This thesis discusses in detail how to automatically generate a complete executable Java Spring Boot Web application server with the orchestrated BPEL processes and service components. By converting the BPEL process to semantically equivalent Java source code, the generated application server controls the service components in accordance with the procedures of BPEL, but never executes BPEL. | en |
dc.description.provenance | Made available in DSpace on 2023-03-19T22:33:23Z (GMT). No. of bitstreams: 1 U0001-2308202212415500.pdf: 6276053 bytes, checksum: 8d266fb4708b238f100b3f0bb08c893e (MD5) Previous issue date: 2022 | en |
dc.description.tableofcontents | Contents 誌謝 ii 摘要 iii Abstracts iv List of Figures ix List of Tables xiii Chapter 1 Introduction 1 Chapter 2 Related Work 3 2.1 Ping-Wei’s Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chapter 3 BPEL Processes Generation 5 3.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 SUMDL (Service UI Mapping Description Language) . . . . . . . . . 7 3.3 Initial BPEL Process Generation Steps . . . . . . . . . . . . . . . . . 10 3.3.1 Compose Abstract Process List . . . . . . . . . . . . . . . . . 10 3.3.2 Compose Variable List . . . . . . . . . . . . . . . . . . . . . . 11 3.3.3 Compose Receive Activities . . . . . . . . . . . . . . . . . . . 11 3.3.4 Compose Init Method Sequence . . . . . . . . . . . . . . . . . 11 3.3.5 Compose Assign Activities for Service Argument . . . . . . . . 12 3.3.6 Compose Invoke And Reply Activities for Service . . . . . . . 12 3.4 Builder Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Chapter 4 BPEL Designer 15 4.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.3 Process of BPEL Processes Orchestration . . . . . . . . . . . . . . . . 16 Chapter 5 Application Server Generation 19 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.2 System Architecture of HTTP Version . . . . . . . . . . . . . . . . . 20 5.3 Web Application Description Languages . . . . . . . . . . . . . . . . 23 5.4 Interpreter Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.5 BEPL to Java Conversion . . . . . . . . . . . . . . . . . . . . . . . . 24 5.5.1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.5.2 Invoke Activity . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.5.3 Assign Activity . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.5.4 Reply Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.5.5 Sequential Activity . . . . . . . . . . . . . . . . . . . . . . . . 25 5.5.6 Conditional Activity . . . . . . . . . . . . . . . . . . . . . . . 26 5.5.7 Iterative Activity . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.5.8 Fault Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.6 Abstract Syntax Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.7 Layered Builder Design . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.8 Communication in HTTP Version . . . . . . . . . . . . . . . . . . . . 40 5.9 Class Loader Version . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.9.1 System Architecture of Class Loader Version . . . . . . . . . . 41 5.9.2 Database Configuration . . . . . . . . . . . . . . . . . . . . . 42 5.9.3 Communication in Class Loader Version . . . . . . . . . . . . 43 5.10 Microservice Version . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.10.1 System Architecture of Microservice Version . . . . . . . . . . 45 5.10.2 Microservice Invoker Generation . . . . . . . . . . . . . . . . . 46 5.10.3 Communication in Microservice Version . . . . . . . . . . . . . 46 Chapter 6 Conclusion 49 6.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Bibliography 52 | |
dc.language.iso | en | |
dc.title | 運用BPEL流程產生Web應用程式伺服器 | zh_TW |
dc.title | Generate Web Application Servers with BPEL Processes | en |
dc.type | Thesis | |
dc.date.schoolyear | 110-2 | |
dc.description.degree | 碩士 | |
dc.contributor.oralexamcommittee | 劉立頌(Alan Liu),薛念林(Nien-Lin Hsueh),李信杰(Shin-Jie Lee),馬尚彬(Shang-Pin Ma) | |
dc.subject.keyword | BPEL,抽象業務過程,BPEL 流程生成,Java 原始碼生成,抽象語法樹,網路應用程式伺服器, | zh_TW |
dc.subject.keyword | BPEL,Abstract Business Process,BPEL Process Generation,Java Source Code Generation,Abstract Syntax Tree,Web Application Server, | en |
dc.relation.page | 53 | |
dc.identifier.doi | 10.6342/NTU202202692 | |
dc.rights.note | 同意授權(限校園內公開) | |
dc.date.accepted | 2022-08-24 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
dc.date.embargo-lift | 2022-08-31 | - |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
U0001-2308202212415500.pdf 授權僅限NTU校內IP使用(校園外請利用VPN校外連線服務) | 6.13 MB | Adobe PDF | 檢視/開啟 |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。