わかりやすい英語の「ウェブサービス」とは何ですか。


186

私はここでSO、Wikipedia、Googleなどで「Webサービス」について読んでいますが、それらが何であるかよくわかりません。わかりやすい英語の定義/説明は何ですか?

PHPを使用してページにランダムな整数を出力する単純なWebサイトを作成した場合、これは「Webサービス」ですか?そうでない場合、なぜそうではないのですか?

回答:


286

簡単な定義:Webサービスは、Web(HTTP)を介して他のプログラムからアクセスできる機能です。

たとえば、HTMLを出力するPHPでWebサイトを作成する場合、そのターゲットはブラウザーであり、ひいてはブラウザーでページを読む人間です。Webサービスは、人間ではなく他のプログラムを対象としています。

したがって、ランダムな整数を生成するPHPサイトが、別のプログラムで使用される可能性のある形式で整数を出力する場合、Webサービスになる可能性があります。他のプログラムが出力を理解できる限り、XML形式または別の形式にすることができます。

完全な定義は明らかにより複雑ですが、平易な英語を求めました。


2
この説明は良いですが、HTMLから他のプログラムがランダムな整数を消費する能力を壊すものは何ですか?HTMLを読み取るためのライブラリはたくさんあります。これは、XMLを読み取るのと同じであり、JSONを読み取るのとほぼ同じです。私はこの投稿が非常に古いことを知っていますが、可能であればコメントしてください。
Pavlo 2017年

7
それは能力ではなく意図の問題です。Webサービスの目的は、他のアプリケーションによって消費されることです。htmlの目的は、ブラウザによってユーザーに表示されることです。
Vincent Ramdhanie 2017年

これがAPIに非常に似ていると感じる人のために-WebサービスとAPIの違い
Sami Birnbaum

60

簡略化された非技術的な説明:Webサービスを使用すると、ブラウザーを使用してWebページを開く代わりに、プログラムがWebページと通信できます。

例:maps.google.comにアクセスして、自宅の住所を入力すると、ブラウザのどこに住んでいるかの地図が表示されます。

しかし、Googleマップのように、住所を取得してきれいな地図を表示したいコンピュータプログラムを作成している場合はどうでしょうか。

まあ、まったく新しいマッピングプログラムを最初から作成することも、Googleマップが提供するWebサービスを呼び出してアドレスを送信することもできます。これにより、プログラムで表示できる場所のグラフィカルマップが返されます。

他にもいくつかの投稿が含まれているため、さらに多くの機能がありますが、その結果、アプリケーションから情報を取得したり、リソースに情報を送信したりできるようになります。その他の例:

  1. Amazon.comでウェブサービスを使用して書籍に関する情報を取得できます
  2. 同様のウェブサービスを使用して、Amazon.comに注文を送信できます。
  3. Webサービスを作成して、外部アプリケーションが社内の製品情報を見つけられるようにすることができます
  4. 外部アプリケーションが会社に注文を送信できるようにするWebサービスを作成できます。

34

はい、それは単純なWebサービスです。

Webサービスは、実際には、クライアントがリモートでデータにアクセス/変更できるようにする要求/応答メカニズムにすぎません。Webサービス(SOAP、SOAなど)には正式な標準がありますが、単純なページもサービスです。

ページに印刷することの主な欠点は、サービスがHTMLを返すことです。ほとんどのクライアントフレームワーク(およびサーバーフレームワーク)はJSONとXMLを使用するように設計されているため、好ましいデータ形式はJSONとXMLです。

したがって、サービスを変更して返す場合:

<RANDOM>some random number</RANDOM>

のではなく:

<HEAD>...</HEAD>  
<BODY>some random number</BODY>

それからそれはほとんどのクライアントにとってより便利でしょう


それを反映するために私の答えを更新しました。SOでXML / HTMLタブが表示されない問題がありました:)
David Arno

ありがとう。まさに私がそれについて考えていること。XMLはHTMLに非常に似ているため、私たちが話しているHTMLページはWebサービスによって提供されます。
パブロ2017年

21

簡単に言えば、Webサービスは、httpプロトコルを介してサービスとしてデータを提供するものです。それはいつものケースではありませんが...それは近いです。

標準Webサービスの使用メッセージの通信と構造を定義するSOAPプロトコル。XMLはデータ形式です。

