透過您的圖書館登入
IP:216.73.216.48
  • 學位論文

運用BPEL流程產生Web應用程式伺服器

Generate Web Application Servers with BPEL Processes

指導教授 : 李允中
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


Web 應用程式伺服器提供對業務邏輯的訪問,供前端應用程式使用。為了使應用程式達到使用者需求,應用程式的過程邏輯需要被頻繁地修改,雖然程式開發者能夠直接在伺服器框架上編寫程式碼來修改業務邏輯,但是隨著應用程式的擴充,這仍然需要大量的人力和時間。對於其他企業或用戶,學習並使用伺服器框架的門檻很高,因此我們運用 BPEL (Business Process Execution Language) (業務過程執行語言) 來解決這個問題。BPEL 定義一組 Web 服務編排概念,用來表示服務元件之間的過程邏輯,包含循序、條件以及迭代邏輯,因此,Web 應用程式伺服器的過程可以用 BPEL 流程來表示。 本論文詳細說明如何根據 BPEL 流程和服務元件來自動產生一個完整的且可執行的 Java Spring Boot Web 應用程式伺服器,透過將 BPEL 流程轉換為語意相等的 Java 原始碼的方式,讓產生出來的應用程式伺服器按照 BPEL 流程控制這些服務元件,但不執行 BPEL。

並列摘要


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.

參考文獻


[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/.

延伸閱讀