SDKとiframe、分析ソリューションをアプリケーションに組み込む場合に最適な方法はどっち?
アプリケーションに分析機能を組み込む「組み込み分析ソリューション」には、SDK(ソフトウェア開発キット)を利用した手法とiframeを利用した手法の大きく2つがあります。この記事ではこの2つの手法の違いを長所・短所の観点から解説します。お持ちのプロジェクトの性質にあった手法を選択するためのガイドとしてご利用ください。
原文:Embedded Analytics SDK vs iframes: Which is the Better Integration Option?
Bilyana Petrova/翻訳:インフラジスティックス・ジャパン
アプリへのインテグレーションは、組み込み分析ソリューションのベンダーを選定する際に考慮すべき最も重要なことです。既存のアプリケーションに分析ダッシュボードを組み込む場合、エンドユーザーに複雑さや混乱を与えることなく、ユーザーエクスペリエンス、ワークフロー、ブランディングの観点で違和感なく提供される必要があります。
ウェブアプリケーションに分析ダッシュボードを統合する場合、主に2つの選択肢が存在します。
- SDKとSDKが提供する様々なAPIを使用して、アプリケーションに機能を組み込んでいく。
- SaaSが提供する分析ダッシュボードをiframeを利用してアプリケーションに埋め込む。
この記事ではこの2つの手法の違いを長所・短所の観点から解説します。お持ちのプロジェクトの性質にあった手法を選択するためのガイドとしてご利用ください。
SDKによる組み込みとiframeの違い
どちらもお持ちのウェブアプリケーションにデータ分析機能を組み込むことが出来ますが、以下のような違いがあります。
- 組み込み分析ソリューションのSDKは、何らかのアプリケーションに統合されることを前提に構築されています。豊富なAPIを利用してカスタマイズされた分析機能を組み込むことで、まるでもともとアプリケーションの一部であったかのような使い心地を実現します。
- iframeは、ウェブアプリケーションにサードパーティの機能を埋め込むために古くから利用されてきた手法です。iframeを利用すればあらゆるウェブアプリケーションに様々なタイプのコンテンツを埋め込むことができます。しかし、カスタマイズされた機能性、スタイリング、ブランディング、ワークフローという面で多くの制限があります。

