SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ASP.NET AJAXでリッチクライアントWebアプリケーションを作成する

ASP.NET AJAXでリッチクライアントWebアプリケーションを作成する(前編)

リッチクライアントの革命児AJAXのアーキテクチャ


  • このエントリーをはてなブックマークに追加

エンドポイント

 通信において一番気になるエンドポイントに関してですが、AJAXの非同期通信におけるエンドポイントはHTTPで使用できるすべてのエンドポイントを使用することができます。AJAXで使用される主なエンドポイントとしては次のようなものがあります。

  • ASP.NET Webページ(*.aspx)
  • HTTPハンドラ(*.ashx、またはカスタム拡張)
  • Webサービス(*.asmx)
  • PHP Webサービス

ペイロード

 AJAXペイロードとはHTTPリクエストによって返されるデータのことです。AJAXにおける非同期通信は標準のHTTPリクエスト/レスポンスと同じであるため、エンドポイントと同様にHTTPで使用することができるすべてのレスポンスペイロードを適用することができます。AJAXで使用される主なペイロードは次のようなものがあります。

  • XML
  • HTML
  • Number型、String型
  • JSON(JavaScript Object Notation)

 特にAJAXでよく使用されるペイロードはXMLとJSONです。どちらも複合オブジェクトのシリアライズをサポートしているのですが、大きな違いは次のとおりです。

  • XML
    • 読み込みが容易だが、動作にXMLパーサーやDOMが必要
    • .NETネイティブ――作成やサーバからの転送が容易
  • JSON
    • データをJSONフォーマットに合わせることが必要
    • クライアント上で動作

JSON

 JSON(JavaScript Object Notation)はその名の通り、JavaScriptの表記法をベースとした軽量データ交換フォーマットです。JavaScriptなので人間にとって読み書きが容易で、構文が決まっているのでマシンやプログラムからの解析および生成も容易です。

 JSONはJavaScriptのサブセットのため、JSONデータの解析はJavaScriptのビルドイン関数であるeval()プロシージャを呼び出すだけです。そのため、データインターチェンジとしても有効です。

リスト3 - JSONのデータ解析例
var  json_data;
json_data  =  "\"The  quick  brown  fox.\"";
myObject  =  eval ("return  "  +  json_data);

JSONとXMLの構文比較

リスト4 - JSON表記例
{"menu":  {
    "id":  "file",
    "value":  "File",
    "popup":  {
        "menuitem":  [
          {"value":  "New",  "onClick":  "CreateNewDoc()"},
          {"value":  "Open",  "onClick":  "OpenDoc()"},
{"value":  "Close",  "onClick":  "CloseDoc()"}
        ]
    }
}
リスト5 - XML表記例
<menu  id="file"  value="File">
    <popup>
    <menuitem  value="New"  onClick="createNewDoc()"  />
    <menuitem  value="Open"  onClick="OpenDoc()"  />
    <menuitem  value="Close"  onClick="CloseDoc()"  />
    </popup>
</menu>

 ご覧の通り、JSONはXMLより簡潔な表記となっております。これがパフォーマンスに直結します。データが少なければ、転送と解析の対象となるバイト数も減少するため、JSONが必要とする帯域幅、メモリ、CPUなどのリソースも減少することになります。

まとめ

 本記事では、AJAXをまったく知らない方を対象に、「ASP.NET AJAX」に進むために最低限必要なAJAX技術について紹介させて頂きました。実装の詳細部分を深く追求していないのは、本記事の主な目的がAJAXフレームワーク「ASP.NET AJAX」にあるためです。AJAXの実装に関しては他の方が書かれている記事を参考にしてください。

 次回からはいよいよ本題である「ASP.NET AJAX」について紹介していきます。「AJAXは難しくて実際に作るのなんて無理!」と考えている方でも驚くほど簡単にAJAX技術を活用することができる画期的なフレームワークです。その力、ぜひ体感してみてください。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ASP.NET AJAXでリッチクライアントWebアプリケーションを作成する連載記事一覧
この記事の著者

松原 晋啓(マツバラ ノブアキ)

アーティサン株式会社 取締役副社長 兼 CRM事業部長(CRMエバンジェリスト)リベルダージ合同会社 社長 兼 最高経営責任者(ドローンインストラクター)SE、アーキテクト、コンサルタント、エバンジェリスト(Microsoft MVP for Dynamics CRM)、マイクロソフトのソリューションスペシャリスト(Dynamics CRM製品担当)を経て、現在はDynamics CRMを専門に扱うデリバリーチームを...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1404 2008/07/14 19:32

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング