これまでの連載のおさらい

これまで11回の連載において下表のとおり、レガシー・マイクロサービス・クラウド・リアクティブといった様々な要素を解説しました。その中で、APIの見える化やデザインパターンなど重点ポイントを、実際に構築手順を交えながら、紹介しました。

最終回である今回は、デジタルビジネスやシェアリングエコノミーなど、第一回でも紹介したビジネス的な要素を中心に、APIエコノミー(API経済圏)がどう作られ、エンジニアとして何が求められていくかを解説します。

これまでの連載タイトル

回次 タイトル 重点ポイント
1 APIエコノミーを理解するための三つのポイント APIエコノミーの概要と取り巻く環境
2 レガシーモダナイゼーションの7つの手法とAPIの活用シーン
3 マイクロサービスによるAPI構築のいろは
4 APIエコノミーに触れてみる APIを実際に構築
5 APIエコノミーにおける基盤構築 〜Cloud Foundryの利用法〜
6 API組み合わせの勘所
7 APIの見える化 〜Zipkin/Kibanaの環境準備〜 APIを見える化
8 APIの見える化 〜Prometheus/Swaggerの環境準備〜
9 APIエコノミーにおけるデザインパターン 〜API Management〜 API構築におけるデザインパターン
10 高負荷対応の秘訣 〜リアクティブ〜
11 リアクティブプログラミングに触れてみる

デジタルビジネスとエンジニアとしての在り方

SMAC/IoT/AI、そしてAPI(オープンAPI/APIエコノミー)という言葉は技術紙のみならず、ビジネス紙をも賑わせています。これらを合わせて「デジタル」と表現することが多いですが、未だその定義については統一的なものがない「バズワード」の側面を持ちます。だからと言って、落ち着きを見せるまで手をこまねいていていいかというと、近年の離散的なビジネススピードに対してはそれが許されない状況にあります。

APIエコノミーに対しても、クラウドベンダーがプラットフォームを軸にリードするいわゆるプラットフォームビジネスの領域や、UberのようなDisrupterがビジネスアイディア軸にデジタルビジネスとして即座に具現化するためにAPIをフル活用するような領域など、マネタイズの方法は様々です。

エンジニア個人としての市場価値に目を向けてみると、アジャイルやマイクロサービスなどの文脈を中心に、アプリケーションからシステム基盤まで一通り精通しているフルスタックエンジニアがIT市場において求められることも多くなってきました。私たちエンジニアは、例えばJavaやC++を得意とするアプリケーションエンジニアであれば、デジタルを実現するクラウドネイティブ(ビルド自動化・クラウド基盤など)の要素をおさえ、自身の技術を幅出ししていく必要があるでしょう 。

API公開に関するトップダウンの動き

これまで、金融システムは自社システムや限られた相対金融システムに比較的閉じた世界でした。近年、欧州委員会や金融庁など、API公開(オープンAPI)に関する国内外でのトップダウンの動きが加速しています。

海外に目を向けてみると、2010年10月に欧州委員会がPSD2(revised Payments Services Directive)を採択し、口座にアクセス可能なXS2A(Access to the Account) APIのTPPs(Third Party Providers)への公開を義務付けています。

一方日本では、2016年10月21日に全国銀行協会により「オープンAPIのあり方に関する検討会」の設置が発表され、2017年3月6日に三菱UFJファイナンシャルグループが銀行口座などにアクセスするAPIを公開することを発表しました 。同月10日に金融庁がインターネットバンキング(IB)を利用していない一部金融機関を除き、APIの公開を実質義務化しました 。2017年5月26日には改正銀行法が参議院で可決・成立し、API公開に関する努力義務を課します 。

2017年6月28日には、金融情報センター(FISC)からAPI接続先の適格性審査のための「API接続チェックリスト(試行版)」が公表されました。APIを利用する上で情報セキュリティを担保する動きの一つとしておさえておくと良いでしょう。

API × AI/RPA

2017年3月16日にリクルートテクノロジーズがA3RTと呼ばれるAIのAPIの無料公開を発表しました 。デジタルビジネスを実現する要素として近年注目を浴びているAIをAPIを通じて即座に使える環境が整いつつあります。

2017年5月17-18日に開催されたJava Day Tokyo 2017/Oracle Code Tokyo 2017では、機械学習やディープラーニングをJavaで実装するにはどうすれば良いかであったり、SMACのA(big data Analytics)に関連しData Robotなどを用いたデータサイエンティストの役割の重要性が語られました。JavaやOracleデータベースやクラウドといった旧来からの技術の紹介だけでなく、JavaのイベントでAIが紹介されたように、一見結びつかないように思えるものが結びつく。そんなことが、デジタルビジネスが進展する世界では起こりえます。

