OutSystemsで内製化した販売管理システムの帳票機能をActiveReportsJSで構築
リックソフト株式会社
リックソフト株式会社は、海外の最先端ビジネスアプリケーションの提供を行うライセンス&SIサービス事業を主軸に、マネージドサービスや自社ソフトの開発も行っている企業である。同社は社内で利用する販売管理システムを、ローコード開発プラットフォーム「OutSystems®️」を用いて構築し、帳票の開発には「ActiveReportsJS(アクティブレポートJS)」を採用した。ActiveReportsJSを導入するに至った背景やその使い勝手、さらにOutSystemsとActiveReportsJSを組み合わせた際の課題について、同社の代表取締役社長である大貫さまと業務部の國谷さま、開発を担当したユナイトアンドグロウ株式会社の内田さまにお話を伺った。
導入した製品
導入前の状況
- 従来の帳票と変わらないデザインにしたかった
- クラウド版OutSystemsと組み合わせるためサーバーレスのツールを探していた
- 旧システムでは帳票の実装に時間とコストがかかっていた
導入の決め手
- 自由度の高い実装が可能であると見込めた
- クライアントサイドで動作するので別途サーバーを立てる必要がなかった
- 帳票を直感的にデザインできるデザイナ機能が含まれていた
導入による効果
- 従来の帳票とほぼ変わらない外観を簡単に実現できた
- OutSystemsで構築したシステムに帳票出力機能をシームレスに追加できた
- 帳票開発の工数を大幅に削減することができた
柔軟性に課題があったためOutSystemsによる内製開発でシステムを刷新
―はじめに、販売管理システムの概要について教えてください。
國谷さま
販売管理の実業務を担当する当社の業務部門が利用するシステムです。
これまで利用していた販売管理システムにはさまざまな課題がありまして、刷新することになりました。
―「さまざまな課題」とのことですが、具体的にはどのような課題があってシステムの刷新を決めたのでしょうか。
國谷さま
利用者の利便性向上や消費税率の変更、インボイス制度への対応など、こういった変化に対応することが1番大きなポイントでした。
問題を解決するにはシステムの改修が不可欠ですが、システムを管理するベンダーに依頼すると膨大な時間とコストがかかります。例えば、消費税率の変更など絶対に必要な改修はもちろん対応しますが、利便性に影響するような改修にはなかなか手をつけることができませんでした。
その一方で、会社は成長して業務量も増加し、取扱製品の変化や新しい販売形態にも対応しなくてはなりません。
こうした中で、旧システムを使い続けることは事業継続のリスクとして大きくなりつつありましたので、あらゆる物事に柔軟に対応するために自分たちで新しく作ってみよう、現場の声を聞いて今よりさらに使いやすいものにしよう、ということで新規の開発に踏み切りました。
―新しいシステムの開発プラットフォームに「OutSystems」を採用された理由を教えてください。
國谷さま
システムの刷新に際し、当初はカスタマイズ機能が充実した既存のパッケージ製品を使って要件の実装を試みたのですが、満足のいく結果が得られませんでした。操作画面の見た目が古く、表示画面をカスタマイズする柔軟性が無かったり、階層的なデータ構造が実現できなかったりなど、制約がとても多かったんです。1年くらいかけていろいろ試したのですが、我々の要件に対する開発ツールの限界を感じたのでパッケージのカスタマイズは諦めることにしました。
大貫さま
OutSystemsに対しては、ローコードツールとしての開発生産性の高さや開発プロセスの標準化が容易といった観点から高く評価していました。
また、OutSystemsの海外ユーザーはコミュニティが非常に活発で、わたしの感覚としてはこうしたツールは持続的な成功を収める傾向がある、という印象を持っています。そのため、製品の将来性も高いと考えました。
当社は技術力を磨く集団でして、既存の製品で不十分なら自分達で何とかする『無ければ創る』の姿勢で問題を解決しています。そこで今回は、OutSystemsを活用してシステムを内製化することにしました。
帳票開発期間が1か月半から1週間に短縮。大幅な工数削減を実感。
―OutSystemsで構築された販売管理システムにActiveReportsJSを導入いただいた理由を教えてください。
國谷さま
帳票開発においては、旧システムで使っていた帳票の外観をあまり大きく変えないことが重要でした。また、将来の機能追加を想定した際に帳票側も付いて来られる余力がある点もポイントとして挙げていました。これらの条件を考慮した上で、大貫社長からActiveReportsJSの提案があったんです。
大貫さま
以前のシステムはJavaをベースとしたOSSのERPパッケージをカスタマイズして利用していたので、帳票を少し変更するだけでも時間とコストがかかっていました。新しいシステムでは帳票を“早く安く”変更したいと考えていましたので、先ほど國谷からあった要件に加えて、帳票エディターが含まれていることも主要な要件の1つとしており、そこからいろいろ探していって、ActiveReportsJSに出会えたのです。また、OutSystemsはクラウド版を利用しており、帳票ツールもサーバーレスであることが重要な前提条件でした。
ActiveReportsJSに付属の帳票デザイナで柔軟な帳票設計が可能であると見込めたこと、サーバーサイドの技術に依存しない特性が選定の決め手となりました。
―ActiveReportsJSの「余力」だと感じる部分はありますか?
國谷さま
そうですね…例えば、請求書の取引年月日についてですが、これはインボイス制度を見越して追加した機能で、以前のシステムではこの機能を実装するのに1か月半ほどかかっていました。ところが、ActiveReportsJSでは1~2週間くらいで実装が完了しました。
このような期待が持てる点が大きな魅力だと感じています。機能的な充足ポイントというよりも、実際の作業スピードやコストに関する見通しがより明確になったというところですね。
―工数削減という意味では、1か月半が1週間になったのは大きいですね。
國谷さま
はい、工数はかなり削減できているのかなと思います。現在のシステムでは週に1回のペースで更新リリースしていますが、ActiveReportsJSはそのスピードでも問題ありません。以前は実装を依頼してから1か月ほど結果が得られなかったこともあったので…。
大貫さま
開発のリズムが掴めるよね。1週間後には大体できているから、動作確認はこのくらいの時期に確認できる、みたいな。スケジュールを組みやすいです。
―ActiveReportsJS以外に検討された帳票ライブラリや帳票サービスはありましたか?
大貫さま
OutSystemsに対応したレポート機能は調査しました。Forge(※)にあるのは海外向けのレポート機能が多く、日本向けの帳票となるとちょっと機能が物足りない感じでした。例えば、帳票の2ページ目からフォーマット変わりますとか…こういう要件は日本だけなんですよね。
※ OutSystems Forge:OutSystems 上で誰でも再利用可能なオープンソースのコンポーネントやアプリケーションを配布するアプリケーションマーケット
帳票デザイナで複雑な帳票を容易に実現。一方でOutSystemsの帳票組み込みに苦労…その解決方法とは?
―ActiveReportsJSを使用してどのような帳票を作成したのか教えてください。
内田さま
こちらがActiveReportsJSを使って作成した帳票です。実業務で使う見積書や注文請書、納品書、請求書を作っています。
帳票デザイナを使って、リックソフト様のご希望に沿った細かい作りこみを行えたので、以前の帳票とほぼ変わらない外観を簡単に再現できました。
國谷さま
見積書兼注文書には見積もり情報やライセンス情報のほか、お客様規約も一緒に掲載しているのですが、ユーザーから規約を表示させないでほしいという要望があったので、チェックボタンを設けて規約の表示/非表示を選べるようにしています。ActiveReportsJSを使用して規約があるタイプ、ないタイプの2つの帳票を作成し、どちらかを表示させるロジックを実装しています。
―ActiveReportsJSには3つのレポート形式がありますが、どの形式を利用しましたか?また、使用したレポートコントロールについても教えてください。
内田さま
RDLレポート形式を使って作成しました。また、コントロールはTextBoxやImage、Tableなどを利用しています。
「商品名」「数量」「単位」などが記載してある明細部分には可変のテーブルを使って改ページのタイミングを調整して、押印欄がずれたり、テキストボックスが変な切れ方をしないように工夫しました。
大貫さま
.NET版のActiveReportsではコードでレイアウトの制御が可能なセクションレポート形式が使えますが、ActiveReportsJSではセクションレポート形式が使用できないので、要件に適した帳票を構築できるか少々心配でしたが…RDLレポートを使用した実装は問題なく成功し、心配は杞憂でした。
―OutSystemsにActiveReportsJSを組み込むにあたり、苦労した点はありましたか?
内田さま
OutSystemsで帳票を表示させる際に、組み込みの段階でいくつかの問題に直面しました。異なるデータが表示されたり、セッションが切れてしまったり…。また、OutSystemsでは認識可能なファイル形式がJSON形式であるため、ActiveReportsJSのrdlx-jsonファイルが認識できないトラブルもありました。これらの問題について、我々だけでは解決に至らず、OutSystemsのサポートに問い合わせることで何とか問題を解消できました。
OutSystemsに帳票を組み込む方法としては、まずActiveReportsJSへのデータ連携のためにOutSystemsでAPIを作成して、そのAPIとActiveReportsJSのビューワを呼び出すためのページを別途作成しました。そして、このページとActiveReportsJSのモジュールをOutSystemsのリソースとして登録し、実装しています。
ActiveReportsJSのオンラインデモサイトにドキュメントやサンプルコードが公開されていたので、それらを参考に試行錯誤を重ね、販売管理システムから帳票プレビューが違和感なく表示されるよう組み込むことができました。
今後の展望とメシウスへの要望
―販売管理システムの今後につきまして、機能追加やバージョンアップの予定があれば教えてください。
國谷さま
システム利用者の声に応えて機能の追加・改善を行ったり、他システムとの連携を強化していく予定です。それから、この帳票にも関わってくるのですが、大きな計画があります。いまは社内のメンバーだけがこのシステムを利用している状況ですが、当社のお客様もこのシステムに入れるような仕組みを構築してお客様自身で発注操作を行える注文サービスをプラスしていこう、という話をしています。まだ構想段階ですが、今後、各方面と相談しながら進めていく予定です。
―サービスとしてもっと便利になっていくのですね。最後になりますが、弊社製品に対する要望やご意見などはありますか?
大貫さま
今回は、ActiveReportsJSで開発するぞ!という強い意志を持っていたため、ここまでの段階に至りました。ただ、OutSystemsとActiveReportsJSをシームレスに接続できるようなコネクタや、両製品を組み合わせた際の有用なTIPSなどが提供されていれば、開発生産性をもっと向上できたように思います。OutSystemsでも日本の要件に対応した帳票を実装できるということになれば、OutSystems利用者の希望になるかもしれません。
―貴重なご意見ありがとうございます。OutSystemsのユーザー様にも不安なくお使いいただけるよう、コネクタの提供や連携に関する技術情報の拡充などを検討して参ります。本日はありがとうございました。
取材協力:2023年9月
※ OutSystems®とロゴはOutSystems-Software Em Rede S.A.の登録商標です
リックソフト株式会社
本社所在地 | 〒100-0004 東京都千代田区大手町2-1-1 大手町野村ビル8階 |
---|---|
設立 | 2005年1月4日 |
主な事業内容 | ・ライセンス&SIサービス ・マネージドサービス ・自社ソフト開発 |
URL | https://www.ricksoft.jp |
ご紹介した事例内容をPDF形式でご覧いただけます。