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児のパパ。