はじめに
こんにちは、よろず相談担当 すぎもん です。
前回の記事では、お客様の課題を解決する方法として
「HULFT Script オートマティック・アップデート」
というワザの概要をご紹介いたしました。
今回は、実際に作成したサンプルを処理の流れに沿ってご紹介します。
処理の流れ
■本社側の流れ
- 1. 配布処理実行
- 本社の担当者が配布実行したいタイミングで、HULFT Scriptの処理を実行します。
自動化するなら、深夜などにスケジュール実行しても良さそうです。 - 2. 処理のエクスポート
- 各拠点に配布したい処理を「CLI Console」でエクスポートします。
「CLI Console」とは、HULFT Scriptの管理機能をコマンド実行できるツールです。 - 3. HULFT配信
- HULFTを使用し、「2.」でエクスポートした処理を転送します。
■支店側の流れ
- 4. HULFT集信
- HULFTで本社から送信されたファイルを受け取ります。
- 5. 処理のインポート
- HULFT Scriptの処理を実行し、「CLI Console」で処理をインポートします。
処理は、HULFT Scriptトリガーを使用して、HULFTの集信を契機として実行されます。
インポートには「サーバ移行機能」を使用するため、忘れずに再起動しましょう。
1.配布処理実行
まず、本社側で下記のようなスクリプトを作成し、配置します。
最初の「delete(ファイル/ディレクトリ削除処理)」アイコンでは、初期処理としてワークフォルダをクリアしています。
次の「launch(外部アプリケーション起動処理)」アイコンでは、下記のとおり設定し、「CLI Console」を起動しています。
引数として、「CLIコマンド設定ファイル」のパスを記述します。「-M」に続いて、スペースを空けずにパス指定します。
※「CLI Console」をバッチ実行する場合、各コマンドは「CLIコマンド設定ファイル」に記載し、 "ファイル渡し" する必要があります。
2.処理のエクスポート
「CLI Console」は、HULFT Scriptインストールフォルダの「/server/bin/CLI.exe」にあります。
CLI.exeに "ファイル渡し" する「CLIコマンド設定ファイル」の内容は以下のとおり。
# サービスをエクスポートします
exp --service="HULFTScriptテンプレート基礎編" "C:\hulft\export"
※行頭が「#」から始まるものはコメントとして扱います。
上記コマンドを実行することで、「HULFTScriptテンプレート基礎編」というサービスが「C:\hulft\export」にエクスポートされます。
なお、ファイル名(export_xxxxxxxxxx)はエクスポート時に動的に付与されます。
ファイル名はHULFT配信時に使用するので、スクリプト内でファイル名を取得し、変数に退避しておきます。
ここでは、「list(ファイル名一覧取得処理)」アイコンでファイル名を取得し、「variable(変数代入)」アイコンで変数に退避しています。
3. HULFT配信
続いて、HULFTによる配信を行うため、「配信要求処理」を行います。
ここでは、使用するHULFTのファイルID(FILE_001)を指定します。
配信要求処理のポイントは、下記のとおり「配信ファイル名」を動的指定していることです。
上述のとおり、サービスをエクスポートした際のファイル名は毎回変わるからです。
ここで、HULFTの設定内容を見てみましょう。
HULFTの「配信管理情報」に入力されているファイル名は、仮のファイル名となります。
ここに値が記載されていても、HULFT Scriptからファイル名を渡すので、そちらが優先されます。
4. HULFT集信
HULFTの集信を監視し、処理を実行するため、HULFT Scriptトリガーを使用します。
HULFT Scriptトリガーは、HULFTのファイル転送を検知して、条件に一致した場合にスクリプトを実行する機能です。
ここでは、「ファイルID(FILE_001)」の「集信」が「正常(完了コード="0")」のときのみ起動するように設定しました。
そして、監視対象となるHULFTの「集信管理情報」です。
「集信管理情報」のファイル名ですが、こちらは「固定のファイル名(service.zip)」にしました。
こちらのファイル名は、次のステップで使用します。
5. 処理のインポート
HULFT ScriptトリガーでHULFTの集信を検知したら、下記のスクリプトを実行します。
配置するのは、「launch(外部アプリケーション起動処理)」アイコンだけですね。
下記のとおり設定し、「CLI Console」を起動します。
引数として、「CLIコマンド設定ファイル」のあるパスを記述します。
CLI.exeに "ファイル渡し" する「CLIコマンド設定ファイル」の内容は以下のとおり。
集信したファイル名(service.zip)を固定で記載しています。
# サービスをインポートします
imp -m "C:\hulft\import\service.zip"
# 有効化するため再起動します
shutdown --reboot
インポート後、HULFT Script Serverの再起動も行っています。
再起動を伴うので、当然ですが、運用外の時間帯に実行すべきですね。
テスト実行してみよう!
本社側のスクリプトをデザイナから実行します。
HULFTの配信履歴です。「完了コード="0"」ですね。
配信が正常終了ということは、集信も正常終了です。
支店側のサービスです。
処理の実行前は、「HULFTScriptテンプレート基礎編」の登録日時が「2019/08/19 14:22:26」ですね。
処理の実行後、登録日時が「2019/08/19 14:28:08」になりました。
サービスを更新していれば、バージョンも上がるはずです。
今回はループバックで実施したため、「登録日時」で成功を確認しています。
さいごに
いかがでしたか?
この**「HULFT Script オートマティック・アップデート」**を使用すれば、開発環境で作成した処理を自動配布し、簡単に本番適用できます。
実際の運用に至るには、まだまだ考慮点はあると思います。
が! お客様の課題を必ずや解決の方向に導くハズ!
【課題1】内部統制の不全
![]() |
開発環境で作成した処理を配布し、簡単に本番適用が可能 |
---|
【課題2】属人化
![]() |
開発者のスキルに依存しにくいノンプログラミング開発 |
---|
【課題3】開発コスト増大
![]() |
豊富なテンプレートをベースに、パターン化しつつ実装 |
---|
いや~、製品や機能を組み合わせることで、今までになかった使い方が出てくるものですね。
頭を柔軟にすれば、フレキシブルな課題解決案が浮かぶもんだ、と再認識した次第です。(←自画自賛)
このブログでは、技術の「よろず相談窓口」で相談を受けた内容や、誕生したワザをご紹介していけたらな、と思っています。
これからも是非チェックいただき、宜しければフォローをお願いします。
それでは、また!
HULFT Scriptで転送前後処理を自動配布、自動反映してみた (1/3)
HULFT Scriptで転送前後処理を自動配布、自動反映してみた (2/3)