ここ、SO、Wikipedia、Googleなどで「Webサービス」について読んでいますが、それらが何であるかはよくわかりません。わかりやすい英語の定義/説明とは何ですか?
PHPを使用して単純なWebサイトを作成すると、たとえば、ページにランダムな整数が出力されます...これは「Webサービス」ですか?そうでない場合は、なぜですか?
簡単な定義:Webサービスは、他のプログラムがWeb(HTTP)経由でアクセスできる機能です。
たとえば、HTMLを出力するPHPでWebサイトを作成する場合、そのターゲットはブラウザーであり、拡張機能によりブラウザーでページを読む人です。 Webサービスは人間ではなく、他のプログラムを対象としています。
したがって、ランダムな整数を生成するPHPサイトは、別のプログラムで使用される可能性のある形式で整数を出力する場合、Webサービスになる可能性があります。他のプログラムが出力を理解できる限り、XML形式または別の形式である可能性があります。
完全な定義は明らかにもっと複雑ですが、単純な英語を求めました。
簡略化された非技術的な説明:Webサービスを使用すると、ブラウザを使用してWebページを開くのではなく、プログラムがWebページと通信できます。
例:maps.google.comにアクセスし、自宅の住所を入力すると、ブラウザーの現在地の地図が表示されます。
しかし、アドレスを取得してGoogleマップのようにきれいな地図を表示したいコンピュータープログラムを書いている場合はどうでしょうか。
さて、まったく新しいマッピングプログラムを最初から作成することができます。OR Googleマップが提供するWebサービスを呼び出してアドレスを送信すると、場所のグラフィカルなマップが返されます。プログラムで表示します。
他にもいくつかの投稿が掲載されているように、さらに多くの機能がありますが、結果として、アプリケーションから情報を取得するか、リソースに情報を送信できるようになります。他の例:
はい、それは単純なWebサービスです。
Webサービスは、クライアントがデータにリモートでアクセス/変更できるようにする要求/応答メカニズムにすぎません。 Webサービスには正式な標準(SOAP、SOAなど)がありますが、単純なページもサービスです。
ページに印刷する主な欠点は、サービスがHTMLを返すことです。ほとんどのクライアントフレームワーク(およびサーバーフレームワーク)はJSONとXMLを使用して設計されているため、好ましいデータ形式はJSONとXMLです。
したがって、返すようにサービスを変更した場合:
<RANDOM>some random number</RANDOM>
のではなく:
<HEAD>...</HEAD>
<BODY>some random number</BODY>
それはほとんどのクライアントにとってより有用でしょう
簡単に言うと、Webサービスは、httpプロトコルを介してデータをサービスとして提供するものです。確かにそうではありませんが....しかし近いです。
標準Webサービスは、メッセージの通信と構造を定義するSOAPプロトコルを使用します。XMLはデータ形式です。
Webサービスは、異なるテクノロジーを使用して構築されたアプリケーションが問題なく相互に通信できるように設計されています。
Webサービスの例には、サイトで使用できる天気情報を提供するWeather.comや、配送料の見積もりや荷物の追跡を要求する方法を提供するUPSなどがあります。
編集
前述のように常にSOAPであるとは限らないため、SOAPを参照する表現を変更しましたが、より明確にしたかったのです。重要なのは、UI要素ではなくサービスとしてデータを提供することです。
Webサービスは、Webサービスが人間ではなくソフトウェアによって消費可能な情報を提供するという点でWebサイトとは異なります。その結果、通常は公開された JSON 、XML、またはSOAP_サービスについて話します。
Webサービスは「マッシュアップ」の重要なコンポーネントです。マッシュアップとは、多くのWebサイトからの情報が自動的に集約されて、新しい有用なサービスになる場合です。たとえば、Googleマップと警察のレポートに関する情報を集約して、お住まいの地域の犯罪をグラフィカルに表示するサイトがあります。別のタイプのマッシュアップは、別のサイトから提供される実際の株式データを取得し、それを偽の取引アプリケーションと組み合わせて、株式市場の「ゲーム」を作成することです。
Webサービスは、ニュース(RSSを参照)、サイトに追加された最新のアイテム、新製品に関する情報、ポッドキャスト、および現代のWebを変えるその他の優れた機能の提供にも使用されます。
お役に立てれば!
最高のわかりやすい英語の説明は、類推を使用することから得られます。
PHPの例は、出力が別のプログラムによって消費される可能性があるため、その定義によるWebサービスです。しかし、実際には、HTMLスクリーンスクレイピングは、Webサービスを作成するための信頼できる方法または保守可能な方法ではありません。
ほとんどのサイトでは、ブラウザーを使用するときにアクセスするHTMLページがあります。これらは人間が読めるページ(一度ブラウザでレンダリングされる)であり、多くのデータが一緒に詰め込まれている可能性があります。
ここで、他の誰かがそのデータの一部を使用したいと考えています。彼らはあなたのページをダウンロードし、必要なデータを取得するためにすべての「ノイズ」を除去し始めることができますが、ほとんどのウェブサイトはデータがすべての要素に対して同じ場所に配置される100%確実な方法で構築されていないため、さらに面倒なことに、それはまた信頼できなくなります。
Webサービスを入力します。
Webサービスは、Webサイトからデータを読み取り、更新、削除するユーザーにWebサイトが提供することを選択したものです。データへの「バックドア」と呼ぶこともできます。 Webページの一部としてデータを表示する代わりに、事前に決められた方法で提供されますが、より一般的なのはXMLとJSONです。 Webサービスと通信するにはいくつかの方法があり、SOAPを使用する方法と、RESTのWebサービスを使用する方法などがあります。
すべてのWebサービスに共通することは、それらが他の方法でサイトが提供するWebページと同等の機械可読なものであることです。これは、データを使用したい他の人が、解析と使用が簡単な特定のデータを取り戻す要求を送信できることを意味します。一部のサイトでは、機密データのためにリクエストでユーザー名/パスワードを提供する必要がありますが、他のサイトでは誰でも必要なデータを抽出できます。
Webサービスは、アプリケーションまたはシステム間でデータを交換するために使用されるオープンプロトコルと標準の集まりです。さまざまなプログラミング言語で記述され、さまざまなプラットフォームで実行されるソフトウェアアプリケーションは、単一のコンピューターでのプロセス間通信と同様に、Webサービスを使用してインターネットなどのコンピューターネットワークでデータを交換できます。この相互運用性(例:JavaとPython、またはWindowsとLinuxアプリケーションの間)は、オープンスタンダード(XML、SOAP、HTTP)の使用によるものです。
すべての標準Webサービスは、次のコンポーネントを使用して機能します。
次のように機能します。
Webサービスは、2つ以上のリモートWebアプリケーションがネットワーク/インターネットを介して相互にやり取りするテクノロジーです。 Java、.net、PHPなどを使用して実装できます。
Webサービスの機能:-
Simple way to explain web service is ::
Webサービスの利点は、.NETでコードを1つ開発し、Javaを使用してこのコードを消費することです。抽象化されたレイヤーと直接対話することができ、コードの開発にどのテクノロジーが使用されたかを認識しません。
ソフトウェア開発者が使用するWebサービスは、通常、リモートサーバーで実行され、XML/SOAP仕様を使用して呼び出される操作を指します。すべての定義と同様に、ニュアンスもありますが、それがこの用語の最も一般的な使用法です。
オペレーティングシステムは、対話可能なGUI(およびCLI)を提供します。また、プログラムで対話できるAPIも提供します。
同様に、Webサイトは、操作可能なHTMLページを提供し、プログラムで同じ情報と操作を提供するAPIも提供する場合があります。または、これらのサービスは、ユーザーインターフェイスが関連付けられていないAPIを介してのみ利用できます。
Webサービスは、2つの無関係なプログラム間の通信媒体のようなものです。プログラムは、指定されたプロトコル(通常Simple Object Access Protocol(SOAP))を媒体として使用して、それぞれのエンドで処理/実行するREQUEST/RESPONCEを理解します。
簡単な定義は、通常のメソッド呼び出しのように動作するHTTPリクエストです。つまり、パラメーターを受け取り、構造化された結果(通常はXML)を返します。この結果は、オブジェクトにデシリアライズできます。
Webサービスは、通常のWebページとほとんど同じです。違いは、プログラムがページからデータを非常に簡単にプルできるようにフォーマットされていることです。HTMLを使用しない可能性があります。また、通常、形式の一貫性に関してより信頼性が高く、別の正式なプロセスを使用してsoapやraw xmlなどのコンテンツを定義できます。また、多くの場合、データの構造を正式に定義する記述子ドキュメントもあります。
まあ、
@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
お役に立てれば :)
別のコンピューターで操作を呼び出すためにメッセージを送信する方法。 Webサービスと以前のメソッドの違いは、ネットワークを介して送信されるものがより高いレベルで標準化されることです。
古い方法:エンディアン、エンコード、ポート番号などを記述します。Webサービス:URL、XML
Webサービスは、サーバーが実行するアクションのコントラクトを定義します。フォーマットとプロトコルは実際には重要ではありませんが、通信がどのように行われるかについての何らかの定義が必要です。
あなたの例では、それがその番号を読み取る別のアプリケーションで使用されているかどうかに依存します。そうです、それはサービスです。
簡単な言葉で言えば、Webサービスは任意の単純なプログラムです。たとえば、UDDIで公開する必要のある2つの番号を追加し、別のプログラムで使用できます。
「Webサービス」は、「Web」と「サービス」の2つの単語で構成されています。
「Web」とは何ですか? 「Web」とは「World Wide Web」を意味します。
何のための「サービス」?人間向けではない場合は、テキスト、画像、ビデオなどの「Webページ」です.
TCP、HTTPなど、「Web」と同じテクノロジーを使用してインターネット経由で通信するプログラム用です。
「サービス」は、CRUDの「サービス層」など、いくつかの機能を提供することも意味します。主に2つのタイプがあります。
1。 SOAP(シンプルオブジェクトアクセスプロトコル)
2。 RESTful(代表的な状態転送)
他の定義を損なうことなく、Webサービスは、ネットワークを介した相互運用可能なマシン間/アプリケーション間相互作用を可能にするソフトウェアシステムであると言えます。この一般的な定義は、RESTアーキテクチャが完全に定義されたプロトコルであるSOAPとは異なり、アーキテクチャスタイルであるにもかかわらず同様の機能を提供するため、Webサービスと見なすのに役立ちます。