>>No1エンジニア養成プログラム テックキャンプ
普段から何気なくインターネットを介し、スマートフォンやパソコンからWebサービスを使っているという方は多いと思います。
実はその「Webサービス」という言葉は、広い意味で捉えられるためなんとなくわかると思っていても、認識がずれている場合があるのです。

そこで今回は、Webサービスとは一体どういったものを指すのか、そしてWeb APIとの違いや技術についても詳しく解説していきます。近年話題を集めているWebサービスも紹介していますので、ぜひそちらもご覧ください。
この記事は現役エンジニアによって監修済みです。

Webサービスとは
Webサービスとは、ネットワーク上にある異なるアプリケーション同士を連携させる技術のことであり、その仕組み。またはそれを適用したサービスのことです。
その技術によって連携させられるアプリケーションそのものをWebサービスと呼ぶこともあります。
簡単に説明すると、インターネット利用者がWebブラウザを用いてサーバーから情報を取得する「システム対人間」の関係性を一般的にはWebサービスと呼ぶのですが、「システム対システム」で連携している関係及びサービスのことを正確にはWebサービスと呼ぶのです。
ネットワーク上のアプリケーションを連携させる技術
インターネットを利用してさまざまなプログラムを連携させ、利便性を向上させる仕組みがWebサービスです。
インターネットと聞くと、Webページをイメージする方も多いでしょう。しかし、インターネット=Webページではなく、世界中のコンピューターをつなぐもの。簡単に言えば、通信網を指します。
また、Webサービスの「サービス」とは機能などと解釈するとわかりやすいでしょう。

つまり、インターネットを使って複数の機能を連携させる仕組みがWebサービスと言えます。
これらを個別に連携させると複雑な構造になってしまいますが、共通のルールで連携させるとシンプルに実現できるのです。
Web上でさまざまなサービスを提供する
今現在Web上にはさまざまなサービスがあります。
SNS・オンラインゲーム・オンラインバンキング・宿泊予約・動画配信など、数えだすときりがありませんが、広い意味で捉えるとこのようにWebブラウザを通して利用するWebアプリケーションもWebサービスに含まれます。
マッシュアップはWebサービスの組み合わせ
マッシュアップとは、さまざまなWebサービスを組み合わせて新しいサービスを提供することを指します。
Webサービスがインターネットを利用したプログラムの組み合わせで、さらにそのWebサービスをさらに組み合わせたものをマッシュアップと捉えるとわかりやすいでしょう。
例えばGoogle Mapsの地図情報と飲食店のデータベースの組み合わせで、利用者がスマートフォンを使い現在地周辺の飲食店を検索すればマップ上に店舗情報が現れるといったサービスであったり、Amazonと楽天の商品情報を同一画面で表示させたりするサイトなどはマッシュアップと呼びます。
こういったサービスの組み合わせで生まれるマッシュアップは、日々新しいサービスの提供を可能にしているのです。
無料キャリア相談!本日も予約受付中
徹底したサポート体制があるので、転職成功率は99%!※ 実際に受講した人の体験談はこちらから。
「今の仕事を続けて大丈夫だろうか」と不安なら、何でも相談できる無料カウンセリングに参加してみませんか?IT転職に特化したプロのカウンセラーが、中立な立場であなたの悩みを解決します。
ブログ読者特典でAmazonギフト券3000円分もプレゼント中!無理な勧誘は一切行いませんので、お気軽にどうぞ。※2016年9月1日〜2020年12月31日の累計実績。所定の学習および転職活動を履行された方に対する割合

