最短で試してみよう App Connect Enterprise

## はじめに
IBM App Connect Enterprise（以降ACEと略します）は、IBMが提供するESB (Enterprise Service Bus) 製品です。
システム間連携を実装する際に、接続システム間で選択可能な連携手段が異なる場合はその違いを埋める必要があります。
ESBはこの連携手段（プロトコルやフォーマット等）を変換し、スムーズな連携を提供するツールです。

ACEは評価版が提供されており、性能に制限はありますが全ての機能が利用できるため、機能検証には問題なくお使いいただけます。

この記事では、ACEを思い立ってすぐに触れるよう手順をまとめています。IBMが提供するドキュメントとしては、[こちら](https://www.ibm.com/docs/ja/app-connect/13.0?topic=enterprise-download-ace-developer-edition-get-started)を参照ねがいます。この手順よりは若干早く進められます。

インストール、基本的なセットアップ、疎通確認までを行ないます。
この記事ではACE13.0.2をWindows11上にインストールしています。

## セットアップ
[ダウンロードサイト](https://www.ibm.com/resources/mrs/assets?source=swg-wmbfd)から、インストールファイルを取得します。

最初の画面では使用目的、意思決定者との関係、あなたの仕事上の立場、IBMからの情報提供可否というアンケート項目を入力します。
お気軽にお答えください。

使用するバージョンを選び、次の画面で利用環境に応じたファイルをダウンロードします。ここでは13.0.2のWindows版を選択しています。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/16b07619-5073-4b96-a722-5e2c462ba9e2.png">
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/dd452bf9-a61a-4b9f-82a6-74f6d644fb09.png">

ダウンロードできたら、展開してインストール用の実行ファイル（ACESetup13.0.2.0.exe）を起動してインストールを行ないます。

## 起動と初期設定
WindowsのアプリケーションメニューからToolkitを起動します。

<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/b00f996b-932e-4107-8726-864e0cba6d02.png">

Eclipseベースのツールなので、開発者にとっては直感的に操作できると思います。
Welcomeページが表示されたら、ページを閉じましょう。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/89a31ad7-9cd5-4d71-9551-7048a2387e77.png">

Toolkitは、JavaでのEclipseと同じく「開発環境」の位置づけのツールです。
実行エンジンとなるインテグレーションサーバーを準備する必要があります。Java開発でいえばアプリケーションサーバーをインストールする作業ですね。

画面左下にある「IntegrationExplorer」タブにある「Integration Servers」で右クリックメニューを表示、ここから「Create a local Integration Server」を選択します。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/2b7c517e-2224-484f-a9c4-62e0530205ec.png">

次の画面でサーバーの設定を入力します。全てデフォルトでFinishを選択します。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/2ba8d735-b8e3-4927-bf60-53498d112d4c.png">

「Integration Servers」に「TEST_SERVER」が追加されていればOKです。

<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/119426da-748b-4f23-9c06-72e4b3db0b75.png">

## 疎通確認（準備）
ここからは、予め準備されたチュートリアルを使って実際にサーバーが動作することを確認していきます。

GettingStartedのウィンドウから「Tutorials」を選択します。
またはメニューバーのHelp>Welcomeから最初に表示されていた「ようこそ」ページを表示できるので、ここからチュートリアルを選択してもOKです。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/75805af3-dacf-4568-b067-58156e0cc99e.png">

表示されたリストをスクロールし「Transformation using a Map in a message flow」を見つけ出してStartを押します。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/d8459dde-da50-4eca-a172-a30149f613dd.png">

チュートリアルの内容が表示されるので、Startを押します。

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/4d5814fc-d188-4e75-8ec4-f78a301290bb.png">

手順が表示されますが、ここではImportをクリックします。今回使用するフローを取得することができます。

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/d946c8de-164c-49e6-8fb8-3a16b4a3500f.png">

「Transformation_Map」という定義が追加されました。右側には定義のフローが表示されています。このフローの主要な処理である「Map」を確認します。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/3d3f512f-79c4-43df-96f2-8790ec896093.png">

入力されたデータを左の形式から右の形式に変換する処理です。入力データはHTTPで送信します。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/b8047ead-c2d7-466f-a51d-88115cd1dc42.png">

この定義をサーバーに追加します。画面左上の「ApplicationDevelopment」にある「Transformation_Map」のオブジェクトをドラッグし、画面左下の「TEST_SERVER」にドロップします。

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/3cdf6cc6-67ac-47fb-9c82-a4daca68e267.png">

処理が正常終了すると、TEST_SERVERの下に追加されます。

<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/59fa3fb3-def3-4867-9f4a-2c00a7a00b61.png">

## 疎通確認（実行）
サーバーに対してcURLコマンドでテストデータを送信します。コマンドはWindowsで送信する際の例です。
```
curl -X POST http://localhost:7800/Transformation_Map -d '<SaleEnvelope><Header>header</Header><SaleList><Invoice>item1</Invoice><Invoice>item2</Invoice></SaleList></SaleEnvelope>'
```
次のように、エラーが無く編集後の結果が返ってくれば確認終了です。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536604/6d42d0ad-ee6a-4a03-b72c-7eca655c8c27.png">

## まとめ
ACEの導入手順を確認してきました。特に難しい手順なく短時間で起動するところまで進められます。
ESB製品としての豊富な接続機能をベースにして、iPaaSとしても利用できます。興味があれば是非触れてみてください。