[フレーム]
BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

InfoQのすべての体験をアンロックして、そのメリットを最大限に活用しましょう

ログインして、InfoQのすべての体験をアンロックしましょう!お気に入りの著者やトピックの最新情報を入手し、コンテンツと交流し、限定リソースをダウンロードできます。

ログイン
または

アカウントをお持ちでない方

登録
  • あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。
  • 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。
  • 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

Topics

地域を選ぶ

AIオールスターズ2025

"AI活用"をキーワードに「AIを使い倒し/使いこなす」企業の最前線をお届けします。

QCon San Francisco - image
QCon San Francisco 2025

Get production-proven patterns from the leaders who scaled a GenAI search platform to millions, migrated a core ML system without downtime, and architected a global streaming service from the ground up.

Early Bird ends Nov 11.

QCon AI New York - image
QCon AI New York 2025

Move beyond AI demos to real engineering impact. Discover how teams embed LLMs, govern models, and scale inference pipelines to accelerate development securely.

Early Bird ends Nov 11.

QCon London - image
QCon London 2026

Benchmark your systems against leading engineering teams. See what really works in FinOps, modern Java, and distributed data architectures to balance cost, scale, and reliability.

Early Bird ends Nov 11.

InfoQ ホームページ ニュース Microsoftが新しいREST APIフレームワークを発表

Microsoftが新しいREST APIフレームワークを発表

2012年8月26日 読了時間 4 分

作者:

翻訳者

原文(投稿日:2012年08月23日)へのリンク

Visual Studio 2012と.NET 4.5の発表に合わせて、MicrosoftはASP.NET Web APIというサービスフレームワークを正式に公開した。ASP.NET MVC 4の一部としてオープンソースのASP.NET Web APIはRESTfulなサービスの開発と利用を簡単にする。

ASP.NET Web APIはどのような用途に合っているか”と題した記事でWest Wind TechnologiesのRick Strahl氏はASP.NET Web APIの目的と利点を説明している。

ASP.NET Web APIはMicrosoftの以前のHTTPサービスとは全く異なり、HTTPプロトコルの周辺やメッセージのセマンティクスを根本的に書き直されています。WCF RESTやASP.NET AJAX with ASMXと違い、既存のフレームワークの中で動作する技術ではなく、全く新しいフレームワークです。新しいASP.NET Web APIは既存のプラットフォームの優れた特徴を合わせた、わかりやすく使いやすいHTTPプラットフォームです。ASP.NETが基盤にあり、ASP.NET MVCからたくさんのコンセプトを借りているので、ほとんどのASP.NET開発者にとって、すぐに簡単に使えます。

氏は既存のASP.NET MVCフレームワークのユーザとHTTPエンドポイントを構築したい開発者の両者がこのフレームワークを自然に使えるようにしている中核の機能について指摘している。

  • URLルーティングの強力なサポート。きれいなURLとなじみ深いMVCスタイルのルーティングを実現する
  • リクエストとレスポンスのシリアライゼーションのためのAcceptヘッダに基づくコンテントネゴシエーション
  • JSON、XML、ATOMなどの出力フォーマットに対応したホストのサポート
  • RESTのセマンティクスのデフォルトでのサポート。ただし、選択もできる
  • 簡単に拡張できるフォーマッタのサポート。新しいインプット/アウトプットのタイプを追加できる
  • HttpResponseMessageクラスとHttpRequestMessageクラスを使ったHTTPの先進的な機能のサポート
    HTTPの多くの操作を記述できる強力な列挙型
  • 規約ベースの設計。HTTPサービスとして正しい設計ができる
  • 拡張しやすいフォーマッタとフィルタの拡張モデル
  • ウェブアプリケーションに自己ホストできる
  • MVCに似たテスト方法を導入することによるテストのしやすさ

MicrosoftはすでにCommunication Foundation (WCF)というウェブサービスを持っている。このサービスは開発者がTCP、HTTPとMSMQのようなトランスポートプロトコルを利用した契約に基づいたサービスを設計できる。元々、SOAPベースのサービスのために構築されたWCFは最終的には多くのRESTフレンドリーな機能を持つようになった。ASP.NET Web APIは当初、WCFに準拠していたが、Code Projectの記事でIdo Flatow氏が書いている通り、最終的にはASP.NETチームによって直された。

時間が経つにつれて、WCFのウェブAPIを“ネイティブ”なHTTPの世界に適用する場合の問題が多く現れました。WCFはSOAPベースのXMLメッセージのために設計されており、ウェブAPIがWCFの一部として動作するために必要な“開心手術”はとても大変でした。一方、ASP.NET MVCのインフラはHTTPのリクエストとレスポンスをエレガントに扱います。また、簡単に作れるコントローラのサポートは新しいタイプのサービスを作成するのに適切のように思えます。

WCFは最新の.NET 4.5でも今も使われており、Flatow氏はWCFとASP.NET Web APIのどちらを選ぶかの決定条件を指摘している。

  • 一方向のメッセージング、メッセージキュー、双方向通信など特別なシナリオをサポートしたい場合はWCFを選んだほうがいいでしょう。
  • TCP、名前付きパイプのような高速に動作するトランスポートチャンネルIを利用したサービスを作りたい場合、また、他のトランスポートが使えない状況でHTTPをサポートしたい場合、WCFを使い、SOAPベースのバインディングとWebHttpバインディングを使うのがいいでしょう。
  • HTTPの機能を完全に利用したHTTPを使ったリソース指向のサービスを作りたい場合、ブラウザのキャッシュコントロールを定義したり、ETagを使ったり、様々なコンテントタイプを使いたい場合は新しいWEB APIを使うのが最適です。
  • HTTPを使ったリソース指向のサービスとPRCスタイルのTCPを使ったSOAPサービスの両方をサポートしたい場合は私に言ってください。アドバイスします。

ASP.NET Web APIはVisual Studio 2012に含まれる。またVisual Studio 2010のユーザはダウンロードできる。フレームワークを使ってみたい開発者はサンプルプロジェクトを触ってみるといいだろう。

この記事に星をつける

おすすめ度
スタイル
  • 関連記事

    • 関連スポンサーコンテンツ

特集コンテンツ一覧

InfoQ ニュースレター

毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る

We protect your privacy.

BT

AltStyle によって変換されたページ (->オリジナル) /