Webサービスは、異なるテクノロジーを使用して構築されたアプリケーションが問題なく相互に通信できるように設計されています。

Webサービスの例としては、Weather.comがサイトで使用できる気象情報を提供したり、UPSが配送見積もりを要求したり、荷物の追跡を要求する方法を提供したりします。

編集する

SOAPについての表現を変更しました。これは、前述のように必ずしもSOAPとは限りませんが、より明確にするためです。重要なのは、UI要素ではなくサービスとしてデータを提供することです。


1
SOAPである必要はありません。Webサービス(小文字)の場合は、RESTが一般的になります。
John Topley、

17

Webサービスは、人間ではなくソフトウェアによって消費可能な情報を提供するという点で、Webサイトとは異なります。その結果、私たちは通常、公開されたJSONについて話している、XML、またはSOAPサービスます。

Webサービスは、「マッシュアップ」の主要なコンポーネントです。マッシュアップとは、多くのWebサイトからの情報が自動的に新しい便利なサービスに集約されることです。たとえば、Googleマップを集めて警察のレポートに関する情報を収集し、お住まいの地域の犯罪をグラフィカルに表示するサイトがあります。別のタイプのマッシュアップは、別のサイトから提供された実際の株式データを取得し、それを偽の取引アプリケーションと組み合わせて株式市場の「ゲーム」を作成することです。

Webサービスは、ニュース(RSSを参照)、サイトに追加された最新のアイテム、新製品に関する情報、ポッドキャスト、および最新のWebを変える他の優れた機能を提供するためにも使用されます。

お役に立てれば!


15

最良のわかりやすい英語の説明は、類推を使用することから得られます。

  • Webページを使用すると、人々は互いにコミュニケーションしたり共同作業したりできます。
  • Webサービスを使用すると、プログラムは相互に通信およびコラボレーションできます。

出力が別のプログラムによって消費される可能性があるため、PHPの例はその定義によるWebサービスです。しかし実際には、HTML画面のスクレイピングは、Webサービスを作成するための信頼性の高い方法や保守可能な方法ではありません。


13

ほとんどのサイトでは、ブラウザーを使用するときにアクセスするHTMLページがあります。これらは人間が読めるページ(ブラウザで一度レンダリングされたもの)であり、人間にとっては意味があるため、多くのデータが一緒に詰め込まれている可能性があります。

ここで、他の誰かがそのデータの一部を使用したいとします。彼らはあなたのページをダウンロードし、必要なデータを取得するためにすべての「ノイズ」をフィルタリングし始めることができますが、ほとんどのWebサイトは、すべての要素の同じ場所にデータが配置されることが100%確実であるような方法で構築されていません。面倒なことにも、それは信頼できなくなります。

Webサービスを入力します。

Webサービスは、Webサイトからデータを読み取り、更新、削除するユーザーに提供することを選択したものです。データの「バックドア」と呼ぶかもしれません。Webページの一部としてデータを表示する代わりに、XMLとJSONがより一般的なものである所定の方法で提供されます。Webサービスと通信するにはいくつかの方法があります。SOAPを使用する方法や、RESTフルWebサービスを使用する方法などがあります。

すべてのWebサービスに共通するのは、これらのサービスが提供するWebページと同等の機械可読なサービスであることです。これは、データを使用したい他の人が、解析と使用が簡単な特定のデータを取り戻すリクエストを送信できることを意味します。一部のサイトでは、機密データのためにリクエストでユーザー名/パスワードを提供する必要がありますが、他のサイトでは、必要なデータを誰でも抽出できるようにしています。


12

Webサービスは、アプリケーションまたはシステム間でデータを交換するために使用されるオープンプロトコルと標準の集まりです。さまざまなプログラミング言語で記述され、さまざまなプラットフォームで実行されるソフトウェアアプリケーションは、Webサービスを使用して、単一のコンピューターでのプロセス間通信と同様の方法で、インターネットなどのコンピューターネットワークを介してデータを交換できます。この相互運用性(JavaとPython、またはWindowsとLinuxアプリケーションの間など)は、オープンスタンダード(XML、SOAP、HTTP)の使用によるものです。

