この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "Webサービス"
「ホスティングサーバ」あるいは「ウェブアプリケーション」とは異なります。
Webサービスのアーキテクチャ
Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、分散コンピューティングを実現したものを指す。W3Cにおいては、Webサービスとは、さまざまなプラットフォーム上で動作する異なるソフトウェア同士が相互運用するための標準的な手段を提供するものと説明されている。
類似の用語としてWeb API(ウェブエーピーアイ)があるが、ほぼ同義語である[1]。
2000年代後半以降、Webアプリの広まりと共にエンドユーザーに対して画面を介して何らかのサービスを提供するWebサイトを指して「Webサービス」と呼称することが増えたが、そういったものとは異なり、W3Cが定義するWebサービスは単純に他のソフトウェアから呼び出せる処理ロジックだけを提供するサービスを指している。 1998年に異種プラットフォーム間の情報交換手段としてXMLが登場した後、XMLを基盤として分散コンピューティングの一翼を担う新技術として登場し、2001年ごろには大きな期待感とともに業界メディアにも多数取り上げられその認知度は上がった。しかし市場ではその必要性が低かったためかいまひとつ大きな普及へとは至っていない。関連技術の標準化の難航も普及の妨げになっているといわれている。実際に実用しているシステムもあるが、一般の利用者が使える物としては地図情報や天気予報といった従来より無償で取得できる情報がWebサービスとして提供されているものしか存在せず、現状では実験的な使用に留まっているシステムが多い。しかし最近、サービス指向アーキテクチャ (SOA) が脚光を浴びていることから、その基盤技術となるWebサービスへの注目も再び高まっている。 WebサービスはSOAPを前提として世界中で多数立ち上げられる予定だったが、SOAPの規格が複雑である点と、流行した時期においてはWebアプリケーションが小規模で利用価値が低かった点が問題となり、実験的な利用のみに留まった。2010年代に入り、Webアプリケーションが高度化すると、HTTPの仕様の範囲内でAPIを実現するRESTとそのサービス間連携が活用されるようになった。従って、Webサービスは当初よりも遥かにシンプルな形で実現されたと言える。RESTが普及した後も企業間の取り決めにより業務システムの電子商取引(EDI)などの用途で用いられることがある(BtoBのシステムでは独自APIなどでもXMLが利用されてきた経緯があるため)が、こうしたWebサービスは契約関係にある特定の企業にしか公開されていない。 Webサービスを応用して、複数のWebサービス同士をつなぎ合わせてアプリケーションやサービスを構築する事をマッシュアップと呼ぶ。Webサービスを用いたマッシュアップの具体的な事例としては、ある検索結果に基づいてレストラン情報と地図情報を同時に表示したり、YouTubeなど動画コンテンツと同じキーワードの商品をamazon.comなどより取得して表示するなど使い方によってはユーザーに高いベネフィットを与えるものもある。これらの様なサービスは大手企業だけでは無く、個人の参加が多く日々様々なサービスが生まれている。しかし有用なWebサービス自体が少ないことから、マッシュアップはごく限られた分野の付加サービス的な位置づけに過ぎない状況である。[要出典] 近年では、上で述べたような技術的な定義から離れ、単にWeb上で提供されるサービスといった意味合いで用いられることが多い[2][3]。但し、こちらの意味ではウェブアプリケーションという言葉が別に存在する。
概要
その他の用法
実装フレームワーク
Apache Axis
Apache Axis2
コンシューマ向け実用例
Google Web APIs[リンク切れ]
Amazon Webサービス
⇒ビッダーズ Webサービス[リンク切れ]
⇒リクルートWEBサービス
⇒じゃらん Webサービス
⇒Yahoo!デベロッパーネットワーク
⇒楽天ウェブサービスセンター
関連技術
UDDI
WSDL
SOAP
XML-RPC
WDDX
WS-Security
WS-I
関連項目
WWW
URL
DNS
Cookie
RSS
SNS
脚注[脚注の使い方]^ “ ⇒第1回:Web APIの紹介”. PerlでWeb APIを使いたおす (2006年9月27日). 2014年2月23日閲覧。
^ ⇒Webサービス図鑑 - ITmedia
^ 知っておきたいWebサービス
外部リンク
⇒Webサービス利用規約
プロトコル
HTTP
v2
v3
暗号化
WebDAV
CGI
SCGI(英語版)
FCGI
AJP(英語版)
WSRP(英語版)
WebSocket
APIs
C NSAPI(英語版)
C ASAPI
C ISAPI
Java Servlet