なぜAPI 連携は求められているの? なぜAPI 連携は大変なの? SaaS API 連携の活用アプローチ、ローコード X コネクティビティの重要性のススメ https://www.consentflow.jp/webinar-ktrick-cdata-2023-05/
KTRICK-CDATA 共催ウェビナーを開催 5/11(木) 16:00~17:30
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData SoftwareなぜAPI連携は求められているの?なぜAPI連携は大変なの?SaaS API連携の活用アプローチ、ローコード X コネクティビティの重要性のススメ2023/05/11CData Software Japan Lead Engineer / Kazuya Sugimoto
View Slide
© 2022 CData Software Japan, LLC | www.cdata.com/jpCData Software Japan の Lead Engineerこれまで300種類以上のAPIを見たり触ったりしているAPI中毒な人。Twitter:@sugimomotoFacebook:sugimomotoBlog:https://www.cdatablog.jp/About SpeakerSoftware Design 2022年8月号 Web API特集 の第1章「Web APIの目的と技術要素利用者/提供者の利点や技術的なしくみをひも解く」を執筆https://gihyo.jp/magazine/SD/archive/2022/202208
EMPLOYEES200+ACTIVE CUSTOMERS9,000+OEM PARTNERS100+© 2022 CData Software Inc. | www.cdata.comCData SoftwareCData Software, Inc.• 本社:US(NC州), オフィス:日本/欧州/インド/中国• データコネクティビティ テクノロジーのリーダーCData Software Japan, LLC• 宮城県仙台市• 2016/06 〜
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData Software今日テーマとお伝えしたいこと
© 2020 CData Software Inc. | www.cdata.comHCL Notes / Domino をモダナイズする『consentFlow』に250以上の外部システムへの連携機能が登場
© 2022 CData Software Japan, LLC | www.cdata.com/jpなぜAPI連携が今強く求められているのか?そして、なぜAPI連携は大変なのか?
© 2022 CData Software Japan, LLC | www.cdata.com/jp私達のゴールはAPI 連携ではないデータを活用し、ビジネスに活かすこと様々なSaaS データの活用アプローチの一つとしてローコード X コネクティビティの重要性を理解する
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData SoftwareAPI 連携における「データ活用」に至るまでの課題
© 2022 CData Software Japan, LLC | www.cdata.com/jpAPI 連携における「データ活用」に至るまでの課題の整理External Factor対応しなければいけないWeb API の多様さソフト面の課題AccessibilityそもそもWeb API 接続は可能か?ハード面の課題Internal Factor各Web API の学習・キャッチアップコストUsabilityデータ活用までスムーズに到達可能か?UpdatabilityAPI Update 対応が考慮されているか?
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData Softwareソフト面の課題External Factor対応しなければいけないWeb API の多様さ
© 2022 CData Software Japan, LLC | www.cdata.com/jpみなさんの会社ではSaaS をいくつ使っていますか?
© 2022 CData Software Japan, LLC | www.cdata.com/jp企業で使うSaaS の数は急増# of SaaS Apps used in Corporate is increasing
© 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/
© 2022 CData Software Japan, LLC | www.cdata.com/jp例えば、バックオフィスの業務フローを見てみる引用元:バックオフィス向けSaaS活用MAPテンプレートhttps://note.com/iitsuki/n/nda1b369fa083
© 2022 CData Software Japan, LLC | www.cdata.com/jp数多くのSaaS が絡み合いながら業務プロセスが成り立っている引用元:バックオフィス向けSaaS活用MAPテンプレートhttps://note.com/iitsuki/n/nda1b369fa083
© 2022 CData Software Japan, LLC | www.cdata.com/jp私たちはビジネスデータを活用するためにこれだけのSaaS・クラウドサービスを相手にしなければいけない
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData Softwareソフト面の課題Internal Factor各Web API の学習・キャッチアップコスト
© 2022 CData Software Japan, LLC | www.cdata.com/jpWeb API のキャッチアップって大変じゃないですか?
© 2022 CData Software Japan, LLC | www.cdata.com/jp600種類以上にわたるSaaS一つ一つのAPI提供状況を調べ上げて見えてきた個々のWeb API 仕様の違い
© 2022 CData Software Japan, LLC | www.cdata.com/jp調査の中で最も注目するべき点は「API仕様の多様性」RESTが多いが詳しく見てみると多種多様国産SaaSはそもそもAPI仕様すらわからない
© 2022 CData Software Japan, LLC | www.cdata.com/jp例えば「Salesforce」の「REST API」実体はSOQLというSalesforce内部での独自規格のSQLを発行するAPI
© 2022 CData Software Japan, LLC | www.cdata.com/jpインターフェースそれぞれの特性を理解し、キャッチアップしなければデータ活用に到達できないProtocols Data ModelMetadata Authentication CapabilitiesSOAPRESTODataStaticDynamicsHybridRelationalNoSQLRaw StoresBasicAPI TokenOAuthFilterAggregationsJoins
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData SoftwareAccessibilityそもそもWeb API 接続は可能か?
© 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といった接続の初手にあたる部分、またGettingstarted guideやTutorials が重要であると指摘されている。
© 2022 CData Software Japan, LLC | www.cdata.com/jp認証方法のサポートも多岐に渡る
© 2022 CData Software Japan, LLC | www.cdata.com/jpOAuth 2.0 でも違ったりPOST /{tenant}/oauth2/v2.0/token HTTP/1.1Host: https://login.microsoftonline.comContent-Type: application/x-www-form-urlencodedclient_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.1Host: oauth2.googleapis.comContent-Type: application/x-www-form-urlencodedclient_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-tokenhttps://developers.google.com/identity/protocols/oauth2/web-server#offlineAzure AD OAuth 2.0 Google Cloud Platform OAuth 2.0Refresh Token が存在せず、Access Tokenの期限が延びる
© 2022 CData Software Japan, LLC | www.cdata.com/jpAPI Update で認証・認可方法が独自認証から独特な OAuth 2.0?になったりクライアントユーザーリソース1. AWS IAMで AssumeRole を実施2. Amazon marketplace APIへのアクセス権を付与したAWSAccessKey・SecretKeyを取得3. 認可URLを生成4. 認証・認可処理をリクエスト・Codeを取得5. Codeと引き換えにAccess Tokenを取得6. Access TokenとAccessKey・SecretKeyを元にAWS Signatureを生成して、リクエストを実施
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData SoftwareUsabilityデータ活用までスムーズに到達可能か?
© 2022 CData Software Japan, LLC | www.cdata.com/jp「API=簡単に連携できる」という誤解API が公開されているんだからデータ基盤にもBIツールにも簡単に連携できるよね。ソースAPI へのアクセススキーマ付与、テーブル化適切なクエリの実装相手先API へのアクセス相手先へのマッピング連携ジョブの起動ビジネス側の考える「API でできる連携」実際にAPI でできること 実は開発しないといけない部分このプロセスの中で重要となるのが、データモデルの定義
© 2022 CData Software Japan, LLC | www.cdata.com/jpビジネスの全体像が見渡せるダッシュボードが作りたい
© 2022 CData Software Japan, LLC | www.cdata.com/jpインサイトを得るためのデータソースは一つじゃないCRMERPMAWEBAD
© 2022 CData Software Japan, LLC | www.cdata.com/jp例えば「売上を前年よりXX%アップする」という目標この顧客はどのキャンペーンを見たのか?(WEB)この顧客はどう流入してきたのか?(MA)この顧客はどの製品から発生しているのか?(CRM)売上の顧客構成はどうなっているのか?(ERP)売上はどうなっているのか?意思決定や判断に様々なデータへのドリルダウンが必須
© 2022 CData Software Japan, LLC | www.cdata.com/jpデータ活用にはデータアクセスだけでなく、データモデリングが重要。しかし、スクラッチの場合都度確認・定義が必要。
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData SoftwareUpdatabilityAPI Update 対応が考慮されているか?
© 2022 CData Software Japan, LLC | www.cdata.com/jp何もしていないのに壊れました!
© 2022 CData Software Japan, LLC | www.cdata.com/jp"ソフトウェアは何もしないと壊れる"https://twitter.com/yasulab/status/1568434261224755204/photo/1
© 2022 CData Software Japan, LLC | www.cdata.com/jpAmazon Marketplace API アップデートでAPI仕様が大幅変更・古いAPI終了告知が半年前*
© 2022 CData Software Japan, LLC | www.cdata.com/jp認証方法・クエリパラメータデザインレスポンスフォーマット含め全面刷新POST /Orders/2013-09-01/?AWSAccessKeyId=AKIAIKW5JHOTOOWSF43A&Action=ListOrders&LastUpdatedAfter=1969-12-31T15%3A00%3A00Z&MWSAuthToken=amzn.mws.XXX&MarketplaceId.Id.1=A1VC38T7YXB528&SellerId=A1WD8M4EQL9XVH&Signature=XXXXX&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2020-10-02T00%3A27%3A20Z&Version=2013-09-01 HTTP/1.1Host: mws.amazonservices.jpAccept: application/xmlContent-Type: application/xmlxmlns="https://mws.amazonservices.com/Orders/2013-09-01">2018-08-17T14:59:59ZStandardOrder2018-08-15T09:59:55.270ZGET /orders/v0/orders?MarketplaceIds=A1VC38T7YXB528&CreatedAfter=2021-08-09 HTTP/1.1Host: sellingpartnerapi-fe.amazon.comAccept: application/jsonAuthorization:******x-amz-access-token: XXXXXx-amz-date: 20210809T073105Zx-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:00ZMWS API Selling Partner API
© 2022 CData Software Japan, LLC | www.cdata.com/jpYahoo Shopping API の軽減税率対応等注文データや商品マスタなどほとんどのAPIリソースの項目が追加・更新
© 2022 CData Software Japan, LLC | www.cdata.com/jpBカート API のインボイス対応https://api.bcart.jp/news/31
© 2022 CData Software Japan, LLC | www.cdata.com/jp「コネクティビティ」がボトルネックになっている
© 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/LowCodeETL/EAIデータ分析、BI
© 2022 CData Software Japan, LLC | www.cdata.com/jp私達のゴールはAPI連携ではないデータを活用し、ビジネスに活かすことBI 導入のプロジェクトやBIシステムの構築プロジェクトは、 単にBI ツール を導入することを目的にしてはいけません。このループを仕組みとして作り上げることを目的にするべきです。でも、API連携がうまくいかないとデータ活用に取り込む手前、分析に行き着く前に止まってしまう清水 優吾. Microsoft Power BI入門 BI使いになる!Excel脳からの脱却 (Kindle の位置No.608-610). 株式会社 翔泳社. Kindle 版.
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData SoftwareconcentFlow X CData Driver“Data Connectivity as a Software” としてデータ接続だけを concentFlow のコネクター化
© 2022 CData Software Japan, LLC | www.cdata.com/jpHCL Notes / Domino をモダナイズする『consentFlow』に250以上の外部システムへの連携機能が登場
© 2022 CData Software Japan, LLC | www.cdata.com/jpAPI をCDataのコネクタテクノロジーでスムーズに接続可能にEnable real-time data integration with hundreds of applications, databases, and Web APIsDRIVERS & ADAPTERS
© 2022 CData Software Japan, LLC | www.cdata.com/jp2016年:50 データソースで日本ビジネスを開始
© 2022 CData Software Japan, LLC | www.cdata.com/jp250+ 業界最多級のデータソースDrivers for NoSQL, Big Data, & SaaS ConnectivityCRMおよびマーケティング自動化会計システムコラボレーションおよびERPオンプレミスおよびクラウドDBドキュメントおよびファイル形式ソーシャルネットワーキングネットワーキングおよび認証電子商取引その他
© 2022 CData Software Japan, LLC | www.cdata.com/jp国産データソースの拡充
© 2022 CData Software Japan, LLC | www.cdata.com/jp250種類のAPIがすべて同じ手順で接続が可能多様な認証方法、接続アプローチが接続テストツールで簡単に設定可能
© 2022 CData Software Japan, LLC | www.cdata.com/jpCData Drivers が提供する標準化とはGive schema like RDB, enable standard SQL, give enterprise level security features• JSON/XMLなどのデータをテーブル構造にマッピング• 非構造化データからスキーマを自動検出• 標準SQLでのデータアクセスを可能に• フルCRUDを実現• JOIN / フィルタリングや集計関数にも対応• アプリ/ツールの標準対応 インターフェースとして接続• 各種プラットフォームが提供する高度なフレームワーク活用が可能• ファイアウォールやプロキシなどのネットワーク機能に標準対応• 各種認証・ログ管理等のエンタープライズレベルの要求をすべて統一UIで提供テーブル化(スキーマ付与)標準SQLクエリエンジン標準インターフェースセキュリティ管理機能ODBCDRIVERS & ADAPTERS
© 2022 CData Software Japan, LLC | www.cdata.com/jp利用できるデータモデルや機能はドキュメントやメタデータから参照可能
© 2022 CData Software Japan, LLC | www.cdata.com/jp連携の設定は全コネクターで共通
© 2022 CData Software Japan, LLC | www.cdata.com/jp各ドライバーで多様な認証スキームをサポートまた、ファイアウォールやプロキシの設定機能もサポート
© 2022 CData Software Japan, LLC | www.cdata.com/jpユーザーはすでにデータモデリングがされたものから自身が扱いたいデータを選択し、マッピングに繋げることが可能
© 2022 CData Software Japan, LLC | www.cdata.com/jpデータモデリングされた結果をそのままツール側で活用可能さらにページネーションやフィルタリングなども自動的に行なってくれる。
© 2022 CData Software Japan, LLC | www.cdata.com/jpAPI アップデートへの追従はチョー大変
© 2022 CData Software Japan, LLC | www.cdata.com/jpCData 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 クラウドストレージにアクセスする際に対象をプロパティで選択
© 2022 CData Software Japan, LLC | www.cdata.com/jpAmazon Marketplace API Updateの場合データモデルを極力変えないMWS API SP-APIColumn Name Type Column Name TypeOrderItemId VARCHAR OrderItemId VARCHARAmazonOrderId VARCHAR AmazonOrderId VARCHARASIN VARCHAR ASIN VARCHARSellerSKU VARCHAR SellerSKU VARCHARBuyerCustomizedInfoCustomizedURLVARCHAR BuyerCustomizedInfoCustomizedURLVARCHARTitle VARCHAR Title VARCHARQuantityOrdered INT QuantityOrdered INTQuantityShipped INT QuantityShipped INTGrantedPointsNumber INT GrantedPointsNumber INTGrantedPointsMonetaryValueAmountDECIMAL GrantedPointsMonetaryValueAmountDECIMALGrantedPointsMonetaryValueCurrencyCodeVARCHAR GrantedPointsMonetaryValueCurrencyCodeVARCHARNumberOfItems INT NumberOfItems INTItemPriceAmount DECIMAL ItemPriceAmount DECIMALItemPriceCurrencyCode VARCHAR ItemPriceCurrencyCode VARCHARShippingPriceAmount DECIMAL ShippingPriceAmount DECIMALShippingPriceCurrencyCodeVARCHAR ShippingPriceCurrencyCodeVARCHARGiftWrapPriceAmount VARCHAR GiftWrapPriceAmount VARCHARGiftWrapPriceCurrencyCodeVARCHAR GiftWrapPriceCurrencyCodeVARCHARTaxCollectionName VARCHAR #N/A #N/ATaxCollectionValue VARCHAR #N/A #N/AItemTaxAmount DECIMAL ItemTaxAmount DECIMAL・内部の実装は異なるが、インターフェースレベルでは同じ仕様を保てるようにする・移行のしやすさ、ビジネスロジックサイドへの影響を最小化・新しいAPIで存在しない項目、追加された項目は致し方ないが
© 2022 CData Software Japan, LLC | www.cdata.com/jp前のデータモデル・ロジックも残す・API順次廃止とはいえ、まだ未リリースのAPIもあったため、スムーズな切り替えのためデータモデル・ロジックを残存(メンテナンスコストの観点から最初は反発があった)
© 2022 CData Software Japan, LLC | www.cdata.com/jp1. About CData Software5. おわりに
© 2022 CData Software Japan, LLC | www.cdata.com/jp汎用Web API コネクタにおける「データ活用」に至るまでの課題External Factor対応しなければいけないWeb API の多様さソフト面の課題Accessibility汎用Web API コネクタで接続が可能か?ハード面の課題Internal Factor各Web API の学習・キャッチアップコストUsabilityデータ活用までスムーズに到達可能か?UpdatabilityAPI Update 対応が考慮されているか?
© 2022 CData Software Japan, LLC | www.cdata.com/jpスクラッチか? ローコード & コネクタか?使い勝手スピード自由度自由度の高さではスクラッチ。データとしての使い勝手、連携までのスピードはローコード & コネクタ。
© 2022 CData Software Japan, LLC | www.cdata.com/jp• 自社の業務データ、顧客データの分析からのデータドリブンな意思決定• 業務プロセスのオートメーション• ノーコード/ローコードの活用によるシステム開発高速化DX の最初の一歩はデータ活用自社業務のデジタル化デジタルな競争力へのシフトDX を継続する組織