

AWS Mainframe Modernization Service （受管執行期環境體驗） 不再開放給新客戶使用。對於與 AWS Mainframe Modernization Service （受管執行期環境體驗） 類似的功能，探索 AWS Mainframe Modernization Service （自我管理體驗）。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS 大型主機現代化可用性變更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為大型主機執行期的 AWS 轉換設定組態
<a name="ba-runtime-config"></a>

大型主機執行期和用戶端程式碼的 AWS 轉換是使用 [Spring Boot 架構](https://docs.spring.io/spring-boot/docs/2.5.14/reference/html/)的 Web 應用程式。它利用 Spring 功能來提供組態，具有數個可能的位置和優先順序規則。提供許多其他檔案也有類似的優先順序規則，例如 groovy 指令碼、sql 等。

大型主機執行期的 AWS 轉換也包含額外的選用 Web 應用程式，可視需要選擇加入。

**Topics**
+ [應用程式組態基本概念](#ba-runtime-config-app-basics)
+ [應用程式優先順序](#ba-runtime-config-app-precedence)
+ [資料庫的 JNDI](#ba-runtime-config-app-jndi)
+ [AWS 大型主機執行期秘密的轉換](ba-runtime-config-app-secrets.md)
+ [其他檔案 (groovy、sql 等）](#ba-runtime-config-app-files)
+ [其他 Web 應用程式](#ba-runtime-config-app-webapp)
+ [啟用大型主機執行期 AWS 轉換的屬性](ba-runtime-key-value.md)
+ [大型主機執行期 AWS 轉換中可用的 Redis 快取屬性](ba-runtime-redis-configuration.md)
+ [設定 Gapwalk 應用程式的安全性](ba-runtime-security.md)

## 應用程式組態基本概念
<a name="ba-runtime-config-app-basics"></a>

處理應用程式組態的預設方法是使用應用程式伺服器`config`資料夾中提供的專用 YAML 檔案。有兩個主要 YAML 組態檔案：
+ `application-main.yaml`
+ `application-profile.yaml` （其中`profile`值是在應用程式產生期間設定）。

第一個檔案會設定架構，即 `Gapwalk-application.war`，而第二個檔案是專門用於用戶端應用程式的其他選項。這適用於使用彈簧設定檔：Gapwalk 應用程式使用`main`設定檔，而用戶端應用程式使用`profile`設定檔。

下列範例顯示典型的主要 YAML 檔案。

![\[「主要」YAML 檔案的摘錄。\]](http://docs.aws.amazon.com/zh_tw/m2/latest/userguide/images/main-yaml.png)


下列範例顯示典型的用戶端 YAML 檔案。

![\[用戶端 YAML 範例\]](http://docs.aws.amazon.com/zh_tw/m2/latest/userguide/images/client-yaml.png)


如需 YAML 檔案內容的詳細資訊，請參閱 [啟用大型主機執行期 AWS 轉換的屬性](ba-runtime-key-value.md)。

## 應用程式優先順序
<a name="ba-runtime-config-app-precedence"></a>

對於這些組態檔案，適用 Spring 優先順序規則。值得注意的是：
+ `application-main` YAML 檔案會顯示在具有預設值的 Gapwalk 主戰檔案中，且`config`資料夾中的 YAML 檔案會取代它。
+ 用戶端應用程式組態也應該這樣做
+ 其他參數可能會在伺服器啟動時傳遞到命令列。他們會覆寫 YAML。

如需詳細資訊，請參閱[官方 Spring Boot 文件](https://docs.spring.io/spring-boot/docs/2.5.14/reference/html/features.html#features.external-config)。

## 資料庫的 JNDI
<a name="ba-runtime-config-app-jndi"></a>

在 Tomcat 的 context.xml 檔案中，可能會提供 JNDI 資料庫組態。任何這類組態都會覆寫 YAML 組態。但是請注意，使用此選項將不允許 在秘密管理員中包裝您的登入資料 （請參閱下文）。

下列範例顯示 JICS 和Blusam資料庫的範例組態。

```
<Resource auth="Container" driverClassName="org.postgresql.Driver" initialSize="0" maxIdle="5" 
   maxOpenPreparedStatements="-1" maxTotal="10" maxWaitMillis="-1" name="jdbc/jics"
   poolPreparedStatements="true" testOnBorrow="false" type="javax.sql.DataSource" 		
   url="jdbc:postgresql://XXXX.rds.amazonaws.com:5432/XXXX" username="XXXX" password="XXXX" />
```

jdbc/jics  
`jdbc/jics` 將為 JICS 資料庫和Blusam資料庫的 `jdbc/bluesam`（請注意 'e')。

url="jdbc：postgresql：//XXXX.rds.amazonaws.com：5432/XXXX" username="XXXX" password="XXXX"  
資料庫 URL、使用者名稱和密碼。

## 其他檔案 (groovy、sql 等）
<a name="ba-runtime-config-app-files"></a>

客戶專案使用的其他檔案使用與彈簧組態類似的優先順序規則。範例：
+ Groovy 指令碼是 `scripts` 資料夾或子資料夾中`.groovy`的檔案。
+ SQL 指令碼是 `sql` 資料夾或子資料夾中`.sql`的檔案。
+ 協助程式指令碼是 `daemons` 資料夾或子資料夾中`.groovy`的檔案。
+ 查詢 資料庫映射檔案是`sql`資料夾子資料夾中名為 `queries-database.mapping` 檔案的檔案。
+ Jasper 範本是 `templates` 資料夾或子資料夾中`.jrxml`的檔案。
+ 資料集目錄是 `catalog` 資料夾中`.json`的檔案。
+ Lnk 檔案是 `lnk` 資料夾中`.json`的檔案。

所有這些位置都可以透過系統屬性或用戶端 YAML 屬性覆寫。
+ 對於 Groovy 指令碼： `configuration.scripts`
+ 針對 SQL 指令碼： `configuration.sql`
+ 對於協助程式指令碼： `configuration.daemons`
+ 對於查詢資料庫映射檔案： `configuration.databaseMapping`
+ 針對 Jasper 範本： `configuration.templates`
+ 對於資料集目錄： `configuration.catalog`
+ 對於 Lnk 檔案： `configuration.lnk`

如果找不到 屬性，則會從上述預設位置取得檔案。查詢會先使用 tomcat 工作目錄做為根目錄，最後在應用程式戰檔案中完成。

## 其他 Web 應用程式
<a name="ba-runtime-config-app-webapp"></a>

大型主機執行期的 AWS 轉換在其`webapps-extra`資料夾中包含其他 Web 應用程式。根據預設，tomcat 伺服器不會提供這些應用程式。

選擇加入這些 Web 應用程式取決於現代化專案，方法是將所需的 war 檔案從 `webapps-extra` 資料夾移至 `webapps` 資料夾。之後，該戰會在下一次啟動時由 tomcat 伺服器提供。

某些專案特定的額外組態也可以新增到 YAML 組態檔案中，以供每次額外的戰役使用，如 `application-main.yml` 檔案中所完成和上述說明。其他大戰包括：
+ `gapwalk-utility-pgm.war`： 包含對 ZOS 公用程式的支援，並使用 `application-utility-pgm.yaml`做為其組態。
+ `gapwalk-cl-command.war`：包含對 AS/400 公用程式的支援，並使用 `application-cl-command.yaml`做為其組態。
+ `gapwalk-hierarchical-support.war`：包含 IMS/MFS 交易支援並使用 `application-jhdb.yaml`做為其組態