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

為生成用戶界面元件而量身定做的嵌入式網頁伺服器

Tailoring Embedded Web Server for User Interface Components Generation

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

摘要


在服務導向架構領域,眾多研究著重在服務組合的系統和需求服務的配對上,然而較少研究強調使用者介面 (UI) 元件的生成和組合,譬如讓使用者可以透過網頁界面來呼叫經過組合完成的服務。這個方向的研究有兩大挑戰:如何依據服務的執行順序來生成適合的使用者界面,另外一個挑戰是如何在伺服器持續保證原本網路服務的情況下,載入新的服務和界面? 在本項研究中,我們提出了一個涵蓋嵌入式網路伺服器和 UI 組合引擎的 DevOps 系統,其包含了了生成圖形界面元件、組合界面元件、生成網頁應用和服務遞交的流程。實作的系統有兩個特色:UI 組合引擎依據業務過程執行語言 (BPEL) 和網路服務描述語言 (WSDL) 對 UI 元件劃分層級;另外一方面,基於 Jetty 的嵌入式網頁伺服器提供動態載入網路應用和服務元件的功能,且不同階段載入服務元件可以在伺服器中互相訪問。最後,本研究結果說明,該嵌入式伺服器的服務元件載入效能優於那些傳統的網頁伺服器。

並列摘要


In the field of Service-Oriented Architecture, efforts have been made on service composition and service matching, little emphasis has been put on user interface (UI) component generation and composition which enable users to invoke composite services by web browsers. Main challenges are two-fold: one is how to generate a graphical user interface that can correspond to the execution process in composite services, and the other is how to make services and UI be added to or removed from the running server without impacting to other resources. In this work, we propose a DevOps system that integrates embedded web servers and a UI composition engine, including UI component generation, UI component composition, web application generation and service delivering. There are two novel features in this work. One is the hierarchical UI compo- nents that are organized by the process in Business Process Execution Lan- guage (BPEL) and Web Service Description Language (WSDL). The other is the Jetty-based embedded web server which enables the system to dynami- cally load web applications and service components at runtime, and enables service components to access each other across packages. In the experiments, the research demonstrates the loading performance for service components is better than those of the traditional ones.

參考文獻


[1] Android intent. https://developer.android.com/reference/android/content/ Intent.html. Accessed: 2017-06-04.
[2] Dynamic component loader. https://angular.io/guide/ dynamic-component-loader.
[3] Npm. https://www.npmjs.com/.
[4] Primeng. https://www.primefaces.org/primeng/#/.
[5] Reactivex. http://reactivex.io/.

延伸閱讀