3つの段階におけるAPI活用の課題とは?
外部からの呼び出しに応えるというAPIの役割は本質的には変わらないものの、ここにきてAPIは周辺技術の発展やトレンドの影響で新たな段階を迎えている。
企業内にはこれまでの蓄積として多数のAPIがあふれている。――これらを全て把握し、効率良く管理するにはどうすればいいか。実行時の安全性を確保するには。外部からのアクセス(流量)を制御するには。アジャイルに開発し、バージョンなどを管理するには。――APIはただ「つなぐ」だけではなく、企業全体で統合的に最適化して管理することが求められてきている。
APIの課題を別の切り口で考えてみよう。APIは「開発する」(創る)、「接続する」、「運用する」(最適化する)という3段階に分けることができる。開発段階であれば、迅速に開発できる環境。接続する段階であれば、外部システムや、ブラウザ、モバイル、IoTデバイスなどあらゆるクライアントから接続可能であること。運用する段階であれば、クライアントに応じたサービスレベルや課金などのワークロードを最適化し、利用状況をモニタリングできること。これからのAPI管理ではこうした課題をどれだけカバーできるかが重要になる。
IBMの取り組みから見る、API活用を支える技術とサービスの全貌
こうしたAPI管理に関して、グローバルで強力に事業を推進しているのがIBMだ。IBMの戦略や最新の技術・サービスから、企業における現在のAPI管理の課題と解決策が見えてくるだろう。
現在、APIエコノミーやハイブリッドクラウド環境の普及を背景に、IBMはあらためて「つなげる」ことに力を入れている。2016年2月に開催されたIBM InterConnect 2016でIBMはハイブリッドクラウドプロバイダーとして優位にあり、「ハイブリッドクラウドを極めるのはインターフェースを極めるということ」という発言もあった。具体的には「IBM Connect」シリーズがその役割を担う。インフラからアプリケーションの機能まで、あらゆるものをつなぐための製品群だ。(参考記事:「オンプレミスの巨人はどこへ向かうのか?IBM InterConnect 2016を振り返る」)
Java EEで実装された既存資産のAPI化については、「IBM WebSphere Connect」がカバーしている。企業のコアビジネスを実現している既存アプリケーションやデータをAPIとして公開することで、クラウドからアクセスできるハイブリッドクラウド環境を容易に実現できる。
また、上述したIBM ConnectシリーズでAPIをカバーしているのが「IBM API Connect」になる。最新版が2016年3月22日から提供開始となった。APIの管理とセキュリティを担う「IBM API Management」に、API作成と実行環境を新たに追加して「IBM API Connect」と名を改めた。
IBM API ConnectはAPIの作成から、保護、実行、管理まで、ライフサイクルを包括的にカバーするAPI基盤ソリューションへと進化している。導入形態としてはオンプレミス、パブリッククラウド(IaaS)、IBM Bluemix(PaaS)が選べる。開発者向けのエディションであるEssentials版については、無償で提供している。IBM API Connectの機能をより詳しく見ていこう。
作成:手早く簡単にAPIを作成
モデル・ドリブンのプロパティ・マッピングのアプローチにより、既存のデータソースからGUIやコマンドで容易にAPIを作成できる。APIそのものだけではなく、API仕様の記述・共有方式としてLinux Foundationで標準化が進んでいるSwaggerに基づいたAPI仕様ドキュメントも作成できる。また、作成したAPIは容易にテストすることも可能だ。
保護:APIを保護かつ制御
ハードウェアによる暗号鍵管理や、OAuth2.0をはじめとしたセキュリティ標準への対応など、エンタープライズで使用することを想定したセキュリティを実現する。またアプリケーション単位の流量制御やコンテンツによる処理の振り分けなどのによってバックエンドシステムへの負荷を制御する。
実行:高性能でスケーラブルな実行環境
Node.jsやJavaマイクロサービス(軽量エンジン)の実行環境であり、既存IT資産のAPI化を可能とする。また、エンタープライズレベルの高可用性と拡張性を持つ。
管理:APIのライフサイクル運用管理
利用可能なAPIを検索するなど、デベロッパー向けポータルを提供できる。APIのアクセス権やポリシー定義、バージョン管理、利用状況やサービスレベルを分析するための統計情報を収集できる。
アーキテクチャとして見ると、クライアントやアプリ側との接点でセキュリティを制御する「API Gateway」、APIの実行環境である「API Service」(StrongLoopに由来する部分)、アプリ開発者がAPIを検索するための「API Portal」という構成で成り立っている。また、APIの開発ツール「API Designer」が提供され、開発者のPC上で稼動する。
IBM API Connectは企業内のAPIを包括的に管理し、API基盤とできるのが最大の特徴だ。「素早く開発できる」、「ポリシーを管理する」など特定の機能ではなく、ライフサイクルにおける全ての段階をカバーするようにできている。大量のAPIから目的に合致したものを発見する、利用状況を把握するなど、APIの提供側と利用側、双方のニーズをカバーするようにできている。
全体的に管理できれば効率が高まるだけではなく、俯瞰できるのでAPI品質の均質化にも寄与すると期待できる。実在するAPIを考えてみると、用途、接続先、仕様、セキュリティレベルなどバラバラと言っていいだろう。
IBM API Connectを用いると既存のAPI群やデータソースを組み合わせ、新しいAPIを作ることが可能だ。新規に作成することがないので素早くできるだけではなく、既存資産を活かすことにもつながる。今では大量のAPIがあるので、使いやすいものを再利用すればいいのだ。
ただしありすぎて「どこに何があるのか分からない」場合もある。それも考慮済みだ。IBM API Connectでは開発者にAPIが検索できるポータルを提供することもできる。広範に配慮ができたAPIのプラットフォームが整うことにより、APIはより効率良く開発ができて、より進化していくことが期待できる。
APIが生み出す新ビジネス!今注目の「APIエコノミー」、企業の最新事例を公開中!
今回ご紹介する事例資料は、インターネットからハガキや手紙を送れるWebサービス「Digital POST」を提供しているデジタルポスト株式会社の事例を分かりやすく紹介した内容です。ぜひ資料を(無料PDF)をご一読いただき、APIエコノミーによるビジネス活用の実践を、自社のサービス企画にお役立てください。
★以下の人気資料も同時公開中!
APIの基本から、構築方法、ビジネスモデルまでその全貌が分かる! クラウス・T・ジェンセン著『API FOR DUMMIES』(全53頁、無料PDF版)