[GAS] 启动配置档as.xcf设定详解

本篇主要在提供 as.xcf 内的一些设定点 (entry) 说明,提供设定时查找。至於哪一条目跟外部系统如何勾稽,我们在後续的专章中提供

在完成GAS的安装设定後,系统均附标准版的 as.xcf 供参考。

由於 as.xcf 设定上配置较多也较为繁杂,建议以 as.xcf 复制出来进行修改调整。(下列范例,以Genero3.20版本为主,各版本均有细微差异,请比对文件与安装时路径上的标准as.xcf进行比对阅读)

注意:XML格式容易配置失误,请特别注意原版本备份

As.xcf 可存放於任何路径,执行时以 -f 参数指定全路径执行即可。
※ TIPTOP/T100用户,配置档通常命名为 as-区域编号.xcf,用以对接不同执行区域,如 as-topprd.xcf

As.xcf采用XML格式,设定的根结点 (root node)为 CONFIGURATION下的APPLICATION_SERVER。并区分下列项目设定:

  • RESOURCE_LIST 设定GAS本体所需要的环境资源讯息,在部分特殊项目区分为WNT(Windows) / UNX (Unix, Linux系列平台),此处配置通常为提供後方设定时可用变数
  • COMPONENT_LIST 对个别的GAS组件进行设定,以便於下方APPLICATION依照id进行调用,通常可配置运行时全域变数、待命数量、启动与注销等
  • INTERFACE_TO_CONNECT 指定从连结器(如fasstcgidispatch / isapidispatch)呼叫回GAS/ GRE时配置。每一组独立启动的连结器均须有独立的配置CONNECT以避免冲突,如PORT_OFFSET 指定连结port,ADMIN_PORT 管理用通讯埠等参数。
  • INTERFACE_TO_DVM 可定义连接到下一阶的GAS服务器,若仅单阶,则定义为127.0.0.1
  • LOG 可配置GAS运行阶段LOG产出路径、纪录层级
  • MONITOR 系统提供GAS运行数据监控页面,可透过本段设定指定可阅读的IP区段
  • APPLICATION_LIST 设定有互动画面的执行作业环境,包含启动路径,程序等设定
  • SERVICE_LIST 设定背景服务、API执行路径或指定作业

以下分项目进行说明

  1. RESOURCE_LIST 区分平台的状况下,个别以RESOURCE节点进行参数设定,例如
<RESOURCE Id="res.fglgui" Source="INTERNAL">1</RESOURCE>
<RESOURCE Id="res.gwc-js" Source="INTERNAL">_default</RESOURCE>
<RESOURCE Id="res.gbc" Source="INTERNAL">$(res.gwc-js)</RESOURCE>
  1. COMPONENT_LIST 可以配置 WEB APPLICATION 组件设定,服务组件等。本区段为原则性设定,依照 id 配置好原则後,在下方的APPLICATION_LIST区段可以引用,并作微调修正
    1. WEB_APPLICATION_EXECUTION_COMPONENT 系统提供两组范例,透过范例可以了解在本区段内可设定FGLDIR,让GAS的DVM在不同的 Genero FGL版本下运行,也可个别配置 42m 档案的读取路径 (FGLLDPATH) 等

    2. SERVICE_APPLICATION_EXECUTION COMPONENT 与 WEB APP一样,可设定FGLDIR/GREDIR等Genero套件运作时需要的环境变数 (可以套用 RESOURCE_LIST指定的变数,参考下方范例)

<ENVIRONMENT_VARIABLE Id="FGLDIR">$(res.fgldir)</ENVIRONMENT_VARIABLE>
<ENVIRONMENT_VARIABLE Id="GREDIR">$(res.gredir)</ENVIRONMENT_VARIABLE>
<ENVIRONMENT_VARIABLE Id="PATH">$(res.path)</ENVIRONMENT_VARIABLE>

由於是SERVICE,故此处指定FGLGUI变数是无效的 (控制UI画面采用TEXT或Graphic),另外可增加待命process数量指定。

<POOL>
    <START>0</START>   <!-- 启动时自动带起数量 -->
    <MIN_AVAILABLE>0</MIN_AVAILABLE>     <!--最小保持数量,若此服务被呼叫频率高,建议保持 1以上 -->
    <MAX_AVAILABLE>1</MAX_AVAILABLE>    <!--最高配置数量,若未配置则以license数为准 -->
</POOL>

本处也可配置访问控制IP,设定後即采用为正面表列,列上的IP才可使用此资源

<ACCESS_CONTROL> 
        <ALLOW_FROM>127.0.0.1</ALLOW_FROM>
        <ALLOW_FROM>10.</ALLOW_FROM>             <!--支持部分 IP -->
        <ALLOW_FROM>fdbd:2768:c176:1::323a</ALLOW_FROM>   <!-- 支持 IPV6 格式 -->
</ACCESS_CONTROL>
  1. WEB_APPLICATION_TIMEOUT_COMPONENT 设定执行时,client端超过多长时间无回应,视为断线。范例中提供两组配置,包含正常运行与debug模式,以提供 APPLICATION_LIST/ SERVICE_LIST调用
<WEB_APPLICATION_TIMEOUT_COMPONENT Id="cpn.wa.timeout.sample">
  <USER_AGENT>300</USER_AGENT>
  <!-- client超过这个秒数未向服务器发出包含ping的任何讯息,视为断线。USER_AGENT需要参考客户现况配置,若配置时间过长,则操作人采不正常关闭方式时,license不会被释放,此时容易造成 License浪费。配置时间过短,则在网路回应较差时,容易造成作业异常中止。预设值为 300秒。 -->
  <REQUEST_RESULT>60</REQUEST_RESULT>
  <!-- 此设定在指定当服务器超过配置60秒未回应时,显示警告讯息 -->
  <DVM_AVAILABLE>10</DVM_AVAILABLE>
  <!-- 此配置在设定当GAS接获启动讯息,到DVM确认接手的最大延迟秒数。预设值10秒。若启动的 script 须调整执行一些耗时的作业时,配置应视情况放宽,以避免启动时异常 -->
