web-dev-qa-db-ja.com

なぜウェブサービスが必要なのですか?通常のWebアプリケーションとはどう違いますか?

ウェブサービスを始めたばかりなので、質問が愚かに聞こえたらご容赦ください。

なぜウェブサービスが必要なのですか?通常のWebアプリケーションとはどう違うのですか?

多くのチュートリアルで2つの使用法が言及されています。 1つは異なるマシン/アプリケーション間の通信で、これは問題ありません。しかし、次は再利用可能なアプリケーションコンポーネントを開発するためです。私の質問は、そのためにWebサービスが必要ですか?

例:通貨コンバーターはWebサービスとして実装でき、URLで公開できます。ただし、その後、同じものをWebアプリケーションとして作成できます。 Webサービスを使用する実際の利点はどこにありますか?

また、SOのいくつかの投稿によると、UIが含まれていない場合はWebサービスを使用し、GUIが必要な場合はWebアプリケーションを使用する必要があります。選択はとても簡単ですか?

注:ここでは、SOAPベースのWebサービス。RESTfulのものは異なる場合があります。

29
Chillax

Webサービス(esp SOAP)は、他のプログラムによって消費/読み取り/使用されるように設計されています。 「スクリーンスクレイプ」プログラムを作成しなければならなかった場合(つまり、Webアプリケーションを操作し、ページをきれいで使いやすいものにするすべてのgooから必要なデータを選択する場合)、その構造に感謝します。

また、SOのいくつかの投稿によると、UIが含まれていない場合はWebサービスを使用し、GUIが必要な場合はWebアプリケーションを使用する必要があります。選択はすべて単純ですか?

一言で言えば、「はい」です。

9
Dan Pichelman

web servicesを使用することには多くの利点があります。通常のhttpアプリケーションに対する主な利点は、SOAPメッセージングを使用することです。これは、はるかに効率的で、帯域幅のコストがかかりません。

別の利点は、Service Transport、XML Messaging、Service Description、およびService Discoveryレイヤーが標準プロトコルを使用しているため、開発者がプロ​​グラミング言語に関係なく機能を簡単に開発できることです。

天気予報などのサービスのプロバイダーであるとします。開発者を作成し、あなたのwebsitescrapにアクセスして、必要なデータを抽出するのはなぜですか?開発者が日付を渡し、必要なすべての情報を含む明確に定義されたxmlドキュメントを取得できるということは、web serviceで開発する方が簡単ではないでしょうか?すべてのタイプのケースで同じことが起こります...

9
MaVRoSCy

ソース: なぜWebサービス?

  • 既存の機能をネットワークに公開:

Webサービスは、HTTPを使用してリモートで呼び出すことができるマネージコードの単位です。つまり、HTTP要求を使用してアクティブ化できます。そのため、Webサービスを使用すると、既存のコードの機能をネットワーク経由で公開できます。ネットワークに公開されると、他のアプリケーションがプログラムの機能を使用できるようになります。

  • 異なるアプリケーションの接続、すなわち相互運用性:

Webサービスを使用すると、さまざまなアプリケーションが相互に通信し、アプリケーション間でデータとサービスを共有できます。他のアプリケーションもWebサービスのサービスを使用できます。たとえば、VBまたは.NETアプリケーションは、Java Webサービスと通信できます。その逆も可能です。したがって、Webサービスは、アプリケーションプラットフォームとテクノロジーを独立させるために使用されます。

  • 標準化プロトコル:

Webサービスは、通信に標準化された業界標準プロトコルを使用します。 4つのレイヤー(サービストランスポート、XMLメッセージング、サービス記述、およびサービス検出レイヤー)はすべて、Webサービスプロトコルスタックで明確に定義されたプロトコルを使用します。このプロトコルスタックの標準化は、幅広い選択肢、競争によるコストの削減、品質の向上など、ビジネスに多くの利点をもたらします。

  • 低通信コスト:

Webサービスは通信にSOAP over HTTPプロトコルを使用するため、Webサービスの実装に既存の低コストのインターネットを使用できます。このソリューションは、EDI/B2Bなどの独自ソリューションに比べてはるかに低コストです。 SOAP HTTPを介して、WebサービスはFTPなどの他の信頼できるトランスポートメカニズムに実装することもできます。

6
KingFeming
  1. バックエンドとUIコードの依存関係(JSPやJSFなど)を削除することにより、UIとバックエンドコード間のモジュール性を提供します。

  2. 通信はより効率的であり、帯域幅のコストは低くなります。 xmlおよびjson形式を使用して必要なデータのみを共有します。

  3. 現在、モバイルPDAなどの他のさまざまなデバイスから1日のアプリケーションが使用されています。また、ほとんどのアプリケーションにモバイルアプリがあります。この場合、Webサービスを使用する場合は、異なるデバイスとモバイルアプリのUIを開発し、必要なサービスを呼び出すだけで、アプリケーションを異なる方法で実装する必要があります。

0
Ritesh Kumar