開発中の「帳票ワークフロー Web版」:IBM i上にNginxを配置し、Pythonで5250版をWebアプリケーション化

添付書類のアップロード機能を新規追加、使いやすさを向上
5250版の機能を継承し「押印レス」も実現

「帳票ワークフロー Web版」は、アイエステクノポートが2022年7月にリリースした5250画面で申請・承認処理を行う「帳票ワークフロー」のWeb版である。5250版の帳票ワークフローの機能を継承したのに加えて、添付書類のアップロード/ダウンロード機能を新たに追加した。

帳票ワークフロー Web版は、オープンソースのNginx(エンジンエックス)をWebサーバーとして採用し、IBM i上に導入した製品である。NginxをIBM iのWebサーバーとして組み込んだ製品は、本誌が把握している限りほかにない。今回、Web版をご紹介する理由である。またWebインターフェースは、Nginxと相性がいいとされるPythonで開発したという。

最初に、帳票ワークフローの特徴を紹介しよう。

帳票ワークフローはIBM i上で稼働し、会社業務に欠かせない申請・承認のワークフロー機能を提供する製品である(図表1、図表2)。またIBM iのスプールファイル(印刷用出力ファイル)を利用して、印鑑の押印なしに押印と同等の機能を提供する「押印レス」を実現している。

図表1 帳票ワークフロー導入の前・後
図表2 帳票ワークフローの概要

製品化は、新型コロナが流行し始めた2020年に「リモートワークにも対応可能な申請-承認のワークフロー機能をもつ製品はないか」という問い合わせを受けたのが発端だったという。

申請・承認データの改ざんが
不可能なセキュアな仕組み

帳票ワークフローの特徴は以下のとおりである。

①IBM i上で稼働し、Windowsサーバー等は不要

帳票ワークフローはIBM i上で稼働し、IBM iで生成される帳票データを用いてワークフロー処理を行う。そのためWindowsなどの外部サーバーは不要である。

②多様な承認・ワークフロー機能

帳票ワークフローは、次のような申請・承認機能をもつ。以下の機能と承認パターン、承認権限(組織)の組み合わせにより、多様なワークフローを設計可能である。

・承認ステップは4段階まで設定可能(例:課長→部長→事業部長→担当役員)

・各ステップにおいて最大3人まで代理承認者を設定可能

・同一帳票でも金額によって承認パターンを変更可能

・管理者は、ユーザー・プロファイルまたはアプリケーション・ユーザーを使って「申請者」「承認者」を指定可能

③データの改ざんが不可能な仕組み

帳票ワークフローで申請・承認を行うデータは、出力データを一時保管するスプールファイル内に置くため、ワークフローの途中段階で改ざんを行うことはできない。

④リモートワークに向く軽量な設計

帳票ワークフローは、在宅などからのリモート利用を想定して軽快に申請・承認処理が行えるようパフォーマンス重視の設計を採用した。

社内の「技術勉強会」で
Web版の開発案が浮上

帳票ワークフロー Web版の開発は、5250版のリリース(2022年7月)からほどなくして社内の「技術勉強会」で持ち上がった。社内勉強会は毎週開催され、毎回10数人の技術者が参加する。テーマは時々で変わり、「さまざまな技術・製品について幅広く議論する場」だという。 

「最初にリリースした帳票ワークフローは5250画面で利用するものでしたが、5250に慣れていないお客様の利用も想定するとWeb版も必要ではないかという意見が上がり、検討が始まりました」と、アイエステクノポートの佐竹貴行氏(ソリューション開発部)は振り返る。

当初は、アプリケーションと環境・Webサーバーの2チームに分かれ、それぞれ5~6人の技術者が参加して検討を進めた。

「申請時に添付する書類のアップロード機能がほしいというご要望がお客様からあり、それでは5250画面のWeb化だけでは済まないとなり、追加開発するアプリケーションの検討がスタートしました」(佐竹氏)

アプリケーションチームでは主に、追加開発する機能の設計・仕様や開発言語の検討を進めた。開発言語はJavaServer Pages(JSP)、Python、PHP、Rubyの中から「今回の追加開発では最もフィットし、今後の開発でもさまざまな利用が考えられる」(佐竹氏)Pythonを選択した。

経験のないNginxに挑戦
IBM iへ導入・設定

環境・Webサーバーチームのほうは、Webサーバーの検討を進めた。

「IBM iに付属しているWebサーバーは動きがやや重いとの印象があり、別のWebサーバーを調査することにしました。条件は、IBM i上で利用できるオープンソースであること、Pythonと相性がいい(との評価がある)、当社にとってチャレンジとなるツール、の3点でした」と、アイエステクノポートの森井一文氏(ソリューション開発部)は説明する。

選定したのは、Nginxである(図表3)。Nginxは世界で最も利用されているオープンソースのWebサーバーで、ACS(Access Client Solutions)からダウンロードでき、IBM iへ直接導入できる。

図表3 帳票ワークフロー Web版の概要

ただし、同社ではこれまでにNginxを扱った経験はなく、またIBM i市場でもNginxはほとんど話題にならず情報も少ないため、森井氏は「採用を決めたもののインストールしてから稼働の確認までが一苦労で、追加開発したWebアプリケーションを搭載し稼働させてからも手探りで細かい調整を続けました」と述べる。

しかし、Nginxは「非常に快適です」と森井氏は言う。「パフォーマンスもよく非常に安定しています。IBM iと相性のいいWebサーバーだと実感しています」(森井氏)

帳票ワークフロー Web版は現在テスト段階で、年内に発売の予定という。「Webアプリケーションですので、同時に多数のユーザーが利用する場合もあり、負荷テストなどを慎重に行ってリリースする予定です」と、佐竹氏は話す。

最後にWeb版の画面を紹介しよう。

ログインしてトップページを開くと、承認状況と申請状況を整理したお知らせ画面が表示される(図表4)。承認者・申請者が共通に利用するページである。

図表4 Web版のトップページ。申請・承認状況のお知らせ画面

承認者の承認処理画面は図表5である。メインスペースの左端のチェックボックスにチェックを入れて承認ボタンを押すと確認画面が表示され、承認するか、保留するか選択することができる。また、すべてのチェックボックスにチェックが入っていると一括で承認処理することも可能である。図表6は5250版の承認処理画面である。

図表5 Web版の承認画面
図表6 5250版の承認画面

図表7は、多段階の承認フローの処理状況を示した画面。どのステップまで承認が進んでいるか、あるいは差戻しの内容などが確認できる。

図表7 Web版の差戻し取消し&承認画面

図表8は、承認進捗状況の確認画面である。申請された帳票の内容(PDF)や、承認フローの確認ができる。

図表8 申請内容の詳細を確認(承認者用画面)

図表9は、承認依頼再通知の画面。また図表10は添付書類のアップロード画面で、アップロードした書類の一覧が下にリストされている。

図表9 承認依頼再通知画面
図表10 添付書類のアップロードと書類一覧画面

[i Magazine 2024 Summer号から転載]

製品資料をダウンロード!