FUJITSU Cloud Service K5 API Managementサービス機能概要 2016年2月 富士通株式会社 ・本資料の無断複製、転載を禁じます。 ・本資料は予告なく内容を変更する場合がございます。 本資料の位置づけ 本資料は、FUJITSU Cloud Service K5(以下、K5と記載)にて提供するPaaS領域のサービスのうち、 「API Management」の説明資料です。 基幹(既存)システム :SoR IaaS PaaS 業種・業務 共通サービス 新規ビジネスのためのシステム:SoE 業種特有の部品・サービス・テンプレート 在庫管理・受発注管理など システム 共通サービス API Management(WebAPI管理サービス) アプリケーション 基盤サービス PF(基幹業務基盤サービス) プロセス・ルール・データを統合管理 ワークロード管理 基盤サービス SystemFactory(システム自動構築サービス) システム構成・運用を設計・構築しパッケージ化 WebAPIの公開・管理 ビジネス支援・運用支援サービス ID/課金/認可管理/バックアップ/ログ CF(クラウドネイティブ基盤サービス) Cloud Foundryベースの開発/実行環境 汎用コンポーネント (RDB、メッセージ、メール等) シ ス テ ム 自 律 運 用 支 援 サ ー ビ ス システムリソース (仮想共有、仮想専有、物理専有) K5全体については、以下をご参照ください。 FUJITSU Cloud Service K5 サービスご紹介資料 • http://jp.fujitsu.com/solutions/cloud/k5/brochures/ 1 Copyright 2016 FUJITSU LIMITED 更新履歴 更新日 版 2016/2/1 初版 更新内容 - 2 Copyright 2016 FUJITSU LIMITED 目次 はじめに ~WebAPIとは~ 利用シーン サービス概要 機能概要 API公開のための機能 API開発の流れ API Proxy機能 解析&モニタリング機能 解析 Custom Report ダッシュボード Policy Flow サービスアカウントと環境 動作環境 試用サービスでの制限事項 参考資料 開発機能 デプロイ機能 トレース機能 Publish機能 3 Copyright 2016 FUJITSU LIMITED はじめに ~WebAPIとは~ WebAPIとは、組織が持つデータや機能をAPI形式で提供したもの API利用者が独自に様々なAPIを組み合わせて利用できる。 提供者の発想を超える付加価値創造に繋がる例が出始めている。 従来のWebシステムとの違い 従来のWebシステムは、データや機能を画面(HTML)で提供。 WebAPIでは、データのみでやりとりする。また、クライアント側はブラウザとは 限らない(HTTPが使えればなんでもOK)。 従来Webシステム HTTP リクエスト ブラウザ フロントシステム Webサーバ WebAPIシステム 機器 HTTP リクエスト 処理 Apps/ブラウザ 画面 (HTML) Webサーバ 処理 データ 式でOK! 4 Copyright 2016 FUJITSU LIMITED 利用シーン サービスマッシュアップ クラウドサービス Open Data ソーシャル活用 SNS連携/advertise 自システム データ活用 広告 PrivateAPI PublicAPI 収集・分析 連携 店舗案内/ナビ 地域サービス ウワサーチ モバイルバックエンド(MBaaS) データストア マーケティング クラウド基盤/開発環境 会員管理 ソースコード管理サービス モバイルアプリ 開発者 位置情報 SNS連携 5 K5 Copyright 2016 FUJITSU LIMITED サービス概要 API プログラムの作成、拡張、保守に役立つ機能を提供し、 ビジネスの継続的な成長に寄与するサービスです。 アプリケーション WebAPI 利用者 Webサイト モバイルアプリ 開発者 システム連携 API Proxy パートナー向け・一般向けAPI • • • • • API Management WebAPI 提供者 認証認可 トラフィック制御 呼出し方式の統一 APIバージョン管理 キャッシュによる性能向上 … 内部API 内部API 内部API バックエンドサービス FUJITSU Cloud Service K5 で提供 6 Copyright 2016 FUJITSU LIMITED 機能概要 API Managementが提供する機能 共通機能 Private API向け機能 Public API向け機能 • • • • • メッセージからデータの抽出 XSL変換 SOAP→REST変換 リクエスト編集 レスポンス編集 最適化 • • • • • 公開 APIのパッケージング ACL設定(更新/参照) トラフィック制限 利用キー(APIキー)払い出し OAuth 2.0 Basic認証 SAML対応 LDAP連携 • • • • 解析 • • • • • API開発 • • • • • • アドオンプログラム 開発/本番環境 無停止デプロイ マルチバージョン管理 Policy/Flowエディタ 監視(API性能、エラー) PublicAPI向け機能 • • • • レスポンスキャッシュ Key Value Store 同時接続数の制限 トラフィックスパイクの抑止 トラフィック制限 セキュリティ 共通機能 PrivateAPI向け機能 互換・接続 運用管理者用統計 API開発者の利用統計 アプリ統計 ビジネス統計機能 レポートのカスタマイズ 7 Copyright 2016 FUJITSU LIMITED API公開のための機能 API公開を容易にするための機能を提供 プロトコル/データ形式変換 既存アプリ 公開API 設定 公開API 認証を持たないAPI SOAP I/F OAuth 認証 XML データ APIキー 認証 API Management RESTful API API Management RESTful API 認証機能の追加 システム内 API システム内 API 設定 APサーバレスでのAPI公開/既存APIのマッシュアップ 公開API 既存API 公開API 新API アドオンプログラム (Java, JavaScriptなど) 8 API Management RESTful API API Management RESTful API DBサーバ XX機能 API ○○機能 API アドオンプログラム Copyright 2016 FUJITSU LIMITED API ManagementでAPIを開発する際の流れを示します。 API Proxy機能 開発機能 Publish機能 解析&モニタリング機能 API Proxyの作成・修正 デプロイ APIの公開 解析&モニタリング API Proxy設定 開発環境 APIプロダクトの作成 各種解析画面 本番環境 Custom Report アプリ開発者の登録 Policy設定 ダッシュボード アプリの登録 Flow設定 デバッグ APIキーの生成 APIの分析 トレース機能 API開発者 エンハンス 9 Copyright 2016 FUJITSU LIMITED API ProxyはAPI Managementのコアコンポーネントであり Gatewayとして働きます。API Proxyに下記を設定することで、APIの振る舞いを コーディングなしでプログラムできます。 Policy(バックエンドサービスへの付加機能) Flow(追加した付加機能の処理シーケンスの制御) <アプリ> <API Management> <バックエンドサービス> API Proxy Policy Flow 作成 API開発者 10 Copyright 2016 FUJITSU LIMITED コーディングなしでAPIに機能(Policy)を追加できます。 30を超える機能を設定のみ(コーディングなし)で 追加可能 開発工数を大幅削減 スクリプトで独自機能を追加可能 JavaScript Java Python 認証/セキュリティ リクエスト・レスポンス情報の加工 キャッシュ トラフィック制限 データ形式変換 ロギング バックエンドサービスをAPI Proxy上に構築可能 Node.js ※全機能については【参考資料】Policyをご参照ください Policyをアイコンで配置し設定することで 機能を利用可能になります。 11 Copyright 2016 FUJITSU LIMITED Policyの実行タイミングや実行条件を設定することにより APIの振る舞いを計画できます。 GUIベースでフローにPolicyの アイコンを配置するだけで APIの振る舞いをプログラム可能 Pre Flow Conditional Flows l Flows Post Flow Post Flow Pre Flow Pre Flow Conditional Flows Conditi Post Fl s Flow PostClientFlow 12 PreFlow Conditional Flowsの前に実行したい Policyを設定します。 Conditional Flows 特定のリクエスト(条件を指定)に対し てのみ実行したいPolicyを設定します。 Post Flow Conditional Flowsの後に実行したい Policyを設定します。 PostClientFlow アプリにレスポンスを送信した後に実行し たいPolicyを設定します。 Copyright 2016 FUJITSU LIMITED デプロイ、バージョン管理、環境機能により効率的な API Proxy開発を実現できます。 機能 機能項目 シームレスな デプロイ デプロイ マルチバージョン デプロイ バージョン バージョン 管理 リビジョン アジャイル開発を支援 説明 アプリへの影響を最小限に抑えな がらデプロイ可能です。 API Proxy バージョンの異なるAPI Proxyを 同一環境に複数デプロイ可能な ため、マルチバージョン環境を実現 できます。 API Proxyをバージョン管理でき ます。 Version5 テスト Rev1 Rev2 API Proxy作成 デプロイ HTTP HTTPS API Proxy Ver5 Rev3 deploy Rev3 test API開発者 Version4 バージョンより細かい改訂単位で あるリビジョンでの管理が可能です。 Rev1 HTTP HTTPS Rev2 フェーズ毎の環境 開発環境と本番環境の2環境が 利用できます。 Ver3 Rev1 Version3 HTTP/HTTPS Ver4 Rev2 deploy アプリ 環境 マルチバージョン prod Rev1 HTTPとHTTPSの2つのエンドポ イントが利用できます。 13 Copyright 2016 FUJITSU LIMITED API Proxyのトランザクションを視覚化し、各処理ステップの詳細表示を 利用することで、効率良くAPI Proxyをデバッグできます。 効率的なトラブルシュート トランザクションマップ ・ トランザクションの各ステップをアイコンで表示します。 ・アイコンをクリックすると詳細情報を表示します。 ・詳細情報に表示される機密情報はマスキングできます。 ・トランザクションのトレースは、 ブラウザ、curlなど 任意のツールを利用することができます。 トランザクションマップ リクエスト Proxy EndPointの 処理開始 フィルター Target EndPointの 処理開始 <アプリ> <バックエンドサービス> アプリへの レスポンス送信処理開始 Proxy EndPointの 処理開始 Target EndPointの 処理開始 レスポンス 14 ・トランザクションは、トレースする際、下記条件で フィルタリングすることができます。 HTTPヘッダー クエリパラメーター オフライントレース ・トレース結果はエクスポートすることが可能で、 オフライントーレス画面で読み込むことができます。 Copyright 2016 FUJITSU LIMITED 作成したAPI(API Proxy)をアプリ開発者に公開する機能です。 API Proxyをプロダクトとしてパッケージ化し、アクセス権や トラフィック制限を設定することで、用途に応じてAPIを公開できます。 ビジネス要求に応じた 柔軟な製品提供を支援 プロダクト例 ・Free版(データの参照+トラフィック制限あり) ・Lite版(データの参照更新+トラフィック制限あり) ・Full版(データの参照更新+トラフィック制限なし) アプリ開発者、アプリ、使用したいプロダクトを 登録することでAPIの実行に必要なAPIキーが 払い出されます。 APIプロダクト トラフィック制限 アクセス権 APIキー Request ビルド Response アプリ開発者 ESB, SOA App Servers, Database Request API Proxy Response アプリ API ※赤字はPublish機能で管理可能な項目 15 Backend Services Copyright 2016 FUJITSU LIMITED APIトラフィックの情報を集計・可視化することで、APIや開発者の 利用状況やパフォーマンスなどをリアルタイムに解析できます。 ・利用状況の把握 ・問題の早期発見 ・パフォーマンス監視 解析画面 APIトラフィックの集計例 下記9つの画面で集計した情報を、モニタリングできます。 Proxy Performance Target Performance Cache Performance Latency Analysis Error Analysis Developer Engagement Traffic Composition Business Transactions Devices ※各画面の説明につきましては、【参考資料】解析一覧 をご参照ください。 16 Copyright 2016 FUJITSU LIMITED Custom Reportでは、X軸(Dimensions)とY軸(Metrics)に表示する 項目を選択して、自由にグラフを作成することができます。 独自レポートの作成 Dimensions Custom Reportの作成例 ・クライアントのIPアドレスやOSの種別など、トラフィックに 含まれる様々な情報を指定できます。 ・複数選択することで、集計結果を絞り込んでいく ドリルダウン解析ができます。 ドリルダウン例 OS+IPアドレス ・・・ Windows利用者をIPアドレス別に 分析したい場合など Metrics ・リクエスト数やエラー数、応答時間などAPIの利用状況 に関する情報を指定できます。 ・選択した数だけ、解析画面にグラフを表示します。 フィルター ・DimensionsやMetricsの値を選択して、集計結果を フィルタリングすることができます。 17 Copyright 2016 FUJITSU LIMITED APIの利用状況を、すばやく把握することができます。 ダッシュボード画面の表示例 画面説明 ダッシュボード機能は、大きくわけて左記の2画面が 用意されています。 ダッシュボード画面について API Proxy全体のトラフィック量、アプリ開発者の 利用状況、アプリ毎のエラー割合を1画面で確認 することができます。 Custom Reportのダッシュボード画面の表示例 Custom Reportのダッシュボード画面について 作成したCustom Reportを、最大4つまで選択 して1画面に表示させることができます。 ※グラフの詳細を確認したい場合は、グラフ名のリンクを ワンクリックするだけで表示されます。 18 Copyright 2016 FUJITSU LIMITED ID, パスワードAPI 管理者権限を有するIDおよびパスワードを設定し、担当者に通知します。担当 者は、管理者権限をもつアカウントを利用することにより、アカウントを追加すること ができます。 追加するアカウントに設定できる権限は、Organization Administrator, Operations Administrator, Business User, Userの4種類となります。 組織、環境 1契約に対して1つのOrganization(組織)を利用することができます。 Organization(組織)は、API Managementの管理単位です。 1組織に対して、テスト向け、本番向けの2つのEnvironment(環境)を利用 することができます。 19 Copyright 2016 FUJITSU LIMITED API Managementは、以下のクライアント環境での利用が可能です。 ブラウザ OS Windows/Mac OS X共通 Internet Explorer(Windows only) Google Chrome Safari Firefox 上記ブラウザの最新バージョンおよび1つ前のバージョン 20 Copyright 2016 FUJITSU LIMITED 試用サービスにおける制限事項は以下の通りです。 APIコール数の上限は月あたり500万コールとなります。 APIコール数とは、API Managementにおいて公開したAPIに対するリクエスト数です。 21 Copyright 2016 FUJITSU LIMITED APIのトラフィックに関する処理(流量制限、キャッシュなど)ができます。 Policy 説明 Quota 時間の単位(月、日、時、分、秒)と件数を指定し、リクエスト件数を制限します。 Spike Arrest 秒間あたりのリクエスト件数を指定して制限します。 例)毎分30件(30pm)許可する設定にした場合、2秒毎に1件許可し ます。2秒以内に2件来た場合、2件目は処理されません。 Concurrent Rate Limit バックエンドサービスへの同時接続数を制限します。 Response Cache バックエンドサービスからのレスポンスをキャッシュします。 Lookup Cache Populate Cacheでキャッシュしたデータを取得します。 Populate Cache セッションIDや認証情報等、任意のデータをキャッシュします。 Invalidate Cache 条件を指定してPopulate Cacheでキャッシュしたデータを削除します。 Reset Quota Quotaでカウントしたリクエスト件数を指定した値でリセットします。 22 Copyright 2016 FUJITSU LIMITED APIのデータ加工(形式変換、メッセージ修正など)ができます。 Policy 説明 JSON to XML JSON形式をXML形式に変換します。 XML to JSON XML形式をJSON形式に変換します。 Raise Fault ステータスコードに応じてカスタムメッセージを出力します。 XSL Transform XML 形式をHTML やプレーンテキスト等の別フォーマットに変換します。 SOAP Message Validation 受信したSOAPメッセージが、XSDスキーマまたはWSDLに準拠していない場 合は拒否します。 Assign Message HTTP Request またはResponse メッセージを作成・修正します。 Extract Variables リクエストまたはレスポンス情報の値を取り出して、変数に値を設定します Access Entity Delvelopers、apps、API Product、Developer などの属性を取り出して、 変数に値を設定します。 Key Value Map Operations PUT、GET、DELETE メソッドでKey/Value のペアを保存・検索・削除しま す。 23 Copyright 2016 FUJITSU LIMITED APIのセキュリティに関する制御(認証、脆弱性対策など)ができます。 説明 Policy Basic Authentication Basic 認証(Base64 のエンコードまたはデコード)の設定をします。 XML Threat Protection XML の脆弱性に対する攻撃を防ぐ設定をします。 JSON Threat Protection JSON の脆弱性に対する攻撃を防ぐ設定をします。 Regular Expression Protection 正規表現でリクエストを拒否します。 OAuth v2.0 OAuth2.0 のエンドポイントに対する設定(アクセストークンの生成やチェック 等)をします。 Get OAuth v2.0 Info OAuth2.0 のアクセストークンや認証コード等の情報を取得します。 Set OAuth v2.0 Info OAuth2.0 のアクセストークンに関連付けられたカスタム属性を追加・更新し ます。 24 Copyright 2016 FUJITSU LIMITED APIのセキュリティに関する制御(認証、脆弱性対策など)ができます。 説明 Policy OAuth v1.0a OAuth1.0a のエンドポイントに対する設定(アクセストークンの生成やチェック 等)をします。 Get OAuth v1.0a Info OAuth1.0a のアクセストークンや認証コード等の情報を取得します。 Verify API Key アクセスを許可するAPI Key を設定をします。 Access Control IP アドレスによるアクセス許可・拒否設定をします。 LDAP LDAP 認証の設定をします。 Generate SAML Assetion 送信するXML Request にSAML Assertion を追加します。 Validate SAML Assertion 受信したSOAP Request に添付されているSAML Assertionをチェックし、 無効なメッセージの場合は拒否します。 25 Copyright 2016 FUJITSU LIMITED スクリプトの実行、メッセージ内データ収集、ログ記録などができます。 Policy 説明 JavaScript JavaScript を実行します。 Service Callout 外部サービスを呼び出します。 Statistics Collector Analytics 用にメッセージ内のデータ(Product ID、価格、ターゲットURL 等)を収集します。 Message Logging ローカルディスクまたはsyslog サーバにメッセージログを記録します。 26 Copyright 2016 FUJITSU LIMITED トラフィック量、応答時間、エラー数などを可視化できます。 Policy 説明 Proxy Performance APIのトラフィック量と平均応答時間をグラフ化します。 Target Performance バックエンドサービスへのトラフィック量とリクエストの成功・失敗件数、応答時 間、レスポンスの成功・失敗件数、Payload Sizeをグラフ化します。 Cache Performance Response Cache Policyのキャッシュヒット率や件数、応答時間をグラフ化 ます。 Latency Analysis APIの応答時間や、バックエンドサービスの応答時間をグラフ化します。 Error Analysis APIが処理するリクエストおよびレスポンスで発生したエラーの情報(件数や テータスコード等)をグラフ化します。 Developer Engagement アプリ開発者の人数やアクセス状況、トラフィック量、エラー率をグラフ化します。 Traffic Composition API、プロダクト、アプリ開発者、アプリのトラフィック量Top10をグラフ化します。 Business Transactions 指定したURIと一致するリクエストのトラフィック量、平均応答時間、エラー率、 通信量(リクエストとレスポンスのデータサイズ合計)をグラフ化します。 Devices APIに対するアクセス元のデバイス情報(プラットフォーム、エージェント、デバ スタイプ、OS種別など)をグラフ化します。 Reports メトリクスとディメンジョンまたは時間を自由に選択して、情報をグラフ化します。 27 Copyright 2016 FUJITSU LIMITED
© Copyright 2024 ExpyDoc