CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/06/15 13:03

目次

エンドポイント

 通信において一番気になるエンドポイントに関してですが、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技術を活用することができる画期的なフレームワークです。その力、ぜひ体感してみてください。



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

あなたにオススメ

著者プロフィール

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

    アーティサン株式会社 取締役副社長 兼 CRM事業部長(CRMエバンジェリスト) リベルダージ合同会社 社長 兼 最高経営責任者(ドローンインストラクター) SE、アーキテクト、コンサルタント、エバンジェリスト(Microsoft MVP for Dynamics CRM)、マイクロソフトの...

バックナンバー

連載:ASP.NET AJAXでリッチクライアントWebアプリケーションを作成する
All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5