技術者のためのHULFT-HUB入門【HULFT-HUBを利用するメリットって何？】（1/7）

# はじめに
こんにちは、よろず相談担当 すぎもんです。

本日は、技術者向けにHULFT-HUBの基本的な動作の仕組みや、その仕組みを利用した便利なHULFTの連携方法、運用方法についていくつか解説します。はじめに**技術者向け**と明記したのは、HULFT-HUBは動作の仕組みに独特な要素が数多くあり、技術者としてそれを良く理解していないと間違った使い方をしたりその便利さを享受できなかったりするケースがあるためです。特にHULFTを知っている方がこの罠に陥りがちです。ですから、ここでHULFT-HUBの基本的な仕組みをしっかり理解することでHULFTをより便利に使えるようになると思います。

技術者のためのHULFT-HUB入門シリーズは全7回を予定しており、今回は第1回目となります。初回なので技術要素は少な目ですので気軽に読んでください。

なお、本シリーズの記事はHULFTの基本的な使い方（設定方法や運用方法）をご存知な方向けに書いていますので、HULFTを触ったことが無い方は一部理解しにくい点がありますがご容赦ください。

# HULFT-HUBの2つ機能
HULFT-HUBには大まかに分けて2種類の機能があります。１つは製品名にあるとおりHULFT通信を**中継**するHUBとしての機能です。もう一つが複数のHULFTをまとめて**管理**する機能です。一見すると中継と管理は全く性質が行る機能のように見えますが、HULFT-HUBは既存のHULFTの仕組みをうまく活用する実装方式となっているため、中継処理を組み込む上でHULFT管理の仕組みも同時に取り込むデザインとなっています。このあたりの話は次回以降で解説していきます。

では、次に2つの機能をが具体的にどのようなメリットがあるかを紹介します。

# 1. HULFT中継機能のメリット
## 1-1. HULFT通信を安全に中継する
このユースケースは端的にいうと **外接Gateway** としてHULFT-HUBを活用することです。
企業間通信でもHULFTを利用するケースは多いのですが、基幹業務システムが直接社外ネットワークと接続することはセキュリティ上のリスクが高いと判断して対外接続用の中継サーバを立てることが多いと思います。多くの場合は、中継サーバにHULFTを導入してそこで社内外のサーバを連携させる作り込みをしていました。
![001_安全な中継（HULFT）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/038f621d-e142-da54-04d5-ec86495d9216.png)

この中継サーバの部分にHULFT-HUBで実装するというのが、**HULFT通信の安全性を高める**というメリットのユースケースになります。
![002_安全な中継（HUB）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/2a71902f-4da8-5d60-9a6c-a11204d74a5c.png)

このユースケースのHULFTではなくHULFT-HUBを活用するメリット下表になります。
概ね、安全面・性能面・運用面でアドバンテージがあるのがわかると思います。一方で連携の自由度が下がりますが、一般的に自由度とコスト・品質がトレードオフになると思いますがHULFT-HUBでも同様とお考え下さい。（システムのスクラッチ開発とパッケージソフトウェアの関係と似ていますね。）
![003_安全な中継（比較）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/9d7890bf-03fe-a77c-105b-349d29d873f8.png)

## 1-2. HULFT通信を非同期で中継する
このケースはHULFTの **送信側と受信側の運用時間をずらせる（非同期連携）** ようにしようというものです。
![004_非同期中継.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/351aef61-ec94-4e91-51df-f61bf42467e3.png)

上図は一例ですが、非同期連携の実現は次のような業務上のメリットを享受することができます。
<dl>
<dt>1.メンテナンス面</dt>
<dd>メンテナンス停止をしやすくなる（上図のケース）</dd>
<dd>システムをグローバル運用している場合、ファイル授受の運用時差を吸収しやすくなる</dd>
<dt>2.障害時の影響局所化</dt>
<dd>HULFT受信側の障害の影響が送信側に波及するのを防ぐ</dd>
</dl>

# 2. HULFT管理機能のメリット
## 2-1. HULFTの設定を効率化する
### 2-1-1. HUB Managerから登録
HULFTだけを利用した場合、送信側と受信側で別々に設定する必要があるため、設定の手間がかかるだけでなく設定ミスが発生しやすい構造を潜在的に持っています。特にHULFTの運用ではホストごとに別々の運用担当者が設定することが多いため、コミュニケーション齟齬でこのようなケースが発生しがちです。
一方でHULFT-HUBを利用した場合、ファイルID登録画面は送信側・受信側が1画面（下図）で完結するので不整合が発生する余地がありません。HULFT-HUBの運用ではホストごとに別々の運用担当者を置くのではなく、HULFT全体もしくは業務単位（業務ごとにファイルIDを管理するイメージ）で運用担当者を置くのが適しています。
![005_MG登録.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/7e55c9d3-2af0-d5f6-071e-d6f741db04df.png)

