[FLM] Genero的License授权

今天谈点轻松的,Genero的 License

Genero Package在销售上并不是如同 JAVA 般编译完成就无限使用。也不是跟过往 i4GL 一样购买一份授权就无限使用。它是一个商业软件,所以采行的管理规则较严格,用多少就需要买多少。本篇章不讨论售价,仅讨论种类与如何计价。

License 种类

Genero 在不同用途上比需安装,配置不同的 License。所有License都是程序起来时咬住,执行完成就放开。

授权必须注册咬住在安装路径上。举凡搬移路径、更换IP、更换CPU及主板等重要硬体设备,都会造成注册授权失效,必须通知授权中心重新进行授权,并注册。

一组正式的License,必须要有序号与金钥存在才能生效,如下方所示
https://ithelp.ithome.com.tw/upload/images/20210911/20051169DCxLw2CQAP.png

Runtime by seat License执行授权

Runtime by Seat(如上图)是 FourJs 最基本的授权。在此授权下,无法驱动编译工具(如 fglcomp、gsform等,但 fglform与 fgllink 仍可使用)。

执行时若 开启画面、或启动WEB Service、驱动extension package时 ,系统会依据客户端与位置(IP+PORT)的不同扣 U 数。扣到购买数量不足时,系统会提报『User Limited』显示用户数已满,需等待有人离线或增加 License。

也就是说,若同一台PC起多个客户端,且设定使用不同 port,则该电脑就会占用多组License。因此请特别关注用户的使用情况,以避免 License 在不预期的状况下浪费。

偶有发现使用时会微微超出购买量不等的状况,此为 FouJs的一种保护机制。系统对於部分网路较慢的环境时,为保障用户的足额使用权利,避免因为回收时间过久造成用户权益受损,会视情况容许超量 1-2U 应用。此部分不应在采购时列入估算,造成误解。

Runtime by CPU 执行授权

https://ithelp.ithome.com.tw/upload/images/20210912/200511693J09RjOp4o.png
功能与 Runtime by seat相同,只是计算上是用虚拟 CPU (vCore)来记述的。FourJs 的政策是vCore 有多少核就应该买足多少颗 CPU License。买齐了之後就可无上限的使用。

若购买的数量小於核心数,则计算时将以每个 License相等於 **『购买数量 25倍』processes 的 ** 折算方式进行。只是使用这种方式时,不存在缓冲区间。

Compiler/Development License编译授权

在此授权下,包含编译、执行、列印报表等所有事项均可执行。功能最齐全,但是售价也最高。由於编译的时间很短 (编译哦,不是开发) ,所以此类贵森森的License其实买一个全部人一起用也就可以了。
https://ithelp.ithome.com.tw/upload/images/20210912/20051169kfmCnMj5Hp.png
『可是执行Studio时可能一边编译、一边测试执行?』
那就要做好 License的配置与管理呀,只要在编译用的工具上附带 Compiler License就可以了。

FourJs License Managerment FLM套件,共享 License

如前段所说,一般安装後,都将Licesne直接设定於 FGL安装路径下。但这样对系统管理来说会非常痛苦。因为可能会有FGL升级、移位等需求,就会持续不断的申请重新注册。

且若临时想要切换使用主机,由於License被绑定在原主机上,就会很难处理 (要开放重新注册)。

因此建议采用 FLM 套件协助License的『管理与发配』。

安装後,即可在 FLM 上进行 License注册,然後再将FLM安装主机的 IP 与 FLM执行 port(预设为6399)提供到 AP主机上注册使用。多台主机或安装路径可以分享 FLM 上的License,使用完毕时License即退还 FLM 保管到分出。(如上方范例,都有带上 FLM Server IP 与 FLM通讯 PORT( default:6399)

License套件三兄弟:flmprg / fglWrt / greWrt

https://ithelp.ithome.com.tw/upload/images/20210912/20051169t3jWcwpL4u.png

若有使用 FLM套件,则要特别注意另外散在 FGL套件内的fglWrt ,与在 GRE套件中的 greWrt 两只工具。这三兄弟其实是一体的,当决定了之後,必须查看一下这三兄弟版本号是否一致。若不一致时要记得更正成为一致。

当不一致时,License服务会出现沟通异常失败的情况,造成系统无法使用。

三者要操作时,参数都是一致的,以 fglWrt 为例,简单说明一下操作参数

fglWrt -h
Usage  : fglWrt [options]
 -l          : 安装 License
 -v|-V       : 显示版本号
 -u          : 刷新线上操作人 (由FLM逐一发出确认指令,刷新使用列表)
 -a opt      : 带入下面参数列出系统现在讯息
               cpu          : 查看 CPU数量
               info license : 查看 License注册状况
               info stat    : 查看本机统计值
               info users   : 查看线上用户细节资料 (IP/PORT/MAC与执行程序等)
 -x, --kill-session pid : 删除指定 PID 占用license的状况

最多运用的就是 info license 与 info users,可简易查到现况用量。
https://ithelp.ithome.com.tw/upload/images/20210912/200511699K1PFrOFXB.png

License 使用宣告(设定档)

License若配置在 FLM 上做共享,则从 Genero 1.X 到 3.X 都需要在 FGLPROFILE中做对应的设定,

# Name of the machine where the licence service runs. This entry is
# mandatory if you want to use the license server.
#
flm.server = "<hostname>"
flm.service = 6399                    #使用通讯port (预设值)
flm.check = 10                        #每个用户最多被检查几次 (optional)
flm.ping = 5000                       #预设 3000ms (optional)
flm.license.number = "XXX#XXXXXXXX"   #License号码
flm.license.key = "XXXXXXXXXXXX"      #License金钥

配置可参考上方设定,将欲采用的 License 设定在单一的 fglprofile档案内,例如 fglprofile.cpu / fglprofile.dev 等等。提供用户操作或系统开发时使用。

透过仔细观察 License,进而就能掌握到用户的操作习惯,据以判断不好的地方予以改进。若有不足尽快采购补满,这样就容易维持系统可平顺被使用。

注:可指定环境变数 FGLPROFILE 指向所内含有需要使用的 fglprofile.X 档案


<<:  全端入门Day12_安装IDE

>>:  【Day 12】Python os._exit()和 sys.exit()

Day35 | WebView元件开发 - Webpack打包工具整合地雷陷阱排除

大家好,今天继续来开发元件,并动手解决实务上我们遇到的设定配置的问题。在昨天的练习里,我们可以使用b...

Day07 UIKit 06 - 在 Storyboard 上设计多页面

记得前面讲过,Storyboard 里面可以放置多个页面(ViewController),页面之间的...

连续 30 天 玩玩看 ProtoPie - Day 14

Focus In 跟 Focus Out 到底是什麽 今天终於要来看讲者解释 Focus Out 的...

[D19] placeholder for d11

写在前面 placeholder for d11 placeholder for d11 place...

【第13天】训练模型-优化器(Optimizer)

摘要 优化器演算法比较 1.1 浅谈优化器演算法 1.2 设计实验 1.3 函数设定 1.4 纪录学...