TWI607322B - System interface automatic generation system and method - Google Patents

System interface automatic generation system and method Download PDF

Info

Publication number
TWI607322B
TWI607322B TW104110622A TW104110622A TWI607322B TW I607322 B TWI607322 B TW I607322B TW 104110622 A TW104110622 A TW 104110622A TW 104110622 A TW104110622 A TW 104110622A TW I607322 B TWI607322 B TW I607322B
Authority
TW
Taiwan
Prior art keywords
interface
system interface
automatic generation
interfaces
service
Prior art date
Application number
TW104110622A
Other languages
English (en)
Other versions
TW201636874A (zh
Inventor
Guan Ting Lin
Chih Lung Liao
Original Assignee
Chunghwa Telecom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chunghwa Telecom Co Ltd filed Critical Chunghwa Telecom Co Ltd
Priority to TW104110622A priority Critical patent/TWI607322B/zh
Publication of TW201636874A publication Critical patent/TW201636874A/zh
Application granted granted Critical
Publication of TWI607322B publication Critical patent/TWI607322B/zh

Links

Landscapes

  • Stored Programmes (AREA)

Description

系統介面自動生成系統及方法
本發明係關於一種系統介面自動生成系統及方法,特別是關於一種可快速更新與同步各異質平台的系統介面自動生成系統及方法。
目前,API介面需人為手動撰寫,故針對各異質平台的API,開發人員必須多次重工,來更新與同步各異質平台的API,因此系統效能低落。
有鑑於上述習知技藝之問題,本發明之目的就是在提供一種系統介面自動生成系統及方法。
本發明之系統介面自動生成系統包含資料庫模組以及系統介面產生器。其中資料庫模組用以儲存介面規格資料;系統介面產生器包含模板引擎,用以自資料庫模組取得介面規格資料,並於解析介面規格資料後提供模板引擎產出系統介面。
本發明之系統介面自動生成方法包含下列步驟:以資料庫模 組儲存介面規格資料;以包含模板引擎的系統介面產生器,自資料庫模組取得介面規格資料;以及系統介面產生器解析該些介面規格資料後,提供該模板引擎產出複數個系統介面。
承上所述,依本發明之系統介面自動生成系統及方法,其可具有一或多個下述優點:
1.本發明使用CGLib代理技術,代理不具執行能力的介面,動態實作執行邏輯,達成介面規格等同系統介接API之目的,節省大量實作開發。
2.本發明使用樣板技術,透過樣板引擎與語法定義,配合資料庫內存放的API規格,以產生不同平台的介接API。
3.本發明提出的技術框架,可快速更新與同步各異質平台的API,達到快速發佈之目的,避免開發人員重工各異質平台的API。
100‧‧‧資料庫模組
101‧‧‧系統介面產生器
102‧‧‧網路服務客戶模組
1001‧‧‧介面規格資料
1010‧‧‧模板引擎
1011‧‧‧系統介面
1012‧‧‧系統介面
1013‧‧‧系統介面
104‧‧‧客戶
1040‧‧‧服務
103‧‧‧伺服器主機
1020‧‧‧溝通結果
301‧‧‧系統介面產生器
302‧‧‧資料庫模組
303‧‧‧模板引擎
304‧‧‧含狀態傳輸的網路服務系統介面
401‧‧‧網路服務客戶端
402‧‧‧動態代理伺服器
403‧‧‧服務實體
S201-S206‧‧‧步驟流程
第1圖係為本發明之系統介面自動生成系統之系統架構示意圖。
第2圖係為本發明之系統介面自動生成方法之流程圖。
第3圖係為本發明之系統介面自動生成系統之實施例示意圖。
第4圖係為本發明之系統介面自動生成系統之另一實施例示意圖。
請參閱第1圖,其係為本發明之系統介面自動生成系統之系 統架構示意圖。如圖所示,本發明之系統介面自動生成系統包含一資料庫模組100、一系統介面產生器101、以及一網路服務客戶模組102(Web Service Client),其中資料庫模組100用以儲存複數個介面規格資料1001;系統介面產生器101包含一模板引擎1010,用以自該資料庫模組100取得該些介面規格資料1001,並於解析該些介面規格資料1001後提供該模板引擎1010產出多數個系統介面1011、系統介面1012、系統介面1013(或稱應用程式介面,API)。在一個範例實施例中,該系統介面產生器101更封裝該些系統介面成為一表象化狀態轉變風格網路服務(Restful web service)之資料結構。而在另一個範例實施例中,本系統更包含一網路服務客戶模組102(Web Service Client),用以接收一客戶104根據該些系統介面所呼叫之一服務1040,並根據該服務1040呼叫一伺服器主機103與該些系統介面1011、系統介面1012、系統介面1013溝通,最後回傳一溝通結果1020至該客戶104以確認是否正確運作。
請參考第2圖,其係為本發明之系統介面自動生成方法之流程圖。本發明之系統介面自動生成方法包含下列步驟:S201:以一資料庫模組儲存複數個介面規格資料;S202:以一系統介面產生器,包含一模板引擎,自該資料庫模組取得該些介面規格資料;S203:該系統介面產生器解析該些介面規格資料後,提供該模板引擎產出複數個系統介面;S204:以一網路服務客戶(Web Service Client)模組接收一客戶根據該些系統介面所呼叫之一服務; S205:以該網路服務客戶模組根據該服務呼叫一伺服器主機與該些系統介面溝通;以及S206:以該網路服務客戶模組回傳一溝通結果至該客戶以確認是否正確運作。
請參考第3圖,其係為本發明之系統介面自動生成系統及方法之實施例示意圖。針對此發明之系統面向進行詳細步驟流程說明如下:系統介面產生器301(API Generator)取得資料庫模組302(API Meta Data)內介面規格;系統介面產生器301透過模板引擎303(Template Engine)配合介面樣板;系統介面產生器301產出特定平台的系統介面與對應資料結構,封裝含狀態傳輸的網路服務系統介面304(Restful web service)的輸入/輸出資料結構、方法介面;客戶端(Client)針對系統介面產生器301所產出之方法介面呼叫相對應之服務;藉由含狀態傳輸的網路服務動態代理介面實作呼叫邏輯;服務呼叫含狀態傳輸的介面(Rest API)與伺服器端(Server)進行溝通;以及客戶取得傳回值並且剖析服務是否正常運作。
自動化生成系統介面概念分為兩部分,一是自動化產生系統介面,另一是動態實作介面賦予介面實行能力。一是介面生成依據資料庫內存放的介面規格,透過模板引擎303(Template Engine)配合介面樣板,產出特定平台的系統介面與對應資料結構,封裝含狀態傳輸的網路服務系統 介面304(Restful web service)的輸入/輸出資料結構、方法介面,並且將資料庫模組302內存放的說明資訊輸出到系統介面上,以利後續文件之產出與友善開發者介接。另一是在運行動態代理系統介面(Runtime),針對介面所揭露的資訊,實作介面邏輯,將其轉換為含狀態傳輸的網路服務系統介面304所接受的HTTP/HTTPS協定呼叫。
介面自動產生的技術架構圖,如第3圖所示,資料庫模組302(API Meta Data)存放含狀態傳輸的網路服務系統介面304的網路服務類型、與其服務底下提供的方法、輸入參數、輸出參數、說明資訊。模板碼(Code Template)提出介面樣板、輸入資料結構樣板、輸出資料結構樣板,提供模板引擎303作為介面產生的介面樣板。系統介面產生器301解析Meta Data資訊,並挑選合適的樣板,利用模板引擎303生產出系統介面與輸入/輸出資料結構。
系統介面動態代理的技術架構圖,如第4圖所示,系統介接開發者取得自動產生的系統介面(API),透過網路服務客戶端401執行代理,觸發動態代理伺服器402(Dynamic Proxy)進行動態實作,並同時將憑證與連線資訊傳遞給動態實作的服務實體403。開發者取得動態代理程序,對此實作的執行呼叫,將透過代理機制往含狀態傳輸的網路服務系統介面進行呼叫,代理客戶端(Client)與伺服器端(Server)之間的資料交換通道,並包含客戶端(Client)與伺服器端(Server)的錯誤例外處理。
綜上所述,本發明之系統介面自動生成系統及方法明透過樣板引擎與語法定義,自動產生系統介面無須人為手動撰寫。本發明更使用CGLib(Code Generation Library)代理技術動態代理服務核心操作,且提出的 技術框架可快速更新與同步各異質平台的系統介面,達到快速發佈之目的,避免開發人員重工各異質平台的系統介面。本發明進一步在進行客戶端-伺服器端(client-server)呼叫時利用非同步呼叫處理機制能有效提升系統效能。
以上所述僅為舉例性,而非為限制性者。任何未脫離本發明之精神與範疇,而對其進行之等效修改或變更,均應包含於後附之申請專利範圍中。
S201-S206‧‧‧步驟流程

Claims (10)

  1. 一種系統介面自動生成系統,包含:一資料庫模組,用以儲存複數個介面規格資料;以及一系統介面產生器,包含一模板引擎,用以自該資料庫模組取得該些介面規格資料,並於解析該些介面規格資料後提供該模板引擎產出複數個系統介面。
  2. 如申請專利範圍第1項所述之系統介面自動生成系統,其中該系統介面產生器更封裝該些系統介面成為一表象化狀態轉變風格網路服務(Restful web service)之資料結構。
  3. 如申請專利範圍第1項所述之系統介面自動生成系統,其更包含一網路服務客戶(Web Service Client)模組,用以接收一客戶根據該些系統介面所呼叫之一服務。
  4. 如申請專利範圍第3項所述之系統介面自動生成系統,其中該網路服務客戶模組更根據該服務呼叫一伺服器主機與該些系統介面溝通。
  5. 如申請專利範圍第4項所述之系統介面自動生成系統,其中該網路服務客戶模組更回傳一溝通結果至該客戶以確認是否正確運作。
  6. 一種系統介面自動生成方法,包含:以一資料庫模組儲存複數個介面規格資料;以一系統介面產生器,包含一模板引擎,自該資料庫模組取得該些介面規格資料;以及該系統介面產生器解析該些介面規格資料後,提供該模板引擎產出複數個系統介面。
  7. 如申請專利範圍第6項所述之系統介面自動生成方法,其更包含下列步驟:以該系統介面產生器封裝該些系統介面成為一表象化狀態轉變風格網路服務(Restful web service)之資料結構。
  8. 如申請專利範圍第6項所述之系統介面自動生成方法,其更包含下列步驟:以一網路服務客戶(Web Service Client)模組接收一客戶根據該些系統介面所呼叫之一服務。
  9. 如申請專利範圍第8項所述之系統介面自動生成方法,其更包含下列步驟:以該網路服務客戶模組根據該服務呼叫一伺服器主機與該些系統介面溝通。
  10. 如申請專利範圍第9項所述之系統介面自動生成方法,其更包含下列步驟:以該網路服務客戶模組回傳一溝通結果至該客戶以確認是否正確運作。
TW104110622A 2015-04-01 2015-04-01 System interface automatic generation system and method TWI607322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW104110622A TWI607322B (zh) 2015-04-01 2015-04-01 System interface automatic generation system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104110622A TWI607322B (zh) 2015-04-01 2015-04-01 System interface automatic generation system and method

Publications (2)

Publication Number Publication Date
TW201636874A TW201636874A (zh) 2016-10-16
TWI607322B true TWI607322B (zh) 2017-12-01

Family

ID=57847665

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104110622A TWI607322B (zh) 2015-04-01 2015-04-01 System interface automatic generation system and method

Country Status (1)

Country Link
TW (1) TWI607322B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI767644B (zh) * 2021-04-01 2022-06-11 劉玉堂 透過設定資料結構與自動生成應用程式介面服務資訊的系統

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201347517A (zh) * 2011-12-30 2013-11-16 Intel Corp 用於網頁應用程式轉換器系統之設備及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201347517A (zh) * 2011-12-30 2013-11-16 Intel Corp 用於網頁應用程式轉換器系統之設備及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SJ,"淺談REST軟體架構風格(Part. I)-從了解REST到設計RESTful",http://blog.toright.com/posts/725/representational-state-transfer-%E8%BB%9F%E9%AB%94%E6%9E%B6%E6%A7%8B%E9%A2%A8%E6%A0%BC%E4%BB%8B%E7%B4%B9-part-i-%E5%BE%9E%E4%BA%86%E8%A7%A3-rest-%E5%88%B0%E8%A8%AD%E8%A8%88-restful%EF%BC%81.html, 2011/09/26 *

Also Published As

Publication number Publication date
TW201636874A (zh) 2016-10-16

Similar Documents

Publication Publication Date Title
US10678522B1 (en) Compiler and method for compiling business rules for a serverless runtime environment
CN109002362B (zh) 一种服务方法、装置、系统以及电子设备
US20170185507A1 (en) Processing special requests at dedicated application containers
WO2018036342A1 (zh) 基于csar的模型文件的可视化设计方法及装置
WO2020052548A1 (zh) 一种异构api适配处理方法、装置、设备及介质
US11474935B2 (en) Method and system for providing automated testing framework for service
US9317266B1 (en) Leveraging legacy applications for use with modern applications
CN106713469B (zh) 用于分布式容器的动态加载方法、装置及系统
US10891115B2 (en) Model configuration using partial model data
US11699073B2 (en) Network off-line model processing method, artificial intelligence processing device and related products
TW201504947A (zh) 一種跨平臺轉換應用代碼的方法及裝置
WO2015154474A1 (zh) 一种查询界面的生成方法及装置
US9762700B2 (en) Client-side aggregation of nested resource dependencies
TW201913361A (zh) 頁面更新方法和裝置
CN115509522A (zh) 面向低代码场景的接口编排方法、系统、电子设备
US9207956B2 (en) Class loading device for a java runtime environment, cluster system and method of executing a function
KR20130037995A (ko) 멀티테넌시를 지원하는 비즈니스 로직 설정방법
CN108153533B (zh) 制作安装程序的方法和装置、程序的安装方法和装置
TWI607322B (zh) System interface automatic generation system and method
CN108595656B (zh) 一种数据的处理方法及系统
CN111104122B (zh) 一种xml业务逻辑映射到java业务逻辑的方法
JP5574017B2 (ja) 情報処理装置、互換性評価方法、及びプログラム
US11347630B1 (en) Method and system for an automated testing framework in design pattern and validating messages
CN114925120A (zh) 保险业务信息查询方法及相关设备
CN106156339B (zh) 保单管理系统的访问方法、装置及系统