

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

# 從 IBM WebSphere Application Server 遷移至 Amazon EC2 上的 Apache Tomcat
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2"></a>

*Neal Ardeljan 和 Afroz Khan，Amazon Web Services*

## 總結
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-summary"></a>

此模式會逐步引導您從執行 IBM WebSphere 應用程式伺服器 (WAS) 的內部部署 Red Hat Enterprise Linux (RHEL) 6.9 或更新版本系統遷移至在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行 Apache Tomcat 的 RHEL 8。 

模式可套用至下列來源和目標版本： 
+ WebSphere Application Server 7.x 到 Apache Tomcat 8 （使用 Java 7 或更新版本） 
+ WebSphere Application Server 8.x 到 Apache Tomcat 8 （使用 Java 7 或更新版本） 
+ WebSphere Application Server 8.5.5.x 到 Apache Tomcat 9 （使用 Java 8 或更新版本） 
+ WebSphere Application Server 8.5.5.x 到 Apache Tomcat 10 （使用 Java 8 或更新版本） 

## 先決條件和限制
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-prereqs"></a>

**先決條件******
+ 作用中的 AWS 帳戶 
+ 來源 Java 程式碼，假設如下：
  + 使用 Java 開發套件 (JDK) 版的 Java 7 或更新版本 
  + 使用 Spring 或 Apache Struts 架構 
  + 未使用 Enterprise Java Beans (EJB) 架構或任何其他無法立即提供給 Tomcat 的 WebSphere 伺服器功能
  + 主要使用 servlet 或 Java 伺服器頁面 (JSPs) 
  + 使用 Java Database Connectivity (JDBC) 連接器連接到資料庫  
+ 來源 IBM WebSphere Application Server 7.x 版或更新版本 
+ 目標 Apache Tomcat 8.5 版或更新版本  

## Architecture
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-architecture"></a>

******Source 技術堆疊**
+ 使用 Apache Struts Model-View-Controller (MVC) 架構建置的 Web 應用程式 
+ 在 IBM WebSphere Application Server 7.x 或 8.x 版上執行的 Web 應用程式
+ 使用輕量型目錄存取通訊協定 (LDAP) 連接器連線至 LDAP 目錄 (iPlanet/eTrust) 的 Web 應用程式 
+ 使用 IBM Tivoli Access Manager (TAM) 連線更新 TAM 使用者密碼的應用程式 （目前實作中，應用程式使用 PD.jar)

******內部部署資料庫**
+ Oracle Database 21c (21.0.0.0)
+ Oracle 資料庫 19c (19.0.0.0)
+ Oracle 資料庫 12c 版本 2 (12.2.0.1)
+ Oracle 資料庫 12c 版本 1 (12.1.0.2)

**目標技術堆疊**
+ 在 EC2 執行個體上的 RHEL 上執行的 Apache Tomcat 第 8 版 （或更新版本）
+ 適用於 Oracle 的 Amazon Relational Database Service (Amazon RDS)

如需 Amazon RDS 支援的 Oracle 版本的詳細資訊，請參閱 [Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/) 網站。

**目標架構**

![從 IBM WebSphere 遷移到 Amazon EC2 上 Apache Tomcat 的架構](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/96f91201-e0a6-4d3f-a94e-7bd68a59cc4e/images/11afe7c0-b400-423b-9dfe-02a915fe47ff.png)


## 工具
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-tools"></a>
+ 應用程式層：將 Java 應用程式重建為 WAR 檔案。
+ 資料庫層：Oracle 原生備份和還原。
+ 雅加達 EE 的 Apache Tomcat 遷移工具。此工具採用針對在 Apache Tomcat 9 上執行的 Java EE 8 撰寫的 Web 應用程式，並自動將其轉換為在實作雅加達 EE 9 的 Apache Tomcat 10 上執行。

## 史詩
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-epics"></a>

### 規劃遷移
<a name="plan-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 完成應用程式探索、目前狀態足跡和效能基準。 |  | BA，遷移主管 | 
| 驗證來源和目標資料庫版本。 |  | DBA | 
| 識別目標伺服器 EC2 執行個體的硬體需求。 |  | DBA、SysAdmin | 
| 識別儲存需求 （儲存類型和容量）。 |  | DBA、SysAdmin | 
| 根據容量、儲存功能和網路功能，選擇適當的 EC2 執行個體類型。 |  | DBA、SysAdmin | 
| 識別來源和目標資料庫的網路存取安全需求。 |  | DBA、SysAdmin | 
| 識別應用程式遷移策略和工具。 |  | DBA，遷移主管 | 
| 完成應用程式的遷移設計和遷移指南。 |  | 組建主管、遷移主管 | 
| 完成應用程式遷移 Runbook。 |  | 組建主管、切換主管、測試主管、遷移主管 | 

### 設定基礎設施
<a name="configure-the-infrastructure"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 Virtual Private Cloud (VPC) |  | SysAdmin | 
| 建立安全群組。 |  | SysAdmin | 
| 設定和啟動 Amazon RDS for Oracle。 |  | DBA、SysAdmin | 

