Web教材一覧>
情報システムの活用>
電子商取引
Webサービスとマッシュアップ
キーワード
Webサービス、マッシュアップ、UDDI、WSDL、SOAP、マッシュアップ、GIS、地理情報システム、APIエコノミー、AWS、アグリゲーションサービス
Webサービス
例えば旅行の計画をするとき、列車予約と旅館予約の両方が必要になりますが、JRや私鉄、個別の旅館のサイトをいちいち調べるのでは大変です。また、それを統合するサイトとしては、鉄道会社や旅館からデータを提供してもらい、それを編集してWebページにする作業は大変です。
これを解決するためには、各社が予約サービスのインタフェースを標準化しておくこと、各社の予約サービスの存在をまとめたデータベースがあること、それを簡単な操作で利用できる標準化がなされていることなどが必要になります。
このように、ネットワーク上に分散したさまざまなプラットフォーム上で動作する複数のサービス要素を一つのサービスとして提供する技術あるいはサービスをWebサービスといいます。
Webサービスを構成する技術
Webサービスを実現するための基本技術に、次の3つがあります。これらはすべてXMLがベースになっています。
- UDDI(Universal Description,Discovery and Integration)
- UDDIはWebサービスを登録・検索するための仕組みです。
どこにどのようなWebサービスがあるかの一覧表のようなものです。そのデータベースをUDDIレジストリといいます。Webサービスを提供する企業は、提供企業名、サービスの名前と内容、サービスを受けるための情報などを、あらかじめ一定の形式(XML文書)でUDDIレジストリに登録しておきます。
このUDDIレジストリの管理者をレジストラといいます。検索エンジンと同じように、利用者はレジストラのサイトをアクセスすることにより、必要とするサービスを知ることができます。
- WSDL(Web Services Description Language)
- WSDLはWebサービスのインタフェースを記述する言語です。それにより、プログラムからWebサービスを呼び出すことができます
例えばホテル予約のWebサービスを受けるためには、検索するのか予約するのかなどの利用の種類、室のタイプや料金帯など多様なメッセージを送る必要があります。
このとき、個々のホテルがUDDIに合致した形式にする必要があります。その記述形式を定めたのがWSDLで、XMLをWebサービスに特化した言語です。
- SOAP
- 実際にWebサービスを構築するにはメッセージ交換が必要になります。このとき、サービスを行う通信プロトコルやサイトのハードウェアやソフトウェアなどの違いを乗り越えてメッセージ交換ができることが必要です。それを行うためのプロトコルがSOAPです。
SOAPは、メッセージ記述がXMLのヘッダとボディで構成されており、Webサービスに限定せず、多様なプログラムから使えるXML文書を送受信する標準プロトコルです。転送用プロトコルとしてHTTPまたはSMTPを用いています。
拡張規格
- WS-*ファミリ
- このような技術を組み合わせることにより、Webサービスを構築するのですが、それではかなりの記述が必要になります。それで、よく用いられれる機能に関しては、これらをベースにした拡張仕様の標準化が行われており、「WS-*」ファミリーと呼ばれています。
例えば、セキュリティに関するWS-Security、送信者・受信者のアドレス識別のためのWS-Addressing、複数のWebサービスを組み合わせてるためのWS-BPEL、出版/購読でのメッセージ交換をモデル化したWS-Notificationなどがあります。<・dd>
- ebXML(Electronic Business using XML)
- SOAPを拡張した規格で、主としてBtoB(企業間電子商取引)でのデータ交換のための複数の仕様群の総称です。
ISO/TS 15000 として国際規格になっています。取引伝票の伝送だけでなく、取引のプロセスやプロトコルの指定から、企業が取引相手を探すための仕様にまで多様に亘っています。
OASIS(Organization for the Advancement of Structured Information Standards, 構造化情報標準促進協会)は、XMLのビジネス利用に関する技術標準仕様を策定する国際的な団体で、SOAPやebXMLはOASISもここで策定されました。
REST(REpresentational State Transfer)
APIを作成するときに、相互利用を容易にするため「具体的に状態を定義した情報のやり取り」に関する考え方の基準です。
REST4原則
- 統一インターフェース
あらかじめ定義・共有された方法を用いること。XMLあるいはJSON形式のデータをHTMLメソッドで送受信するなどです。
(SOAPなどではXMLに限定されています)
- アドレス可能性
全ての情報が一意なURLで識別できることです。
- 接続性
1つのリンクから別の情報にリンクできること。これにより、RESTfulなシステム間での円滑な情報連携ができます。
- ステートレス性
やりとりが1回ごとに完結することにより、セッション管理を不要にする。
この4原則に従ったものをRESTfulといい、そのAPIをREST APIといいます。
Webサービスでの標準規格にはSOAPなどがありますが、RESTは設計思想ですので、ここの実装の仕様を規定するものではありません。
マッシュアップ
マッシュアップ(Mashup)とは、APIが公開されているサービスを別のサービスと組み合わせて新しいサービスを生み出す手法です。
このAPIは、上述のWSDLをさらに加工して使いやすくしたものもあるし、Javascriptでのパラメータの形式にしたものもあります。
マッシュアップとWebサービスの違いは明確ではありませんが、Webサービスは標準化を重視しており、それを用いたサービスはかなり本格的なWebサイトであることが多いのに対して、マッシュアップは、公開されている有名な使いやすいサービスが示す個々のAPIを用いて、そのサービスをWebページに組み入れるような、比較的簡単な利用を指すことが多いようです。
マッシュアップで利用される代表的なサービスにGoogleマップがあります。Googleが提供する地図表示アプリケーションで、Javascriptでの記述方法がAPIとして公開されています。
マッシュアップを活用することにより、システム開発やデータ収集などの手間や費用がかからず、アイデアさえあれば手軽に実現できる利点があります。マッシュアップをより簡単にあるいは高度に行うためのツールもあります。反面サービス提供側の都合により、APIの仕様変更やサービスの終了などが行われることがあります。
GIS(Geographic Information Systems、地理情報システム)
電子地図上に情報を重ね、編集・検索・分析・管理などを行えるシステム(仕組み)のことをいいます。
「地図データの表示・編集」、「情報の関連付けと共有・管理」、「情報の検索・分析」などを組み合わせて実現します。
- 地図データの表示・編集
Webページ作成者は、自社の所在地などを表示した地図を簡単に取り込むことができます。グルメサイトなどで見かける、レストラン情報を検索すると同時に地図が表示されるサービスなども典型的な例です。
- 情報の関連付けと共有・管理
地図上の建物とそれに付随する情報を関連付けて共有・管理します。
観光地の地図で名所のマーカをクリックして、写真や説明を見ることができます。
自然災害で電柱や鉄塔に被害が発生した場合、現地で被害状況を撮影した写真やコメントを位置情報とともに保存しておけば、関係者間で情報共有できるとともに、情報を集約して管理できます。
- 情報の検索・分析
位置情報をベースにした検索や分析ができます。距離や面積を測ることもできます。
目的地までの最短ルートを探したり、駅から徒歩○○分圏内の物件を探すことができます。エリアマーケティングでの商圏分析、店舗の統廃合の検討にも利用できます。
APIエコノミー
API利用側は、GoogleマップなどのAPIを活用することにより、自社の新事業を短期間・低コストで立上げ展開することができます。また、API公開側は、他社利用の増加により現在のサービス提供範囲の拡大や新顧客層の獲得など、自社ビジネスの拡大につながります。
このようにAPIを基盤とした、社会全体の経済性向上をAPIエコノミーといいます。
- 配車サービスビジネスのUber社は、他社が提供している「地図」や「決済」などのAPIを利用して、タクシーと利用者をマッチングするUberアプリを開発、そのAPIを公開し、他社がモバイルアプリに配車リクエストボタンを追加できる「Uber API」を公開しました。
- Hyatt などのホテルが自社のアプリにUberボタンを追加しました。滞在客は、外出時にHyattのアプリでUberボタンを押せば、他のアプリを立ち上げたり、行先を指定する必要もなく、ホテルまでのタクシーを呼びだせます。
- このような他業界でのUberAPIの利用により、Uber社の本来業務であるマッチング業務の利用者は急激に増大しました。
AWS(Amazon Web Services)
Amazonが提供している100以上のクラウドコンピューティングサービスの総称です。
AWSには、コンピューティング、ストレージ、データベースなどのインフラストラクチャテクノロジーから機械学習、人工知能、データレイクと分析、モノのインターネットなどの新しいテクノロジーに至るまで、多くのサービスがあり、サービス内にはさらに多くの機能があります。従量制の課金制度です。
代表的なAPIエコノミーであり、多くの民間企業や行政組織が、AWSを利用したシステム構築に関心をもっています。また、AWS導入から運用支援・監視・保守まで安心・安全のサービスを提供するAWS代行サービス事業者もあります。
- Amazon EC2(サーバー環境構築)
必要に応じてスペックを変更できる仮想サーバーを作成・利用できるサービスです。
- Amazon S3(データ保存/コンテンツ配信)
オンラインストレージかつ静的なコンテンツを配信できるサービスです。
- Amazon RDS(データベース利用)
データベース全般の管理支援サービスです。MySQLやPostgreSQL、Oracleといった主要なデータベースが画面上の簡単な操作で簡単に作成できます。
- AWS Lambda(プログラムの実行環境)
サーバーレスコンピューティングサービスといい、サーバーの運用負担なしで、任意のプログラムを実行できる環境を提供するサービスです。
アグリゲーションサービス
アグリゲーション(aggregation)とは「集約」のこと。分散的に存在する事業者、個人や機能への一括的なアクセスを顧客に提供し、比較、まとめ、統一的な制御、最適な組み合わせなどワンストップでのサービス提供を可能にするサービスです。マッシュアップとほぼ同義語ですが、より高度な特定分野でのシステムとして構築されることが多いようです。
- アカウントアグリゲーション
金融系のアグリゲーションサービスです。オンラインバンクやインターネット証券の口座を一元管理します。さらに、家計簿、資産、カード・ポイントの管理なども行うサービスもあります。
- 求人サイト
有名なのはリクルートホールディングスが運営し世界的に展開している Indeed でしょう。単に求人情報の検索だけでなく、募集要項や採用ページを閲覧した求職者をエントリー~採用に繋げるなどアグリゲーション機能を多く用いています。