web-dev-qa-db-ja.com

わかりやすい英語の「Webサービス」とは何ですか?

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

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

180
MrDatabase

簡単な定義:Webサービスは、他のプログラムがWeb(HTTP)経由でアクセスできる機能です。

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

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

完全な定義は明らかにもっと複雑ですが、単純な英語を求めました。

279

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

例:maps.google.comにアクセスし、自宅の住所を入力すると、ブラウザーの現在地の地図が表示されます。

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

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

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

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

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

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

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

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

<RANDOM>some random number</RANDOM>

のではなく:

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

それはほとんどのクライアントにとってより有用でしょう

34
David Arno

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

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

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

Webサービスの例には、サイトで使用できる天気情報を提供するWeather.comや、配送料の見積もりや荷物の追跡を要求する方法を提供するUPSなどがあります。

編集

前述のように常にSOAPであるとは限らないため、SOAPを参照する表現を変更しましたが、より明確にしたかったのです。重要なのは、UI要素ではなくサービスとしてデータを提供することです。

21
Mitchel Sellers

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

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

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

お役に立てれば!

17
64BitBob

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

  • Webページにより、人々は互いに通信し、共同作業することができます。
  • Webサービスを使用すると、プログラムは相互に通信および共同作業できます。

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

12
RoadWarrior

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

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

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

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

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

12
Christian P.

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

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

  • SOAP(シンプルオブジェクトアクセスプロトコル)
  • UDDI(ユニバーサル記述、発見、統合)
  • WSDL(Webサービス記述言語)

次のように機能します。

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

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サービスは火事で型を忘れたり、何かを返すことがあります。 Webアプリケーションが何らかの情報をサードパーティアプリケーションに送信したいだけだとします。送信者は受信者からの確認を必要としません。このタイプのシナリオでは、Webサービスのタイプを忘れてしまいます。

Simple way to explain web service is ::

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

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


Image

6
Devrath

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

5
jezell

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

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

5
John Topley

Webサービスは、2つの無関係なプログラム間の通信媒体のようなものです。プログラムは、指定されたプロトコル(通常Simple Object Access Protocol(SOAP))を媒体として使用して、それぞれのエンドで処理/実行するREQUEST/RESPONCEを理解します。

3
tolulope david

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

3
marc

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

3
Joel Coehoorn

まあ、

@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
user1079065

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

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

3

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

あなたの例では、それがその番号を読み取る別のアプリケーションで使用されているかどうかに依存します。そうです、それはサービスです。

2
Nick

簡単な言葉で言えば、Webサービスは任意の単純なプログラムです。たとえば、UDDIで公開する必要のある2つの番号を追加し、別のプログラムで使用できます。

1
Prabhu

「Webサービス」は、「Web」と「サービス」の2つの単語で構成されています。
「Web」とは何ですか? 「Web」とは「World Wide Web」を意味します。
何のための「サービス」?人間向けではない場合は、テキスト、画像、ビデオなどの「Webページ」です.
TCP、HTTPなど、「Web」と同じテクノロジーを使用してインターネット経由で通信するプログラム用です。
「サービス」は、CRUDの「サービス層」など、いくつかの機能を提供することも意味します。主に2つのタイプがあります。
1。 SOAP(シンプルオブジェクトアクセスプロトコル)
2。 RESTful(代表的な状態転送)

0
songxin

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

0
joedavid