Webサービスの中核をなす技術について
Webサービスとは「アプリケーション同士を連携させる技術」と説明しましたが、実際のところは単一の技術ではなく、セキュリティ技術やメッセージ技術、インターフェイス記述技術などを駆使した複合的な技術となります。
それではその技術についてそれぞれ解説していきます。
HTTP・XMLが基盤となる技術
HTTPなどの通信プロトコル(通信する上でのルール)やXML形式のメッセージが、Webサービスの基盤になっています。
HTTPとは
HTTPとは、「Hyper Text Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略で、インターネット上でWebサーバーとクライアントが、相互に通信するために必要な通信規約(通信プロトコル)のことです。
例えばamazonのサイトを閲覧したいインターネット利用者がブラウザを利用して、「amazon」と検索をかけるとします。
そうするとWebサーバーへ「amazonのサイトを見せて下さい」といったリクエストが送られ、Webサーバーから「サイトを見せてあげます」といったレスポンスが返ってくるという、この一連のやりとりにHTTPという共通の言葉を使うといったルールが適用されているのです。
XMLとは
XMLとは、eXtensible Markup Languageの略で、SGML(HTMLの前身のマークアップ言語)をベースとして作られたデータを保管するための言語です。
わかりやすく分類すると、HTMLはWebページの構造を重視、XMLは文書のルールを重視しているようなイメージです。XMLはデータの2次利用する際に便利という特徴があります。
詳しく知りたい方は下記の記事もぜひご参照ください。
SOAP(Simple Object Access Protocol)
SOAPとはWebサービスのためのメッセージ技術で、Webサービスで使用されるメッセージのデータフォーマットやメッセージの処理ルールなどを決めた通信プロトコルです。
SOAPは、違うコンピュータのプログラムがインターネットを介して連携して動作する際に利用。
SOAPを使って作られたWebサービスのインターフェイス情報はXMLをベースとしたWSDL(Web Services Description Language)で記述して、ユーザーに公開されます。
WSDL(Web Services Description Language)
WSDLとは、Webサービスのためのインターフェイス記述技術で、先述したXML形式によって記述され、人もプログラムも理解できるよう開発された言語です。
開発ツールにWSDL文書を読み込ませることでWebサービスを呼び出すコードの自動生成が可能となっているので、Webサービスの利用者には大きな利得となっています。
UDDI(Universal Description, Discovery and Integration)
UDDIはWebサービスを探せるように作られたデータベースで、ネットワーク上に多数存在するWebサービスを効果的に利用することができます。
UDDIはGoogleやYahoo!などの検索サイトと似ている部分があります。このような検索サイトは入力したキーワードをもとに、さまざまなWebサイトからマッチするWebサイトを見つけることはご存じでしょう。
一方、UDDIはWebサービスのWSDL文書を集めてデータベースを作ります。企業名・認識コード・サービス内容・分類などが登録されたUDDIレジストリというリストを用いて、そのデータベースから精度の高い検索が行えるといった特徴があります。
REST(REpresentational State Transfer)
REST(REpresentational State Transfer)は、Webアプリケーション構造パターンであり、仕様を決める上での概念・考え方を指します。
RESTとは、2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。また、狭義には、それをWebに適用したソフトウェアの設計様式のこと。
引用元:REST(REpresentational State Transfer)とは – IT用語辞典 e-Words
RESTはURLにHTTPでアクセス知って、データの送受信を行うシステムやインターフェイスを指す狭義の意味で使われることが一般的。
RESTの設計モデルに基づいて作られたWeb APIは、「RESTful API」と呼びます。
先述したSOAPと比較されることがよくあるのですが、拡張性に優れており堅牢なのがSOAP、扱いやすいのがRESTと評されています。

WebサービスとWeb APIの違いについて
「Web APIって聞いたことあるけど、イマイチよく分からない」
「Webサービスとはなにが違うんだろう」と思っていませんか。
WebサービスとWeb APIは同じ意味で捉えられることもありますが、厳密には違いがあります。
簡単に説明すると、Webサービスは「インターネットの世界で提供されているサービス全般」を指しますが、Web APIは「プログラムから使用することを前提としたWebサービスとの窓口」といったところでしょう。
ここではWeb APIについて、もう少し詳しく説明していきたいと思います。
Web APIとは
Web APIとは前述したように、「プログラムから使用することを前提としたWebサービスとの窓口」。
APIは「Application Programming Interface」の略で、プログラムの機能・データを外部のプログラムから利用できる規約です。