### 遷移資料
<a name="migrate-data"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立或取得端點的存取權，以擷取資料庫備份檔案。 |  | DBA | 
| 使用原生資料庫引擎或第三方工具來遷移資料庫物件和資料。 | 如需詳細資訊，請參閱*其他資訊*區段中的「遷移資料庫物件和資料」。 | DBA | 

### 遷移應用程式
<a name="migrate-the-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 記錄遷移的變更請求 (CR)。 |  | 切換潛在客戶 | 
| 取得遷移的 CR 核准。 |  | 切換潛在客戶 | 
| 遵循應用程式遷移執行手冊中的應用程式遷移策略。 | 如需詳細資訊，請參閱*其他資訊*區段中的「設定應用程式層」。 | DBA、遷移工程師、應用程式擁有者 | 
| 升級應用程式 （如有必要）。 |  | DBA、遷移工程師、應用程式擁有者 | 
| 完成功能、非功能、資料驗證、SLA 和效能測試。 |  | 測試主管、應用程式擁有者、應用程式使用者 | 

### 剪下
<a name="cut-over"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 向應用程式擁有者或企業擁有者取得簽署。 |  | 切換潛在客戶 | 
| 將應用程式用戶端切換到新的基礎設施。 |  | DBA、遷移工程師、應用程式擁有者 | 

### 關閉專案
<a name="close-the-project"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 關閉臨時 AWS 資源。 |  | DBA、遷移工程師、SysAdmin | 
| 檢閱並驗證專案文件。 |  | 遷移主管 | 
| 收集指標，例如遷移時間、手動與自動任務的百分比，以及節省成本。 |  | 遷移主管 | 
| 關閉專案並提供意見回饋。 |  | 遷移主管，應用程式擁有者 | 

## 相關資源
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-resources"></a>

**參考**
+ [Apache Tomcat 10.0 文件](https://tomcat.apache.org/tomcat-10.0-doc/index.html)
+ [Apache Tomcat 9.0 文件](https://tomcat.apache.org/tomcat-9.0-doc/index.html)
+ [Apache Tomcat 8.0 文件](https://tomcat.apache.org/tomcat-8.0-doc)
+ [Apache Tomcat 8.0 安裝指南](https://tomcat.apache.org/tomcat-8.0-doc/setup.html)
+ [Apache Tomcat JNDI 文件](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html)
+ [Amazon RDS for Oracle 網站](https://aws.amazon.com/rds/oracle/) 
+ [Amazon RDS 定價](https://aws.amazon.com/rds/pricing/) 
+ [Oracle 和 Amazon Web Services](https://aws.amazon.com/oracle/) 
+ [Amazon RDS 上的 Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Amazon RDS 異地同步備份部署](https://aws.amazon.com/rds/details/multi-az/) 

**教學課程和影片**
+ [Amazon RDS 入門](https://aws.amazon.com/rds/getting-started/) 

## 其他資訊
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-additional"></a>

**遷移資料庫物件和資料**

例如，如果您使用的是原生 Oracle 備份/還原公用程式：

1. 建立資料庫備份檔案的 Amazon Simple Storage Service (Amazon S3) 備份 （選用）。

1. 將 Oracle 資料庫資料備份至網路共用資料夾。

1. 登入遷移預備伺服器以映射網路共用資料夾。

1. 將資料從網路共用資料夾複製到 S3 儲存貯體。

1. 請求 Oracle 的 Amazon RDS 異地同步備份部署。

1. 將內部部署資料庫備份還原至 Amazon RDS for Oracle。

**設定應用程式層**

1. 從 Apache Tomcat 網站安裝 Tomcat 8 （或 9/10)。

1. 將應用程式和共用程式庫封裝到 WAR 檔案中。

1. 在 Tomcat 中部署 WAR 檔案。

1. 監控 WebSphere `Linux cat`中任何遺失共用程式庫的啟動日誌。

1. 觀看`Linux cat`任何 WebSphere 特定部署描述項延伸項目的開始記錄。

1. 從 WebSphere 伺服器收集任何缺少的相依 Java 程式庫。

1. 使用 Tomcat 相容對等項目修改 WebSphere 特定部署描述項元素。

1. 使用相依的 Java 程式庫和更新的部署描述項重建 WAR 檔案。

1. 更新 LDAP 組態、資料庫組態和測試連線 （請參閱 Apache Tomcat 文件中的[Realm Configuration How-TO](https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html)and[JNDI Datasource HOW-TO](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html))。

1. 根據還原的 Amazon RDS for Oracle 資料庫測試已安裝的應用程式。

1. 從 EC2 執行個體建立 Linux 的 Amazon Machine Image (AMI)。

1. 使用 Application Load Balancer 和 Auto Scaling 群組啟動完成的架構。

1. 更新 URLs（使用 WebSEAL 連接） 以指向 Application Load Balancer。

1. 更新組態管理資料庫 (CMDB)。