Upgrade to Pro — share decks privately, control downloads, hide ads and more …

なぜ API 連携は求められているの? なぜ API 連携は大変なの?

なぜ API 連携は求められているの? なぜ API 連携は大変なの?

なぜAPI 連携は求められているの? なぜAPI 連携は大変なの?
SaaS API 連携の活用アプローチ、ローコード X コネクティビティの重要性のススメ
https://www.consentflow.jp/webinar-ktrick-cdata-2023-05/

KTRICK-CDATA 共催ウェビナーを開催
5/11(木) 16:00~17:30

CData Software Japan

May 11, 2023
Tweet

More Decks by CData Software Japan

Other Decks in Technology

Transcript

  1. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software なぜAPI連携は求められているの? なぜAPI連携は大変なの? SaaS API連携の活用アプローチ、ローコード X コネクティビティの重要性のススメ 2023/05/11 CData Software Japan Lead Engineer / Kazuya Sugimoto
  2. © 2022 CData Software Japan, LLC | www.cdata.com/jp CData Software

    Japan の Lead Engineer これまで300種類以上のAPIを見たり触ったりしている API中毒な人。 Twitter:@sugimomoto Facebook:sugimomoto Blog:https://www.cdatablog.jp/ About Speaker Software Design 2022年8月号 Web API 特集 の第1章「Web APIの目的と技術要素 利用者/提供者の利点や技術的なしくみをひも 解く」を執筆 https://gihyo.jp/magazine/SD/archive /2022/202208
  3. EMPLOYEES 200+ ACTIVE CUSTOMERS 9,000+ OEM PARTNERS 100+ © 2022

    CData Software Inc. | www.cdata.com CData Software CData Software, Inc. • 本社:US(NC州), オフィス:日本/欧州/インド/中国 • データコネクティビティ テクノロジーのリーダー CData Software Japan, LLC • 宮城県仙台市 • 2016/06 〜
  4. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software 今日テーマとお伝えしたいこと
  5. © 2020 CData Software Inc. | www.cdata.com HCL Notes /

    Domino をモダナイズする 『consentFlow』に250以上の 外部システムへの連携機能が登場
  6. © 2022 CData Software Japan, LLC | www.cdata.com/jp 私達のゴールはAPI 連携ではない

    データを活用し、ビジネスに活かすこと 様々なSaaS データの活用アプローチの一つとして ローコード X コネクティビティの重要性を理解する
  7. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software API 連携における 「データ活用」に至るまでの課題
  8. © 2022 CData Software Japan, LLC | www.cdata.com/jp API 連携における

    「データ活用」に至るまでの課題の整理 External Factor 対応しなければいけないWeb API の多様さ ソフト面の課題 Accessibility そもそもWeb API 接続は可能か? ハード面の課題 Internal Factor 各Web API の学習・キャッチアップコスト Usability データ活用までスムーズに到達可能か? Updatability API Update 対応が考慮されているか?
  9. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software ソフト面の課題 External Factor 対応しなければいけないWeb API の多様さ
  10. © 2022 CData Software Japan, LLC | www.cdata.com/jp 企業で使うSaaS の数は急増

    # of SaaS Apps used in Corporate is increasing • 1企業で使うSaaS 種類の平均が110種類 • アメリカのトレンドに日本も追従し、現在は1社 10種類程度のSaaS 利用でも、数年後に数十 種類になるのではないか https://stateofsaasops.bettercloud.com/
  11. © 2022 CData Software Japan, LLC | www.cdata.com/jp 数多くのSaaS が絡み合いながら業務プロセスが成り立っている

    引用元:バックオフィス向けSaaS活用MAPテンプレート https://note.com/iitsuki/n/nda1b369fa083
  12. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software ソフト面の課題 Internal Factor 各Web API の学習・キャッチアップコスト
  13. © 2022 CData Software Japan, LLC | www.cdata.com/jp Web API

    のキャッチアップって大変じゃないですか?
  14. © 2022 CData Software Japan, LLC | www.cdata.com/jp 調査の中で最も注目するべき点は「API仕様の多様性」 RESTが多いが

    詳しく見てみると多種多様 国産SaaSはそもそも API仕様すらわからない
  15. © 2022 CData Software Japan, LLC | www.cdata.com/jp 例えば「Salesforce」の「REST API」

    実体はSOQLというSalesforce内部での 独自規格のSQLを発行するAPI
  16. © 2022 CData Software Japan, LLC | www.cdata.com/jp インターフェースそれぞれの特性を理解し、 キャッチアップしなければデータ活用に到達できない

    Protocols Data Model Metadata Authentication Capabilities SOAP REST OData Static Dynamics Hybrid Relational NoSQL Raw Stores Basic API Token OAuth Filter Aggregations Joins
  17. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software Accessibility そもそもWeb API 接続は可能か?
  18. © 2022 CData Software Japan, LLC | www.cdata.com/jp そもそもWeb API

    は接続段階で躓く https://smartbear.com/resources/ebooks/the-state-of-api-2020-report/thank-you/?fid=10&t=0 このグラフはAPI管理ツールを提供する SmartBearのAPI調査において、APIド キュメントで最も重要な要素とは何か? と いうアンケート結果のランキング ExamplesやAuthenticationといった接 続の初手にあたる部分、またGetting started guideやTutorials が重要である と指摘されている。
  19. © 2022 CData Software Japan, LLC | www.cdata.com/jp OAuth 2.0

    でも違ったり POST /{tenant}/oauth2/v2.0/token HTTP/1.1 Host: https://login.microsoftonline.com Content-Type: application/x-www-form-urlencoded client_id=XXXX &scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read &refresh_token=OAAABXXXX... &grant_type=refresh_token &client_secret=sampleCredentia1s { "access_token": "XXXXX...", "token_type": "Bearer", "expires_in": 3599, "scope": "https%3A%2F%2Fgraph.microsoft.com%2Fmail.read", "refresh_token": "XXXX...", "id_token": "XXXXX.XXX...", } POST /token HTTP/1.1 Host: oauth2.googleapis.com Content-Type: application/x-www-form-urlencoded client_id=your_client_id& client_secret=your_client_secret& refresh_token=refresh_token& grant_type=refresh_token { "access_token": "1/fFAGRNJru1FTz70BzhT3Zg", "expires_in": 3920, "scope": "https://www.googleapis.com/auth/drive.metadata.readonly", "token_type": "Bearer" } https://docs.microsoft.com/ja-jp/azure/active-directory/develop/v2- oauth2-auth-code-flow#refresh-the-access-token https://developers.google.com/identity/protocols/oauth2/web- server#offline Azure AD OAuth 2.0 Google Cloud Platform OAuth 2.0 Refresh Token が存在せ ず、Access Tokenの期 限が延びる
  20. © 2022 CData Software Japan, LLC | www.cdata.com/jp API Update

    で認証・認可方法が 独自認証から独特な OAuth 2.0?になったり クライアント ユーザー リソース 1. AWS IAMで AssumeRole を実施 2. Amazon marketplace APIへのア クセス権を付与したAWS AccessKey・SecretKeyを取得 3. 認可URLを生成 4. 認証・認可処理をリクエスト・ Codeを取得 5. Codeと引き換えにAccess Token を取得 6. Access TokenとAccessKey・ SecretKeyを元にAWS Signature を生成して、リクエストを実施
  21. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software Usability データ活用までスムーズに到達可能か?
  22. © 2022 CData Software Japan, LLC | www.cdata.com/jp 「API=簡単に連携できる」という誤解 API

    が公開されているんだからデータ基盤にも BIツールにも簡単に連携できるよね。 ソースAPI へのア クセス スキーマ付与、 テーブル化 適切なクエリの 実装 相手先API への アクセス 相手先への マッピング 連携ジョブの 起動 ビジネス側の考える「API でできる連携」 実際にAPI でできること 実は開発しないといけない部分 このプロセスの中で重要 となるのが、 データモデルの定義
  23. © 2022 CData Software Japan, LLC | www.cdata.com/jp 例えば「売上を前年よりXX%アップする」という目標 この顧客は

    どのキャン ペーンを 見たのか? (WEB) この顧客はど う流入してき たのか? (MA) この顧客は どの製品から 発生している のか? (CRM) 売上の 顧客構成は どうなってい るのか? (ERP) 売上は どうなってい るのか? 意思決定や判断に様々なデータへのドリルダウンが必須
  24. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software Updatability API Update 対応が考慮されているか?
  25. © 2022 CData Software Japan, LLC | www.cdata.com/jp Amazon Marketplace

    API アップデートで API仕様が大幅変更・古いAPI終了告知が半年前*
  26. © 2022 CData Software Japan, LLC | www.cdata.com/jp 認証方法・クエリパラメータデザイン レスポンスフォーマット含め全面刷新

    POST /Orders/2013-09- 01/?AWSAccessKeyId=AKIAIKW5JHOTOOWSF43A&Action=List Orders&LastUpdatedAfter=1969-12- 31T15%3A00%3A00Z&MWSAuthToken=amzn.mws.XXX&Marke tplaceId.Id.1=A1VC38T7YXB528&SellerId=A1WD8M4EQL9XVH& Signature=XXXXX&SignatureMethod=HmacSHA256&Signatur eVersion=2&Timestamp=2020-10- 02T00%3A27%3A20Z&Version=2013-09-01 HTTP/1.1 Host: mws.amazonservices.jp Accept: application/xml Content-Type: application/xml <ListOrdersResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01"> <ListOrdersResult> <Orders> <Order> <LatestShipDate>2018-08- 17T14:59:59Z</LatestShipDate> <OrderType>StandardOrder</OrderType> <PurchaseDate>2018-08- 15T09:59:55.270Z</PurchaseDate> GET /orders/v0/orders?MarketplaceIds=A1VC38T7YXB528& CreatedAfter=2021-08-09 HTTP/1.1 Host: sellingpartnerapi-fe.amazon.com Accept: application/json Authorization:****** x-amz-access-token: XXXXX x-amz-date: 20210809T073105Z x-amz-security-token: XXXXX { "payload": { "Orders": [ { "NumberOfItemsUnshipped": 0, "BuyerInfo": {}, "IsReplacementOrder": "false", "IsSoldByAB": false, "AmazonOrderId": "503-9993250-1405404", "LatestShipDate": "2018-08-17T14:59:59Z", "EarliestShipDate": "2018-08-15T15:00:00Z MWS API Selling Partner API
  27. © 2022 CData Software Japan, LLC | www.cdata.com/jp Yahoo Shopping

    API の軽減税率対応等 注文データや商品マスタなど ほとんどのAPIリソースの項目が追加・更新
  28. © 2022 CData Software Japan, LLC | www.cdata.com/jp Bカート API

    のインボイス対応 https://api.bcart.jp/news/31
  29. © 2022 CData Software Japan, LLC | www.cdata.com/jp API 連携における

    「データ活用」に至るまでの課題の整理 External Factor 対応しなければいけないWeb API の多様さ ソフト面の課題 Accessibility そもそもWeb API 接続は可能か? ハード面の課題 Internal Factor 各Web API の学習・キャッチアップコスト Usability データ活用までスムーズに到達可能か? Updatability API Update 対応が考慮されているか?
  30. © 2022 CData Software Japan, LLC | www.cdata.com/jp © 2022

    CData Software Inc. | www.cdata.com すべては「コネクティビティ」 からはじまる データ分析は分析するデータが必要です。ま ずは分析ツールは業務データ・顧客データに コネクト(接続)し、それからデータ加工や 分析をはじめます 「ETLツール」は、Extract、Transfer、Load を 行うデータ連携ツールです。最初のExtract で はコネクタを使って各種DB、SaaS、ファイル に接続します。 多くのNoCode/LowCode ツールは、業務デー タの処理するアプリを構築します。ツール内 部のデータだけでなく、すでに企業が保有す る業務データにコネクトする必要があります。 NoCode/LowCode ETL/EAI データ分析、BI
  31. © 2022 CData Software Japan, LLC | www.cdata.com/jp 私達のゴールはAPI連携ではない データを活用し、ビジネスに活かすこと

    BI 導入のプロジェクトやBIシステムの構築プロジェクトは、 単にBI ツー ル を導入することを目的にしてはいけません。このループを仕組みとして 作り上げることを目的にするべきです。 でも、API連携がうまくいかないと データ活用に取り込む手前、 分析に行き着く前に止まってしまう 清水 優吾. Microsoft Power BI入門 BI使いになる!Excel脳からの脱却 (Kindle の位置No.608- 610). 株式会社 翔泳社. Kindle 版.
  32. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software concentFlow X CData Driver “Data Connectivity as a Software” として データ接続だけを concentFlow のコネクター化
  33. © 2022 CData Software Japan, LLC | www.cdata.com/jp HCL Notes

    / Domino をモダナイズする 『consentFlow』に250以上の 外部システムへの連携機能が登場
  34. © 2022 CData Software Japan, LLC | www.cdata.com/jp API をCDataのコネクタテクノロジーでスムーズに接続可能に

    Enable real-time data integration with hundreds of applications, databases, and Web APIs DRIVERS & ADAPTERS
  35. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software ソフト面の課題 External Factor 対応しなければいけないWeb API の多様さ
  36. © 2022 CData Software Japan, LLC | www.cdata.com/jp 250+ 業界最多級のデータソース

    Drivers for NoSQL, Big Data, & SaaS Connectivity CRMおよびマーケティング自動化 会計システム コラボレーションおよびERP オンプレミスおよびクラウドDB ドキュメントおよびファイル形式 ソーシャルネットワーキング ネットワーキングおよび認証 電子商取引 その他
  37. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software ソフト面の課題 Internal Factor 各Web API の学習・キャッチアップコスト
  38. © 2022 CData Software Japan, LLC | www.cdata.com/jp CData Drivers

    が提供する標準化とは Give schema like RDB, enable standard SQL, give enterprise level security features • JSON/XMLなどのデータを テーブル構造にマッピング • 非構造化データからスキーマ を自動検出 • 標準SQLでのデータアクセス を可能に • フルCRUDを実現 • JOIN / フィルタリングや集計 関数にも対応 • アプリ/ツールの標準対応 イ ンターフェースとして接続 • 各種プラットフォームが提供 する高度なフレームワーク活 用が可能 • ファイアウォールやプロキシなど のネットワーク機能に標準対 応 • 各種認証・ログ管理等のエン タープライズレベルの要求をす べて統一UIで提供 テーブル化 (スキーマ付与) 標準SQL クエリエンジン 標準インターフェース セキュリティ 管理機能 ODBC DRIVERS & ADAPTERS
  39. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software Accessibility そもそもWeb API 接続は可能か?
  40. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software Usability データ活用までスムーズに到達可能か?
  41. © 2022 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software Updatability API Update 対応が考慮されているか?
  42. © 2022 CData Software Japan, LLC | www.cdata.com/jp CData Driver

    V22 API Update & 機能追加概要 Components 説明 Salesforce Pardot API v5のサポート Google Analytics GA4のサポート Elasticsearch OpenSearch 2.0のサポート NetSuite API 2022.1のサポート Twitter Ads API v11のサポート Salesforce API v54のサポート Facebook Ads API 13.0のサポート Facebook API 13.0のサポート Amazon Athena IMDSv2のサポート Google Ads API v10のサポート データソース 内容 kintone フィールドコードをカラム名として使用 Salesforce メタデータの取得とデプロイ GoogleSheets テーブル名としてシート上のレンジを指定 スプレッドシートID、シートIDをテーブル名として使用 Folderプロパティに指定したフォルダの下階層にあるスプレッドシートの探索 Marketo ProgramMembersビューをテーブルに変更 StaticListsの取得 Google BigQuery ALTER TABLE文のサポート MERGE文のサポート CSV 指定した条件に合致するファイルをアクセス対象から除外 Box メタデータインスタンスの取得 Storage Source (CSVなど) SharePoint オンプレミスのサポート Storage Source (CSVなど) 一部クラウドストレージのファイルに対するCUD操作 REST CSVのサポート Core Code SQL文にネイティブクエリを記述 Wrappers - SSIS ディスティネーションのテーブル作成 Core Code ストアドのインプットとしてStreamオブジェクトを指定 Core Code クラウドストレージにアクセスする際に対象をプロパティで選択
  43. © 2022 CData Software Japan, LLC | www.cdata.com/jp Amazon Marketplace

    API Updateの場合 データモデルを極力変えない MWS API SP-API Column Name Type Column Name Type OrderItemId VARCHAR OrderItemId VARCHAR AmazonOrderId VARCHAR AmazonOrderId VARCHAR ASIN VARCHAR ASIN VARCHAR SellerSKU VARCHAR SellerSKU VARCHAR BuyerCustomizedInfoCustomizedURL VARCHAR BuyerCustomizedInfoCustomizedURL VARCHAR Title VARCHAR Title VARCHAR QuantityOrdered INT QuantityOrdered INT QuantityShipped INT QuantityShipped INT GrantedPointsNumber INT GrantedPointsNumber INT GrantedPointsMonetaryValueAmount DECIMAL GrantedPointsMonetaryValueAmount DECIMAL GrantedPointsMonetaryValueCurrencyCode VARCHAR GrantedPointsMonetaryValueCurrencyCode VARCHAR NumberOfItems INT NumberOfItems INT ItemPriceAmount DECIMAL ItemPriceAmount DECIMAL ItemPriceCurrencyCode VARCHAR ItemPriceCurrencyCode VARCHAR ShippingPriceAmount DECIMAL ShippingPriceAmount DECIMAL ShippingPriceCurrencyCode VARCHAR ShippingPriceCurrencyCode VARCHAR GiftWrapPriceAmount VARCHAR GiftWrapPriceAmount VARCHAR GiftWrapPriceCurrencyCode VARCHAR GiftWrapPriceCurrencyCode VARCHAR TaxCollectionName VARCHAR #N/A #N/A TaxCollectionValue VARCHAR #N/A #N/A ItemTaxAmount DECIMAL ItemTaxAmount DECIMAL ・内部の実装は異なるが、インターフェース レベルでは同じ仕様を保てるようにする ・移行のしやすさ、ビジネスロジックサイドへ の影響を最小化 ・新しいAPIで存在しない項目、追加され た項目は致し方ないが
  44. © 2022 CData Software Japan, LLC | www.cdata.com/jp 前のデータモデル・ロジックも残す ・API順次廃止とはいえ、まだ未リリースの

    APIもあったため、スムーズな切り替えのた めデータモデル・ロジックを残存 (メンテナンスコストの観点から最初は反 発があった)
  45. © 2022 CData Software Japan, LLC | www.cdata.com/jp 汎用Web API

    コネクタにおける 「データ活用」に至るまでの課題 External Factor 対応しなければいけないWeb API の多様さ ソフト面の課題 Accessibility 汎用Web API コネクタで接続が可能か? ハード面の課題 Internal Factor 各Web API の学習・キャッチアップコスト Usability データ活用までスムーズに到達可能か? Updatability API Update 対応が考慮されているか?
  46. © 2022 CData Software Japan, LLC | www.cdata.com/jp スクラッチか? ローコード

    & コネクタか? 使い勝手 スピード 自由度 自由度の高さではスクラッチ。 データとしての使い勝手、連携までのスピードはローコード & コネクタ。
  47. © 2022 CData Software Japan, LLC | www.cdata.com/jp • 自社の業務データ、顧客データの分析

    からのデータドリブンな意思決定 • 業務プロセスのオートメーション • ノーコード/ローコードの活用による システム開発高速化 DX の最初の一歩はデータ活用 自社業務のデジタル化 デジタルな競争力へのシフト DX を継続する組織
  48. © 2022 CData Software Japan, LLC | www.cdata.com/jp 私達のゴールはAPI 連携ではない

    データを活用し、ビジネスに活かすこと 様々なSaaS データの活用アプローチの一つとして ローコード X コネクティビティの重要性を理解する
  49. © 2022 CData Software Japan, LLC | www.cdata.com/jp HCL Notes

    / Domino をモダナイズする 『consentFlow』に250以上の 外部システムへの連携機能が登場