ASP.NET Web APIを利用してデータを蓄積する機能を実装してみたいと思います。漠然とデータ蓄積といってもいろいろなデータがあると思いますが、ここではセンサー等のデバイスから自動的に送信されたデータを随時蓄積していくということをイメージしました。これをASP.NET Web APIを使って部分的になると思いますが実装してみます。
ASP.NET Web APIとは
ASP.NET Web APIとはMSDNのページから引用させて頂きますと以下のようになります。
ASP.NET Web API は、ブラウザーやモバイル デバイスなどを含む多様なクライアントに提供できる HTTP サービスの構築が容易になるフレームワークです。 ASP.NET Web API は、.NET Framework 上で RESTful アプリケーションを構築するためのプラットフォームとして理想的です。
上記引用の後半にRESTfulアプリケーションというキーワードが出てきました。比較的普及しているキーワードだと思いますが簡単に整理します。
・RESTは、REpresentational State Transferの略でWebの設計思想の一つ
・特定のリソース(URL)にHTTPでアクセスする
・レスポンスはXMLやJSONなどで受け取る
・RESTfulとはRESTの原則に従って実装されているということ
より詳細や的確な表現はページ最後の関連サイト等を参照して頂ければと思います。
ここではRESTやRESTfulは意識しないで、ASP.NET Web APIをHTTPでアクセスすると何かしらの処理(データの蓄積や蓄積したデータの検索)をして、XMLかJSONでレスポンスを返すための機能を実装するためのフレームワークと位置付けてみます。そして、そのASP.NET Web APIの実装方法を見ていきたいと思います。
もちろん、ASP.NET Web API以外にもこういったフレームワークはいろいろとありますが、私自身がASP.NETが最も使い慣れているということでASP.NET Web APIを選択しました。何を利用するかは必要に応じてJava系やPHP系等も含めて検討すればいいと思います。
開発環境
今回の開発環境は以下です。
Windows8.1 Pro
Visual Studio Community 2013
C#
ASP.NET Web APIでのMVC
ASP.NET Web APIでのアプリケーション開発ではMVCはそれぞれ以下のように実装されることが多いと思います。
・Model – Entity FrameworkのCode Firstを利用したモデルの実装
・View – JavaScript系での非同期通信(Ajax)での画面
・Controller – System.Web.Http.APIContollerクラスでの実装
Visual StudioでASP.NETのプロジェクトを作成する際にASP.NET Web APIのテンプレートを選択して必要に応じてファイルを追加していけば上記のMVCの形式でASP.NET Web APIのアプリケーションが作成出来ます。
但し、今回はいきなりMVC全て込みのテンプレートでプロジェクトは作成しないで、まずはMVCそれぞれを作成するところから始めてみたいと思います。その方針で以下のように記事を書きました。
ASP.NET Web APIでデータ蓄積(その1)ASP.NET Web APIとは
ASP.NET Web APIでデータ蓄積(その2)ASP.NET コードファーストでのモデル構築
ASP.NET Web APIでデータ蓄積(その3)ASP.NET ApiControllerクラス
ASP.NET Web APIでデータ蓄積(その4)ASP.NET ApiControllerクラスとView
ASP.NET Web APIでデータ蓄積(その5)ASP.NET Web APIテンプレートからの構築
ASP.NET Web APIでデータ蓄積(その6)ASP.NET Web APIでの動作確認
ASP.NET Web APIでデータ蓄積(その7)Raspbery Piからの温度データ蓄積
今回はここまでです。次回は上記のその2のモデル構築についてです。
その他関連サイト
今さら聞けないWebAPIの実装方式RESTとSOAPの違い
RESTfulとは
ASP.NET Web API(MSDN)
連載:ASP.NET Web API 入門
Amazon関連商品