AIのスピンオフとして筆者は位置付けていますが、Degital Labor(仮装知的労働者)によるホワイトカラー業務の自動化を実現するRPA(Robotic Process Automation)が注目されています。野村総合研究所が日本の労働人口の49%がAIやロボットなどで代替可能と試算しています 。RPAがロボット導入の速度を加速していくと考えられます。

API × レガシーモダナイゼーション

2007年問題として騒がれましたが、メインフレームの開発・運用を支えてきていた団塊世代が定年を迎え、システムの全体像を見渡せる技術者は極めて少なくなってきています。実際現場に出ても、オープン系の現場は30代以下の若手が切り盛りしているのに対し、メインフレーム系の現場は40代以上のベテランが有識者として中核となっている状況も珍しくありません。

IPAのモダナイゼーションWGでは「『再構築時に陥りやすい問題』を踏まえたリスクをユーザ企業とベンダ企業の間で共有し、システム化計画を作るための手引きとなる、レガシーシステムに代表される難易度の高い再構築時に『如何にアプローチすべきか』を示したガイドブックをとりまとめます。 」と表現しており、先般2017年1月31日に「システム再構築を成功に導くユーザガイド」として公開されました 。長年保守運用しているうちに「業務仕様の理解」が浅い部分と深い部分に分かれてきていることが把握されないままシステムを更改するリスクを、上流工程においてリスクヘッジするためのノウハウが紹介されています。

システムを全面刷新するというよりは、アプリケーションには手をつけず、保守期限切れのハードウェア・OS・ミドルウェア等を更改するのに留めざるを得ないケースもあります。

連載第二回においてレガシーモダナイゼーションを実現する一手法として、APIを活用を前提とした「リインタフェース」を紹介しました。デジタルビジネスのような攻めのIT投資に向けては、「コンポーネント化」を切り口に入出金処理のようなコア業務をAPIエコノミーの技術によりつなぎ合わせることで、上述の「業務仕様の理解」を深くすべきところを局所化し、残りの部分についてはインタフェース部分以外はブラックボックス化させるというアプローチが取られる場合もあります。

APIエコノミー技術を用いた理解が深い箇所の局所化

例えば、2014年に公開されたJames Lewis氏・Martin Fowler氏による記事「Microservices」によると、当初GurdianのWebサイトは、モノリス(一枚岩)で構築されました。新しい機能をマイクローサビスで構築する際、既存のモノリスを一部API化し活用します。こういったアプローチはスポーツイベントの特設サイトのような一過性のイベントサイトを構築する場合に有効で、Webサイトを構築する際は高生産性が期待できる言語を用いて開発し、イベント終了後削除するのも容易とされています。例えば、金融機関においてマーケティング用のサイトを構築し、数ヶ月あるいは数週間で削除されるといった例が挙げられています。

マルチスピードITとも呼ばれますが、攻めのITを実現するために既存の資産の開発スピード(遅い)からの独立性を確保し、スピーディーな開発をAPIエコノミーにより実現するのです。

連載を振り返って

SMAC技術を前提としたデジタルビジネスの波は大きく、SIerの立場から見ても、Fintechスタートアップ企業とのビジネスコンテストを通じた連携など、これまでなかったようなスキームが現実のものとなっています。

APIエコノミーを取り巻く環境は、これから激変していくことが考えられます。AWSやIBMなどからクラウドベースのAPI製品や、ApigeeやTwillioなどから豊富なAPIを取り揃えたプラットフォームが出てきています。レガシーモダナイゼーションに軸足を置いたプラットフォームが出てくれば、これまでのシステム開発のやり方をさらに変えていくことになります。

開発の現場において主流の一つであるJavaの世界では、標準仕様であるJava EEとPivotalのSpringが人気を二分しています。マイクロサービスに関連する領域においては、Java EEのJAX-RSやMicroProfileやPivotalのSpring Bootが注目されています。GraphQLなどAPI呼び出し処理をよりスムーズに書くための新たなプログラミングモデルも出て来ています。

リアクティブなどの様々な技術を活用するマイクロサービスを中核とした生産技術の進化や、欧州委員会・OAI・金融庁・全国銀行協会・IPAといった組織から新たな標準やガイドラインが続々と提示されてきており、今後も注視していく必要があるでしょう。

著者紹介


正野 勇嗣 (SHONO Yuji ) - NTTデータ シニアスペシャリスト

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

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