JUST.SFAコマンドラインツールをGUI化

こんにちは

JUST.SFA のコマンドラインツールは強力で便利なのですが、実行するためにはいちいち設定ファイルを作成するのがちょっと面倒に思います。
なので GUI でラップして画面から選択式に CLI を実行できるようにしてみました。
第1弾として全件削除ができるようになったのでご紹介いたします。

画面概要

GUI の画面はこのようになっています。(開発途中なので一部のボタンは使用不可になっています。)

  1. テナント と ユーザー を入力します。ユーザーはコマンドラインツールにパスワード登録されたものがドロップダウンから選択可能となっています。
  2. 現在はアップロードのみ(今後ダウンロードも可能とします)
  3. アップロードまたはダウンロードのオプションを設定します
    アップロードタイプで「全削除」を選択します。
    パネル識別名は JUST.SFAの画面でパネルの詳細設定からコピー&ペーストしてもいいですが、簡単に操作できるように業務プレート一覧を読み込んでドロップダウンから選択できるようにしました。
    業務プレート一覧は JUST.SFAの[データ管理画面]-[定義情報] でダウンロード可能です。
  4. アップロード処理を実行する前にバックアップの作成を行います。バックアップはコマンドラインツールで指定のパネルから全件取得します。バックアップ作成後、アップロード処理が実行されます。
  5. コマンドラインツールの実行結果を表示します。

処理概要

処理としては単純に入力されたパラメータから JUST.SFA コマンドラインツールの設定ファイルを作成し、コマンドラインツールのアップロードまたはダウンロードを実行しています。

環境を分離して動作させたいと考えて作成しました。ですので GUI、コマンドラインツール、JREのフォルダ構成は以下のようになっています。

\jsfa-cli-wrapper
 |- JSFACLIWrapper.exe ラッパーアプリ(GUI)本体
 |- \jsfa-command-tools JUST.SFA コマンドラインツール
 | |-\bin64
 | |-\jre Adopt OpenJDK JRE
 | |- …
 |- \Backups バックアップを格納するフォルダ
 |- \Logs コマンドラインツールの実行時ログを格納するフォルダ
 |- \Work コマンドラインツールの設定ファイルを格納するフォルダ

ラッパーアプリ本体はインストーラーなしで実行可能としています。業務プレート一覧はエクセルファイルですが、エクセルのインストールは不要です。
ラッパーアプリは コマンドライン実行時にプロセス限定で環境変数 JSFA_JAVA_HOME を 上記の JREフォルダで作成します。ですので、上記のフォルダを1セットとしてコピーするだけで利用可能としました。JREのインストールや環境変数の設定などは不要です。お手軽インストールです。

実行時には 入力されたパラメータを元にコマンドラインツールの設定ファイルを作成します。
コマンドラインツールを実行したときに返される標準出力と標準エラーを画面下部のテキストエリアに表示します。エラーが発生した場合はこの表示と Logsフォルダにあるログを確認することになります。

今後の予定

テストデータなどを投入して構築しているときなど、データをクリアしたいときに画面で操作して簡単に全件削除することができるようになりました。
今後の予定としては アップロードのその他データ取込タイプの実装を行いたいと思います。
以下の機能の追加を予定しています

  • キーフィールドなどフィールド識別名をデータテーブル定義を読み込んで指定できるようにする
  • 入力したパラメータの保存と読込
  • 作成した設定ファイルの表示と別名で保存
  • テナントとテナントの定義情報(業務プレート一覧、データテーブル定義)の登録

完成すれば JUST.SFA の作業が楽になり、設定作業の効率も上がってくれると期待しています。