HDC-EDI Apex をさわってみた【全銀設定編】（1/4）

#はじめに
こんにちは、よろず相談担当 **すぎもん:yum:** です。HDC-EDI Suite の最新版 **HDC-EDI Suite for Apex** がリリースされたので、実際に触ってみて違いを確認してみました。

#今回やってみたこと
HDC-EDI Suite for Apex の特徴（強み）は、Apex（EDI通信）とHULFT（社内ファイル連携）をスムーズに行えると謳っています。では、そのスムーズさがどのようなものか、実際の環境を触ることができたので確かめてみました。
確認ポイントは、次の2点になります。

- **設定** ってどんな感じでできるのか？
- **ログ** ってどんな感じで出力される？

# HDC-EDI Apex をさわってみたシリーズ
記事が長くなってしまったので全4回のシリーズに分けました。興味の回からご覧ください。
:arrow_forward: HDC-EDI Apex をさわってみた【全銀設定編】（1/4）
:arrow_forward: [HDC-EDI Apex をさわってみた【HULFT設定編】（2/4）](https://qiita.com/sugimon/items/bee7e98b867c08353660)
:arrow_forward: [HDC-EDI Apex をさわってみた【フロー設定編】（3/4）](https://qiita.com/sugimon/items/0e8137ce72ed5d680aa9)
:arrow_forward: [HDC-EDI Apex をさわってみた【動かしてみた編】（4/4）](https://qiita.com/sugimon/items/ef8c17458938823b81c1)


#動作環境
実際に動かした環境は、以下の図の３つのサーバから構成されています。
![demo_env.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/dbcd416f-77c2-444b-59f3-dec41a28a212.png "図1")

実際に触ったのは、真ん中のEDIサーバになります。EDI通信は未だに利用者が多い全銀手順（全銀TCP/IP）、社内通信はHULFTを使いました。通信の流れも、社外から全銀手順で受け取って社内サーバに単純転送するイメージです。

#設定
今回は、事前に各製品のインストールと初期設定が終わっていることを前提とし、EDIサーバに焦点あてた通信設定のポイントについて簡単にご紹介します。

- 設定１では、**取引先サーバ（APEX-EDI）-> EDIサーバ（APEX-MAIN）**へ全銀TCP/IPで送信できるようにします。
- 設定２では、**EDIサーバ（APEX-MAIN）-> 社内サーバ（APEX-HULFT）**へHULFTで送信できるようにします。
- 設定３では、設定１と設定２を連携させて **取引先サーバ -> EDIサーバ -> 社内サーバ** を実現させます。

##設定１（EDI通信）
###■設定の流れ
下表の順番で設定していきます。

|#|設定項目|補足説明|【参考】ACMS B2Bで該当する設定項目|
|--:|:--|:--|:--|
|1|通信ポートグループ|複数の通信ポートを管理する定義。例えば全銀TCP/IP用の通信ポートグループを作成して全銀TCP/IP用通信ポートを3つ作って所属させると、全銀TCP/IP通信を同時に3つ処理できる（4つ目は待ち行列に入る）といった使い方をする。|回線グループ|
|2|通信ポート|通信処理を実行する環境。複数の通信ポートを定義すると定義数分だけ同時に通信処理が実行できる。プロトコル毎に設定が異なる。通信ポートを作成できる数（＝同時接続数）によってライセンス価格が変わるので注意。|回線|
|3|通信ユーザー|通信先のホストの定義。プロトコル毎に設定が異なる。|ユーザー|
|4|論理ファイル|I/Fファイルの定義。プロトコル毎に設定が異なる。|ファイル|
|5|着信リスナー|文字通りリスナー（Socket通信のListner）。リスナーを実行するホストをDMZ上のサーバーに分ける（リバースプロキシ的な使い方をする）ことでインターネット通信セキュリティを高めるといった使い方をする。|該当なし|

###■HDC-EDI Apex設定
####１．通信ポートグループ
全銀TCP/IP通信用の通信ポートグループ **portg_zgin** を作成します。
メニュー一覧の **マスター -> 通信 -> 通信ポートグループ** を選択し、**新規作成** で作れます。
（業務グループ hdc は事前に作成する必要がありますが、ここでは省略します。以降も同様です。）
![zgin_com_portg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/788969b9-5ca5-a7ca-0164-3d933257d9d3.png)

####２．通信ポート
全銀TCP/IP通信用の通信ポート **port_zgin** を作成します。
メニュー一覧の **マスター -> 通信 -> 通信ポート** を選択し、**新規作成** で作れます。
![zgin_com_port.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/83eb0ff5-c404-d9b3-7aae-1197e1b18fcf.png)

####３．通信ユーザー
全銀TCP/IP通信用の通信ユーザー **zgin_edi** を作成します。
メニュー一覧の **マスター -> 通信 -> 通信ユーザー** を選択し、**新規作成** で作れます。
**新規作成** ボタンをクリックすると、プロトコルを選択するウィンドウがポップアップされますので **全銀** を選択します。
![zgin_user_protocol.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/ceb2ac37-aec6-5dc0-d226-4cb07dac89de.png)
通信ポートグループは先ほど作成した **protg_zgin** を選択します。
以降は、全銀手順でおなじみのセンター確認コードを設定します。（全銀手順の詳細設定内容についてはこの記事では割愛します。）
　**相手センター確認コード** には、取引先サーバー（APEX-EDI）のセンター確認コードを設定します。
　**当方センター確認コード** には、EDIサーバー（APEX-MAIN）のセンター確認コードを設定します。
![zgin_user.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/03160529-a7c0-ead7-a101-6a5de3525b1f.png)

####４．論理ファイル名
全銀TCP/IP通信用の論理ファイル **zgin_edi_cr** を作成します。
メニュー一覧の **マスター -> 通信 -> 論理ファイル** を選択し、**新規作成** で作れます。
**新規作成** ボタンをクリックすると、プロトコルを選択するウィンドウがポップアップされますので **全銀** を選択します。
![zgin_file_protocol.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/573c6e6c-99d1-c23e-e5e4-cdaff6af571c.png)
今回の設定は、取引先サーバ（APEX-EDI）から着信＆受信となりますので、
　**発着信** は、着信
　**送受信** は、受信
と設定します。
![zgin_file_cr.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/084cdd0f-04d4-147a-9785-13e484156d0b.png)
**余談**
全銀手順はレコード長を意識した手順なので、今回のように適当なファイルの送信をする場合は **全銀ファイル情報 -> レコードID** を **不定長** にすると簡単に送信テストができます。（実際には、CSVやバイナリファイルなどのレコード長を意識しない形式のファイルの場合に不定長を設定します。）
![zgin_file_length.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/f35b43ac-c7c7-6295-bce6-6fcc67030494.png)

####５．着信リスナー
全銀TCP/IP通信用の論理ファイル **zgin_listener** を作成します。
メニュー一覧の **マスター -> 通信 -> 着信リスナー** を選択し、**新規作成** で作れます。
**新規作成** ボタンをクリックすると、プロトコルを選択するウィンドウがポップアップされますので **全銀** を選択します。
![zgin_listener_protocol.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/06624c30-9865-ec47-e317-88c6afab0338.png)
着信リスナーはACMS B2Bでは無かった設定項目で、Apexからは通信ポート（ACMS B2Bでは回線）の設定とは別個に着信用のリスナーを明示的に設定する必要があります。主な設定項目は **ノード名** と **ポート番号** になります。
![zgin_listener.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/222d0e33-482a-6648-a017-b70fbd24c8e4.png)
![すぎもんポイント1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/572ed641-2bb6-b48f-9a16-77e802867adc.png)


---

以上が、全銀TCP/IP手順の設定になります。
あと、忘れてはいけないのが、設定項目には**状態（開始/停止/有効/無効）**をもつものが多く、設定後にアクションボタンから**開始**状態にする必要があります。ここを忘れるとエラーになりますのでご注意ください。

次回（HULFT設定編）は、HDC-EDI ApexでHULFTをどのように設定するのかをご紹介します。全銀手順との共通点やHULFT独自の設定ポイントなどをご案内できると思います。

---

:arrow_forward: HDC-EDI Apex をさわってみた【全銀設定編】（1/4）
:arrow_forward: [HDC-EDI Apex をさわってみた【HULFT設定編】（2/4）](https://qiita.com/sugimon/items/bee7e98b867c08353660)
:arrow_forward: [HDC-EDI Apex をさわってみた【フロー設定編】（3/4）](https://qiita.com/sugimon/items/0e8137ce72ed5d680aa9)
:arrow_forward: [HDC-EDI Apex をさわってみた【動かしてみた編】（4/4）](https://qiita.com/sugimon/items/ef8c17458938823b81c1)

---