iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
Software Development

Genero Packages - 可接替4GL的LowCode商業語言系列 第 2

Genero Package 個別套件與板差簡介

FGL,Genero核心語言套件

Genero 1.X 版本時,僅有單薄的核心語法編譯、運行功能。畫面支持PER編譯格式
Genero 2.X 版本,納入Web Service模組 (GWS),安裝過程中改稱 FGLGWS模組
Genero 3.X 版本後,納入GIP(Genero Identity Provider身分識別功能提供) GBC(Genero Browser Client)等功能,套件改回FGL原名

安裝FGL套件後,基本核心程式的開發與運行即可以運作。接著就可以進行 Hello World! 的開發 (....License押後說明)

Genero套件依循4GL命名規則,Source Code副檔名須為 .4gl

MAIN
   DISPLAY "Hello World!"
END MAIN

撰寫或上傳 4gl 後,可以用 fglcomp 進行編譯 (License需切換為development模式)

Ithelp> fglcomp main

※ TIPTOP/T100用戶可直接使用 r.cs 指令完成編譯

Ithelp> fglrun main.42m
Hello World!

※ TIPTOP/T100用戶仍須使用 fglrun 執行,不可使用 r.r / r.r2 / exe2 等應用程式執行指令

GDC,Genero Desktop Client桌面運行工具

Genero可以類比為 Java 的運行模式。程式運行時,須先進行編譯,將4GL編譯為 P code,再以 fglrun (DVM)執行。因程式中包含『交談指令』,因此會向客戶端傳送 XML格式的AUI畫面資料樹。最後透過安裝於客戶端的 GDC 解譯出需要呈現的作業畫面。整體呈現方式,以圖表示:
https://ithelp.ithome.com.tw/upload/images/20210902/20051169OJyY3D13d0.png
因此若需要GDC作動,加入最簡易的交談指令MENU,則Hello World可改寫如下,執行結果參考上方圖示:

MAIN
   MENU "Hello World!"
       ON ACTION exit
          EXIT MENU
   END MENU
END MAIN

同類型的工具另有:GBC (Genero Browser Client) / GM (Genero Mobile Android/IOS) / GWC (Genero 1.X 版專供,2.X以後廢除)
GDC 在 3.20 板之前均提供 ActiveX 啟動版本,4.00板起,因微軟2021/05起已啟動ie終止,故不再提供activeX版

以下套件將採專章討論

GAS Genero應用程式服務器

能夠發布執行Genero程式的套件。支援獨立運行 (httpdispatch) 或在 Unix平台搭配 Apache (fastcgidispatch) / Windows平台搭配 IIS (isapidispatch) 執行。
Genero 3.X 版本後,增加 gasadmin 工具,可協助簡易配置 GBC、GAR與GIP套件

GRE / GRD 報表引擎與設計工具

完整的商業套件也會有對應的報表工具。從1.00版本開始支持PRINTX的類XML輸出;到2.50以後版本,可透過4GL轉生出報表RDD待印欄位挑選檔,再搭配 GRD 的所見即所得工具,拋入 GRE(Genero Report Engine) 報表引擎,即可產出對應報表。因RDD的鬆耦合結構,更可滿足一隻 4GL 應用程式對應多組需求報表使用

GST Genero Studio,IDE整合開發介面

FourJs 設計一套完整的引導式開發方案,透過樣板搭配資料庫框架,設定需求功能後,即可透過產生器 (BAM:Business Assembly Model) 快速產生需要的程式碼專案 (Project)。
因應畫面拖拉的需求,在GST中提供另一種報表原始碼格式 .4FD,須以 gsform 工具進行編譯。

FLM,FourJs License Manager授權管理工具

支持Genero運作,必須有授權。授權可安裝於FGL套件內,也可以多套FGL共享授權。若需要共享,則需要安裝FLM進行分享。


上一篇
Genero:源於4GL的低代碼開發平台(Low Code Development Platform)
下一篇
Genero Package 套件安裝與更新方法
系列文
Genero Packages - 可接替4GL的LowCode商業語言32

尚未有邦友留言

立即登入留言