### 2-1-2. CSVからコマンドで設定情報を一括登録
HULFTを利用する場合でも設定情報を一括で登録するコマンド（utliupdt）がありますが、HULFTのOSやバージョンにより設定ファイルのフォーマットが微妙に異なるという課題があります。そのためホスト単位で設定情報の登録を管理せざるを得ないというジレンマがあります。
一方でHULFT-HUBを利用した場合、複数のホスト・OS・バージョンを**同一フォーマット**の設定ファイルで一括登録できる仕組み（utlhubiupdt）を提供しています。これにより一括登録運用の標準化を実現しやすくなります。（次回以降で、具体的な活用方法を紹介します。）
![006_一括登録.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/20321585-9560-f750-3922-39fd9c444c61.png)

## 2-2. HULFT通信障害の復旧を短縮する
### 2-2-1. 転送モニタ
HULFT単体では**各ホスト単位で**配信履歴と集信履歴を個別に確認する必要があります。一方でHULFT-HUBを利用すると**多数のホストの送受信状況を一画面で確認**することができます。これが**転送モニタ**というツールになります。
転送モニタでは、**From（配信側ホスト）とTo（集信側ホスト）が一行の履歴として表示**されるので、N対NのHULFT転送履歴がまとめて把握できるのがメリットの１つです。ちなみに膨大な転送履歴が表示されるため、絞込み条件もHULFTよりも柔軟になっています。
転送モニタのもう一つのメリットが**エラー原因の特定が簡単**ということです。転送履歴の1レコードをダブルクリックし詳細を表示すると転送のどの部分でエラーが発生するのか視覚的にわかりやすくなっていること、さらに**配信側HULFTと集信側HULFTのエラーコード（完了コード）を一画面で確認**できることが大きなアドバンテージとなっています。HULFTの場合、例えば配信側では「集信側に起因したエラー」まではわかりますが**原因特定は相手に確認してもらう必要**がありました。転送モニタ―ではエラー箇所を視覚的に把握し、エラー箇所の詳細なエラーコードをすぐに見ることで、原因特定までのリードタイムが大きく短縮できます。
![007_転送モニタ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/d0f6d843-6f80-a6a0-9555-0b2f8682e7be.png)

## 2-3. HULFT通信状況を可視化する
### 2-3-1. 通信トラフィックの見える化
先ほど紹介した転送モニタは**転送履歴**を画面表示するものでしたが、転送履歴はCSVとしてファイル出力することができます。この転送履歴を分析することで、HULFT全体の通信トラフィックを簡単に分析することができます。
下図の例では、複数のHULFTの通信トラフィックを転送履歴から分析した例です。といっても、CSVファイルをExcelに取り込みホスト別＋時間帯別の転送回数をグラフ化しただけの単純なものです。
これは一例で、分析軸として他に考えられるのは、
* 日別のデータ転送サイズ（月のどの日にネットワーク負荷が大きいのか）
* 時間帯別の転送エラー数（どの時間帯にエラーが発生する傾向があるのか）
などなど、手軽にいろいろな分析がしやすくなります。
従来はホスト個別に運用改善など図っていたものが、HULFTネットワーク全体の運用改善やインフラのキャパシティプラニングなどに活用することも可能になります。
![008_通信トラフィック見える化.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/1e7d849d-7439-0ddc-4de6-a1dbfd4a0b94.png)

### 2-3-2. 不要ファイルIDの見える化
最後にちょっと毛色が違う便利機能を紹介します。下図の画面は**ファイルIDを最後に使った日**がわかるものです。HULFTを運用している方ならピンとくるかもしれませんが、**不要なファイルIDを棚卸し**するのにすごく便利なのです。
本来であればファイルIDを厳格に管理すべきなのですが、多くのユーザーの実際の運用状況を聞いてみると「使わなくなったファイルIDもすぐに削除しない」「ファイルIDが増えるてくると不要なファイルIDだと思っても怖くて消せない」という声が非常に多いのです。そんな時、**最後に転送した日**が明確であると、例えば「1年以上未利用のファイルIDは削除する」といった方針を取りやすくなります。
![009_不要ファイルID.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/20ee339a-c7a7-0a59-e7bb-676db6b3ba88.png)

---
以上、いかがだったでしょうか？第一回目は技術者色があまりなかったのでシンプルだったと思いますが、次回からはHULFT-HUBの動作の仕組みというアーキテクチャに関わる部分にも触れていきたいと思います。

---
技術者のためのHULFT-HUB入門 全7回シリーズで公開を予定しています。

1. **HULFT-HUBを利用するメリットって何？**（本記事）
2. [HULFT-HUBの基本的な仕組み](https://qiita.com/sugimon/items/e7bb5b9b8b2757fb780f)
3. HULFT-HUBの管理機能の仕組み（近日掲載予定）
4. HULFT-HUBの中継機能の仕組み（近日掲載予定）
5. HULFT-HUBの便利な使い方 その１ -HULFT設定の標準化-（近日掲載予定）
6. HULFT-HUBの便利な使い方 その２ -外接Gatewayの設定のコツ-（近日掲載予定）
7. HULFT-HUBの便利な使い方 その３ -非同期型連携の設定のコツ-（近日掲載予定）

---
本記事は、[HULFT-HUBマニュアル](https://www.hulft.com/help/ja-jp/HUB-V3/index.htm)、および[HULFT8マニュアル](https://www.hulft.com/help/ja-jp/HULFT-V8/index.htm)を参考にしています。