IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
Ajaxはクライアント・サイドのJavaScriptと,サーバー・サイドのWebサービスが協調して動作する。このうちJavaScript部分は利用者のWebブラウザ上で実行するので,ソースを秘匿できず変更される可能性がある。変更されることにより,不正な引数でWebサービスが呼び出されるかもしれないし,Webサービスが想定外の使われ方をされるかもしれない。 ここでは,株価を5分ごとに表示するAjaxアプリケーションで考えてみよう。用意しているWebサービスは,証券コードを引数として渡すと,その株価を結果として返すもの。そうしたWebサービスを,クライアント側のJavaScriptから5分ごとに呼び出す構成になっている。 図6●改変されたクライアント・プログラムから利用される恐れがある Webサービスの引数に証券コードを渡して戻り値で株価を返すようなアプリケーションの場合,JavaScript
図3●Ajaxの基本的な動き Ajaxアプリケーションは,WebブラウザではなくJavaScriptがWebサーバーへの接続を指示する。送受信されるデータ形式は,HTMLではなくXMLまたはテキスト形式。呼び出されるサーバー側プログラムは,Webサービスになる [画像のクリックで拡大表示] 図4●XMLRPCでWebサービスを呼び出す場合の例 クライアントとサーバー間のやり取りはXML形式のデータになる。サービスを呼び出すには,XML形式の引数を作成する必要がある。Webサービスの戻り値から利用者に表示する値などを取得するには,XML形式のデータをパースする必要がある [画像のクリックで拡大表示] 一般的なWebアプリケーションは利用者の操作を契機にサーバーと通信を開始するが,AjaxはJavaScriptの指示でサーバー側のプログラムを呼び出す(図3[拡大表示])。ページの部分的な変更が
図3●XMLHttpRequestオブジェクトを使った通信処理の流れ<br>Webサーバーからの応答をバッファに保管し,状況に応じてイベント・ハンドラを呼び出す。readyStateが4のときには受信完了である。このときresponseTextプロパティやresponseXMLプロパティを使って受信データを取得できる ここからは少し具体的に,実際にクライアント・サイドで実行されるコードの概要を見ていくことにする。 規格外だが事実上の標準 Ajaxの中心となるのは,Webサーバーと通信する「XMLHttpRequest」オブジェクトである。Webブラウザに備わるほとんどのJavaScriptは標準に準拠していると説明したが,XMLHttpRequestオブジェクトは標準化の対象外である。しかし幸いなことに,IE,Firefox,Netscape,Opera,Safariなど,多数のWebブラ
Webアプリケーションは,クライアントからサーバーに要求を送信し,その結果をブラウザ内に表示するという流れが一般的だ。それに対してAjaxでは,ページの一部だけを差し替えたり,マウスの移動をきっかけにコンテンツを動かせたりする。そうしたメリットがある一方で,標準外の技術を利用するのでWebブラウザの種類に依存してしまう。 Webアプリケーション開発の新手法として注目を集める「Ajax(エイジャックス)」。前編と後編の2回に分けて,Ajaxの基本的な仕組みや特徴,周辺技術などを解説する。前編となる今回は,Ajaxの利点と利用する際の注意点,そして仕組みを理解するために肝となるソースコードの概要を説明する。 JavaScriptが主役 画面1●Google Mapsの画面 場所を検索したり航空写真を見たりできる地図サービス。Ajaxアプリケーションとして構成されており,地図はマウスでスクロール
巨大ライブラリの機能の海におぼれずにすむよう、コンパクトにまとめたミニライブラリが話題だ。そのほか、FirefoxプラグインにJavaScriptデバッガも登場している(編集部) LoJAX (Low-technology AJAX) Ajaxは古い技術の集合体にすぎません。それにもかかわらず、長い間ブームにならなかったのは歴史的事実です。ブームになるための最後のハードルは、マイクロソフト独自技術のXMLHttpRequestオブジェクトと互換性のある機能を、Internet Explorerのライバルブラウザたちがサポートしたことにあると考えています。そのことから分かるとおり、WebブラウザがXMLHttpRequestオブジェクトを持っていることは当然の前提とはいえません。過去にはこのオブジェクトを持たないWebブラウザは一部バージョンのInternet Explorer以外のすべてと
米グーグルが発表したGoogle Web Toolkit。Java言語で作成したクライアントアプリケーションを、JavaScript+HTMLアプリケーションに変換するという、まったく異なるアプローチを持つAJAXアプリ開発ツールだ。簡単なサンプルを動かしてみよう(編集部) 2006年5月17日、米国Googleが、Google Web Toolkitをリリースしました。早速Webサイトを見ると、『Google Web Toolkit - Build AJAX apps in the Java language』(=Java言語でAJAXアプリを造る)という、Java開発者にとって非常に刺激的なキャッチで始まっています。 これまでも、BACKBASE Java Edition、ICESOFT ICEFACES、Nexaweb などAJAX+Javaでの開発に対応するフレームワーク製品または
前回「JavaをAjaxに変換するグーグルのGWTを使ってみよう」では、Google Web Toolkit(以下GWT)の概要を紹介しました。 GWT最大の特徴は、JavaでAjaxが開発できることです。Ajaxアプリケーションのクライアント側をJava言語で開発し、それをピュアなHTMLとJavaScriptに翻訳する「Java-to-JavaScriptコンパイラ」というユニークな技術をコアとした開発手法にあります。 具体的なAjaxアプリケーションを実際に作成することで、GWTのプログラミングやウィジェットあるいはリモート・プロシージャ・コールの機能といった本質的な要素へと迫っていきましょう。
第1回 Ajax技術の目に見えない通信内容をのぞいてみようでは、Ajaxの技術背景を解説しました。今回は、「セキュリティ」という観点でAjaxを見ていきたいと思います。 2回目の今回は、非常に幅広く、奥が深い「Ajaxの特徴に潜むセキュリティリスク」を、実際のサンプルアプリケーションの通信や、マウスの動きを動画で見ながら、理解しましょう。スパイウェアやキーロガーへの基本的な対策も解説します。 通常のWebアプリと異なるAjaxの特徴に潜むリスク 「Ajaxのセキュリティ」といきなりいっても、『Ajaxとはいえ、単なるWebブラウザで動作するアプリケーションなのだから、これまでのWebアプリケーションのセキュリティとあまり変わらないのでは?』と予想される方も多いでしょう。確かに、Webアプリケーションとして注意すべきセキュリティのポイントは、Ajaxにおいても共通して当てはまると考えて問題あ
Ajax(エイジャックス)の登場によって、ブラウザのプラグインソフトに頼らなくても、見た目が華やかで動きも面白いWebアプリケーションの開発が可能となりつつあります。筆者のみならず、読者の皆さんもこの技術の行方に興味津々といったところでしょう。本連載では、ブラウザ上での「見た目」だけに注目するのではなく、本技術の背景や目に見えない通信内容、セキュリティといったところにも焦点を当て、より深く掘り下げていきたいと考えています。 はじめに まず、読者の皆さんは、なぜAjaxに興味を持たれたのだろうか? おそらく、GoogleローカルやGoogleサジェストが、そのきっかけの1つになったのではないかと予想する。確かに、地図が滑らかにスクロールしたり、キーを入力するたびに画面がリアルタイムに切り替わったりする点は、これまでのWebページにはなかった新しい「感触」で、感嘆の声を上げた方も少なくないだろ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く