1. iPaaSを取り巻く状況
DXの手段として、レガシーシステムとデジタルシステムを連携させデータ活用を進めることができるiPaaS(integration Platform as a Service)が注目を集めています。図1に示すのがiPaaSのアーキテクチャです。iPaaSでは、アプリケーションの開発から運用に必要な機能までをクラウドサービスとしてワンストップで提供しており、レガシーシステムとデジタルシステムの統合をAPI連携により実現しています。
図1:iPaaSのアーキテクチャ
世界のiPaaS市場規模は年々拡大すると予測されており、日本国内でも成長が見込まれています。市場成長が著しいiPaaSですが、導入にあたってはiPaaS特有のアーキテクチャや仕様を理解した設計と運用が必要です。次章では、iPaaS導入に対してNTTデータが行った取り組みを、MuleSoft社を例にご紹介いたします。NTTデータはMuleSoftとVAR(付加価値再販売)契約を締結しており、2022年1月15日時点で国内のSAL(Sales Accepted Lead)1位という実績を収めています。
2. iPaaS導入に対する取り組み
iPaaS導入に対するNTTデータが行った取り組みとして、iPaaS導入リファレンスとテスト自動化の2つを紹介します。
2.1 iPaaS導入リファレンス
MuleSoftのアーキテクチャは、API-led Connectivity(API主導の接続性)の考えに基づいており、図2で示すようにAPIを3層に分割し再利用性を向上させています。再利用性の向上により、追加開発時にも既存のAPIを活用した迅速な提供を可能にします。しかし、MuleSoftの導入にあたっては、この特有の3層アーキテクチャにより独自のタスクやクリティカルパスが発生します。そのため、従来開発における開発プロセスや設計観点だけでは考慮できていない領域があります。そこで、NTTデータでは、MuleSoft導入において必要な開発プロセスや設計観点を整理するために、iPaaS導入リファレンスとして成果物一覧の整備や開発ガイドラインの作成を進めています。
図2:三層アーキテクチャと層ごとの役割
TERASOLUNA(テラソルナ)開発標準(NTTデータが提供するオープン系システム開発のための開発標準)をベースに、MuleSoft開発において必要な成果物を整理しています。図3の左側で示すように、設計書一覧や様式検討タスクを成果物一覧として形式化することで、作成する成果物の全量と成果物間の関係を可視化しています。さらに、サンプルAPIとその開発プロセスを例示することで、読者に作成する成果物のイメージを提供します。上記の取り組みにより、開発立ち上げの高速化や成果物品質の均一化といった、上流工程の作業負担軽減を目指しています。
図3:成果物一覧の整備
開発ガイドラインでは、MuleSoft開発における設計観点を整理して記載しています。アプリケーションや基盤の機能単位に設計の考え方や方式パターン、各方式のメリット・デメリットを整理しています。このように、MuleSoft導入時に考慮すべき設計観点を整理することにより、開発アジリティの向上と成果物品質の安定化を目指しています。
図4:開発ガイドラインのイメージ
2.2 テスト自動化
API単体の試験については、MuleSoftから提供されている機能で実施可能ですが、複数APIを連携した結合試験については、導入側で手法を検討し実施する必要があります。結合試験では、APIへリクエストを送信して応答結果を確認する試験を実施しますが、試験実施にはログやメトリクスの確認、アプリケーションの起動・停止、プロパティファイルの変更など様々な準備や操作が必要となります。それらの操作や準備は、管理環境のGUIで実施されます。すべてを人力で実施すると工数の増加につながりますが、試験に必要な操作を自動化することで工数の削減が可能です。しかし、管理環境のGUIはクラウドサービスのため、仕様変更される場合があります。仕様変更が行われると、自動化したテストシナリオに対してメンテナンスを実施する必要が生まれ、管理面での負担が大きくなってしまいます。
そこで、テスト自動化サービスを用いたSaaS環境の仕様変更に強いAPIテスト自動化の仕組みを提供しています。これにより、UI操作からAPIのリクエスト・レスポンス確認までを包括したテストシナリオの作成や、管理画面UIに変更が加わった場合のテストシナリオ自動補完が可能になっています。このように、UI仕様変更の影響を受けないAPIテストの自動化が要件としてあがった場合でも対応できるよう整備を進めています。
図5:テスト自動化のイメージ
3.おわりに
本稿では、iPaaS導入に対する取り組みとして、iPaaS導入リファレンスやテスト自動化を紹介いたしました。iPaaS導入にあたっては、従来の開発手法とは異なる観点や手法があり、本事例が導入検討時の参考になれば幸いです。
また、NTTデータでは引き続きiPaaS最新状況のキャッチアップそして検証を実施し、お客様に向けた価値創出を進めて参ります。