すべての標準Webサービスは、次のコンポーネントを使用して機能します。

  • SOAP(Simple Object Access Protocol)
  • UDDI(Universal Description、Discovery and Integration)
  • WSDL(Webサービス記述言語)

次のように機能します。

  • クライアントプログラムは、アカウント登録情報をSOAPメッセージにバンドルします。
  • このSOAPメッセージは、HTTP POSTリクエストの本文としてWebサービスに送信されます。
  • WebサービスはSOAPリクエストをアンパックし、アプリケーションが理解できるコマンドに変換します。
  • アプリケーションは必要に応じて情報を処理し、その顧客の新しい一意のアカウント番号で応答します。
  • 次に、Webサービスは応答を別のSOAPメッセージにパッケージ化し、HTTP要求に応じてクライアントプログラムに送り返します。
  • クライアントプログラムは、SOAPメッセージをアンパックして、アカウント登録プロセスの結果を取得します。

1
" すべての標準Webサービスは次のコンポーネントを使用して動作します: " ...この回答の問題は、WebサービスがSOAP / WSDLメカニズム内で動作するか、または動作する必要があることを示唆していることです。これは不正確です。表現状態転送(REST)は、Webサービスを実装するためのもう1つの非常に人気のあるパラダイムです。一部の主要なWebサイトは、REST Webサービスを支持してSOAPサービスを廃止しました。
scottb

@scottb私は完全に同意します。更新していただきありがとうございます。また、私の弁護では、当時のWebサービスに関する知識は非常に限られていました。
vanguard69 2015

7

Simple way to explain web service is ::

  • Webサービスは、World Wide Webを介した2つの電子デバイス間の通信方法です。
  • プログラマがサーバーとの通信に使用するプロセスと呼ぶことができます
  • このプロセスを呼び出すには、プログラマーはSOAPなどを使用できます。
  • Webサービスは、TCP / IP、HTTPなどのオープンスタンダードの上に構築されています

Webサービスの利点は、.netで1つのコードを開発し、JAVAを使用してこのコードを使用したいとします。抽象化されたレイヤーと直接対話することができ、コードの開発に使用されたテクノロジーを認識していません。


画像


7

Webサービスは、2つ以上のリモートWebアプリケーションがネットワーク/インターネットを介して相互に対話するための技術です。Java、.net、PHPなどを使用して実装できます。

Webサービスの特徴:-

  1. Webサービスを使用して、2つ以上のシステムがネットワーク経由でデータを交換します。データは、XMLまたはJSONを使用して交換されます。
  2. どのWebサービスにも、サービスがデプロイされるサーバー側と、クライアントがサービスにアクセスするクライアント側の2つの部分があります。どのWebサービスも複数のクライアントを持つことができます。旅行ポータルが旅客機のチケットを販売しているとき。ポータルはクライアントであり、航空会社はサービスを販売するサーバーです。
  3. Webサービスは同期でも非同期でもかまいません。Webアプリケーションは多くのWebサービスと対話できます。が、これらのWebサービスはクライアントWebアプリケーションと疎結合されています。これは、親アプリケーションの変更がWebサービスにほとんどまたはまったく影響を与えない、またはその逆であることを意味します。
  4. Webサービスは、XMLペイロードを使用して、PDFやWordなどの添付文書も運ぶことができます。Javaは、このタイプのWebサービスに個別のAPIを提供します。
  5. Webサービスは常に、サービスの内部の複雑さをクライアントに隠します。たとえば、サードパーティのポータルを介してチケットを販売している旅客機は、Webサービスを介してエンドユーザー情報のみを収集し、その代わりにチケットを提供しています。チケットを販売しているポータルは、航空券予約システムの内部の複雑さを気にする必要はありません。
  6. Webサービスは、Fire and Forgetタイプの場合もあれば、何かを返す場合もあります。Webアプリケーションが情報をサードパーティのアプリケーションに送信したいとします。送信者は受信者からの確認を必要としません。このタイプのシナリオでは、Fire and ForgetタイプのWebサービスが必要です。

5

ソフトウェア開発者が使用するWebサービスは、通常、リモートサーバーで実行され、XML / SOAP仕様を使用して呼び出される操作を指します。すべての定義と同様に、微妙な違いがありますが、これが最も一般的な用語の使用法です。


