WCF を使用した RESTful サービスの概要 – モバイル アプリケーション開発、Web サービス、SOA アーキテクチャ – テクノロジー
コンテンツにスキップ

WCF を使用した RESTful サービスの概要 – モバイル アプリケーション開発、Web サービス、SOA アーキテクチャ

広告

まず、RESTFUL サービスは、Representational State Transfer (REST) として知られるアーキテクチャ スタイルに従っています。建築スタイルは、何かを構築するときに適用できる一連の制約です。ソフトウェア アーキテクチャ スタイルは、ソフトウェア システムの実装をガイドするために使用できる特性を記述するものです。 REST は、クライアント (ユーザー エージェント) がサービス (エンドポイント) を要求できるソフトウェアを構築するために使用できるアーキテクチャ スタイルです。 REST は、クライアント/サーバーのアーキテクチャ スタイルを実装する方法です。実際、REST は明示的にクライアント/サーバーのアーキテクチャ スタイルに基づいています。

Roy Thomas Fielding という名前の男性が、博士論文 (「アーキテクチャ スタイルとネットワーク ベースのソフトウェア アーキテクチャの設計」) の中で概念として REST という用語を初めて作りました。彼は、今日のインターネットの大部分を推進する仕様であるハイパーテキスト転送プロトコル (HTTP) に取り組んだ人物の 1 人でした。通常、アーキテクチャ スタイルを説明する人々の背景は、スタイルの説明とは無関係ですが、ここでは私はそう思いますREST の基本を理解する最良の方法の 1 つは、Web とその仕組みについて考えることだと私は信じているので、これは重要です。

WCF と REST

WCF は、プロトコルやスタイルに関係なく、ネットワーク上で通信するアプリケーションを作成するための Microsoft のフレームワークです。 WCF のコンセプトは、開発者がこの知識をさまざまな種類の分散システムに適用できるように、プログラミングと構成モデルに関する情報を学習するための拡張可能でプラグイン可能なフレームワークを作成することでした。

WCF の多くが RPC 指向 (SOAP を使用) であることは事実ですが、実際には、WCF が .NET Framework 3.0 の一部として最初にリリースされて以来、REST サービスを公開および利用する機会がありました。 .NET Framework 3.5 System.ServiceModel.Web アセンブリでは、プログラミング モデルが追加され、REST スタイルで動作するように構築されたインフラストラクチャの一部も追加されました。また、.NET Framework 3.5 SP1 では、REST を使いやすくするための小さな改良がいくつか追加されています。.

このプログラミング モデルは、WebGetAttribute と WebInvokeAttribute という 2 つの新しい属性と、各メソッドが応答する URI と動詞を宣言できる URI テンプレート メカニズムを中心に展開します。インフラストラクチャは、REST を使用するための正しいネットワーク スタックを提供するバインディング (WebHttpBinding) および動作 (WebHttpBehavior) の形式で含まれています。さらに、カスタム ServiceHost (WebServiceHost) および ServiceHostFactory (WebServiceHostFactory) からのホスティング インフラストラクチャのヘルプがいくつかあります。