SDKによる組み込みとiframeを使った埋め込みの長所と短所の比較
それぞれの手法の欠点と利点を理解し、将来のアプリケーション開発において正しい選択ができるようにしておきましょう。
iframeを利用した組み込み分析ソリューションの欠点
iframeは、アプリケーションに分析機能を統合するための迅速で簡単な方法ですが、この方法を決定する前に考慮すべき欠点がいくつかあります。特定のユースケースや要件によっては、より堅牢で安全な手法を検討する必要があります。
- パフォーマンス:iframeでは、分析ダッシュボードが別サーバにホストされている場合、読み込み時間の遅延に影響を与える可能性があります。またそのサーバ自体が安定的に稼働するかどうかという観点でもサードパーティベンダーに依存することになります。
- セキュリティ:iframeを使用した場合、呼び出すアプリケーションに悪意のあるコードを忍ばせる事が可能で、機密データへの潜在的なセキュリティリスクがあります。
- コスト:iframeが利用可能なほとんどの組み込み分析ソリューションベンダーは、ユーザー数や利用データ量などによって費用が変動する料金モデルを採用していることが一般的です。このような料金モデルは最初は魅力的に見えますが、長期的に利用者数が増えた場合、コストが想定を超えることがよくあります。
- カスタマイズ:iframeは、埋め込んだコンテンツのカスタマイズ性が限られており、アプリケーション全体の外観や操作感にマッチさせることが困難で、一貫したユーザーエクスペリエンスを実現することはできません。あるアンケートによると、「ユーザーエクスペリエンス」は、組み込み分析ソリューションのベンダーを選ぶ際の第一の決定要因であることが示されています。
- 編集不可:多くのiframe形式のソリューションは、「ビューア」のみを提供します。つまり、エンドユーザーはダッシュボードを自由に編集したり作成したりすることができません。そもそもiframeを通してできることや、減収権限のあるユーザー数に制限があることが多いです。
- クロスドメインの問題:iframeを使用して異なるドメインのコンテンツを埋め込むと、クロスドメインの問題によって、埋め込まれたコンテンツにアクセスしたり操作したりすることが困難になる場合があります。
- SEOへの影響:iframeを使用してアナリティクスを埋め込むと、検索エンジンが埋め込まれたコンテンツを正しくインデックスできないため、検索エンジン最適化(SEO)に悪影響を及ぼします。
上記のように、iframe形式のソリューションを選択すると、アプリケーションの振る舞いや制御のほとんどと、全体的なユーザー体験、パフォーマンス、およびセキュリティをサードパーティベンダーに委ねることになります。
また、iframe形式のソリューションを提供するベンダーには、SaaS市場向けに構築されたアプリケーション・アーキテクチャを、ただiframeを通して提供しているだけのものもあります。そのようなソリューションは「アプリケーションに組み込む」ことを前提に設計されておらず、期待どおりの振る舞いをしないことが多いため、おすすめしません。
SDKを利用した組み込み分析ソリューションの欠点
SDKを使用すると、iframeに比べて大きなメリットがあります。しかしながら潜在的な欠点を考慮し、組み込み分析ソリューションがアプリケーションの特定のニーズと要件にマッチしていることを確認することが重要です。さらに、導入を成功させるために、必要な時間、リソース、継続的なメンテナンスの計画を立てることが重要です。
- 市場投入までの時間:分析ダッシュボードが正しく統合され、期待通りに機能させるには、開発者のリソースが必要です。SDKのベンダーが、市場投入までの時間に影響を与えないよう、開発チームへの手厚いサポートや、十分なドキュメントなどを用意しているか確認しましょう。
- メンテナンス必須:SDKを使用する場合は継続的なメンテナンスが必要です。これは長所と短所があります。短所は、実装者であるあなたがメンテナンスに責任を持つ必要があることです。一方、メンテナンスを通して新機能やバグフィックスなど継続的なイノベーションを行うことができます。
- ライセンス料:SDKのベンダーによっては、複雑な料金体系、ユーザーごとの料金モデル、またはサーバーデプロイの際に料金がかかるものなどがあります。透明性のある料金モデルを採用した組み込み分析ソリューションのベンダーを探しましょう。
- カスタマイズの制限:通常SDKは高度なカスタマイズが可能ですが、カスタマイズできる内容に制限がある場合があります。これには、ブランディング、ユーザーインターフェイスのプロパティとインタラクションの制限のほか、追加料金を伴うカスタマイズオプションなどがあります。評価中のベンダーに対して、自社アプリのインタラクションフローや既存のブランド体験と一致するエンドツーエンドのユーザー体験を提示できることを、具体的に説明するよう求めてください。
iframeを利用した組み込み分析ソリューションの利点
iframeを通して分析ダッシュボードを統合する主な利点は、価格と市場への投入時間の2つです。
- 価格:iframe形式のソリューションの初期費用は、SDKを利用したものより安価です。しかし欠点のセクションで述べたように、その価格は、ユーザーごとの料金、サーバーごとの料金、クラウドのコストなどを通じて時間とともに急上昇する可能性があります。
- 市場投入までの時間:iframe形式のソリューションを選択する場合、開発者リソースの数は少なく済みます。iframeを通して動くのはSaaSアプリケーションなので、データ接続、ダッシュボード作成、ユーザー設定等はサードパーティSaaSシステム上で行われます。開発者がやることは、既存のアプリケーションにiframeを統合することだけです。
SDKを利用した組み込み分析ソリューションの利点
アプリケーションに分析ダッシュボードを組み込むために設計された専用のSDKを利用すると、カスタマイズ性の向上、統合の容易さ、高度な機能性、セキュリティの強化、拡張性の向上など、多くの利点が期待できます。
- ユーザーエクスペリエンス:SDKは、高度なカスタマイズ性と柔軟性を持って設計されている必要があります。これには、カスタムブランディング、ユーザーインターフェイスオプションなどが含まれます。例えば、SDK形式のソリューションでは、ユーザーインターフェースのほぼすべての側面をAPIで制御することができます。一方、iframeソリューションでは、ユーザーやグループに応じて機能をオン・オフに変更するだけです。
- 迅速かつシンプルな統合:ダッシュボード、分析、セルフサービスBIなどの特定の目的のために設計されたSDKは、ホスト・アプリケーションとシームレスに統合することが容易で、開発チームが迅速に統合プロセスを実行できるように構築されています。ベンダーを評価する際には、サンプルコードや事例、新規または既存のアプリケーションへの統合が容易であることの詳細な説明を求めましょう。
- 機能性:SDK形式のソリューションは、ゼロからコーディングしようとすると実装が困難で時間がかかる、高度なビジネスインテリジェンス機能を提供します。これには、データの視覚化、予測分析、機械学習などが含まれます。
- セキュリティ:SDK形式のソリューションでは、セキュリティを完全にコントロールすることができます。クエリ、ユーザー権限、基礎となるテーブルへのアクセスなどを管理するためにサードパーティに依存することはありません。SDKが提供するAPIを通じて、これを制御することができます。
- デプロイメントとスケーラビリティ:SDK形式のソリューションでは、データのホスティングやデプロイメントを特定のクラウドベンダーに縛られることがありません。SDKはお客様のアプリケーションに組み込まれているため、デプロイの方法や場所はお客様が自由に選択できます。
ベンダー選定方法のすすめ
組み込み分析ソリューションのベンダーを選定する際は、あなたのアプリケーションにシームレスに統合することを前提に設計されたソリューションかどうかをしっかりと見極めることが重要です。これまでのセクションで強調したように、多くの組み込み分析ソリューションのベンダーは、組み込み可能であることを主張しながら、部分的にしかそうでないといったことがよくあります。正確に判断するために、以下のような質問をしてみるとよいでしょう。
- 組み込み機能は後付けだったのでしょうか?それとも、最初から組み込み可能なように設計されたのでしょうか?
- ユーザーは、単にダッシュボードを見るだけでなく、既存のダッシュボードを編集したり、新しいダッシュボードを追加したりできますか?
- SaaSやデスクトップ製品版に比べ、組み込み版のソリューションに機能的な制限はありますか?
- SDKをアプリケーションに追加するのがいかに簡単かを示すコード例はありますか?
さらに、ソリューションが組み込み用に特別に設計されているかどうかを判断するには、次のような機能を示す具体例やベンダーのドキュメントを探すとよいでしょう.
- APIによる統合:組み込むことを前提に構築された組み込み分析ソリューションは、他のアプリケーションやプラットフォームとの統合を容易にするAPIを提供します。ソリューションが提供するAPIが十分に文書化されており、使いやすく、お客様のアプリケーションですぐに利用できることを確認してください。
- ルック&フィールのカスタマイズオプション:優れた設計の組み込み分析ソリューションでは、自社のアプリケーションのルック&フィールに合うように外観をカスタマイズすることもできます。これには、色、フォント、全体的なスタイルを変更し、ユーザーにアプリ全体で統一されたユーザー体験を提供する機能が含まれます。このようなカスタマイズ機能は、ホワイトラベル分析と呼ばれています。
- セキュリティとプライバシー:データ視覚化ダッシュボードを組み込む場合、どのような方法であれ、取り扱うデータを確実に保護し、安全に扱うことが極めて重要です。暗号化、ユーザー認証と承認、データアクセス制御などの堅牢なセキュリティとプライバシーに関連する機能を探してみてください。
- デプロイメントオプション:ニーズに合わせた柔軟なデプロイメントオプションがあるか確認しましょう。クラウド、オンプレミス、ハイブリッド環境のいずれで展開する場合でも、ベンダーは要件に最も適した展開方法を選択できるオプションを提供する必要があります。
- スケーラビリティ:組み込み分析ソリューションが、データの需要やユーザーの増加に合わせて拡張できることも不可欠です。拡張性があり、パフォーマンスを低下させることなく大量のデータやユーザーを処理することが可能なソリューションを選択しましょう。
- 製品ロードマップ:ベンダーが組み込み分析ソリューションを継続的に改善するというコミットメントを示す製品ロードマップを探します。これにより、将来的に追加される機能や、そのソリューションが時間の経過とともに進化するニーズに対応できそうかどうかがわかります。
組み込み分析ソリューションRevealの紹介

Revealは、あなたのチームやあなたの顧客が、組み込み型のBI上でデータの洞察を得るサイクルを推進し、市場投入までの時間を短縮し、アプリのユーザーエクスペリエンスを変革することを可能にします。
Revealの強力なAPIは、アプリケーションにデータ分析機能を組み込む際の複雑さを解消するために、今日の最もモダンなアーキテクチャで、まず最初に「組み込み」を念頭に置いて構築されています。RevealのネイティブSDKは、.NET Core、Java、NodeJS、などのサーバサイド言語、React、Angular、Blazor、WebComponent、VueJS、jQuery、MVCなどのフロントエンド技術、Spring、TomcatなどのJavaフレームワークを含むあらゆるプラットフォームや技術スタックでアプリケーションへの統合をシームレスに実現します。
直感的なドラッグ&ドロップの操作により、あらゆるデバイスで美しく整理されたダッシュボードを簡単に作成することができます。数回のクリックで予測分析や機械学習モデルを素早く実行し、より精度の高いビジネス上の意思決定を行うことができます。

Revealはシンプルな固定料金で、チームをアプリのコアバリューに集中させ、ユーザーエクスペリエンスを向上させます。