1
申し訳ありませんが、ジェゼルは反対票を投じなければなりませんでした。これは私が「普通の英語」と考えるものではありません:(私はあなたの定義の意図に問題はありませんが、「操作」、「リモートサーバー」、「呼び出された」、「仕様」などの単語を使用すると難しくなります初心者が理解できるようにするための「平易な英語」の例としてミッチェルセラーズの回答を参照
Dhaust

5

オペレーティングシステムは、対話できるGUI(およびCLI)を提供します。また、プログラムで操作できるAPIも提供します。

同様に、Webサイトは、対話可能なHTMLページを提供し、プログラムによって同じ情報と操作を提供するAPIも提供する場合があります。または、これらのサービスは、ユーザーインターフェースが関連付けられていないAPIを介してのみ利用できる場合があります。


4

上手、

@Vincent Ramdhanieが言ったように、Webサービスはエンドユーザーが見たり消費したりするのではなく、別のプログラムによって見られるようになっています。したがって、技術的にはプログラムのロジックは次のようになります。

通常のプログラムとして機能する場合

user on website -> HTML/JS/JQuery etc -> give me a random number ->ur program

ur program -> generate random number -> generate HTML and encapsulate o/p -> go back to user

ただし、Webサービスの場合、フローは少し異なります。

user -> my application -> XML/JSON/some other format -> give me a random number ->ur program

ur program -> generate random number -> generate XML/JSON/some other format -> my application -> generate HTML and encapsulate o/p -> go back to user

お役に立てれば :)


3

簡単な定義は、通常のメソッド呼び出しのように機能するHTTPリクエストです。つまり、パラメーターを受け取り、オブジェクトに逆シリアル化できる構造化された結果(通常はXML)を返します。


3

Webサービスは、通常のWebページとほとんど同じです。違いは、プログラムがページからデータをプルするのが非常に簡単になるようにフォーマットされていることです。また、形式の一貫性に関しては一般に信頼性が高く、異なる形式のプロセスを使用してsoapやraw xmlなどのコンテンツを定義できます。また、データの構造を形式的に定義する記述子ドキュメントもあることがよくあります。


3

メッセージを送信して別のコンピューターの操作を呼び出す方法。Webサービスと以前の方法の違いは、ネットワークを介して送信されるものがより高いレベルで標準化されていることです。

古い方法:エンディアン、エンコーディング、ポート番号などを記述します。Webサービス:URL、XML


3

Webサービスは、2つの無関係なプログラム間の通信手段のようなものです。プログラムは、指定されたプロトコル(通常はシンプルオブジェクトアクセスプロトコル(SOAP))を媒体として使用して、それぞれの側で処理/実行する必要がある要求/応答を理解します。


2

Webサービスは、サーバーが実行するアクションのコントラクトを定義します。形式とプロトコルはそれほど重要ではありませんが、通信がどのように行われるかについて、いくつかの定義が必要です。

あなたの例では、それがその番号を読み取る別のアプリケーションで使用されている場合、それはサービスです。それ以外の場合、それは単に番号のあるWebページです。


1

簡単に言えば、Webサービスは任意の単純なプログラムである可能性があります:UDDIを介して公開する必要があり、別のプログラムで使用できる2つの数値を追加します。


0

「Webサービス」は「Web」と「サービス」の2つの単語で構成されます。
「ウェブ」とは何ですか?「Web」は「World Wide Web」を意味します。
何のための「サービス」?人間向けではない場合、それはテキスト、画像、ビデオなどの「Webページ」です
。TCP、HTTPなど
の「Web」と同じテクノロジーを使用してプログラムがインターネット経由で通信するためのものです。「サービス」また、CRUDの「サービスレイヤー」のようないくつかの機能を提供します。主に2つのタイプがあり
ます。1。SOAP(Simple Object Access Protocol)
2. RESTful(Representational State Transfer)


0

他の定義を損なうことなく、Webサービスは、ネットワークを介した相互運用可能なマシン間/アプリケーション間相互作用を可能にするソフトウェアシステムであると言えます。この一般的な定義は、RESTアーキテクチャがWebサービスであると見なすのにも役立ちます。完全に定義されたプロトコルであるSOAPとは異なり、アーキテクチャスタイルではありますが、同様の機能を提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.