「普段からWebサービスをよく利用している」
「でも改めて『Webサービスとは何?』と聞かれると答えるのが難しい…」
「IT初心者にも分かるように、Webサービスがどういったものか教えて!」
スマホやパソコンから、インターネットを介してWebサービスを使う機会は多いです。
しかし、「Webサービス」という言葉は広い意味で捉えられるため、何となくは分かると思っていても、認識がずれている場合があります。
そこで本記事では、IT初心者向けにWebサービスとは何か、Webアプリ・Web API・クラウドサービスとの違い、Webサービスの作り方などを解説します。
また、Webサービスの事例も紹介しますので、ぜひご参考ください。
この記事は現役エンジニアによって監修済みです。
この記事の目次
Webサービスとは?
「Webサービス」とは、ネットワーク上にある異なるアプリケーション同士を連携させる技術のこと、またはそれを適用したサービスを指す言葉です。
現在、Web上にはさまざまなサービスがあります。
具体的には、SNS・オンラインゲーム・オンラインバンキング・宿泊予約・動画配信などで、数えだすときりがありません。
このように、広義ではWebブラウザで利用するWebアプリもWebサービスに含まれます。
つまり、一般的にはインターネットの利用者がWebブラウザを用いてサーバーから情報を取得する「システム対人間」の関係性をWebサービスと定義します。
しかし、本質的には「システム対システム」で連携している関係及びサービスのことをWebサービスと呼ぶのです。
異なるアプリ同士を個別に連携させると複雑な構造になってしまいますが、Webサービスによって共通のルールで連携させるとシンプルに実現できます。
この記事もオススメ
Webサービスの「マッシュアップ」とは?
Webサービスとセットで覚えておきたい言葉が「マッシュアップ」です。
「マッシュアップ」とは、さまざまなWebサービスを組み合わせて、新しいサービスを提供することを指す言葉です。
例えば、Google Mapsの地図情報と飲食店のデータベースの組み合わせで、利用者がスマホで現在地周辺の飲食店を検索すれば、マップ上に店舗情報が現れます。
これがマッシュアップであり、インターネットを利用したプログラムの組み合わせが「Webサービス」、Webサービスをさらに組み合わせたのが「マッシュアップ」なのです。
Webサービスの仕組み
Webサービスとは「アプリケーション同士を連携させる技術」のこと。
しかし、実際は単一の技術ではなく、セキュリティ技術・メッセージ技術・インターフェイス記述技術などを駆使した、「複合的な技術」が成り立っているのです。
そこで本章では、Webサービスの仕組みを技術的な側面から深掘りします。
- HTTP・XMLがベース
- SOAP(Simple Object Access Protocol)
- UDDI(Universal Description, Discovery and Integration)
- REST(REpresentational State Transfer)
HTTP・XMLがベース
Webサービスの基盤となる技術は、HTTPなどの通信プロトコル(通信する上でのルール)やXML形式のメッセージが担っています。
そこで、HTTPとXMLとは何かを解説します。
この記事もオススメ
HTTP(Hyper Text Transfer Protocol)
「HTTP」とは、「Hyper Text Transfer Protocol」の略で、インターネット上でWebサーバーとクライアントが、相互に通信するために必要な通信規約(通信プロトコル)のことです。
例えば、Amazonのサイトを閲覧したいインターネット利用者がブラウザを利用して、「amazon」と検索をかけるとします。
すると、Webサーバーへ「amazonのサイトを見せて下さい」といったリクエストが送られ、Webサーバーから「サイトを見せてあげます」といったレスポンスが返ってきます。
この一連のやりとりに、HTTPという共通の言葉を使うルールが適用されているのです。
この記事もオススメ
XML(Extensible Markup Language)
「XML」とは、「Extensible Markup Language」の略で、SGML(HTMLの前身のマークアップ言語)をベースとして作られたデータを保管するための言語です。
わかりやすく分類すると、HTMLはWebページの構造を重視、XMLは文書のルールを重視しているようなイメージです。XMLはデータの2次利用する際に便利という特徴があります。
この記事もオススメ
SOAP(Simple Object Access Protocol)
「SOAP」とは、Webサービスのためのメッセージ技術で、Webサービスで使用されるメッセージのデータフォーマットやメッセージの処理ルールなどを決める通信プロトコルです。
SOAPを使って作られたWebサービスのインターフェイス情報はXMLをベースとしたWSDLで記述して、ユーザーに公開されます。
WSDL(Web Services Description Language)
「WSDL」とは、Webサービスのためのインターフェイス記述技術で、先述したXML形式によって記述され、人もプログラムも理解できるよう開発された言語です。
開発ツールにWSDL文書を読み込ませることで、Webサービスを呼び出すコードの自動生成が可能であり、Webサービスの利用者には大きな利得となっています。
UDDI(Universal Description, Discovery and Integration)
「UDDI」とは、Webサービスを探せるように作られたデータベースで、ネットワーク上に多数存在するWebサービスを効果的に利用できます。
例えば、Googleなどの検索サイトは、入力した検索キーワードにマッチするWebサイトを見つける仕組み。
一方で、UDDIはWebサービスのWSDL文書を集めてデータベースを作ります。
具体的には、企業名・認識コード・サービス内容・分類などが登録された「UDDIレジストリ」というリストを用いて、そのデータベースから精度の高い検索が行える特徴があります。
REST(REpresentational State Transfer)
「REST」は、Webアプリケーション構造パターンであり、仕様を決める上での概念・考え方を指します。
RESTとは、2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。また、狭義には、それをWebに適用したソフトウェアの設計様式のこと。
引用元:IT用語辞典 e-Words
RESTは、URLにHTTPでアクセス知って、データの送受信を行うシステムやインターフェイスを指す狭義の意味で使われることが一般的。
RESTの設計モデルに基づいて作られたWeb APIは、「RESTful API」と呼びます。
SOAPと比較されることがよくあるのですが、拡張性に優れており堅牢なのがSOAP、扱いやすいのがRESTと評されています。
WebサービスとWebアプリの違い
WebサービスとWebアプリの違いは、以下の通りです。
- Webサービス:「システム対システム」で連携している関係及びサービスのこと
- Webアプリ:「システム対人間」の関係で、人間が利用することを前提としたもの
上記の通りで、Webサービスはコンピュータ同士の連携なのに対して、Webアプリはコンピュータと人間がつながることを指します。
Webアプリとは?
Webアプリとは、Webブラウザ上で動くアプリケーションのことです。
例えば、Twitter・Instagram・SlackなどはWebブラウザ上で動くアプリケーションでもありますから、Webアプリに該当します。
また、Webサービスは広義の意味ではWebアプリも含んでいるため、WebサービスとWebアプリは非常に近い存在であるといえるでしょう。
ちなみに、端末にインストールして使うアプリを「ネイティブアプリ」、Webアプリとネイティブアプリの両方の特性を持つアプリを「ハイブリッドアプリ」と呼びます。
WebサービスとWeb APIの違い
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もあります。
開発者にAPIを公開することで、彼らは付加価値を付けたサービスを作ることができ、APIの提供者はより大きな発展を遂げられるのです。
Web APIをWebサービスと表現するケースもある
たまに、Web APIを「Webサービス(Web API)」と表記することがあります。
その場合は、Web APIとWebサービスを同じものとして捉えている、もしくはWeb APIをWebサービスのいち要素として扱っていると考えてよいでしょう。
しかし、Webサービスは必ずしもWeb APIとは限りません。
例えば、「テックキャンプブログ」は、広い意味で捉えるとWebサービスですが、外部とプログラムを共有するやり取りは許容していないため、Web APIではありません。
Webサービスとクラウドサービスの違い
クラウドサービスとは、インターネットを介してアクセスできるリソースやサービスのこと、つまりクラウド・コンピューティングを利用したサービスのことです。
クラウドサービスに、サーバー・ストレージ・データベース・ネットワーク・ソフトウェアなどが含まれます。またリソースの柔軟な拡張や縮小も可能。
Webサービスはネットワーク上のアプリやソフトウェア同士が連携する手段を指し、クラウドサービスはインターネットを介して利用できるリソースやサービスのこと。
またWebサービスはクラウド上で提供される場合もあります。
ちなみに、代表的なクラウドプラットフォームは、Amazon Web Services(AWS)・Microsoft Azure・Google Cloud Platform(GCP)の3つです。
クラウドについては「クラウドとは?初心者向けにわかりやすく解説!おすすめサービスも」で解説しているので、合わせて参考にしてください。
Webサービスの作り方
Webサービスの作り方を簡単にまとめると、以下の5つの手順で作ります。
- どんなWebサービスが作りたいか決める
- Webサービス開発に必要なプログラミング言語を決める
- プログラミングの基礎を習得する
- サンプル用のサービスを作る
- 本格的にWebサービス開発を始める
初心者がいきなりYouTubeやTwitterのような、複雑で大規模なサービス作りを目指すのは現実的ではありません。
徐々にステップアップしていくことが大事なので、「どんなWebサービスが作りたいか」はなるべく小さいサービスから考えてみましょう。
Webサービスの作り方に関しては、「【個人向け】Webアプリ開発を独学で習得する5つの手順!おすすめ本や注意点も解説」で詳しく解説しています。
Webサービスの事例
本章では、Webサービスを事例をピックアップして紹介します。
- Tech Me
- アル
- nommoc
- CAMPFIRE Fireball
- MOSH
- テクノロジア魔法学校
Tech Me
出典元:Tech Me
Tech Meは、プログラミングやWEB制作で困った際に、ビデオチャットを介して現役で活躍しているエンジニアに質問や相談ができるサービスです。
アル
出典元:アル
アルは、無料公開している漫画を探せるサイトで、ユーザーが情報や感想を投稿していける参加型のサイトという側面も併せ持っています。
nommoc
出典元:nommoc
移動型広告メディアという新しいサービスを提案しているnommoc(ノモック)。
タクシーの後部座席に設けたディスプレーに、スポンサー企業の広告を表示させることで利用者は無料で乗車できるといったサービスです。
CAMPFIRE Fireball
出典元:CAMPFIRE
CAMPFIRE Fireballは、リアルタイムに支援情報をライブ配信動画上に載せる、ライブコマースのクラウドファンディング版サービス。
複数の動画配信サービスから選択可能な分散型で、さまざまな既存のプラットフォームで活躍している人が利用できる場となっています。
MOSH
出典元:MOSH
MOSHは、個人で仕事の案件を募集できるサイト作成サービス。
たった3分でサイトが作成でき、ユーザーも気軽に予約・レビューできるようになっています。
テクノロジア魔法学校
出典元:Life is Tech
小さいお子様から社会人まで、ディズニーの教材を使ってゲーム感覚でプログラミングの勉強ができるサービスです。
オリジナルのストーリーとディズニーの世界の中で、物語を通じてスキルアップを目指していくので、楽しみながら自然とプログラミングスキルが身につきます。
まとめ:Webサービスを深く理解するなら開発に挑戦しよう
IT初心者向けにWebサービスとは何か、WebアプリやWeb APIとの違い、Webサービスの作り方などを解説しました。
Webサービスとは、インターネットを利用してさまざまなプログラムを連携させ、利便性を向上させる仕組み、そしてそれらを適用したサービスのことです。
このように、普段何気なく使っているWebサービスは、複合的な技術で成り立っています。
Webサービスに興味関心がある方は、Webサービス開発に挑戦してみてはいかがでしょう。
この記事もオススメ
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。