そのAPIは提供元のサービスからWeb上に公開されており、外部のWebサービスから呼び出して利用可能。さまざまな分野でWeb APIが公開されていますが、その多くは無料で利用できることもポイント。
わかりやすい例としてamazonが提供するAPIでは、amazon商品を他社のサイトや個人ブログから販売する「アフィリエイト」であったり、Twitterが提供する、投稿されたデータを使って分析を行えるAPIのサービスであったりなどが挙げられます。
一見サービスの一部をamazonやTwitterが無料で提供することで、損しているように思うかもしれません。
しかし新しいシステムやサービスを生み出す開発者にAPIを公開することで、彼らが付加価値を付けたサービスを作ることができ、そのコアとなるAPIを提供した側はより大きな発展を遂げることができるのです。
Web APIをWebサービスと表現するケースもある
Web APIのことをWebサービスと表現している場合があり、「Webサービス(Web API)」と表記されていることがあります。
その場合は、Web APIとWebサービスを同じものとして捉えている、もしくはWeb APIをWebサービスのいち要素として扱っていると考えてよいでしょう。
Webサービスが必ずWeb APIとは限らない
Web APIはWebサービスを提供する窓口の役割を担っているので、Webサービスであると言えるでしょう。
しかしWebサービスは必ずしもWeb APIとは限りません。
今ご覧になっているTECH::NOTEは広い意味で捉えるとWebサービスです。ただし、外部とプログラムを共有するようなやり取りは許容していないため、Web APIとは呼べないのです。
このことから分かるようにWebサービスは必ずしもWeb APIとは限らないと覚えておいてください。
話題を集めたWebサービスを紹介
ここでは、近年話題を集めたWebサービスをピックアップしていきたいと思います。
Tech Me

プログラミングやWEB制作で困った際に、ビデオチャットを介して現役で活躍しているエンジニアに質問や相談ができるサービスです。
公式Webサイト:Tech Me
漫画ビレッジ(アル)

無料公開している漫画を探せるサイトとして、サービス展開をしていた漫画ビレッジ。
現在は「漫画ビレッジ」から「アル」にサイト名が変わりました。
それに伴い、無料漫画を探せる機能はそのままに、ユーザーが情報や感想を投稿していける参加型のサイトとなっております。
公式Webサイト:アル
トリクル

売りたいアイテムがあれば家まで集荷に来てもらい、代わりに出品、または買い取りや処分してくれる出品代行サービスです。
アイテムの状態を確認した上で、ノウハウのあるスタッフが出品してくれます。
公式Webサイト:トリクル
JobTag

Twitterを使い、企業がSNSで簡単に採用募集できるサービスです。
Twitterアカウントがあれば誰でも気軽に応募ができます。
公式Webサイト:JobTag
nommoc(ノモック)

移動型広告メディアという新しいサービスを提案しているnommoc(ノモック)。
タクシーの後部座席に設けたディスプレーに、スポンサー企業の広告を表示させることで利用者は無料で乗車できるといったサービスです。
公式Webサイト:nommoc
ズボラ旅

旅行の行き先が決まっていなくても、旅好きなスタッフが旅行プランを提案してくれるサービス。
LINEで友だちになってから質問や相談をしながら決めていくので、気に入ったプランがあれば、まとめて宿やレストラン、航空券の予約などもできてしまいます。
公式Webサイト:ズボラ旅
CAMPFIRE Fireball

リアルタイムに支援情報をライブ配信動画上に載せる、ライブコマースのクラウドファンディング版サービス。
CAMPFIRE Fireballは複数の動画配信サービスから選択可能な分散型となっているため、さまざまな既存のプラットフォームで活躍している人が利用できる場となっています。
公式Webサイト:CAMPFIRE Fireball
SPOTSALE

SPOTSALEに上場する、店舗や企業と顧客をつなげるオリジナルコインの取引所となっております。
コインをユーザーに販売することで、店舗は資金調達ができ、ユーザーはそのコインで商品の購入ができるほか、ユーザー間での売買も可能となっております。
公式Webサイト:SPOTSALE
MOSH

個人で仕事の案件を募集できるサイト作成サービス。
たった3分でサイトが作成でき、ユーザーも気軽に予約・レビューできるようになっています。
公式Webサイト:mosh
テクノロジア魔法学校

小さいお子様から社会人まで、ディズニーの教材を使ってゲーム感覚でプログラミングの勉強ができるサービスです。
オリジナルのストーリーとディズニーの世界の中で、物語を通じてスキルアップを目指していくので、楽しみながら自然とプログラミングスキルが身につきます。
公式Webサイト:テクノロジア魔法学校
まとめ
Webサービスとは、インターネットを利用してさまざまなプログラムを連携させ、利便性を向上させる仕組みのこと。そしてそれらを適用したサービスのことです。
このように普段何気なく使っているWebサービスは、複合的な技術で成り立っています。
開発を考えている方はぜひこの記事を参考にして、サービスを作る上で役立てて下さい。