APIを活用した経済圏の構築方法について解説している本連載。2回目は、レガシーモダナイゼーションがテーマです。

レガシーモダナイゼーションには7つの代表的な方法がありますが、その1つにAPIを用いた「リインタフェース」があります。

「レガシーシステム」の課題とAPIエコノミーによる解決のアプローチ

金融機関の基幹系システムはメインフレームを中核におき、30~40年といった長期間に渡りプログラム修正やハードウェア更改を繰り返しながら稼働してきました。プログラムがいわゆるスパゲティコードになるなどレガシー(負の遺産)と揶揄されることもあります。数十MStep級のシステムであるが故にウォーターフォールモデルにおける要件定義からシステムテストまでの開発期間は4~5年を要することも珍しくありません。

一方、オープンイノベーションによる企業間の共創が進み、FintechやIoTなどの潮流も相まって、デジタルビジネスにおける変化のスピードが加速度的に速まっている状況においては、数ヶ月で新しいシステムをリリースしていくようなスピード感が求められます。

より高品質が求められる基幹系の開発や、ユーザに対して新しい価値を素早く提供していくスマホアプリの開発など、要件に応じて提供までのスピードを変えることを、「マルチスピードIT」と呼びます。これを実現するための手段の一つが、基幹系の機能をAPIとして公開したものを利用すること。スピードが遅い部分に開発期間が引きずられることなく短期開発を実現できます。

下図を見ると、プリミティブAPIレイヤとして、Twillioの通話・SMS API、Google Maps API、Twitter APIと並ぶ形で決済APIや残高照会APIがあります。複数のAPIを束ねるAPIプラットフォームレイヤとして、ApigeeのAPI群や基幹系のAPI群があります。

マルチスピードITにおける基幹系APIのポジション

ビジネスレイヤでは、Uberの配車ビジネスはTwillioの通話・SMS APIやGoogle Maps APIなどを組み合わせて実現しています。Foursquareのお店検索ビジネスはUberの配車ビジネスそのものをAPIとして活用している事例と言えるでしょう。

今後、SBIネット銀行のAPIとマネーフォワードを連携した会計アプリのような事例が増え、高速と安定を両立したマルチスピードITの動きがより活発になってくる可能性があります。APIエコノミーにおいては、利用者としてAPIを活用するケースと、プラットフォームとしてAPIを構築し使ってもらうケースが存在し、基幹系は後者にあたり、今後様々な提供形態が生まれてくる可能性があります。

レガシーモダナイゼーションを実現する7つの手法

みずほフィナンシャルグループに関して、「2016年11月22日に開催した投資家向け説明会で、システム統合・刷新プロジェクトに係る費用が3000億円台前半から3000億円台後半に膨らむ可能性を示した」(日経新聞)というニュースがありました。

基幹系システムの更改には、期間もさることながら、かかる費用も膨大になります。そこで、費用を抑えるためにハードウェアやOS/ミドルウェアの保守切れ対応のみを行う「リホスト」を用いるなど、システム更改の目的に応じた手段、及びその「組み合わせ」を選ぶことが重要となります。

例えば、システムのメンテナンスが頻繁に入る部分に関しては、「リホスト」に加えて、「リファクタリング」を用いるといったことが考えられます。前述の、みずほの事例は「システム統合における最大のポイントは、勘定系システムを全面刷新することだ。既存の業務にとらわれず、銀行業務のあるべき姿を描き、それを実現するシステムを構築する。『不動産信託』など独自商品を持つTBのシステムは一部残す可能性がある」(日経コンピュータ)とある通り、限りなく「リビルド(再構築)」に近い形になります。

表 : レガシーモダナイゼーションの7つの手法

手法 目的 概要
1 リドキュメント システムの可視化 リエンジニアリング手法等を用いて古くなったドキュメントを再構築する。
2 リファクタリング 保守性の向上 アプリケーションの仕様は変えずにコードの見通しを良くしたり、処理効率を上げる作りにする。
3 リホスト ハードウェアやOS/ミドルウェアの保守切れ対応 ハードウェアやOS/ミドルウェアを刷新し、アプリケーションを極力そのまま載せ替えることにより、アプリケーション再構築に関わるコストを極力かけずにシステムを更改する。
4 リインタフェース(ラッピング) 新規ビジネスへの対応 ハードウェアやOS/ミドルウェアから、アプリケーションまで既存資産を極力生かし、API/SOA技術などを用いてフロント画面部分のみ刷新する。
5 リライト 技術者(Javaなど)の確保 ハードウェアやOS/ミドルウェアを刷新し、アプリケーションの仕様を変えずにJavaなどの別の言語で再構築します。
6 リプレイス アウトソーシング SaaSやASPなどを用いて既存資産を置き換えます。
7 リビルド(再構築) ・保守性の向上
・ハードウェアやOS/ミドルウェアの保守切れ対応
・新規ビジネスへの対応
・技術者(Javaなど)の確保
ハードウェアやOS/ミドルウェアから、アプリケーションの仕様も含めてまで全て見直して再構築します。

システムの可視化の課題とN字型開発モデル

勘の良い方は気づかれたかもしれませんが、APIエコノミーの観点からレガシーモダナイゼーションを捉えると、APIを用いた「リインタフェース」(上記の表)により、デジタルビジネスを実現します。

ただし、基幹系システムは数十MStepのソースコードを抱え、長期にわたる維持メンテナンスのため有識者の引退といった課題があります。例えば、マイナス金利を想定したプログラムでなかったため、1990年代に構築した流動性預金のプログラムに起因して障害が起きたが、当時の有識者は既に引退しているケースが考えられます。

従って、いざAPI化を推進しようとしても、システムの可視化の課題が発生します。一つの手段としては、「リビルド(再構築)」による「業務アプリケーションの『コンポーネント化』である。預金、融資、為替といった機能ごとにアプリケーションを切り分け、業務コンポーネントとしてまとめる」(日経コンピュータ)というやり方もあります。

「リビルド(再構築)」ほどのコストをかけず、現行システムをある程度維持したまま「リインタフェース」によりAPIエコノミーを実現しようとすると、「リドキュメント」によるシステムの可視化が前段として必要となってきます。

IPAのモダナイゼーションWGでは「『再構築時に陥りやすい問題』を踏まえたリスクをユーザ企業とベンダ企業の間で共有し、システム化計画を作るための手引きとなる、レガシーシステムに代表される難易度の高い再構築時に『如何にアプローチすべきか』を示したガイドブックをとりまとめます」とあり、今年度中に取りまとめられる予定となっています。「企画」「開発」「次期保守維持」の3つのステップがあり、ステップ1の「企画」において「現行仕様把握」に関するアプローチが取りまとめられる予定となっています。

同様に、N字型開発モデルと呼ばれる、V字型開発モデルの前段部分を補完した開発(参考: EnterpriseZine記事NTTデータ PDF)が注目されています。V字部分を「開発」フェーズ、その前段を「復元」フェーズと呼びます。「復元」フェーズに於いては、リバースエンジニアリングによるCRUD図の自動生成などの生産技術を活用し、また有識者による分析を行うことで、システムを見える化するステップを踏みます。

*  *  *

デジタルビジネスにおける変化のスピードに追従するための手段として、APIエコノミーを用いたレガシーモダナイゼーションによりマルチスピードITを実現するやり方が考えられます。一口にAPI化といってもN字型開発モデルのような「復元」フェーズの精度が、プロジェクトの成否にとって極めて重要な要素となります。

いわゆる銀の弾丸はない世界ですので、PoCやプロトタイピングを用いてリスクを下げ、リバースエンジニアリングなどの技術を用いてコストを下げていく取り組みが求められていくでしょう。

一つの鍵となりそうなのが、コンポーネント化の要素です。APIエコノミーの適用がレガシーの中にも浸透していけば、「為替決済API」「不動産担保API」といった業界横断で利用可能なプラットフォームが生まれてきて、システムの主要な要素をAPIの組み合わせで実現するようなスタイルが生まれてくるかもしれません。ブロックチェーン技術を用いた分散元帳のようなFintech技術のさらなる発展の動きとともに注目です。

次回はAPI構築のための生産技術の中核をなす「マイクロサービス」について紹介します。

著者紹介


正野 勇嗣 (SHONO Yuji ) - NTTデータ シニア・エキスパート

2011年頃まで開発自動化技術のR&Dに従事。その後、開発プロジェクト支援やトラブルシューティング等に主戦場を移す。「ソースコード自動生成」に加えて、JenkinsやMaven等の「ビルド自動化」、JsTestDriverやSelenium等の「テスト自動化」を扱うようになり、多様化する開発自動化技術動向に興味。

最近は第四の自動化であるInfrastructure as Code等の「基盤自動化」の魅力に惹かれている。開発自動化技術に関する雑誌・記事執筆も行う。2児のパパ。