マッシュアップ(コンピュータ業界の専門用語)は、ウェブ開発において、複数のソースからのコンテンツを使用して単一のグラフィカルインターフェースに表示される単一の新しいサービスを作成するウェブページまたはウェブアプリケーションのことです。たとえば、ユーザーは図書館支店の住所と写真をGoogleマップと組み合わせてマップマッシュアップを作成できます。[1]この用語は、オープンアプリケーションプログラミングインターフェース(オープンAPI )とデータソースを頻繁に使用して、必ずしも生のソースデータを生成する本来の目的ではない強化された結果を生成する、簡単で迅速な統合を意味します。マッシュアップという用語は、もともと2つ以上のソースの要素を組み合わせて何かを作成することに由来しています。[2]
マッシュアップの主な特徴は、組み合わせ、視覚化、集約です。個人的および専門的な用途で、既存のデータをより有用なものにすることが重要です。他のサービスのデータに永続的にアクセスできるようにするため、マッシュアップは通常、クライアントアプリケーションであるか、オンラインでホストされます。
過去数年[いつ? ]、ますます多くの Web アプリケーションが API を公開しており、ソフトウェア開発者はデータや機能を自分で構築するのではなく、 SOA方式で簡単に統合できるようになりました。マッシュアップは、ソーシャル ソフトウェアとWeb 2.0の進化に積極的な役割を果たしていると考えられます。マッシュアップ構成ツールは通常、エンド ユーザーが使用できるほどシンプルです。一般的にプログラミング スキルは必要なく、GUI ウィジェット、サービス、コンポーネントを視覚的に接続することをサポートします。したがって、これらのツールは、ユーザーが貢献できるWebの新しいビジョンに貢献します。 [説明が必要]
「マッシュアップ」という用語は、いかなる標準設定団体によっても正式に定義されていません。[3]
歴史
Web の歴史のより広い文脈は、マッシュアップの開発の背景となっています。Web 1.0モデルでは、組織は消費者データをポータルに保存し、定期的に更新していました。組織はすべての消費者データを管理し、消費者は情報を取得するためにその組織の製品やサービスを使用する必要がありました。[引用が必要]
Web 2.0の登場により、従来の競合他社に広く採用され、消費者データの活用が可能になった Web 標準が導入されました。同時に、マッシュアップが登場し、競合他社の API を組み合わせて新しいサービスを開発できるようになりました。
最初のマッシュアップは、マッピングサービスや写真サービスを使用して、これらのサービスをあらゆる種類のデータと組み合わせて、データの視覚化を生成しました。[4] [検証に失敗しました] 当初、ほとんどのマッシュアップは消費者ベースでしたが、最近では[いつ? ]マッシュアップは企業にも役立つ興味深いコンセプトとして[誰によって? ]見られるようになりました。ビジネスマッシュアップは、既存の内部データと外部サービスを組み合わせて、データの新しいビューを生成できます。Yahoo ! クエリ言語を使用して無料でマッシュアップを構築できる無料のYahoo! Pipesもありました。
マッシュアップの種類
マッシュアップには、ビジネスマッシュアップ、コンシューマーマッシュアップ、データマッシュアップなど、多くの種類があります。[5]最も一般的なマッシュアップの種類は、一般の人々を対象としたコンシューマーマッシュアップです。
- ビジネス(またはエンタープライズ)マッシュアップは、独自のリソース、アプリケーション、データを他の外部Webサービスと組み合わせたアプリケーションを定義します。[4]データを単一のプレゼンテーションに集約し、企業と開発者間の共同作業を可能にします。これは、ビジネス要件の定義と実装のために開発者と顧客(または顧客代理人、通常は製品マネージャー)とのコラボレーションを必要とするアジャイル開発プロジェクトに適しています。エンタープライズマッシュアップは、安全で視覚的に豊かなWebアプリケーションであり、さまざまな内部および外部の情報ソースから実用的な情報を公開します。
- コンシューマーマッシュアップは、ブラウザ内の複数の公開ソースからのデータを組み合わせ、シンプルなブラウザユーザーインターフェースを通じて整理します。[6] (例:WikipediavisionはGoogleマップとWikipedia APIを組み合わせています)
- データ マッシュアップは、コンシューマー マッシュアップとは逆に、複数のソースからの類似した種類のメディアと情報を 1 つの表現に組み合わせます。これらすべてのリソースを組み合わせることで、どちらのソースでも元々提供されていなかった新しい独自のWeb サービスが作成されます。
APIタイプ別
マッシュアップは、使用する基本 API タイプによって分類することもできますが、これらはすべて相互に組み合わせたり、他のアプリケーションに埋め込んだりすることができます。
データ型
- メタ検索エンジンで使用されるインデックスデータ(ドキュメント、ウェブログ、画像、ビデオ、ショッピング記事、求人情報など)
- 地図および地理データ: 地理位置情報ソフトウェア、地理視覚化
- フィード、ポッドキャスト:ニュースアグリゲーター
機能
- データコンバーター:言語翻訳、音声処理、URL 短縮など。
- コミュニケーション:電子メール、インスタント メッセージ、通知...
- 視覚的なデータレンダリング:情報の視覚化、図表
- セキュリティ関連:電子決済システム、ID識別...
- 編集者
マッシュアップイネーブラー
テクノロジーにおいて、マッシュアップ イネーブラーは、互換性のない IT リソースを、簡単に組み合わせられる形式に変換してマッシュアップを作成するツールです。マッシュアップ イネーブラーは、データとサービスを組み合わせるための強力な手法とツール (マッシュアップ プラットフォームなど) を新しい種類のリソースに適用できるようにします。マッシュアップ イネーブラーの例として、スプレッドシートからRSSフィードを作成するツールがあります (スプレッドシートはマッシュアップの作成には簡単に使用できません)。多くのマッシュアップ エディターには、Presto Mashup Connectors、Convertigo Web Integrator、 Caspio Bridgeなど、マッシュアップ イネーブラーが含まれています。
マッシュアップ イネーブラーは、「マッシュアップを可能にするサービスおよびツール プロバイダー」とも呼ばれます。[引用が必要]
歴史
初期のマッシュアップは熱心なプログラマーによって手作業で開発されていました。しかし、マッシュアップの人気が高まるにつれて、企業はマッシュアップ構築用のプラットフォームを作成し始めました。これにより、デザイナーはマッシュアップ コンポーネントを接続して視覚的にマッシュアップを構築できるようになりました。
マッシュアップ エディターにより、マッシュアップの作成が大幅に簡素化され、マッシュアップ開発者の生産性が大幅に向上し、エンド ユーザーや IT 専門家以外の人にもマッシュアップ開発が開かれました。標準コンポーネントとコネクタにより、設計者はマッシュアップ リソースをあらゆる複雑な方法で簡単に組み合わせることができます。ただし、マッシュアップ プラットフォームは、マッシュアップがアクセスできるリソースの範囲を広げることにはほとんど貢献しておらず、適切に構造化されたデータとオープン ライブラリ ( RSSフィードとパブリックAPI ) への依存からマッシュアップを解放していません。
マッシュアップ イネーブラーはこの問題に対処するために進化し、他の種類のデータやサービスをマッシュアップ可能なリソースに変換する機能を提供します。
ウェブリソース
もちろん、すべての貴重なデータが組織内に存在しているわけではありません。実際、ビジネス インテリジェンスと意思決定サポートにとって最も貴重な情報は、多くの場合、組織の外部にあります。リッチ Web アプリケーションとオンライン Web ポータルの出現により、ビジネスに不可欠なさまざまなプロセス (注文など) がオンラインで利用できるようになりました。残念ながら、これらのデータ ソースのうち、RSS 形式でコンテンツを配信しているものはほとんどなく、パブリックにアクセス可能な API を提供しているサービスもほとんどありません。そのため、マッシュアップ エディターは、イネーブラーまたはコネクタを提供することでこの問題を解決します。
マッシュアップ対ポータル
マッシュアップとポータルはどちらもコンテンツ集約テクノロジです。ポータルは、従来の動的 Web アプリケーションの拡張機能として設計された古いテクノロジです。このテクノロジでは、データ コンテンツをマークアップされた Web ページに変換するプロセスが、マークアップ「フラグメント」の生成とフラグメントのページへの集約の 2 つのフェーズに分かれています。各マークアップ フラグメントは「ポートレット」によって生成され、ポータルはそれらを 1 つの Web ページに結合します。ポートレットは、ポータル サーバーでローカルにホストすることも、別のサーバーでリモートにホストすることもできます。
ポータル テクノロジは、読み取りと更新をカバーする完全なイベント モデルを定義します。ポータル上の集約ページに対する要求は、ページを構成するすべてのポートレットに対する個別の読み取り操作に変換されます (ローカルのJSR 168renderポートレットに対する " " 操作、またはリモートのWSRPポートレットに対する " " 操作)。ポータル ページの任意のポートレットで送信ボタンが押されると、そのポートレットのみに対する更新操作に変換されます (ローカル ポートレットまたはリモートの WSRP ポートレット)。更新の直後に、ページ上の
すべてのポートレットに対する読み取りが行われます。getMarkupprocessActionperformBlockingInteraction
ポータル テクノロジは、サーバー側のプレゼンテーション層の集約に関するものです。2フェーズ コミットなどのより堅牢な形式のアプリケーション統合を推進するために使用することはできません。
マッシュアップは、次の点でポータルと異なります。
ポータル モデルはより長い歴史があり、投資と製品研究も盛んに行われています。そのため、ポータル テクノロジはより標準化され、成熟しています。時間の経過とともに、マッシュアップ テクノロジの成熟度と標準化が進むにつれて、ポータル テクノロジよりも人気が高まる可能性があります。これは、マッシュアップ テクノロジが Web 2.0 や最近ではサービス指向アーキテクチャ(SOA)とより密接に関連しているためです。 [7] ポータル製品の新しいバージョンでは、レガシー ポートレット アプリケーションのサポートを継続しながら、最終的にはマッシュアップのサポートが追加されると予想されています。対照的に、マッシュアップ テクノロジでは、ポータル標準のサポートは提供されないと予想されています。
ビジネスマッシュアップ
マッシュアップの用途はビジネス環境において拡大しています。ビジネスマッシュアップはビジネスサービスとデータサービスの統合に役立ちます。ビジネスマッシュアップ技術は、新しい統合サービスを迅速に開発し、内部サービスと外部またはパーソナライズされた情報とを組み合わせ、ユーザーフレンドリーなWebブラウザインターフェースを通じてこれらのサービスをビジネスユーザーに具体的に提供する機能を提供します。[8]
ビジネス マッシュアップは、ビジネス コンピューティング環境との統合レベル、セキュリティとアクセス制御機能、ガバナンス、および使用されるプログラミング ツール (マッシュアップ エディター) の高度さにおいて、コンシューマー マッシュアップとは異なります。ビジネス マッシュアップとコンシューマー マッシュアップのもう 1 つの違いは、商用のソフトウェア サービス(SaaS) の提供でビジネス マッシュアップを使用する傾向が高まっていることです。
ビジネス マッシュアップ テクノロジーのプロバイダーの多くは、SOA機能を追加しています。
マッシュアップのアーキテクチャ的側面
マッシュアップのアーキテクチャは 3 つのレイヤーに分かれています。
- プレゼンテーション/ユーザーインタラクション: これはマッシュアップのユーザーインターフェイスです。使用されるテクノロジーは、HTML / XHTML、CSS、JavaScript、非同期JavaScript、およびXML (Ajax)です。
- Web サービス: API サービスを使用して製品の機能にアクセスできます。使用されるテクノロジーは、XMLHTTPRequest、XML-RPC、JSON-RPC、SOAP、RESTです。
- データ: 送信、保存、受信などのデータの処理。使用されるテクノロジーは、 XML、JSON、KMLです。
アーキテクチャ的には、マッシュアップにはWebベースとサーバーベースの2つのスタイルがあります。Webベースのマッシュアップでは通常、ユーザーのWebブラウザを使用してデータを結合および再フォーマットしますが、サーバーベースのマッシュアップでは、リモートサーバー上でデータを分析および再フォーマットし、最終的な形式でデータをユーザーのブラウザに送信します。[9]
マッシュアップはファサードパターンのバリエーションのように見えます。[10]つまり、より大きなコード本体(この場合は、異なるAPI を持つさまざまなフィードを集約するコード)への簡素化されたインターフェースを提供するソフトウェアエンジニアリング設計パターンです。
マッシュアップは、サービスとして提供されるソフトウェア ( SaaS ) で使用できます。
数年にわたる標準開発を経て、主流のビジネスはサービス指向アーキテクチャ(SOA)を採用し始めています。これは、異なるデータを個別の Web サービスとして利用できるようにすることで統合するものです。Web サービスは、オープンで標準化されたプロトコルを提供し、さまざまなプラットフォーム (オペレーティング システム、プログラミング言語、アプリケーション)から情報にアクセスするための統一された手段を提供します。これらの Web サービスは、組織内および組織間でまったく新しいサービスやアプリケーションを提供するために再利用できるため、ビジネスの柔軟性が高まります。
参照
参考文献
- ^ Fichter, Darlene. マッシュアップとは何か? (PDF) . 2013年8月12日閲覧。
- ^ 「マッシュアップ」. merriam-webster.com . 2024年5月31日.
- ^ 「エンタープライズ マッシュアップ: SOA の新たな側面」。SOA WORLD MAGAZINE。2009 年 6 月 5 日のオリジナルからアーカイブ。2010年 3 月 3 日に取得。
マッシュアップという用語は、標準化団体による正式な定義の対象ではありません。
- ^ ab Clarkin, Larry; Holmes, Josh (2009 年 1 月 14 日)。「エンタープライズ マッシュアップ」。MSDN アーキテクチャ ジャーナル。MSDN アーキテクチャ センター。
- ^ Sunilkumar Peenikal (2009). 「マッシュアップと企業」(PDF) . MphasiS - HP. 2013-06-02 のオリジナル(PDF)からアーカイブ。2010-02-27に取得。
- ^ 「エンタープライズ マッシュアップ: SOA の新たな側面」。SOA WORLD MAGAZINE。2009 年 6 月 5 日にオリジナルからアーカイブ。2010年 3 月 3 日に取得。
コンシューマー マッシュアップは、ブラウザー内の複数のパブリック ソースからのデータを結合し、シンプルなブラウザー ユーザー インターフェイスを通じて整理するアプリケーションです。
- ^ Digna, Larry (2007)。「Gartner: ポータルの未来はマッシュアップ、SOA、さらなる集約」ZDNET。2012年4月13日時点のオリジナルよりアーカイブ。 2009年12月26日閲覧。
- ^ Holt, Adams (2009)。「エグゼクティブ IT アーキテクト、マッシュアップのビジネス シナリオとパターン」。IBM DeveloperWorks。
- ^ Bolim, Michael (2005). 「Web 向けエンドユーザープログラミング、MIT 修士論文、2.91 MB PDF」(PDF)。pp. 22–23。
- ^ デザインパターン: 再利用可能なオブジェクト指向ソフトウェアの要素 ( ISBN 0-201-63361-2 ) Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 著
さらに読む
- Ahmet Soylu、Felix Mödritscher、Fridolin Wild、Patrick De Causmaecker、Piet Desmet。2012年。「オーケストレーションとウィジェットベースの個人環境によるマッシュアップ:主な課題、解決戦略、およびアプリケーション」プログラム:電子図書館および情報システム46(4):383–428。
- Endres-Niggemeyer、Brigitte 編。2013 年。セマンティック マッシュアップ。Web リソースのインテリジェントな再利用。Springer。ISBN 978-3-642-36402-0 (印刷)
