WCF REST Starter Kit を学ぶ
こんにちは。
WCF REST Stater Kit (現在は Preview 2, CodePlex より入手可能です) のドキュメントが整備されてきました。昨年の PDC 前に発表されて以来、先行して使っていた方も多いかもしれませんが、Tech Ed 2009 (Japan) でも紹介する予定です。(その多くの機能は、Visual Studio 2010 に含まれる "予定" です。)
まず、ご存じない方のために、これはいったい何者でしょうか ?
ご存じの通り、WCF を使用した RESTful サービスの開発は .NET Framework 3.5 (Visual Studio 2008) 以降で充分可能です。しかし、REST の開発を "ちゃんと", あるいは "扱いやすく" 構築するには、"Simple な REST" と言えどもいろいろと配慮すべきことが沢山あります。
例えば、オブジェクトの作成 (Create) 時は、ステータスコード 200 ではなく別のステータスコードを返す必要があります。アイテムが存在しないときには 404 (Not Found) をちゃんと返してますか ? また、REST ではメタデータ交換とか wsdl なんて面倒なものもありませんから、コンシューマー向けのヘルプシステムの作りこみも重要です。AtomPub のサービスもちゃんと作ろうと思うと結構面倒になるでしょう。
ざっくり書いてしまうと、そうした多くの実装をロジックの実装と分離して簡素化してくれるのが、この WCF REST Starter Kit です。(実装の概念は、現在の .NET Framework 3.5 (Visual Studio 2008) と大きく変わりませんので、使用する上で抵抗も少ないでしょう。)
まず、ざっと把握しておきたい方には、Channel 9 がおすすめです。
WCF REST Starter Kit で singleton services を構築する :
http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-resource-singleton-services-with-the-WCF-REST-Starter-Kit/
WCF REST Starter Kit で collection services を構築する :
http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-resource-collection-services-with-the-WCF-REST-Starter-Kit/
WCF REST Starter Kit で Atom フィードのサービスを構築する :
http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-Atom-feeds-with-the-WCF-REST-Starter-Kit/
WCF REST Starter Kit で AtomPub のサービスを構築する :
http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-AtomPub-services-with-the-WCF-REST-Starter-Kit/
WCF REST Starter Kit の API を使用した拡張 (Part 1) :
http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-A-lap-around-the-new-API-extensions-for-REST-Part-1/
WCF REST Starter Kit の API を使用した拡張 (Part 2) :
http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-A-lap-around-the-new-API-extensions-for-REST-Part-2/
Tech Ed 2009 では、WCF REST Stater Kit を使用したクライアント(コンシューマ)開発などについても説明します。
また、The .NET Endpoint のチームブログ で紹介されていますが、WCF REST Stater Kit を使用した網羅的な機能紹介 (開発者ガイド) もリリースされています。
MSDN : A Developer's Guide to the WCF REST Starter Kit
http://msdn.microsoft.com/en-us/library/ee391967.aspx