</WEB_APPLICATION_TIMEOUT_COMPONENT>
  1. AUTO_LOGOUT_COMPONENT 配置当用户闲置超过指定时数时,要执行的作业
    30
    auto-logout-allowed.sh

  2. UA_OUTPUT_COMPONENT 配置应用作业执行时元素,也可引用上方已设定的环境。可在此处指定使用GBC路径
    mygbc

  3. SERVICE_APPLICATION_TIMEOUT_COMPONENT 配置服务超过多久视为断线

<DVM_AVAILABLE>10</DVM_AVAILABLE>   <!-- 与APPLICATION相同,设定 client端多长未回应秒数时,视为断线 -->
KEEP_ALIVE>360</KEEP_ALIVE>   <!-- 配置断线後,GAS端段硬的窗口存留时间,若较频繁被呼叫时,可配置较长时间 -->
<REQUEST_RESULT>60</REQUEST_RESULT>
  1. INTERFACE_TO_CONNECT 设定连结器 (如 fastcgidispatch) 与GAS本体的沟通参数,通常关注项目如下:
      <TCP_BASE_PORT>$(res.ic.base.port)</TCP_BASE_PORT>
      <!-- 设定GAS对外通讯使用的基底,并非实际使用 port,所以一般均维持在预设值 6300,实际使用port = base+offset ,也就是 6300+94 = port 6394为实际使用 -->
      <TCP_PORT_OFFSET>$(res.ic.port.offset)</TCP_PORT_OFFSET>  
<!-- 实际使用通讯埠的偏移值,T100 从 topprd到toppth分别对应94,95,96,97,另外保留 70 给web service运用 -->
      <TCP_ADMIN_PORT>$(res.ic.admin.port)</TCP_ADMIN_PORT>
<!-- 本条目由 Genero GAS 3.10版本开始增加,3.20版本後改为强制需要。主要在配置管理GAS介面时所需要使用的通讯埠,T100 从 topprd到toppth分别对应6999,7999,8999,9999,另外保留 5999 给web service运用 -->
      <GBC_LOOKUP_PATH>$(res.path.gbc.user);$(res.gbc.deployment);$(res.fgldir)/web_utilities/gbc</GBC_LOOKUP_PATH>
      <!-- 设定预设的GBC Genero Browser Client安装路径,若使用GASadmin 自动配置功能,则通常配置於 gbc.deployment 路径,本设定可以直接以绝对路径方式填写,或使用RESOURCE变数 -->
  1. APPLICATION_LIST GAS对外提供主要WEB APPLICATION设定,id 即为应用程序识别码,如下方范例,为继承 defaultwa 而来的gwc-demo,故组合後,可取得 WEB APPLICATION的路径即为 http://服务器IP:6394/ua/r/gwc-demo 其中 6394来自於INTERFACE_TO_CONNECT的6300(base)+94(offset) 而 /ua/r 为预设的wa 模式路径,再加上自己的 id 设定,即可由 GAS 转换为执行在 PATH 区段中指定的 MODULE 作业
 <APPLICATION Id="gwc-demo" Parent="defaultwa">
     <EXECUTION>
        <PATH>$(res.path.fgldir.demo)</PATH>
        <MODULE>demo.42m</MODULE>
      </EXECUTION>
  </APPLICATION>

若应用程序有传递参数的需求 (使用 ?arg= 进行参数传入) ,则将上述 EXECUTION替换为 ,即可启用传入参数功能。若参数为固定值,则应改为使用 在 xcf 档中设定。
注:Genero GAS 3.20 支援DELEGATE设定与 single sign on 相关,留待後续说明

  1. SERVICE_LIST GAS主要对外提供服务设定。
<GROUP Id="admin">$(res.path.idp.services)</GROUP>
<GROUP Id="svms">$(res.path.svms.services)</GROUP>

其他未介绍的区块,均可以查看对应的线上文件,基本较少进行异动调整。由於XML格式较为繁复,仍建议在修改前先进行备份。完成修改後须记得停止 (或 kill fastcgidispatch / httpdstandalone 服务,参考前篇重启),并重新执行。目前 GAS 并未提供 reload 配置的功能。

参考资料
https://4js.com/online_documentation/fjs-gas-manual-html/#gas-topics/c_gas_asref_element_listing.html


<<:  Day-10 Excel快速标记条件资料

>>:  Day 10 Azure cognitive service: image description- 看图说故事

[Day30] 建立购物车系统 - 13 & 完赛心得

1. 修改docker-compose.yml 将购物车与其他系统都改成docker执行,修改doc...

[从0到1] C#小乳牛 练成基础程序逻辑 Day 2 - Visual Studio 2022 开发环境建立 64位元

VS 2022 Preview | 64位元 | Browser IDE 🐄点此填写今日份随堂测验 ...

Day-11 Backpropagation 介绍

我们前面提到过深度学习就是模仿神经网路建构一个庞大的训练模型,来达到特徵的选取(调整 weight...

[DAY 6] _stm32f103c8t6_暂存器查找方法

DAY 5提到暂存器如何查找,还有开启时钟才能对GPIO口操作,我补充一下昨天没贴到的暂存器地图,在...

改造你的VSCode,大幅提升你的Coding效率

工欲善其事,必先利其器,插件是Coding效率提升的利器 今天要来介绍的主角是Visual Stud...