web-dev-qa-db-ja.com

Webサービス、Webメソッド、サーバーサイドコードの違いは?

私を混乱させるいくつかの質問、私はWebサービスにまったく慣れていません。

  1. Webサービス、Webメソッド、サーバー側コードの違いは何ですか?

  2. サーバー側の方法よりもWebサービスが優先されるのはどこですか?

  3. Webメソッドはどこで使用するのが好ましいですか?

  4. Webサービスはサーバー側のポストバックとどのように異なりますか?

  5. Webサービスは軽量ですか?長いWebフォームの保存にも使用できますか?

  6. エンタープライズWebアプリケーションで、頻繁に使用する必要があるのはどれですか。その理由は何ですか。
17
Zo Has

Webサービス、Webメソッド、サーバー側コードの違いは何ですか?

Webサービスは、通常APIとして使用される公開されたエンドポイントです。つまり、そのエンドユーザーは通常、ユーザーインターフェイスではなく別のアプリケーションです。 Webメソッドは、Webサービスを介して公開される特定のメソッドです。

一方、サーバー側のコードは、ASP.NET Webページ、Webサービス、またはその機能の一般的な実装のための他のテクノロジに適用されます。

サーバー側の方法よりもWebサービスが優先されるのはどこですか?

WebサービスExcelは、アプリケーションを他のプログラミングプラットフォームと互換性のあるものにするため、またはWebページへのAJAXリクエストを提供するため)。 。

Webメソッドはどこで使用するのが好ましいですか?

Webメソッドは、任意の.aspxページ、またはより一般的には.asmx(Webサービス)ファイルで使用できます。

Webサービスはサーバー側のポストバックとどのように異なりますか?

サーバー側のポストバックは、Webページが処理のためにサーバーにデータを投稿するときに発生します。 Webサービスは完全に異なります。これは、別のアプリケーション(または同じアプリケーション内)による消費のために公開されるエンドポイントです。

Webサービスは軽量ですか?長いWebフォームの保存にも使用できますか?

いいえ、Webサービスは軽量ではありません。実際、Webサービスは通常、XML(かさばる形式)を使用してデータを受信および応答するため、まったく逆です。ただし、これにより、他のプログラミング言語で非常に簡単に使用できるようになります。

エンタープライズWebアプリケーションで、頻繁に使用する必要があるのはどれですか。その理由は何ですか。

これは非常に主観的な質問です。 .NET Frameworkの各テクノロジには、優れた機能のセットがあり、通常は他のいくつかのことを実行できます(ただし、あまりうまくいきません)。各ツールにはそれぞれの場所があり、使用するツールをプロジェクトの要件に一致させるだけです。

ただし、残りの質問から判断すると、APIを必要としない一般的なWebサイトをまとめているように思われます。その場合は、.aspxページとコードビハインドを使用するのが最適です。

22
NightOwl888

「Webメソッド」という用語には、次のようないくつかの意味があります。

  1. 従来のASMXWebサービステクノロジでは、[WebService]属性をパブリッククラスに追加し、[WebMethod]属性をそのようなクラスのパブリックインスタンスメソッドに追加することでWebサービス操作を作成していました。これらのメソッドは、Webサービス操作として公開されます。
  2. ASP.NETの一部である関連テクノロジ「ページメソッド」があります。基本的に、ページクラスのパブリック静的メソッドで[WebMethod]属性を使用して、小さなWebサービスを作成できます。

どちらの場合も、この用語は実装テクノロジに固有のものです。総称は「Webサービス運用」です。たとえば、WCFでは、メソッドに[OperationContract]属性を配置することでWebサービス操作が作成されます。

ASMXは現在、Microsoftによって「レガシーテクノロジ」と見なされていることに注意してください。すべての新しい開発では、WCFを使用する必要があります。

6
John Saunders

私の分類法

サービス-名前付きの機能は、別のコンポーネントに値を提供し、説明のコントラクトで区切られます。

操作-サービスが公開する特別に名前が付けられたピース機能。通常、サービスは1つ以上の操作を公開できます。

Webサービス-HTTPなどのWebテクノロジーまたはインターネットを介して公開されるサービス。

サーバーサイドコード-サービスの機能の実装。これは、サービスの作成元のコードと見なすことができます。

Webメソッド-Webサービスでの操作を指す特定の用語。一部のテクノロジーでは、これは操作の実装に使用されるテクノロジーを説明するためにも使用されます。これらを使用して操作を実装します-例:操作のサーバー側コード。

サーバー側のポストバックは、サービスがサービスの元のコンシューマーに通常は非同期でコールバックする場合です。

Webサービスは、インターネットテクノロジーを介して公開されるサービスにすぎないため、必要に応じて、重くても軽くてもかまいません。それは、オペレーションの契約の要件に依存します。

どちらを使うべきですか?それぞれの要件が異なるとは言えません。

2
Preet Sangha

「メソッド」または「Webメソッド」という用語は、厳密にはMicrosoftの用語です。これは、w3c標準で提案されている適切な用語ではありません。

Microsoftは、基本的なオブジェクト指向プログラミングパラダイムの概念を含む、適切なソフトウェア用語を卑劣にすることで知られています。

0
Javaid Aslam