本文へジャンプ


developerWorks Japan  >  Web development  >  

技術文書一覧

developerWorks
 
  
 
 結果  498   1 - 100 件を表示する     概要の非表示    
 
タイトル 日付日付 別のソート - 逆順にしたい場合はクリック
企業システムでも使われるウィジェット技術: 第 2 回 OpenAjax Hub 2.0 による安全なマッシュアップ
本連載では、ウィジェット関連の技術動向についてご紹介していきます。第2回となる本稿ではOpenAjax Alliance で仕様が策定されたOpenAjax Hub 2.0の機能と使い方についてご紹介します。特にOpenAjax Hub 2.0では複数のウィジェットを組み合わせたコンポジット・アプリケーションを安全に実現するためのセキュア・マッシュアップ機能が大きな特徴です。マッシュアップによるセキュリティ的な問題と、OpenAjax Hub 2.0の実現するセキュリティの仕組みについて解説します。
    2009/11/20  
 
MVC デザイン・パターンを使用した Dojo Grid
さまざまな技術が互いにつながりを持っていることはよくあります。そのため、ある技術での知識が別の技術を習得する上で役立つこともよくあります。この記事では Dojo Grid の主な機能を MVC (Model-View-Controller) デザイン・パターンの観点から紹介します。MVC の観点から Dojo Grid を捉えることで、これまで使用したことがなくても、簡単に Dojo Grid を理解してマスターできることを知ってください。
    2009/11/03  
 
Flex マイクロブロギング・アプリケーションで pureXML を利用する: 第 3 回 pureXML Web サービスを使用して、マイクロブログ・エントリーを HTML ページに公開する
IBM DB2 の pureXML 機能を使用すれば、XML をそのままの形式でデータベースに保管することができ、XML を変更する必要がありません。一方 Adobe Flex アプリケーションは、XML を直接読み取って Flex ユーザー・インターフェースに取り込むことが可能です。この 3 回の連載記事で作成するマイクロブロギング・アプリケーションでは、pureXML、Web サービス、そして Adobe Flex を利用できるだけでなく、さらにマイクロブロギングでの近況アップデートを Twitter に公開することもできます。連載の第 1 回では、Web サービスについて説明し、マイクロブログ・データベースを作成およびテストして、DB2 pureXML を使用した Web サービスを有効にする方法を説明しました。第 2 回では Adobe Flex と ActionScript を利用してアプリケーションのユーザー・インターフェースを作成しました。連載の最終回となる今回の記事では、サンプル pureXML Web サービスを使用して、マイクロブログのエントリーを HTML ページに公開する方法を説明します。
    2009/11/03  
 
Flex マイクロブロギング・アプリケーションで pureXML を利用する: 第 2 回 Flex でアプリケーション・ユーザー・インターフェースを作成する
IBM DB2 の pureXML 機能を使用すれば、XML をそのままの形式でデータベースに保管することができ、XML を変更する必要がありません。一方 Adobe Flex アプリケーションは、XML を直接読み取って Flex ユーザー・インターフェースに取り込むことが可能です。この 3 回の連載記事で作成するマイクロブロギング・アプリケーションでは、pureXML、Web サービス、そして Adobe Flex を利用するだけでなく、さらにマイクロブロギングでの近況アップデートを Twitter に公開することもできます。連載の第 1 回では、Web サービスについて説明し、マイクロブログ・データベースを作成およびテストして、DB2 pureXML を使用した Web サービスを有効にする方法を説明しました。第 2 回となる今回の記事では、Adobe Flex と ActionScript を利用してアプリケーションのユーザー・インターフェースを作成します。
    2009/11/03  
 
企業システムでも使われるウィジェット技術: 第 1 回 IBM 共通のウィジェット技術 iWidget
本連載では、ウィジェット関連の技術動向についてご紹介していきます。第1回となる本稿ではユーザー・インターフェースにおいてウィジェットの果たす役割と価値を整理した上で、コードを交えてIBMが取り組むiWidget仕様に基づいたアプリケーションの仕組みを解説します。
    2009/10/30  
 
Web サーバーのログを処理する
皆さんのサイト上のどこで誰が何をしているのか、どうすればわかるのでしょう。おそらく皆さんのサイトには Apache スタイルのログがあるので、そのログを解析して貴重な情報を見つける方法がわかればよいだけのはずです。この記事では、Web サーバーのログのフォーマットについて学ぶとともに、プログラムでログを利用する方法を学びます。また、Web クローラーによるスパイダー・トラフィックを識別する方法についても学びます。
    2009/10/27  
 
Google Web Toolkit と Eclipse Galileo を使ったハイパフォーマンスの Web 開発
皆さんはこれまでに GWT (Google Web Toolkit) について聞いたことがあるのではないでしょうか。GWT を使用すると、Java プログラミング言語で作成した Web アプリケーションを JavaScript にコンパイルして Web ブラウザーで実行することができます。これはつまり、Java の静的型付けや Eclipse のような優れたツールを活用して生産性を高められるということです。また、皆さんは GWT で構築された便利でスタイリッシュなウィジェットをいくつか見たことがあるかと思いますが、GWT を使用することでハイパフォーマンスの Web アプリケーションを作成できることをご存知でない方もいるのではないでしょうか。この記事では、Google Plugin for Eclipse Galileo を使用して GWT のパフォーマンス機能 (コンパイラー最適化、遅延バインディング、Ajax 最適化) を活用する方法について説明します。GWT にとっては、開発者のパフォーマンスも重要な要素です。そこでこの記事では、Google Plugin for Eclipse を調整して開発者の生産性を向上させる方法についても説明します。
    2009/10/20  
 
Web アプリケーションのセキュリティー: 脆弱性をテストする
データ駆動型 Web サイトへの依存がますます強くなるなか、これらのサイトを対象とした攻撃の数は増加の傾向にあります。開発者にとってサイトをセキュアにするために何よりも大事なのは、どのような方法を使うとサイトを攻撃できるのかを理解することです。この記事を読んで、攻撃のなかでも特によく見られるタイプの攻撃について理解し、そのような攻撃を突き止めるために使用できるツールについて学んでください。
    2009/10/20  
 
動的要素を持つ Web ページを自動的に更新する
皆さんは、標準的な JSF (JavaServer Faces) コンポーネントで JavaScript と CSS (Cascading Style Sheets) を使って、オプションで表示される JSF コンポーネントの表示/非表示を切り替える方法をご存じかと思います。これを行うためには、JSF ページで使われるすべての JSF コンポーネントを最初に特定しておいてから、それらのコンポーネントを JSF ページに書き込む必要があります。しかしこの方法は、実行時にならないとわからない動的要素を含む Web ページを作成する場合には不可能です。この記事では、Web ページ上の古い UI コンポーネントをクリアーする一方で動的要素を自動的に更新する方法と、Java コードを使って Web ページに新しい要素を追加し、適切な場所に配置する方法について学びます。また、Web ページ上のそれぞれの動的要素にさまざまなイベント・ハンドラーをバインドする方法、サーバー・サイドのデータの変更をリッスンしてページを最新の情報に更新するためのリスナーを登録する方法、そして Ajax (Asynchronous JavaScript and XML) の手法を使って Web ページの動的部分のみを最新の情報に更新する方法についても学びます。
    2009/10/13  
 
PHP という蜂と音声という蜜: アクセシビリティーを考慮したエージェント・ベースの音声アラートとフィードバック
この記事では、オープンソースのツールを使って情報を収集、編集し、中央のデータベースに追加するシステムについて説明します。このシステムでは、情報はユーザーへの伝達用に適切に構成されますが、その構成された情報は画面に表示されるのではなく、視覚障害のあるユーザーなどのために音声システムを使って伝達されます。また、このシステムではいくつかの PHP エージェントが使われますが、これらのエージェントは単独で動作して情報を生成、編集し、音声で伝達するための調整を行ってから、その情報を音声で伝達します。
    2009/10/13  
 
pureXML と JSON に対応したアプリケーションを構築する: 第 1 回 DB2 pureXML による JSON の保管とクエリー
Web 2.0 でよく使われているテキスト形式の表記法である JSON (JavaScript Object Notation) は、クライアントとサーバーとの間で情報を交換する際に、オブジェクト (またはデータ構造) をシリアライズしたテキストとして表現するために使用されています。アプリケーションによっては、JSON オブジェクトを保持してセッション間で状態を維持するとメリットがある場合があります。この記事を読んで、単純な JSON と XML とのマッピングを導入することによって DB2 pureXML で JSON の保管、管理、クエリーを可能にする方法を学んでください。
    2009/10/13  
 
Web 時代の非リレーショナルデータベース: 第 5 回 Apache CouchDB の最新機能を知り、適用の勘所を掴む
本連載では今Web開発者が注目するApache CouchDBに関する技術情報を紹介します。今回は5回シリーズの最終回として、Apache CouchDB の最新版(0.9.0以降)で搭載された機能を紹介し、シリーズのまとめとしてドキュメント指向アプリケーションに関する考察を行います。
    2009/10/09  
 
オンライン・コラボレーションによって、アイデアを生み出し、プロジェクトを共有する
皆さんは、リアルタイム動作が可能な対話型のコラボレーション Web サイトが必要ではありませんか。この記事では、developerWorks のおなじみの寄稿者 Judith Myerson が、オンライン・コラボレーションを必要とする人達のニーズや、さまざまな理由による変更が可能なコラボレーション・モデルへの開発者のニーズに対応する方法について説明します。著者はオンライン・コラボレーションのシナリオとして、サプライ・チェーン管理、プラント・エンジニアリング管理、そして科学研究論文の 3 つを挙げ、またモバイル機器に対する IPv6 の影響について説明します。
    2009/10/06  
 
WSF/Jython (Web Services Framework for Jython) の紹介
オープンソースの SOA ソリューションを提供している企業である WSO2 が提供する WSF/Jython (Web Services Framework for Jython) を使用すると、Jython で簡単に Web サービスを作成し、利用できるようになります。このフレームワークは Apache Axis2 Web サービス・エンジンを Jython と統合しており、Jython ユーザーは Axis2 エンジンの強力さと多彩な機能のすべてを利用することができます。このため、Jython ユーザーは数行のコードを作成するだけで、Web サービスを使用する SOA (Service-Oriented Architecture) のメリットを活用することができます。この WSF/Jython フレームワークを利用して作成された Web サービス・クライアントは、WS-Security を必要とするエンタープライズ Web サービスを呼び出すことができます。さらに WSF/Jython では、バイナリーの添付を MTOM として送信することもできます。
    2009/10/06  
 
テキスト・ネットワーク分析統合プラットフォーム: 第 2 回 データ構造の詳細、APIの概要、アプリ構築
前回の記事では、ソーシャル・アナリティクスを実現するテキスト・ネットワーク分析統合プラットフォーム(TExt and Network Analysis、以下、TENAと略します)を、データ構造、API、そしてアプリ構築に必要な分析フレームワークを中心に説明しました。今回の記事ではTENAが実現する分析アプリケーションの実例を、実際のAPIの利用例と共に説明します。
    2009/10/02  
 
Jersey と Apache Tomcat を使って RESTful な Web サービスを作成する
REST (Representational State Transfer) は 2000年の初旬に Roy Fielding の博士論文のなかで初めて紹介されました。しかし Java コミュニティーが REST を標準化したのは、JSR 311(JAX-RS) が確定された 2008年のことです。そのリファレンス実装の初回リリースに至っては、さらに後になってからのことでした。この記事では、JSR 311 のリファレンス実装である Jersey の紹介として、Jersey に不可欠な API とアノテーションについて説明します。また、Jersey を Apache Tomcat に統合することによってサーブレット・スタイルのサービスをスムーズに RESTful なサービスに変換する方法も説明します。
    2009/09/24  
 
ソケット・ベースの RIA 技術を使ってリアルタイムのサーバー・プッシュを Ajax アプリケーションに実装する
新しい種類の高度な UI (User Interface) アプリケーションでは、サーバー・サイドで少しでも変更があった場合に、即座にクライアントに通知することができる「サーバー・プッシュ」機能が何らかの形で必要です。残念ながら HTTP の仕様では、サーバー・サイドから開始される通信に関する記述はありません。そのため、サーバー・プッシュは従来、クライアント・サイドによるポーリングによって実装されてきましたが、この手法では不要なトラフィックが大量に発生し、またアプリケーションを最適化できない傾向があります。幸いなことに、いくつかの RIA (Rich Internet Application) 技術を利用すると、専用のソケット・チャネルを開くことができ、バックエンド・サーバーでは Ajax (Asynchronous JavaScript and XML) アプリケーションがその API を利用してサーバー・プッシュを実装できるようになります。この記事では、この手法を読者のみなさんが十分理解して自ら実装を始められるように、さまざまな面からこの手法を掘り下げていきます。
    2009/09/22  
 
Java ベースの PHP フレームワーク、Quercus の紹介
Quercus は Java と PHP を合わせて使用することで Web サービスや Web アプリケーションを作成する新しい手法です。Quercus フレームワークでは Java と PHP が互いに統合されているため、便利なことに Spring や Hibernate などの多様な Java ライブラリーをアプリケーションに組み込むことができます。この記事では、いくつかのコード・サンプルを使って Quercus フレームワークを簡単に紹介します。まず、単純な HelloWorld の例を使ってQuercus フレームワークの機能と利点を探ります。そして、Quercus フレームワークのアーキテクチャーを説明し、実際の使い方を詳細に見ていきます。
    2009/09/22  
 
Agavi による MVC プログラミング入門: 第 4 回 XML、RSS、SOAP をはじめとする複数の出力タイプに対応する Agavi 検索エンジンを作成する
連載第 4 回では Agavi のサンプル・プログラムに単純な検索エンジンを実装し、XML、RSS、または SOAP といった複数の出力タイプに対応させるためのサポートを追加します。この 5 回の連載は、オープンソースの柔軟かつスケーラブルなフレームワークである Agavi に興味を持つ PHP 開発者を対象としています。
    2009/09/15  
 
Grails をマスターする: カスタム・プラグインを作成する
連載「Grails をマスターする」の今回の記事では、Scott Davis が独自の Grails プラグインを作成する方法を紹介します。この記事を読んでプラグインをこれほど簡単に作成できることがわかれば、現在 250 を超える Grails プラグインがあり、新しいプラグインも次から次へと追加されているわけが納得できるはずです。
    2009/09/15  
 
Agavi による MVC プログラミング入門: 第 5 回 Agavi アプリケーションにページング機能、ファイルのアップロード機能、そしてカスタム入力バリデーターを追加する
これが最終回となるこの 5 回の連載では、オープンソースの柔軟かつスケーラブルなフレームワークである Agavi について学びたいと思っている PHP 開発者を対象としています。今回の記事では、Agavi アプリケーションでファイルのアップロードをサポートする方法、セッションにユーザー・データを保存する方法、サード・パーティーのライブラリーを統合する方法、そしてカスタム入力バリデーターを作成する方法を説明します。
    2009/09/15  
 
memcached と Grails: 第 1 回 memcached をインストールして使用する
memcached と Grails に焦点を当てるこの 2 回連載の第 1 回目では、著者の James Goodwill がオープンソースのキャッシング・ソリューション、memcached を紹介します。今回の記事で取り上げる内容は、memcached のインストール、構成、memcached クライアント・コマンド、そしてキャッシュの有効性を評価する方法です。この記事では、memcached を各言語に固有のクライアントで使用する方法について説明するのではなく、memcached サーバーとの間で行われる直接のやりとりに焦点を絞ります。今回目標とするのは、memcached のインスタンスをモニターするために必要なツールについて説明すること、そして第 2 回の記事で memcached をGrails アプリケーションに統合するための下準備をすることです。
    2009/09/15  
 
Technorati API を使う
Technorati はブログの一覧を表示するサービスです。Technorati を利用すると、ブロゴスフィアのほぼ全体にわたって関心対象の記事を検索することができます。Web 2.0 と呼ばれるほとんどのものと同様、Technorati にもその機能の大部分を自動化するための API が用意されており、REST サービスとして提供されています。この記事では例を示しながら、Technorati の API を最大限に活用する方法を学びます。
    2009/09/08  
 
Web 2.0 技術でのアクセシビリティー
人々の意識の高まりと要件の増大によって、あらゆる潜在的ユーザーのニーズを考慮に入れたアプリケーションが要求されるにつれ、アクセシビリティーはホットなトピックになりつつあります。アクセシビリティーの対象は Web アプリケーションだけではなく、文書、デスクトップ・アプリケーション、ハードウェア等々も含まれます。Web アプリケーションの領域では、静的な Web ページにアクセシビリティーを実現することは比較的容易です。しかし Web 2.0 技術の場合には、コンテンツが動的であることや装飾の多い視覚効果のおかげで、アクセシビリティーのテストが非常に困難になります。この記事では、今後の Ajax (Asynchronous JavaScript and XML) ウィジェットをアクセシブルにするために設計された WAI-ARIA 標準を紹介します。またこの記事では Web 2.0 の設計でのアクセシビリティーの原則と、アクセシビリティーに対応するための手掛かりとなるコード・サンプルについても説明します。
    2009/09/01  
 
XUL でのマルチスレッド・プログラミングを探る
XUL を使ってクロスプラットフォームのデスクトップ・アプリケーションを作成すると、JavaScript や CSS、さらには HTML のスキルの強化につながります。XUL のクロスプラットフォーム機能は、どのプラットフォームにも共通の最小の機能の集まりではありません。XUL はデスクトップ・アプリケーションのツールキットに期待するような機能も提供します。その 1 つが、ネイティブ・スレッドへのアクセスです。XUL では、JavaScript から直接ネイティブ・スレッドにアクセスして、並列で実行されるコードを作成することさえ可能です。この記事では XUL のマルチスレッド化機能について調べ、複数のスレッドを使用してデータを取得するアプリケーションを作成します。インターネットで複数のリモート・データ・ソースにアクセスする典型的な I/O バウンドのアプリケーションを例に、XUL の複数のスレッドを使用してアプリケーションの実行に要する時間を短縮します。そしてユーザーがこのアプリケーションを使って、Google、Yahoo!、そして Microsoft(R) の Bing という 3 つのよく使われている検索エンジンによる検索結果を表示し、比較できるようにします。
    2009/09/01  
 
GWT の魅力: 第 1 回 Google Web Toolkit を利用して各地を訪ね回る
GWT (Google Web Toolkit) では、ブラウザーで動作するリッチ・クライアントのユーザー・インターフェースを Java 言語で実装することができます。この 2 回の連載記事では、David Geary が最新バージョンの GWT に関する情報を提供し、デスクトップのような Web アプリケーションを実装する方法を説明します。
    2009/09/01  
 
Agavi による MVC プログラミング入門: 第 1 回 Agavi を使って、まったく新しい世界の扉を開く
今回から始まるこの 5 回連載の記事が対象とする読者は、オープンソースの柔軟かつスケーラブルなフレームワークである Agavi について興味のある PHP 開発者です。第 1 回目となるこの記事では、まず Agavi フレームワークとその他の必要なコンポーネントのインストール手順を紹介します。続いて Agavi とその機能の概要について説明した後、Agavi を使った初めての Web アプリケーションの作成に取り組みます。
    2009/08/25  
 
分散型の Web 開発の様相を変える Git
アプリケーション、Web サイト、オペレーティング・システムのどれを作成する場合であれ、バージョン管理システムは大部分の開発プロジェクトのコア・コンポーネントです。ほとんどのプロジェクトには複数の開発者が関係し、また多くの場合、そうした人達は物理的に遠く離れた場所で作業を行います。分散型のバージョン管理システムは決して新しいものではありませんが、Git バージョン管理システムは開発者同士のやり取りや共同作業をサポートする独特の機能を持っています。
    2009/08/25  
 
Agavi による MVC プログラミング入門: 第 2 回 Agavi と Doctrine により、フォームとデータベース・サポートを追加する
この 5 回連載の第 2 回では、スケーラブルなオープンソースのフレームワークである Agavi を使用して入力フォームを作成し、Doctrine を使ってプロジェクトのデータ・モデルを自動生成します。そして、生成されたデータ・モデルを Agavi プロジェクトに統合します。
    2009/08/25  
 
JSF 2.0 の Ajax と GMaps4JSF
GMaps4JSF は Google マップと JSF (JavaServer Faces) を統合する JSF マッシュアップ・ライブラリーです。GMaps4JSF を利用すると、ストリート・ビューの複雑なパノラマやマップを数個の JSF タグで作成することができます。また、さまざまなコンポーネントを容易にマップに追加することができます。この記事では JSF 2.0 アプリケーションの中で GMaps4JSF を構成する方法を説明し、また JSF 2.0 の Ajax (Asynchronous JavaScript and XML) を簡単に紹介します。この記事を利用して、JSF 2.0 の Ajax と GMaps4JSF の両方を使用する簡単なマッシュアップ・アプリケーションの作成方法を学びましょう。
    2009/08/25  
 
Agavi による MVC プログラミング入門: 第 3 回 Agavi を使って、認証機能と管理機能を追加する
5 回連載の第 3 回でも引き続き WASP (Web Automobile Sales Platform) の作成プロセスに取り組み、このプロセスの一環として自動車レコードの追加、削除、更新機能を追加します。今回はさらに、管理機能に認証を付けることで、管理機能をユーザー機能から切り離す方法も説明します。
    2009/08/25  
 
Java 開発 2.0: Google App Engine よ、こんにちは
オープンソースのソリューションと、サービスとして提供されているインフラストラクチャーを利用する (借りる) ことによって、より優れたソフトウェアを迅速に、しかも低コストで実現できる方向へと Java 開発は変貌しつつあります。Andrew Glover は、Java 開発をこうした方向へと導くさまざまな力 (要素) をまとめて Java 開発 2.0 という造語で表し、この Java 開発 2.0 に関連するツールと技術を話題にした新しい連載を始めます。連載第 1 回目となるこの記事では、Java 開発 2.0 の到来を告げ、そのコンセプトを Google の App Engine for Java を利用して素早く実現する方法を説明します。
    2009/08/18  
 
Metasploit を使って脆弱性を発見する
Metasploit は企業のセキュリティーを大幅に高める、脆弱性スキャニングと攻撃作成のためのツールです。Metasploit を使うことによって、組織はそれまで発見されていなかった弱点を発見することができ、そうした弱点に対処できるようになります。
    2009/08/18  
 
IBM WebSphere sMash DE を使って Web アプリケーションを作成する
IBM WebSphere sMash Developer Edition 1.1 (DE) には、Web アプリケーション開発用の App Builder という Web ベースの開発環境が用意されています。このツールを使用して、Atom フィードを提供する単純なオンラインの RSVP アプリケーションを作成する方法を学びましょう。
    2009/08/11  
 
マッシュアップのセキュリティー
マッシュアップを利用した開発モデルにより、Web の世界に膨大な可能性が生まれます。その一方で、マッシュアップの持つオープンな性質から、新たなセキュリティーの脆弱性が大量に発生します。この記事では、こうした問題のいくつかに対処するためのヒントと手法を説明します。
    2009/08/04  
 
Subversion ユーザーのための Git: 第 1 回 Git 入門
DVCS (分散バージョン管理システム) には、集中型の VCS に勝るメリットがいくつもあります。そして DVCS モデルを検討しようとしている Subversion ユーザーにとっては、Git が出発点として最適です。2 回からなる連載の第 1 回である今回は、Subversion を基準に、Git のインストール方法、リモート・リポジトリーのセットアップ方法、そして Git の基本的なコマンドの使い方について説明します。
    2009/08/04  
 
テキスト・ネットワーク分析統合プラットフォーム: 第 1 回 データ構造の詳細、APIの概要、アプリ構築
インターネット上でのソーシャル・ネットワークサービス(SNS)やブログなどのサービスの普及により、人のコミュニケーションの履歴とそれに関連するテキストが多く取得できるようになりました。我々は、このような「コンテンツ」「人」、そしてその人の「行動」の履歴などのさまざまな情報を、テキストとネットワークの両方の観点から統合的に分析する技術を「ソーシャル・アナリティクス」と呼んでいます。これにより、1つの観点からだけではわからない新しい知識を得る、人の興味をモデル化して詳細に分析する、などといったことが可能です。
    2009/07/31  
 
Flex コンポーネントを作成する
リッチ・インターネット・アプリケーション (RIA) は従来のデスクトップ・アプリケーションの対話性、応答性、そして堅牢性を Web ベースのアプリケーションにもたらすことを目指しています。そんな RIA は、ビジネス・インテリジェンス (BI) と Web 2.0 の手法をコンテンツと配信に利用しようとしている開発者にとっては特に重要です。RIA ベースのソリューションの最先端を行くアプリケーションとしては、Adobe Flex が挙げられます。比較的新しい技術ながらも急速に成長している Flex は、Adobe Flash Player の機能を利用して、極めて応答性の高い UI を備えた最上のグラフィカル・プレゼンテーションを実現します。Flex には便利で堅牢な多数のコンポーネントが付属していますが、Flex が提供する機能の枠を超えて、ドメイン固有の機能を作成しなければならないとなると、難しい事態になってきます。この入門者向けの記事では、Flex レンダリング・エンジンのアーキテクチャーを詳しく見て行くとともに、Flex コンポーネントを RIA に組み込むプロセスをひととおり説明し、Flex の機能を新たに一から作成する際に必要となる知識を提供します。
    2009/07/28  
 
Ajax 技術を使って Web プレゼンテーション・アプリケーションを構築する: 第 1 回 Web UI の開発
Google Docs では、あれほど驚異的な機能を Web アプリケーションに組み込むための手段として Web 2.0 技術を利用しています。Web 2.0 技術では、比較的単純なコードで堅牢な機能を実現することができます。この記事を読んで、Ajax (Asynchronous JavaScript and XML) 技術によってスライドショー・プレゼンテーションを作成する Web アプリケーションの構築方法を学んでください。
    2009/07/28  
 
マッシュアップ: 新種の Web アプリケーション
マッシュアップは対話型 Web アプリケーションの刺激的な新ジャンルであり、外部データ・ソースから取得した内容を元に描画を行い、まったく新しい、そして革新的なサービスを作成します。またマッシュアップは、非公式に Web 2.0 として知られる第 2 世代の Web アプリケーションの持つ、顕著な特質でもあります。
    2009/07/24  
 
Grails をマスターする: プラグインを理解する
連載「Grails をマスターする」の今回の記事では、Scott Davis が Grails プラグインの世界を紹介します。新しい機能をまるごとアプリケーションに追加するのは、これ以上なく簡単なことです。この記事ではプラグインのマジックの種を明かすとともに、実際にプラグインを使って、Blogito アプリケーションに強力な検索機能を実装してみます。
    2009/07/21  
 
セマンティック技術を使用してウィキペディアの問い合わせ用フォームを作成する
公開 SPARQL エンドポイントは、ますます増えている Linked Data へのオープン・アクセスを提供し、皆さんのアプリケーションに役立つ優れたデータを提供することによってセマンティック Web の成長を促します。巷にある多くのデータ駆動型 Web サイトと同じく、これらのエンドポイントにクエリーを送信し、結果を HTML タグにラップすれば、Web ページを作成することができます。しかし、SPARQL エンドポイントならではの大きな違いは、この新しい Linked Data が皆さんのアプリケーションで使えるように公開されていることです。この記事では、簡単な CGI スクリプトによって、2 つの異なる SPARQL エンドポイントからデータを取得してユーザーの質問に答えるアプリケーションを構築します。例として用いるのは、2 人の監督の映画両方に出演した俳優を答えるアプリケーション、そしてどのミュージシャンがどのアルバムをリリースしたかを答えるアプリケーションの 2 つです。
    2009/07/21  
 
パターン + GWT + Ajax = ユーザビリティー
GWT (Google Web Toolkit) を利用すると複雑な Web サイトを容易に開発することができます。ユーザビリティーを強化する特定のデザイン・パターン、そして Ajax (Asynchronous JavaScript and XML) と GWT とを組み合わせると、これらの技術と手法によって、軽快に動作するアプリケーションを実現することができます。その結果、通常の Web ページよりも従来のデスクトップ・プログラムに近いアプリケーションを作成することができます。
    2009/07/21  
 
RSS と Atom を使ってサイトでフィードを取得する
近年広まっている Web 2.0 サイトでは、さまざまなソースからの情報をマッシュアップすることができます。GWT (Google Web Toolkit) を使用すると、RSS や、もっと新しい Atom 配信フォーマットなどの XML ベースのニュース・フィードを取得して処理することができます。この記事では、SOP (Same-Origin Policy: 同一生成元ポリシー) の制約を克服して任意の適切なフィードを利用できるようにし、フィードとして受信される XML データを処理する方法を学びます。
    2009/07/14  
 
上級レベルの jQuery
jQuery は JavaScript ベースの優れた Web アプリケーションを簡単かつ単純に作成できるようにしますが、その優れた Web アプリケーションを卓越した Web アプリケーションにするには、さらにいくつかのステップを踏まなければなりません。この記事では、Web アプリケーションに最終的な磨きをかけるステップを詳しく説明します。
    2009/07/14  
 
ccREL を使ってコンテンツに Creative Commons ライセンスを組み入れる
Web 2.0、クラウド、そして SOA では、誰が情報を所有しているのか、またその情報を使ってどんなことが許可されるのかを明確に理解することが今まで以上に重要になります。Creative Commons ライセンスには、所有権を放棄せずにオープンな使用権を提供できるメカニズムが含まれています。CC (Creative Commons) の Rights Expression Language、つまり ccREL を利用すると、そうした情報を Web コンテンツに埋め込むことができます。これにより、情報の所有者と情報の利用者は、付与される権利を明確に認識し、その権利に従って選択を行うことができ、しかもそれを自動的に行うこともできます。こうした手法について、またこうした手法を皆さんのアプリケーションで使用する方法について学びましょう。
    2009/07/14  
 
JSF 2 の魅力: 第 3 回 イベント処理、JavaScript、そして Ajax
JSF (JavaServer Faces) 2 Expert Group のメンバー、David Geary が JSF 2 の新機能を紹介する 3 回の連載は、今回が最終回です。この連載の締めくくりとして、このフレームワークの新しいイベント・モデルと Ajax の組み込みサポートによって、再利用可能なコンポーネントをなお一層のこと強力にする方法を説明します。
    2009/07/14  
 
Flex と CSS の強力さを発見する
Adobe Flex フレームワークに既に組み込まれている CSS の強力な機能を活用しましょう。この記事では Flex で CSS を使い始めるために必要な情報を提供し、また Flex でユーザー・インターフェースの設計と開発を行う際に、作業を迅速に行えるようにするためのヒントと手法を提供します。
    2009/07/07  
 
企業のためのクラウド・コンピューティング: 第 3 回 WebSphere CloudBurst を使ってプライベート・クラウドを構築する
この連載記事の第 1 回では、クラウド・コンピューティング全般について説明しました。そこではクラウドを構成する各階層、そしてさまざまなクラウドのタイプを、それぞれの利点や欠点と併せて紹介し、またクラウド・コンピューティングを取り巻く動向がエンタープライズ開発者にとって重要である理由を説明しました。第 2 回ではパブリック・クラウドに注目し、IBM WebSphere sMash と IBM DB2 Express-C を使用して、パブリック・クラウドによるインフラ上にホストされた Web アプリケーションを実現する方法を説明しました。今回の記事では IBM WebSphere CloudBurst と IBM WebSphere Application Server Hypervisor Edition を紹介し、これらの新しい製品を使用することで、WebSphere エンタープライズ環境が、いかにプライベート・クラウド・コンピューティングの多大なメリットを享受できるようになるかを説明します。 (IBM WebSphere Developer Technical Journal)
    2009/06/24  
 
より優れた Web ページを組み立てるために
CSS (Cascading Style Sheets) フレームワークは、Web ページの設計、開発を効率化するとともに、単純化します。さらに CSS フレームワークで作成した Web ページは、すべてのブラウザーでより統一された結果をもたらします。この記事では、それぞれに独特な理念を持つ 2 つの CSS フレームワークを取り上げて検討します。
    2009/06/23  
 
中級レベルの jQuery
jQuery は素晴らしい JavaScript ライブラリーですが、そのパフォーマンスについてはどうでしょう。Web ページに余分な負荷がかかったとしても、その使い易さをとるだけの価値はあるのでしょうか。それとも、そのようなパフォーマンス・ヒットはまったくないのでしょうか。この記事ではそんな jQuery のパフォーマンスに関する疑問に答え、読者それぞれのアプリケーションでパフォーマンスを向上させるためのヒントを提供します。
    2009/06/16  
 
Amazon Web サービスを利用したエンタープライズ・アプリケーションの統合
XML と Amazon Web サービスを利用してエンタープライズ・アプリケーションを統合する方法、そして Microsoft(R) .NET (C#) および Java(TM) という異なるプラットフォームで動作するアプリケーションの統合を利用して新しい機能を作成する方法を学びましょう。
    2009/06/16  
 
Grails をマスターする: ファイルのアップロードと Atom の配信
連載「Grails をマスターする」では今回、Scott Davis が Grails アプリケーションにファイルをアップロードする方法、そして Atom 配信フィードをセットアップする方法を紹介します。ファイルをアップロードする機能と Atom の配信機能が揃えば、Blogito は本格的なブログ・サーバーに仕上がります。
    2009/06/09  
 
Twitter REST API の使い方
Twitter は間違いなく、最近 World Wide Web に登場したソーシャル・ネットワーキングのなかで最も成功している例の 1 つです。Twitter には、Web 開発者が Twitter サイトで提供する各種機能へのユーザーのアクセスを可能にするための API が用意されています。この記事を読んで、Twitter REST API の基本的な使い方を学んでください。
    2009/06/09  
 
RESTful な Web サービスを構築するためのマルチティア・アーキテクチャー
SOAP ベースのサービスに代わる有望なサービスとして、RESTful な Web サービスが登場しつつあります。これは RESTful な Web サービスが単純で軽量であり、HTTP で直接データを送信できるためです。この記事では REST と RESTful な Web サービスについて、その概念の概要を学び、RESTful な Web サービスを RPC スタイルあるいは SOAP ベースの Web サービスと比較します。また、RESTful な Web サービスを構築するための Java フレームワークについて、さらに RESTful な Web サービスの構築にも動的な Web アプリケーションの構築にも共通で使用できるマルチティア・アーキテクチャーについても学びます。
    2009/06/09  
 
ステガノグラフィーを使って情報を見つからなくする
ステガノグラフィーは、何らかのフォーマットの中に情報を隠す手法です。この手法が使われると、そこに情報があることを知らない人は、その情報を簡単に検出することができません。コンピューターの時代になってステガノグラフィーは非常に進歩しており、画像、文書、ハードディスク上のスペースなど、あらゆるタイプのデータ・ファイルの中に情報を隠せるようになっています。この記事を通じて、ステガノグラフィーという手法を潜在する攻撃者がどのように使用するのかを学び、ステガノグラフィーの原理とステガノグラフィーが使われていることを検出する方法について理解しましょう。
    2009/06/02  
 
JavaScript EE: 第 3 回 JSP で Java Scripting API を使用する
この連載の前の 2 回の記事では、JavaScript ファイルをサーバー上で実行し、Ajax でリモート JavaScript 関数を呼び出す方法を説明しました。今回の記事では、サーバー・サイドの JavaScript コードを JSP (JavaServer Pages) 技術で使用する方法、JavaScript が無効にされた Web ブラウザーでも機能する Ajax (Asynchronous JavaScript and XML) ユーザー・インターフェースを作成する方法を紹介します。紹介するサンプル・コードは、皆さん独自のアプリケーションで再利用できる小さな JSP タグ・ライブラリーや、(Web サーバー上または Web ブラウザーで実行可能な) JavaScript コードによって生成される動的 Web フォームで構成されています。
    2009/06/02  
 
多忙な Java 開発者のための Scala ガイド: Scitter ライブラリーを機能強化する
Scala の概要について説明することは楽しいのですが、Scala を実用的な方法で使ってみないと、Scala を開発者の「おもちゃ」として捉える場合と、仕事で使う場合の違いはわからないかもしれません。今回は、Twitter にアクセスするための Scala によるクライアント・ライブラリー Scitter を紹介した前回の記事の続きとして、Scala を熱烈に支持する著者の Ted Neward が、前回にも増して便利で興味深い一連の機能を、このクライアント・ライブラリーに追加します。
    2009/06/02  
 
JSF 2 の魅力: 第 2 回 テンプレート機能と複合コンポーネント
JSF (JavaServer Faces) 2 では、2 つの強力な機能によって簡単に変更および拡張ができるユーザー・インターフェースを実装することができます。その 2 つの機能とは、テンプレート機能と複合コンポーネントです。JSF 2 の新機能を紹介する 3 回連載の第 2 回目となる今回の記事では、JSF 2.0 Expert Group のメンバー、David Geary が Web アプリケーションでテンプレート機能と複合コンポーネントを最大限に活用する方法を紹介します。
    2009/06/02  
 
Web 時代の非リレーショナルデータベース: 第 4 回 Apache CouchDB の便利な機能を習得する
本連載では今Web開発者が注目するApache CouchDB[1]に関する技術情報を紹介します。今回は5回シリーズの第4回として、CouchDBをより便利に扱うためのJSONドキュメントやREST APIの詳細を学びます。
    2009/05/29  
 
jQuery を扱う: 第 3 回 中級レベルの jQuery: 独自のプラグインを作成する
jQuery では、jQuery の関数を拡張するプラグインを開発者が独自に作成し、作成したプラグインを jQuery コミュニティーに提供できるようになっています。この記事では、独自のプラグインを作成するプロセスを手順に沿って説明し、そのプラグインを jQuery プラグイン・コミュニティーの Web ページのリストに掲載する方法を説明します。
    2009/05/26  
 
Django の admin をカスタマイズする
Django に提供されている組み込みの管理コンソールは Django の最大のセールスポイントの 1 つです。しかし単にルック・アンド・フィールをカスタマイズするだけでなく、いくつかのモデル・フィールドをカスタマイズしたい場合にはどうすればよいのでしょう。ソースを変更せずに既存の admin アプリケーションを拡張する方法を学びましょう。
    2009/05/26  
 
Comet と Java による開発
Comet を使用した開発方法のさまざまな実装を調べてみましょう。この記事では、Jetty や Tomcat などのよく使われている Java Web サーバーではどのようにして Comet アプリケーションを実現しているかを説明します。さらに、それぞれのサーバーでのプログラミング方法を紹介し、最後に、次期バージョンとなる Servlet 3.0 仕様および JavaEE 6 仕様の一部となっている Java での Comet 標準化の提案について説明します。
    2009/05/26  
 
企業のためのクラウド・コンピューティング: 第 2 回 Amazon EC2 パブリック・クラウドでの WebSphere sMash と DB2 Express-C
この連載記事の第 1 回では、クラウド・コンピューティング全般、クラウドを構成する各層、そしてそれぞれに異なるクラウドのタイプをその利点および欠点と併せて紹介し、クラウド・コンピューティングへの移行がエンタープライズ開発者にとって重要である理由を説明しました。今回の記事ではパブリック・クラウドに注目し、IBM WebSphere sMash と IBM DB2 Express-C の AMI (Amazon Machine Image) を使用して EC2 パブリック・クラウド・インフラストラクチャーにホストされた Web アプリケーションを提供する方法を説明します。 (IBM WebSphere Developer Technical Journal)
    2009/05/20  
 
JSF 2 の魅力: 第 1 回 Web アプリケーション開発を効率化する
JSF (Java Server Faces) のバージョン 2.0 は、Ajax 化した堅牢な Web アプリケーションを容易に実装できるようにします。この記事は、JSF 2.0 Expert Group のメンバー、David Geary が JSF 2 の新機能を利用する方法を紹介する 3 回連載の第 1 回目です。今回の記事では、XML 構成をアノテーションおよび規約に置き換え、ナビゲーションを簡易化し、そしてリソースに簡単にアクセスできるようにすることによって、JSF 2 で開発を効率化する方法を学んでください。また、JSF アプリケーションで Groovy を使用する方法についても説明します。
    2009/05/12  
 
QueryPath PHP ライブラリーの紹介
HTML、HTTP、XML の 3 つは、誰もが認める Web 技術の中心的存在ですが、PHP 開発者にとっては、この 3 つを操作するのは苛立たしい作業になりがちです。そこで、jQuery JavaScript ライブラリーの PHP 版として新たに登場したQueryPath ライブラリーには、XML、HTML、HTTP を効率的に操作するための API が用意されています。QueryPath が提供するこの堅牢ながらも単純な API を使用すると、Web ページから Web サービス、SVG から SPARQL、そして RDF から Atom に至るまでの最新の Web 開発を PHP で行うことができます。この記事では QueryPath オブジェクトを作成する方法、XML および HTML をトラバースして操作する方法を説明し、最後に QueryPath を使用して Web サービス (Twitter) にアクセスする例を紹介します。
    2009/04/28  
 
Grails をマスターする: 認証と許可
Grails は、単純なログイン・インフラストラクチャーからロール・ベースの許可に至るまで、セキュアな Web アプリケーションを構築するために必要なあらゆる基本ビルディング・ブロックを提供します。連載「Grails をマスターする」では今回、Scott Davis が Grails アプリケーションをセキュアにするための実践的な方法を説明します。また、アプリケーションのセキュリティー機能を新たな方向へと展開させる上で役に立つプラグインについても学んでください。
    2009/04/28  
 
Dojo 1.x を使ってウィジェットを開発する
Dojo JavaScript ツールキットを使用して HTML ウィジェットを開発する上での基本を学んでください。この記事では Dojo ツールキットについて紹介し、開発プロセスに役立ついくつかの例を記載します。単純なウィジェットから次第に複雑なウィジェットの例へと進むなかで、開発段階で発生する可能性のある共通の問題を明らかにし、解決します。
    2009/04/28  
 
企業内ウィキにシグネチャを: 第 2 回 シグネチャによるウィキへの参加動機の強化
ウィキは現在、企業内への導入、見当が広まりつつあるExnterprise2.0ツールの一つですが、他に比べて利用、定着が進みにくいのが実情です。本記事では、他ツールとの違いとしてコンテンツの文責者、貢献者が不分明であることとその影響の可能性を検討し、この点の改善を提案します。連載第二回では、一般的なウィキへの参加動機を探り、参加動機の強化のためにシグネチャの明示を導入することを提案します。
    2009/04/24  
 
企業内ウィキにシグネチャを: 第 3 回 企業内ウィキでのシグネチャの役割
ウィキは現在、企業内への導入、見当が広まりつつあるExnterprise2.0ツールの一つですが、他に比べて利用、定着が進みにくいのが実情です。本記事では、他ツールとの違いとしてコンテンツの文責者、貢献者が不分明であることとその影響の可能性を検討し、この点の改善を提案します。連載第三回では、企業内ウィキに焦点をあててシグネチャの必要性を再確認し、同時に参加動機付けの他にもシグネチャを導入することに価値があることを見ていきます。
    2009/04/24  
 
企業内ウィキにシグネチャを: 第 1 回 ウィキサイトの規模不足を考える
ウィキは現在、企業内への導入、検討が広まりつつあるEnterprise2.0ツールの一つですが、他に比べて利用、定着が進みにくいのが実情です。本記事では、他ツールとの違いとしてコンテンツの文責者、貢献者が不分明であることとその影響の可能性を検討し、この点の改善を提案します。連載第一回では、一般的なウィキサイトの規模感と、規模の必要性、特にコンテンツ量とコンテンツ作成・更新への参加者数の必要性を説明します。
    2009/04/24  
 
Web サーバーをセキュアにする
Web サーバーは、一般に公開される組織の顔の 1 つであることから、格好の標的とされる危険をはらんでいます。公開リソースであることから、Web サーバーはある意味、「サメの餌食」のようなものですが、その状況に甘んじる必要はありません。この記事を読んで、Web サーバーを一般公開すると同時に、その安全を守る方法を学んでください。
    2009/04/21  
 
ロール・ベースの承認を実装する
ユーザー認証を行う動的なユーザー・インターフェースの実装方法を学びましょう。複数のユーザー・グループを持つアプリケーションでは、認証が要求されることがよくあります。他のグループからは使用できないようにする必要があるかもしれないアプリケーションの機能に、それぞれのグループがアクセスしなければならない場合があります。認証メカニズムによってユーザーのクレデンシャルを検証する必要があり、またそのユーザーのクレデンシャルに基づいてアプリケーションの機能へのアクセスを制御する必要があります。この記事では OpenLDAP と Tomcat を使って基本的な認証メカニズムを実装する方法を説明します。また OpenLDAP と Tomcat による実装を OpenLDAP と WASCE による実装と比較します。そして最後に Java コードと JSTL を使った動的な UI の実装方法を、コード・サンプルを使って説明します。
    2009/04/14  
 
jQuery を扱う: 第 2 回 中級レベルの jQuery: UI プロジェクト
jQuery UI パッケージの狙いは、さまざまな Web アプリケーションで再利用できるように明確に定義された信頼性の高いユーザー・インターフェース・ウィジェットを作成することです。そして最終的には、十分にテストされ、HTML Input 要素で使用可能なウィジェットよりも優れたウィジェットを提供し、ユーザー・インターフェース開発者すべての作業を楽にすることを目標としています。
    2009/04/14  
 
企業のためのクラウド・コンピューティング: 第 1 回 クラウドをつかむ
ここ最近の技術の動向を振り返ると、分散コンピューティングとその関連技術 (グリッド・コンピューティングや SOA など) が広く採用されるようになって以来、クラウド・コンピューティングが時流に乗ってきたことは明らかです。現在、クラウド・コンピューティングが実際に使われているとは言え、多くの人々はこの新しい技術を十分理解しているわけではありません。この連載記事の第 1 回では、まずクラウド・コンピューティング全般について解説してからクラウドを構成する各層を分析し、続いてそれぞれに異なるクラウドのタイプをその利点および欠点と併せて紹介します。そして最後に、このクラウド・コンピューティングへの移行がエンタープライズ開発者にとって重要である理由を説明します。 (IBM WebSphere Developer Technical Journal)
    2009/04/08  
 
Ajax 対応の JSP TagLib コントロールを作成する: 第 3 回 更新パネル・コントロールとポップアップ・ダイアログ・ボックス・コントロール
ビジネス分野のアプリケーションで使用できる Ajax (Asynchronous JavaScript + XML) コントロールを作成しましょう。この記事で作成する構成可能な JSP (JavaServer Pages) TagLib ベースのコントロールは、JSON (JavaScript Object Notation)、JavaScript スクリプト言語、そして CSS (Cascading Style Sheets) を利用して作成します。このような標準的な JSP TagLib コントロールを簡単にアプリケーションに組み込んで、より直観的で応答性に優れたユーザー・インターフェースを提供する方法を学んでください。
    2009/04/07  
 
クラウド・コンピューティングにおける SaaS の役割
SaaS (Software as a Service) がクラウド・コンピューティングで果たす役割を知りたいですか?この記事では SaaS の何種類かのフレーバーを検討し、従量課金制インフラストラクチャー環境でのクラウド・コンピューティングで SaaS がどのように機能するのかを説明します。その 2 つの例として取り上げるのは、プラント・エンジニアリング管理と遠隔教育です。この記事を読んで、マルチテナンシーと仮想化の両方を最大限に生かして SaaS を調整し、最適なパフォーマンスを実現してください。そして使われていないリソースと相互運用性の問題に対するソリューションを見つけてください。最後に、適切な計画と実装がなければ、セキュリティー保護のコストが SaaS とクラウド・コンピューティングによる利益を大きく上回ってしまう可能性があるということを学んでください。
    2009/04/07  
 
XML: GWT と PHP とのブリッジ
GWT (Google Web Toolkit) アプリケーションでは、昔ながらの Java の流儀でサーブレットに接続することもできますが、PHP による Web サービスを使って XML でデータを送受信することもできます。この記事では XML 文書の生成方法と処理方法を Java 言語の場合と PHP の場合の両方について説明します。
    2009/04/07  
 
Django アプリケーションを本番サーバーにデプロイする方法
Django はデータベース駆動型 Web サイトと Web アプリケーションの作成プロセスを簡易化することに重点を置く Python ベースのオープンソース Web アプリケーション・フレームワークです。このフレームワークには開発用 Web サーバーが組み込まれているため、Django アプリケーションの開発をすぐに始めることができますが、このサーバーは本番環境で使用するには適していません。そのため、Django アプリケーションを Web サーバーにデプロイする際には追加の作業が必要になります。この記事では、まず Django フレームワークについて概説し、このフレームワークをローカル・マシンにインストールする手順を説明します。続いて Django アプリケーションの構成内容と、アプリケーション用に作成された自動管理インターフェースについて詳細を調べた後、Apache が mod_python を有効にした状態で稼働するサーバー上で Django アプリケーションを Web サーバーにデプロイする方法を説明します。最後に、アプリケーションの要件が拡大するのにあわせて、どのように Django アプリケーションをスケーリングできるか、またスケーリングすべきかを説明します。
    2009/04/07  
 
S3 を利用して保管を容易にする
Amazon の S3 (Simple Storage Service) は誰もが利用できるサービスであり、Web アプリケーション用のデジタル資産 (画像、動画、音楽、文書など) の保管に利用することができます。S3 には RESTful な API が用意されており、プログラムで S3 サービスとやり取りすることができます。オープンソースの JetS3t ライブラリーの使い方を学び、データの保管と取得に Amazon の S3 クラウド・サービスを活用しましょう。
    2009/04/07  
 
クラウド・コンピューティングという迷宮をナビゲートする
幸運にも、皆さんがクラウド・コンピューティングに関する基本を理解しているとしたら、そのスキルには需要があります。しかし実際にアプリケーションを構築するとなったら、どのプラットフォームを使用しますか?Google と Amazon はどちらも有名なので、どちらがよく使われているかを基準に選ぶことはできません。さらに、あなたが Microsoft 派だったとしたらどうでしょう。その場合には、どんな選択肢があるのでしょうか。この記事で、クラウドを賢くナビゲートして特定のアプリケーション要件に最適なプラットフォームを選ぶ方法を学んでください。
    2009/03/31  
 
CouchDB を探る
リレーショナル・データベースでは、厳密に構造が定義され、決められた方法に従ってソフトウェア・アプリケーションのデータの保守が行われます。Apache によるオープンソースの CouchDB ではデータの保存方法として、スキーマなしのドキュメント指向データベース・モデルと呼ばれる新しい方法が提供されています。リレーショナル・モデルではデータを完全に構造化して保存しますが、CouchDB では JavaScript ベースのビュー・モデルを使って、構造化された集約を生成するとともに、半構造化ドキュメントからレポートを生成し、半構造化形式でデータを保存します。CouchDB はターゲットを Web アプリケーションに絞ってゼロから開発されたもので、Web アプリケーション開発のためのデータベースとしてデファクト・スタンダードになることを目指しています。
    2009/03/31  
 
JavaScript EE: 第 2 回 Ajax でリモート JavaScript 関数を呼び出す
この連載の第 1 回では、javax.script API を Ajax (Asynchronous JavaScript and XML) アプリケーションと Java EE (Java Platform, Enterprise Edition) アプリケーションで使用する方法、そしてサーバー・サイドの JavaScript ファイルを実行できる Java サーブレットを作成する方法を学びました。今回の記事では、サーバーとクライアントの両方で JavaScript を使用する Web アプリケーションのために、RPC (Remote Procedure Call) メカニズムを実装する方法を説明します。さらにいくつかの興味深い方法として、Java インターフェースを JavaScript で実装する方法、XMLHttpRequest ラッパーを作成する方法、Ajax のデバッグを容易にする方法、そして JSP タグ・ファイルを使用して JavaScript コードを生成する方法も学びます。
    2009/03/31  
 
洗練されたPerl: Perl と Amazon クラウド、第 1 回
この 5 回からなる連載では、Amazon の S3 (Simple Storage Service) と SimpleDB を利用した単純な写真共有 Web サイトを、Perl と Apache を使用して構築します。この第 1 回目では、S3 と SimpleDB のアーキテクチャーについて調べ、写真共有サイトの設計を行うことで、S3 と SimpleDB の長所と短所を説明します。
    2009/03/31  
 
Web 2.0 をビジネスに活用する
Web 2.0 はコンシューマーの絶大な人気を博しましたが、一部のビジネスでは Web 2.0 の導入が滞っていました。しかし現在では多くの企業が、Web 2.0 に潜む大きな可能性、そして YouTube、Twitter、SlideShare などの Web 2.0 サービスが組織に与える価値を認識しはじめています。この記事では、Web 2.0 サービスが持つ力をビジネスで活用し、それと同時に職場の人間関係を改善する方法を紹介します。また、潜在顧客の開拓や、採用のための活動、企業のブランド力の強化、企業イメージの向上、コーポレート・アイデンティティーの確立、などを支援する情報を従業員が共有できるようにする方法についても説明します。さらに、LinkedIn や CrunchBase などのビジネス指向の Web 2.0 ツール、そしてこれらのツールの多くで提供している、他のアプリケーションにツールのメリットを取り入れるための Web サービスおよび API についても詳しく説明します。
    2009/03/31  
 
渋谷テクニカルナイト講師陣が語る新技術動向: 第 6 回: はじめて使うProject Zero
ここ数年で、Webアプリケーション開発の分野は大きく様変わりしました。Web2.0というキーワードで代表されるような、高機能で使い勝手のよいWebアプリケーションが当たり前のように求められるようになり、AjaxやREST、マッシュアップをいかに使いこなすかということが重要になってきています。また、従来に比べ開発期間が短縮される傾向にあることも、最近のWebアプリケーション開発の特徴ではないでしょうか。
    2009/03/23  
 
Ajax によるチャット
皆さんは Ajax (Asynchronous JavaScript and XML) を使ってチャットをしてみたいと思いませんか。また、例えば保証されたサービス・レベルよりもパフォーマンスが下回った場合などのシステム・イベントに応答して、オープンソースの専用 Web チャットがポップアップ表示され、何が起きているのか通知してくれたら便利だと思いませんか。この記事では developerWorks 常連の寄稿者である Judith Myerson が、2 つのパネルによるシステム管理者用のチャットの考え方を紹介します。このチャットでは、一方のパネルでプライベートなメッセージを交換し、もう一方のパネルで一般ユーザーにメッセージをブロードキャストすることができます。またこの記事では、チャット・サーバーの過負荷に対するソリューション、Ajax Chat をダウンロードする際の問題、構成の変更方法、さらには必要な数だけチャネルを追加する方法についても説明します。
    2009/03/17  
 
Flex を使って Scalable Vector Graphics とビットマップを描画する
SVG (Scalable Vector Graphics) はグラフィックスの領域で最も重要な技術の 1 つであり、Adobe Flash Player とそのバリエーションである Flex は SVG を完全にサポートしています。SVG は最も重要な技術である一方で、SVG を使って複雑な図形を作成するのは簡単ではありません。さらに SVG でビットマップ・データを扱うためには、マトリックス回転や透明度などの複雑な概念を理解しなければなりません。そこで Flex が登場します。この記事では Flex で扱う SVG の魅力的な世界を紹介します。ここで紹介する方法を利用すれば、単純にベクター描画することで、カスタム・グラフィックスや魅力的で視覚に訴えるコンポーネントを作成することができます。
    2009/03/17  
 
Web アプリケーションの機能テストを行う
クラウドを利用しようとしている人にとって、アプリケーションを信頼できるものにする上でテストが一層重要になります。オープンソースのツールである Selenium、Windmill、twill を使って自動化された機能テストを行う方法をマスターしましょう。この記事で説明する手法は、Google App Engine やブログ・ソフトウェア、あるいは皆さん独自のアプリケーションにも応用することができます。
    2009/03/10  
 
Grails によるリッチ・インターネット・アプリケーション: 第 2 回 Grails と Google Web Toolkit
2 回連載の第 2 回では、第 1 回で作成した Grails 駆動の Web サービスを拡張していきます。そのために新たに検索ページを作成しますが、今回アプリケーションの作成に使用するのは、GWT (Google Web Toolkit) です。さらに、Ext GWT ライブラリーの一層リッチな UI ウィジェットも追加します。
    2009/03/10  
 
クラウド時代に備えて、プログラマーが理解しておくべき考え方
クラウドの考え方が広まり、それはプログラミングスタイルにもいろいろと影響を及ぼし始めている。コンピュータのスタイルがクラウド化していくと、プログラマたちはどのように考え方を変えていかなければならないのか。クラウドを推進している4つのベンダーが、各社の取り組みを紹介すると共に、クラウド時代のプログラミングスタイルの変化についてディスカッションした。
    2009/03/06  
 
クラウド・コンピューティングとグリッド・コンピューティングの比較
クラウド・コンピューティングとグリッド・コンピューティングについて、もっと知りたいですか?IaaS (Infrastructure as a Service) を使用して、Amazon の EC2 (Elastic Compute Cloud) による完全なコンピューター・インフラストラクチャーを手に入れる方法を学んでください。この記事では、クラウド・コンピューティングとグリッド・コンピューティングの類似点、相違点、そして検討しなければならない問題を取り上げるとともに、クラウドでの Web 開発に伴うセキュリティー上の問題と選択肢、そしてクラウド・コンピューティングを使用することがどのように環境保護につながるかを説明します。
    2009/03/03  
 
JSONP によるクロスドメインの通信: 第 2 回 JSONP、jQuery、Yahoo! Query Language を使ってマッシュアップを作成する
このシリーズの前回の記事では、ブラウザーの同一生成元ポリシーによる制約を回避し、サードパーティーのソースからのデータを組み合わせて表示するための方法として JSONP (JSON with Padding) を紹介しました。今回の記事は前回の続きとして、Yahoo! が提供する JSONP サービスである YQL (Yahoo! Query Language) と jQuery を使用して、マッシュアップによる Web ページを作成する方法について説明します。
    2009/03/03  
 
Jaxer を利用してサーバー・サイドで E4X を使う
E4X (ECMAScript for XML) 標準は JavaScript 開発者にとって XML を扱うための強力な API です。E4X は Internet Explorer ではサポートされていないため、あまり頻繁には使われていないかもしれませんが、Jaxer を利用してサーバー上で JavaScript を使う場合には、Internet Explorer が E4X をサポートしていないことは問題ではありません。この記事では、JavaScript と E4X とを使うことによって、いかに容易にサーバー上で XML を処理することができるのかを説明します。E4X という重要な要素を Jaxer と組み合わせると、JavaScript 以外には何も使用せずに Ajax アプリケーションを作成することができます。
    2009/03/03  
 
JSONP によるクロスドメインの通信: 第 1 回 JSONP と jQuery を組み合わせ、強力なマッシュアップを迅速に作成する
現在、Web 上には数多くの Web サービス API が公開されているため、さまざまな Web ソースからコンテンツを取得してマッシュアップを作成することが非常に容易にできるようになっています。しかしそのためには適切な API とツールを利用できなければなりません。この記事では、あまり知られていないクロスドメインの呼び出し手法 (JSONP) と柔軟な JavaScript ライブラリー (jQuery) とを組み合わせ、強力なマッシュアップを驚くほど迅速に作成する方法を学びます。
    2009/02/24  
 
Grails によるリッチ・インターネット・アプリケーション: 第 1 回 Grails と Flex を使って Web アプリケーションを構築する
リッチ・インターネット・アプリケーション (RIA) では、デスクトップ・アプリケーションが持つダイナミズムと機能を、ブラウザーを介して実現します。その重要な特徴の 1 つは、プレゼンテーション層をクライアントに移し、そのプレゼンテーション層をサーバー・サイドの堅牢な RESTful サービス層が支えることです。この概念は現在、SOUI (Service Oriented User Interface)、SOFEA (Service Oriented Front End Architecture) といった用語で広まってきています。2 回連載の第 1 回目となるこの記事では、Groovy の Grails Web アプリケーション・フレームワークを使うと、いかに容易に Web サービスのバックエンドを作成できるかを明らかにします。そしてこのバックエンドを、Adobe の Flex フレームワークで開発した RIA に接続します。
    2009/02/24  
 
エンタープライズ 2.0 を実装する
エンタープライズ 2.0 という言葉が世界中の企業に広がりつつあります。この記事では、エンタープライズ 2.0 の基礎となる概念、エンタープライズ 2.0 と Web 2.0 との関係、そしてエンタープライズ 2.0 で使用されるさまざまなツールとサービスについて説明します。さらに、ビジネスでエンタープライズ 2.0 を採用することによるメリットと、それに付随して生じる可能性のあるデメリットを探ります。この記事を活用し、皆さんの企業に最適な形でエンタープライズ 2.0 を実現する方法を学んでください。
    2009/02/17  
 
jQuery を扱う: 第 1 回 中級レベルの jQuery: プラグインを使用して jQuery 関数を作成および拡張する
jQuery がよく使用されている理由は、これがプラグイン・アーキテクチャーを組み込むことにしたところにあります。この決定によって、サード・パーティーのどの開発者でもライブラリーに元々用意された関数の枠を超えて jQuery の関数を作成し、拡張することが可能になります。現在では何百にものぼるプラグインによって、Web アプリケーションで必要なほぼすべてのタイプの関数が提供されています。今回の記事ではこのプラグイン・アーキテクチャーを取り上げ、Web アプリケーションにデスクトップ・アプリケーションと同じような振る舞いをさせる上で、jQuery がどのように役立つかを説明します。
    2009/02/17  
 
渋谷テクニカルナイト講師陣が語る新技術動向: 第 2 回: DojoツールキットのDataGridを使いこなす
高機能JavaScriptライブラリとして、操作性、応答性にすぐれたWebアプリケーションのUI構築に威力を発揮する「Dojoツールキット」。その多彩な機能の中でも、特にビジネスアプリケーションに不可欠なコンポーネント(ウィジェット)が、データコレクションの表示、編集機能を提供するDataGridです。本稿では、この多機能で柔軟なカスタマイズが可能なDataGridを利用した、典型的なデータ入出力のUI作成方法を紹介します。
    2009/02/13  
 
渋谷テクニカルナイト講師陣が語る新技術動向: 第 1 回: Dojoツールキットで始めるオブジェクト指向
この記事は、IBM developerWorks主催の渋谷テクニカルナイトで2008年10月10日に実施したセミナーの内容を記事に起こしたものです。
    2009/02/13  
 
JavaFX を使ってマッシュアップを作成する
皆さんはオープンな Web を活用して RIA (Rich Internet Application) を作ろうとしている Java 開発者でしょうか?そうであるなら幸運です。JavaFX の力を借りれば、Java プラットフォームを活用して RIA を作成することができます。この記事では JavaFX を使ってマッシュアップを作成する方法を学びます。まずは JavaFX を利用して Flickr のような人気の Web サービスに接続する方法と対話型のユーザー・インターフェースを作成する方法を学びます。それらを学びながら、JavaFX がクライアント・サイドの開発にもたらす新機能の概要を理解しましょう。
    2009/02/10  
 
Amazon Web サービスを利用したクラウド・コンピューティング: 第 5 回 SimpleDB によるクラウド内でのデータセット処理
Amazon SimpleDB (SDB) の基本概念を学び、SDB とのインターフェースに使われるオープンソースの Python ライブラリー boto に用意された関数について調べてみましょう。Amazon Web サービスを利用したクラウド・コンピューティングについて学ぶ連載「Amazon Web サービスを利用したクラウド・コンピューティング」では、スケーラブルで信頼性の高いアプリケーションを設計して構築する上で Amazon Web サービスがどのように強力な代替手段を提供するかを探っていきます。今回の記事では、SDB の基本概念をいくつか取り上げ、boto が提供する関数を使用してみます。
    2009/02/10  
 
JSF を Dojo ウィジェットと組み合わせて一層優れたユーザー・エクスペリエンスを作り出す
JSF (JavaServer Faces) は成熟した Web フレームワークとして、徹底したライフサイクル管理と、完全なイベント処理とデータ・バインディングによる充実したコンポーネント・モデルを実現します。一方の Dojo は、Web2.0 アプリケーションに豊富なウィジェットと巧妙な効果をもたらす人気の高い Ajax (Asynchronous JavaScript + XML) ライブラリーです。この JSF 技術と Dojo 技術を利用し、サーバー・サイドでは JSF の統合機能を、クライアント・サイドでは Dojo のユーザー・インターフェースを使用することによって、一層優れたユーザー・エクスペリエンスを実現することができます。この記事ではこのプロセスについて説明し、ユーザーにより優れたエクスペリエンスを提供する Web アプリケーションを簡単に構築する方法を説明します。
    2009/02/03  
 
コメント行: Kyle Brown、Rachel Reinitz: SOA に学ぶ Web 2.0 のための教訓
この記事では 2 人の経験豊かな SOA アーキテクトが新しい Web 2.0 技術の世界を批判的な目で見つめ、SOA に Ajax や REST、その他の Web 2.0 技術を導入する上で、より確実に成功へと導く 5 つのベスト・プラクティスを紹介します。 (IBM WebSphere Developer Technical Journal)
    2009/01/28  
 
WebSphere sMash Web 2.0 アプリケーションのスケーリングを行う: 第 1 回 WebSphere sMash トポロジーの概要
IBM WebSphere sMash は、動的 Web 2.0 ベースのアプリケーションを素早く簡単に実現できるようにする開発および実行プラットフォームです。Web は、それ自体がスケーラブルかつ柔軟なシステムの典型です。この記事が第 1 回となるこの連載では、WebSphere sMash アプリケーションのスケーリングを行う上でのストラテジーについて説明します。
    2009/01/28  
 
21 世紀のユーザー・インターフェースを作り上げる: 第 1 回: アプリケーションの競争相手… それは思っている相手とは違います
長年の間、Web はプログラマーとコンピューターの専門家のためだけの場所ではなく、老人や 5 歳の子供までもが買い物をしたり、ゲームをしたり、人々と交流したりするコミュニティーでもあると謳われてきました。インターネットに日常的にアクセスする人々が増えるにつれ、使いやすいアプリケーションを求める声も大きくなってきます。しかし、プログラマーでさえもその大半は、未だに「使いやすい」という言葉が本当に意味する内容を説明することはできません。そこで考えなければならないのは、使いやすいアプリケーションとは何であるか、という点です。さらに重要なのは、実際にアプリケーションを設計して構築するプログラマーとはまったく異なる、現代の一般的なインターネット・ユーザーにとって使いやすくて直観的で満足の行くようなアプリケーションをどのようにして構築するのか、という点です。
    2009/01/27  
 
Web ページを高速化する
皆さんは Web ページのロードをもっと高速にしたいと思いませんか。ロード時間を短縮すること (場合によっては 80 パーセントも短縮) で、ダイヤルアップ・ユーザーにとってのブラウジング・エクスペリエンスを改善する方法を学びましょう。
    2009/01/27  
 
REST リソースに対するサーバー駆動型コンテンツ・ネゴシエーションの実装とテストを WebSphere sMash を使って行う
コンテンツ・ネゴシエーションは RESTful な設計にとっての重要な側面です。ここではコンテンツ・ネゴシエーションに使用できるいくつかの手法と、そうした手法を IBM WebSphere sMash を使って実装する方法を説明します。
    2009/01/21  
 
Grails をマスターする: Grails アプリケーションの見栄えを良くする
連載「Grails をマスターする」の今回の記事では、Scott Davis が CSS (Cascading Style Sheets)、テンプレート、タグ・ライブラリー (TagLib) などを駆使して Grails アプリケーションのルック・アンド・フィールを一新させる方法を実演します。
    2009/01/20  
 
Apple の iPhone を Google のクラウド・コンピューティングに接続する
携帯機器のためのクラウド・コンピューティングとソフトウェア開発は、非常にホットな 2 つの技術であり、両者を組み合わせてハイブリッド・ソリューションを作成することが多くなっています。この記事では、Google App Engine と Google のクラウド・コンピューティングを Apple のモバイル・プラットフォームである iPhone と接続する方法を学びます。またオープンソースのライブラリーである TouchEngine を使って App Engine クラウドに接続し、iPhone アプリケーションのデータをオフラインでの使用に備えてキャッシュすることで、そのアプリケーションのデータを動的に制御する方法も学びます。
    2009/01/20  
 
XML Forms Generator と Data Studio との統合: 第 2 回 XFG での DB2 pureXML のサポート
IBM DB2 9 の pureXML フィーチャーは、XML データのサポートに革命をもたらしました。pureXML では、XML を本来の階層のまま保管し、リレーショナル・データとも違う新しいデータ型として扱うことができるようになっています。IBM Data Studio では、複数の pureXML パラメーターを持つ Data Web Services を作成し、データベース内の pureXML インスタンスを操作することができます。XFG (XML Forms Generator) では、pureXML のサポートを利用して pureXML を XHTML ベースの XForm としてユーザーに表示することができます。さらに、pureXML インスタンスに関連する登録済み XML Schema を取得して、型情報と妥当性検査制約をターゲット pureXML XHTML/XForm の中に生成することもできます。このように XFG の pureXML サポートは、pureXML で保管された XML インスタンスのフォーム・インターフェースを簡単に作成できるようにします。
    2009/01/20  
 
Ajax を使用して、クライアント・サイドで行われた検証の結果をローカライズされたメッセージで表示する
世界中のユーザーを対象にした Web アプリケーションを作成する際には、2 つの点を考慮する必要があります。1 つはページのコンテンツの国際化とローカライズ、そしてもう 1 つはユーザー入力の検証および検証結果のメッセージの表示です。国際化されたページは、サーバー・サイドでリソース・バンドル (ロケール固有のプロパティー・ファイル) を使えば容易に作成することができますが、クライアント・サイドで検証が行われる場合には、国際化された検証メッセージを表示することは非常に困難です。その際、皆さんの負担を軽減するための 1 つの選択肢として、Ajax (Asynchronous JavaScript + XML) を使う方法があります。この記事では、クライアント・サイドで行われた検証結果のメッセージを、国際化とローカライズを行って表示するというプロセスを少し楽にするために、Ajax とリソース・バンドルを組み合わせる方法について説明します。
    2009/01/13  
 
Grails をマスターする: エンタープライズでの Grails
連載「Grails をマスターする」の今回の記事では、著者 Scott Davis が、Grails は果たしてエンタープライズに対応する準備ができているかどうかという不安を解消します。JMX (Java Management Extensions)、Spring、log4j をはじめとするエンタープライズ・レベルのライブラリーで Grails を使う方法を学んでください。
    2008/12/16  
 
JavaScript EE: 第 1 回 サーバー・サイドで JavaScript ファイルを実行する
JavaScript をサーバーの Java コードと組み合わせて、サーバーとクライアントの両方で同じ JavaScript ルーチンを自由自在に使えるようにしてください。それに加え、この連載で紹介する手法を使えば、Ajax クライアントと Ajax 以外のクライアント両方に共通するコード・ベースを利用することができます。サーバー・サイドのコードの大部分は今でも Java 言語で作成されているため、結局は Java EE (Java Platform, Enterprise Edition) の機能を JavaScript に公開しなければならなくなります。そこで、この連載を通して、サーバー・サイドで JavaScript ファイルを実行してリモート JavaScript 関数を Ajax で呼び出し、Java Scripting API を JSP (JavaServer Pages) 技術で使用する方法を学んでください。
    2008/12/16  
 
Linux と Hadoop による分散コンピューティング
人々は毎日、検索エンジンを使ってインターネット上にあるテラバイトをはるかに超えるデータの中から特定のコンテンツを見つけていますが、皆さんはこの検索が実際にどのように実行されているのかを考えたことがあるでしょうか。その検索を実行する 1 つの方法として、Apache の Hadoop を使用する方法があります。Hadoop は膨大な量のデータを分散操作することができるソフトウェア・フレームワークで、その 1 つの応用として、インターネットの Web ページの索引付けを並列処理するための使い方があります。Hadoop は Apache のプロジェクトであり、Yahoo!、Google、IBM などによってサポートされています。この記事では Hadoop フレームワークを紹介し、Hadoop が Linux ベースの最も重要な分散コンピューティング・フレームワークの 1 つである理由を説明します。
    2008/12/09  
 
真の Web 2.0: Web スパムと戦う、第 2 回
この 2 回シリーズの記事では、スパムに対抗するための手法を詳細に説明します。今回の第 2 回では、コンテンツ分析、リンクバックでのスパムの問題、そしてスパムへの対抗策を他の Web サイト管理者のコミュニティーと共有するためにブラックリストやスパム対策サービスなどを活用する方法について説明します。
    2008/12/09  
 
カスタム Dojo アプリケーションを作成する
Web 2.0 および Dojo アプリケーションを開発するときのヒント、手法、そして落とし穴を学んでください。Wendi Nusbickel と Melissa Betancourt は、この記事で文書化している Dojo アプリケーションに長年取り組んできました。最近の Web 2.0 Dojo プロトタイプ開発の完了を期に、二人の著者がカスタム Dojo アプリケーションの作成を通して学んだ経験を読者の皆さんと分かち合います。
    2008/12/09  
 
Web 系開発のトレンドを牽引する: IBM ソフトウェア・テクノロジー情報(後編)
IBMのエバンジェリストや研究者達が運営するWiki「IBM ソフトウェア・テクノロジー情報」。CodeZineでは、このサイトのオーナーであるIBMソフトウェア・エバンジェリスト米持幸寿氏と、Jazz、 Web2.0セキュリティ、Dojoツールキット、 Groovyといった4種の技術のキーマンたちを取材した。この模様を前編・中編・後編の3回に分けてレポートする。
    2008/12/05  
 
真の Web 2.0: Web スパムと戦う、第 1 回
最近の Web 開発者にとって Web 上のスパムは最大の脅威です。「悪い奴ら」は、餌食となりうるあらゆる Web 2.0 ページを荒らして広告をまき散らし、その手口は年々高度になってきています。さらに困ったことに、スパムはマルウェアを拡散させるためにもよく使われるようになってきています。彼らと Web 開発者との開発競争は続いており、Web 開発者は自分達の Web サイトでスパムと戦うために、どのような基本ツールを利用できるのかを知る必要があります。この 2 回シリーズの記事では、スパムに対抗するための手法を詳細に説明します。この第 1 回目の記事では、訪問者がスパマーかどうかを判断する方法と、スパムを防止するようにサイトのワークフローを構成する方法について説明します。
    2008/12/02  
 
Amazon Web サービスを利用したクラウド・コンピューティング: 第 4 回 SQS による信頼性の高いメッセージング
Amazon Web サービスを利用したクラウド・コンピューティングについて学ぶ連載「Amazon Web サービスを利用したクラウド・コンピューティング」では、スケーラブルで信頼性の高いアプリケーションを設計し、構築する上で Amazon Web サービスがどのように強力な代替手段を提供するかを探っていきます。今回の記事で学ぶのは、Amazon SQS (Simple Queue Service) が実現する信頼性の高いスケーラブルなメッセージング・サービスです。
    2008/12/02  
 
Web 系開発のトレンドを牽引する: IBM ソフトウェア・テクノロジー情報(中編)
IBMのエバンジェリストや研究者達が運営するWiki「IBM ソフトウェア・テクノロジー情報」。CodeZineでは、このサイトのオーナーであるIBMソフトウェア・エバンジェリスト米持幸寿氏と、Jazz、 Web2.0セキュリティ、Dojoツールキット、 Groovyといった4種の技術のキーマンたちを取材した。この模様を前編・中編・後編の3回に分けてレポートする。
    2008/11/28  
 
Ajax 対応の JSP TagLib コントロールを作成する: 第 2 回 自動入力コントロールとフィールド・バリデーター・コントロール
ビジネス分野のアプリケーションで使用できる Ajax (Asynchronous JavaScript + XML) コントロールを作成しましょう。この記事で作成する構成可能な JSP (JavaServer Pages) TagLib ベースのコントロールは、JSON (JavaScript Serialized Object Notation)、JavaScript スクリプト言語、そして CSS (Cascading Style Sheets) を利用して作成します。このような標準的な JSP TagLib コントロールを簡単にアプリケーションに組み込んで、より直観的で応答性に優れたインターフェースを提供する方法を学んでください。
    2008/11/25  
 
Grails をマスターする: JSON と Ajax による非同期 Grails
Web 2.0 開発には、JSON (JavaScript Object Notation) と Ajax (Asynchronous JavaScript + XML) が不可欠です。連載「Grails をマスターする」では今回、Scott Davis がこの Web フレームワークに JSON と Ajax ならではの機能を組み込む方法を紹介します。
    2008/11/18  
 
Lotus Notes 8 プラグインでグラフィックコンテキストを利用する
Lotus Notes 8 の新機能の1つである Eclipse プラグインによる拡張とコンポジットアプリケーションによって、これまでの Lotus Notes にはないリッチな UI を持つアプリケーションを Lotus Notes で利用することができるようになりました。本技術記事ではこのプラグイン開発において、低レベルなグラフィック関数を使う方法を紹介します。具体的にはプラグイン画面の GC(グラフィックコンテキスト)を取得し、この GC 上に各種描画関数を使って画面内容を描画していきます。
    2008/11/18  
 
AWT (AUIML Web Toolkit): JavaScript と Dojo のための AUIML レンダラー
AWT (AUIML Web Toolkit) の概要を学びましょう (AUIML: Abstract User Interface Markup Language)。AWT を利用すると、使いやすく表現力豊かな AUIML ビジュアル・デザイナーを多用途の Dojo ツールキットと組み合わせることができるため、Web 2.0 インターフェースを素早く容易に開発することができます。ユーザー・インターフェースを素早く開発できるのは AUIML ビジュアル・エディターのおかげですが、そのまま使用できるパターンがいくつか AWT に用意されているためでもあります。これまでの経験から、この 2 つの要素を組み合わせることで生産性が大幅に高まることがわかっており、また現状では Dojo インターフェースを対象とする同等の技術が他にないことを考えれば、そうした生産性の向上は一層注目に値します。
    2008/11/18  
 
Web系開発のトレンドを牽引する: IBM ソフトウェア・テクノロジー情報(前編)
IBMのエバンジェリストや研究者達が運営するWiki「IBM ソフトウェア・テクノロジー情報」。CodeZineでは、このサイトのオーナーであるIBMソフトウェア・エバンジェリスト米持幸寿氏と、Jazz、 Web2.0セキュリティ、Dojoツールキット、 Groovyといった4種の技術のキーマンたちを取材した。この模様を前編・中編・後編の3回に分けてレポートする。
    2008/11/14  
 
WebSphere sMash を WebSphere Virtual Enterprise と組み合わせて使用する
IBM WebSphere sMash が Web 2.0 アプリケーションの開発とデプロイメントを容易にするからと言って、クラスタリングと高可用性を犠牲にしなければならないわけではありません。WebSphere sMash アプリケーションの JVM を IBM WebSphere Virtual Enterprise 内のクラスターとして使用する方法、そしてこれらの sMash アプリケーションへの要求フローを On Demand Router コンポーネントで簡単に管理できるようにする方法を学んでください。 (IBM WebSphere Developer Technical Journal)
    2008/11/12  
 
Firefox3 と Internet Explorer 7 上で実行される Web ポータルの表示を標準化する
Firefox3 と Internet Explorer 7 での表示は異なるのでしょうか。この 2 つのブラウザーの動作を同じにするための最善の方法は何でしょう。ピクセルと em 値のどちらを使う必要があるのでしょう。developerWorks へのおなじみの寄稿者である Judith M. Myerson が、Firefox と IE 上で実行される Web ポータルの表示を標準化するための方法を説明します。この記事では、em 値を使って (Ajax アプリケーションを含めた) Web ポータルのコンテンツ作成作業をずっと簡単なものにするための秘訣とヒントを紹介します。
    2008/11/11  
 
Wicket: 動的 Web ページの作成およびテスト用の単純化されたフレームワーク
Wicket は、動的な Web ベースの UI アプリケーション開発にオブジェクト指向の手法を提供します。Wicket では Pure Java および HTML コードのみが使用されるため、Wicket を利用してアプリケーションを作成すれば、Java プログラミングの知識を生かすことができ、開発時間が大幅に短縮されます。この記事では Wicket の概要を説明するとともに、Wicket を使用して煩わしさのない単純な方法で素早く Web ベースのアプリケーションを作成する方法を説明します。
    2008/11/04  
 
jQuery を扱う: 第 3 回 jQuery と Ajax による RIA: 一歩進んだ Web アプリケーションを今すぐ作成する
jQuery は、動的な RIA (Rich Internet Application) を容易に作成する方法を求める開発者にとって最適な JavaScript ライブラリーとして人気が高まりつつあります。デスクトップ・アプリケーションに取って代わりブラウザー・ベースのアプリケーションが増え続ける中、こうしたライブラリーを使用する機会も増える一方です。jQuery に注目するこのシリーズの記事では、jQuery について知ると同時に、Web アプリケーション・プロジェクトの中で jQuery を実装する方法について学びます。
    2008/10/28  
 
Dojo Objective Harness を利用した Web 2.0 アプリケーションのユニット・テスト
質の高いソフトウェア開発にユニット・テストは欠かせませんが、アジャイル開発とエクストリーム・プログラミングによる開発となると、ユニット・テストが極めて重要な部分となります。これまで Web 2.0 クライアント・サイドのユーザー・インターフェースの自動ユニット・テストは困難で、多くの場合は試みられることもありませんでした。ところが今は、Dojo が提供するユニット・テスト・ハーネスで、JavaScript 機能とユーザー・インターフェースの視覚化の両方を評価することが可能です。このように徹底的にテストされたユーザー・インターフェースでは、最終的に含まれるバグの数が大幅に減ることになります。この記事では、DOH (Dojo Objective Harness) の主要な機能について例を用いて説明し、その優れた機能性をその他の Web 2.0 アプリケーション用テスト・ハーネスと比較します。
    2008/10/21  
 
インテリジェント・エージェントとセマンティック Web
2001年に Berners-Lee、Hendler、Lassila によって構想が描かれたセマンティック Web は、エージェントを利用して診察の予約を取ったり、できるだけ面倒の少ない最適なドライブ・ルートを見つけたりするという壮大なものでした。この構想によるシステムは、すでに大勢の科学者とエージェント開発者からの支持を獲得していたフォーマル・オントロジーをベースに構築されたものです。彼らはいくつかの重要な問題を提起し、技術同士の興味深い接続を提案したものの、1 つのことを見逃していました。それは、Web 上にはいくつもの文書が網状に存在した状態になるという事実です。そのため、オントロジーの形式主義と文書の非形式主義の中間を取る方法が必要となりました。これが、Linked Data として知られる方法です。Linked Data とエージェント技術とを結び付けると、セマンティック Web のデータを扱うには理想的な方法となります。この記事では互いに関連付けられたセマンティック Web、エージェント技術の概要を説明し、この 2 つを組み合わせた例を紹介します。
    2008/10/21  
 
Web 時代の非リレーショナルデータベース: 第 3 回 Apache CouchDB で MapReduce フレームワークに基づく問いあわせを行う
本連載では今Web開発者が注目するApache CouchDBに関する技術情報を紹介します。今回は5回シリーズの第3回として、CouchDB のビュー/クエリ機能であるMapReduceフレームワークの利用方法を学びます。
    2008/10/17  
 
Java 開発者にとっての Dojo の概念
Web ベースのアプリケーションで Dojo がますます使われるようになっています。多くの開発者は Java プログラミングの高いスキルを持っていますが、JavaScript に関しては限られた経験しかありません。彼らは、強い型付けのオブジェクト指向のコンパイラー言語から動的で弱い型付けのスクリプト言語に移行する際の概念の飛躍に悪戦苦闘しているかもしれません。こうした概念の混乱があるため、開発者にとって Dojo クラスを正しく宣言するのが困難になる可能性があります。この記事では、この混乱を整理し、なぜコンテキストを設定することが必要なのか、そしてコンテキストをどう使えばよいかを説明します。
    2008/10/14  
 
Amazon Web サービスを利用したクラウド・コンピューティング: 第 3 回 EC2 によるオンデマンド・サーバー
Amazon Web サービスを利用したクラウド・コンピューティングについて学ぶ連載「Amazon Web サービスを利用したクラウド・コンピューティング」では、スケーラブルで信頼性の高いアプリケーションを設計し、構築する上で Amazon Web サービスがどのように強力な代替手段を提供するかを探っていきます。今回の記事では、Amazon EC2 (Elastic Compute Cloud) が提供する仮想サーバーを紹介します。EC2 を利用することで、アプリケーションの需要に応じて即座にアプリケーションのコンピューティング要件を構成して容量を調整するのが容易になる仕組みを学んでください。
    2008/10/14  
 
本のライブラリーを sMash する
IBM WebSphere sMash で、本の Derby データベースとの動的ユーザー・インターフェースと RESTful (REpresentational State Transfer) なインターフェースを作成して、独自のライブラリーの目録作成システムを構築する方法を学んでください。このシステムではいつもの LCRUD (list、create、retrieve、update、delete) 操作もできますが、とりわけ面白い部分は、この新たな素晴らしいソフトウェアを探るところにあります。 (IBM WebSphere Developer Technical Journal)
    2008/10/08  
 
真の Web 2.0: Creative Commons をマスターする
CC (Creative Commons) イニシアチブでは、Web コンテンツを始めとする、コンテンツのための一般的なライセンスが作られています。一部の人は、こうしたライセンスを利用する場合はコンテンツに関するすべての権利をあきらめなければならないと思っているようですが、それは数ある誤解の 1 つにすぎません。Web サイトやアプリケーションでの CC ライセンスの選択方法や使用方法、そして CC ライセンスをコードの中で扱う方法を学びましょう。
    2008/10/07  
 
Tomcat Advanced I/O によるハイパフォーマンス Ajax
NIO (Non-Blocking I/O) を利用するとシステム・リソース (スレッド) を効率的に使用できるため、サーバーのパフォーマンスを劇的に改善することができます。特に long-poll メカニズムを持つ Ajax (Asynchronous JavaScript + XML) アプリケーションの場合には、パフォーマンスが改善されるのがはっきりとわかります。また NIO を利用すると、負荷の重いサーバーのシステム・リソースそれぞれの使用量を調整することができます。この記事では、Ajax リクエストを処理する場合と通常のリクエストを処理する場合の両方に関して、サーバーのパフォーマンスを最適化するための方法を説明します。
    2008/09/30  
 
Project Zero、WebSphere sMash、そして PHP を使い始める
Project Zero は、PHP などのよく使われる Web 技術をベースとした対話型 Web アプリケーションを迅速に開発するための環境を提供します。この演習では、開発ツールのインストールから PHP をバックエンドのスクリプト言語として使った Ajax Web 2.0 サンプルの作成に至るまで、Project Zero がいかに簡単に使い始められるプロジェクトであるかを実証します。説明のなかでは、アプリケーションのエクスポート方法と併せ、Web 2.0 アプリケーションを拡張する例も紹介します。
    2008/09/29  
 
JavaScript で作成するモジュール式の対話型ユーザー・インターフェース
ドラッグ・アンド・ドロップ機能を使って Web ページのセクションを移動させる手法を学んでください。対話性の異なる側面をそれぞれ個別に実装した後、まとめて 1 つに組み立てることによって、Web ユーザーを大いに満足させられる柔軟なカスタマイズを可能にします。
    2008/09/23  
 
Java の理論と実践: ステートフルな Web アプリケーションはすべて壊れているのか
サーブレット・フレームワークが提供するセッション状態管理メカニズム、HttpSession はステートフルなアプリケーションを簡単に作成できるようにしますが、使い方を間違えやすいのも事実です。可変データ (JavaBeans クラスなど) に HttpSession を使用する Web アプリケーションのなかには、十分な調整をせずにこのメカニズムを使用しているために、並行性にさまざまな悪影響を及ぼす可能性を招いているものが数多くあります。
    2008/09/23  
 
jQuery を扱う: 第 2 回 一歩進んだ Web アプリケーションを今すぐ作成する
jQuery に関するシリーズの第 2 回であるこの記事では、Web サイトの対話性を高めて動的な RIA (Rich Internet Application) を実現する方法について説明します。ユーザーの対話動作によって生成されるイベントや、Web サイト自体から収集した情報、リロードせずにアプリケーションのルック・アンド・フィールを変更できる機能などを組み合わせ、jQuery で迅速かつ容易に動的な RIA を作成する方法を学びましょう。
    2008/09/23  
 
単純な WYSIWYG Web ページ・エディターを作成する
事前に作成されたウィジェットを追加したり変更したりすることで Web ページを組み立てることができる、単純な Ajax (Asynchronous JavaScript + XML) システムについて学びましょう。こうした機能は多くのサイトで提供されていますが、ここで紹介する使いやすいシステムを利用すると、皆さん自身のサイトでウィジェットの作成や変更を行うことができ、また新しいウィジェットを作成するための単純なライブラリーを提供することもできます。
    2008/09/16  
 
グラフィカル・テキストにセマンティクスを持たせて検索可能にする
Web デザイナーたちは長いこと、独特のフォント、スクリプト、あるいはほとんどのユーザーのコンピューターでは使用できないような書体を表示する場合にはグラフィカル・テキストを利用してきました。画像をベースにしたテキストを使用すれば、色やカーニング、そして行送りやフォントはユーザーのシステム・フォントではなく、完全に Web デザイナーの意のままにできるからです。ただし、ページ上に実際のテキストがないということは、Google や Yahoo などの検索エンジン、そして Google Ads などの広告サービスでサイトを識別したり、分類したりする際にネックとなります。この記事では、Web ページでセマンティクスを犠牲にすることなく、画像ベースのテキストならではの見栄えと正確さも実現する方法を説明します。
    2008/09/16  
 
Ajax対応の自動補完コントロール、カスケード・ドロップダウン・コントロールを作成する
ビジネス分野のアプリケーションで使用できる Ajax (Asynchronous JavaScript + XML) コントロールを作成しましょう。この記事で作成する構成可能な JSP TagLib ベースのコントロールは、JSON (JavaScript Serialized Object Notation)、JavaScript、そして CSS を利用して作成します。このような標準的な JSP TagLib コントロールをアプリケーションに簡単に組み込んで、より直観的で応答性に優れたユーザー・インターフェースを提供する方法を学んでください。
    2008/09/09  
 
XSLT、KML、そして Google Maps API を使って地図上にデータをオーバーレイする: 第 2 回 データを変換し、使用する
この 2 回シリーズの記事では不動産仲介業者のためのアプリケーションを作成し、入居可能な部屋の賃貸情報のすべてを、クリック可能な Placemark として Google マップ に表示します。第 1 回では、このアプリケーションの前半として、ユーザーから部屋の賃貸情報を収集し、その住所を Google のジオコーダ Web サービスを使って地理座標 (経度と緯度) に変換し、変換したその座標を住所の情報と共にデータベースに保存する部分を作成しました。第 2 回では、このデータを使って KML オーバーレイ文書を作成し、その文書を Google マップと Google Earth に表示します。最初にストアード・プロシージャーを使って MySQL から XML を作成します。次に XSLT と Muenchian グループ化と呼ばれる手法を使って、オーバーレイ情報 (部屋の賃貸物件がある建物ごとに 1 つの Placemark) を含む KML 文書に XML データを変換します。各 Placemark をクリックするとポップアップ表示されるバルーンには、その建物の中で入居可能な部屋の賃貸情報を表示します。最後に Google Maps API を使って、皆さん自身の Web サイトに埋め込まれた Google マップに KML オーバーレイを表示します。
    2008/09/09  
 
jQuery を扱う: 第 1 回 ブラウザーでデスクトップ・アプリケーションを実現する
jQuery は、動的な RIA (Rich Internet Application) を容易に作成する方法を求める開発者にとって最適な JavaScript ライブラリーとして人気が高まりつつあります。デスクトップ・アプリケーションに取って代わりブラウザー・ベースのアプリケーションが増え続ける中、こうしたライブラリーを使用する機会も増える一方です。このシリーズの記事では jQuery について知り、そして Web アプリケーション・プロジェクトの中で jQuery を実装する方法について学びます。
    2008/09/09  
 
PHP を使用して Ajax ベースの Web サイトを作成する
ネイティブ JavaScript コードと PHP を使って Ajax (Asynchronous JavaScript + XML) アプリケーションを作成するプロセスを学んでください。この記事では、完全な Ajax ベースの Web アプリケーションを完成させるために必要となるコードの作成量を減らすフレームワークおよび API (Application Program Interface) をいくつか紹介します。
    2008/09/02  
 
IBM WebSphere sMash の紹介: 第 1 回: Web アプリケーションのための RESTful なサービスを作成する
この連載では、現在の Web 技術に基づいてアプリケーションを作成し、組み立て、実行するための単純な環境、IBM WebSphere sMash のすべてを学びます。この第 1 回目の記事では、強力な Web アプリケーションを作成し、組み立ててデプロイできる革新的な技術を実際に体験してもらいます。コミュニティーが WebSphere sMash を主導する仕組み、そして RESTful な Web サービスを作成する上での WebSphere sMash の規約を学んでください。この記事では、サンプル手順に沿って環境のセットアップ、プロジェクトの作成、データを公開するための Restful なサービスの作成、およびアプリケーションのテストを段階的に行い、最後に RESTful なサービスを使用するサンプル・アプリケーションをインポートします。
    2008/09/02  
 
XSLT、KML、そして Google Maps API を使って地図上にデータをオーバーレイする: 第 1 回 Google のジオコーダ Web サービスの内部を探る
Google のジオコーダ Web サービスについて調べましょう。Google のジオコーダは、住所を入力すると、その住所に関するデータを経度と緯度を含めて返します。この 2 回シリーズの記事では、そのデータを Google Maps API そして XSLT と組み合わせて Google マップや Google Earth にオーバーレイするためのデータを作成します。そのための例として不動産仲介業用のサンプル・アプリケーションを作成します。このアプリケーションでは、不動産業者が HTML フォームから部屋の賃貸情報を入力すると、Google のジオコーダ Web サービスを使ってそれらの住所を経度と緯度に変換し、部屋の賃貸情報のデータベースから KML (Keyhole Markup Language) によるオーバーレイを作成します。第 1 回では、このアプリケーションの前半部分を作成します。つまりユーザーから部屋の賃貸情報を収集し、Google のジオコーダ Web サービスを使って住所を地理座標 (経度と緯度) に変換し、これらの座標を住所の情報と共にデータベースに保存します。
    2008/09/02  
 
初の本格的 Ajax サーバー、Aptana Jaxer を使用した Ajax アプリケーションの構築
正真正銘の Ajax (Asynchronous JavaScript + XML) サーバーとして初めて登場した Jaxer について学んでください。Jaxer はサーバー・サイドで JavaScript コード、DOM (Document Object Model)、そして HTML を実行できるようにするだけでなく、クライアント・サイドからサーバー・サイドの関数に非同期でアクセスできるようにします。この記事では Jaxer の機能について説明するとともに、まだ初期段階にある Jaxer にすでに備わっている素晴らしい可能性を紹介します。
    2008/08/26  
 
CodeIgniter 入門
CodeIgniter アプリケーションは皆さんが考えるより簡単に作成することができます。初めてのプロジェクトとして、連絡先フォームを表示する単純な Web ページの作成手順を試してみてください。
    2008/08/26  
 
Amazon Web サービスを利用したクラウド・コンピューティング: 第 2 回 Amazon S3 (Simple Storage Service) によるクラウド内のストレージ
Amazon Web サービスを利用したクラウド・コンピューティングについて学ぶ連載「Amazon Web サービスを利用したクラウド・コンピューティング」では、スケーラブルで信頼性の高いアプリケーションを設計し、構築する上で Amazon Web サービスがどのように強力な代替手段を提供するかを探っていきます。今回の記事では、Amazon S3 (Simple Storage Service) が提供する極めてスケーラブルで応答性に優れたサービスについて掘り下げていきます。また、S3 とのインターフェースに使用するツールを紹介し、コード・サンプルを用いて単純なシェルを試してみます。
    2008/08/19  
 
Grails をマスターする: Grails のイベント・モデル
Grails ではアプリケーションのライフサイクル全体をとおして、ビルド・スクリプトから個々の成果物 (ドメイン・クラスやコントローラーなど) に至るまでのあらゆるものが重要なポイントでイベントをスローします。連載「Grails をマスターする」の今回の記事では、これらのイベントをキャッチし、カスタムの振る舞いで応答するリスナーをセットアップする方法を説明します。
    2008/08/12  
 
プロのように Ajax アプリケーションを開発する: 第 3 回 DWR、Java、そして Dojo Toolkit を使って Java と JavaScript を統合する
Java による Web 開発のためのフレームワークやライブラリー、ツールキットでパッと思いつくものの名前を挙げるとしたら、皆さんはいくつ挙げられるでしょう。世の中にはあまりにも多くの種類があるため、どれがどんなことをし、どれが実際に問題解決の役に立つのかを知ろうとしても種類の多さに圧倒されてしまうかもしれません。しかし Ajax 開発を行うのであれば絶対に知っておく必要があるライブラリーがあります。それが DWR (Direct Web Remoting) です。このライブラリーは Java 言語と Java を使った Web 技術を活用して Ajax 開発を大幅に単純化します。DWR は Ajax をシームレスに Java Web アプリケーションに統合するための標準的な方法となっています。実際、DWR は、よく使われるオープンソースの Ajax 技術を広範に集めた Dojo の基礎の上に構築されています。この記事では、DWR を使用することで Ajax がどれほど容易になるかを説明します。
    2008/08/05  
 
Dojo を使って Web アプリケーションを国際化する
Dojo ツールキットは多くの Web アプリケーションでますます使われるようになっています。Dojo ツールキットの優れた特徴のひとつは、さまざまなロケールをサポートしていることです。この記事では、Dojo が持つこの重要な機能の使い方を簡潔に説明します。
    2008/08/05  
 
Web 時代の非リレーショナルデータベース: 第 2 回 Apache CouchDB と Ruby on Rails を使って wiki アプリケーションを作成する
本連載では今 Web 開発者が注目する Apache CouchDB[1] に関する技術情報を紹介します。今回は 5 回シリーズの第 2 回として、Ruby on Rails による wiki アプリケーションの作成を通じて、CouchDB の RESTful API についてプログラムからの利用方法を学びます。
    2008/08/01  
 
Ext JS 入門者の最初の壁
Ext.grid.GridPanel は Ext JS を代表する強力な UI 部品の一つですが、Grid にデータを読み込む仕組みが一見簡単ではないため、Ext JS を利用し始めた人が最初につまづいてしまう壁となっているようです。ここでは、Ext.grid.GridPanel の背後で動作する、Store、Reader、Proxy の 3 つのクラスについての説明を行います。
    2008/08/01  
 
容易になった Ajax と Java 開発: 第 4 回 JSP タグ・ファイルを使用して JSF 風のコンポーネントを作成する
かつての JSP (JavaServer Pages) と JSF (JavaServer Faces) は、それぞれに異なる EL (Expression Language: 式言語) の変形バージョンを使っていましたが、JSP 2.1 では EL が統一されています。この統一によって新しい可能性が広がり、今では遅延評価される値 (deferred-value 属性) と遅延評価されるメソッド (deferred-method 属性) をカスタム JSP タグで使用できるようになりました。そこで、この記事では JSF コンポーネントを作成するより遥かに単純で簡単な手段として、JSP タグ・ファイルをベースとした Java Web コンポーネントを開発する方法を紹介します。
    2008/07/29  
 
Ajax による改良: 第 4 回 jQuery および Ajax フォームで既存のサイトを改良する
Ajax の手法は大規模な商用 Web アプリケーションの様相を一変させましたが、規模の小さな多くの Web サイトにはユーザー・インターフェース (UI) をまるごと一晩にしてリビルドするだけのリソースはありません。しかし Ajax による新しい機能を利用すると、実際のインターフェースの問題が解決され、ユーザー・エクスペリエンスも改善されることで、新しい機能にかかるコストが妥当なものであることが証明されるはずです。UI をオープンソースによるクライアント・サイドのライブラリーを使って徐々に最新のものにする方法は、この連載ですでに説明しました。今回の記事では、複数のステップからなる購入プロセスを、Ajax の手法を使って複数の連続したフォームから 1 画面で構成されるインターフェースに変える方法を学んでください。この変換では、Progressive Enhancement (漸進的な機能拡張) の原則を利用して、あらゆる類のユーザー・エージェントが引き続きサイトにアクセスできることを保証します。
    2008/07/29  
 
OpenLaszlo: RIA/Ajax にも Write Once Run Anywhere の波
コードネーム Legal, OpenLaszlo v4.1 が 2 年の歳月を経てリリースされました。このバージョンから、OpenLaszlo は DHTML(Ajax) をサポートしました。これまでは、RIA(Flex 等の Flash)や、Ajax を開発するには別々のテクノロジーをマスターしなければならず、プログラマーに多大な負担がかかっていましたが、OpenLaszlo を採用することで、RIA も Ajax もこれひとつで開発できるようになりました。
    2008/07/25  
 
容易になった Ajax と Java 開発: 第 3 回 DOM、JavaScript、JSP タグ・ファイルを使って UI 機能を作成する
この連載の第 1 回では、Ajax リクエストを送信して Ajax レスポンスを処理する JavaScript コードを生成する方法を説明しました。第 2 回では、セットアップと構成を最小限にするための規則、そして JSP タグ・ファイルを使用して HTML フォームを作成する方法を紹介しました。連載第 3 回となるこの記事で学ぶのは、JavaScript をベースにクライアント・サイド、サーバー・サイドのバリデーターを開発し、それぞれに対応する JavaScript コードをバックアップする JSP タグ・ファイルとして実装する方法です。さらに、アプリケーションを再起動しなくても変更時に自動的にリロードされるリソース・バンドルを使用する方法も説明します。
    2008/07/22  
 
RSS Generator を利用して、Lotus Domino の資産を RSS 化する
Lotus Domino で管理しているデータベースの情報は、原則的には Lotus Notes クライアントや Web ブラウザを利用して参照します。しかしそれ以外の方法がないわけではありません。今回は RSS Generator テンプレートを利用して、Domino の資産を RSS 化する方法を紹介します。なお、以下で紹介する内容は全て Lotus Notes/Domino 8.0.1 を利用しています。
    2008/07/18  
 
Grails をマスターする: Grails とレガシー・データベース
連載「Grails をマスターする」で今回 Scott Davis が取り上げるのは、Grails の命名規則に当てはまらないデータベース・テーブルを Grails で使用するためのさまざまな手段です。Grails では、レガシー・データベースにすでにマッピングされている Java クラスがあれば、レガシー・データベースをそのまま変更せずに使用することができます。この記事では、レガシー Java クラスと併せて Hibernate HBM ファイル、そして Enterprise JavaBeans 3 アノテーションを使用する例をそれぞれ紹介します。
    2008/07/15  
 
Firefox 拡張機能を利用して Google カレンダーに暗号化機能を組み込む
最近の Web アプリケーションは、オンライン・ストレージ、オンライン・アクセス、オンライン・コラボレーションにさまざまなメリットをもたらしています。しかし、一部のアプリケーションは別としても、ユーザー・データを暗号化するアプリケーションはほとんどありません。この記事では、よく使われるオンライン・カレンダー・アプリケーションのユーザー・データに基本的な暗号化サポートを追加するために必要なツールとコードを紹介します。Firefox 拡張機能の非常に優れた柔軟性と Gnu Privacy Guard を利用して、Google のカレンダー・アプリケーションに暗号化された予定に関する記述のみを保存し、適切な復号化キーを持つユーザーには、この記述をプレーン・テキストで表示する方法を説明します。
    2008/07/15  
 
Ajax アプリケーションに Flex を統合する
従来型の Ajax 開発は、相変わらず RIA (Rich Internet Application) を作成するための中心的な方法です。しかし Adobe Flex の人気を無視することはできません。この記事では Ajax コンテンツと Flex コンテンツを一貫した方法で容易に統合できるコード・ライブラリーである、Adobe の FABridge (Flex Ajax Bridge) を紹介します。この記事を読み終わると、Flash の資産によって実現されるリッチな機能を利用できるようになります。
    2008/07/15  
 
Ruby on Rails と Eclipse による iPhone アプリケーション開発: 第 3 回 iPhone 対応の高度なビューを開発する
iPhone と iPod touch は、Mobile Safari を米国で最も人気のあるモバイル・ブラウザーにしました。Mobile Safari は通常の Web ページのレンダリングにも十分対応できますが、それでも数多くの Web 開発者たちは iPhone を対象としたアプリケーションのバージョンを作成しています。連載「Ruby on Rails と Eclipse による iPhone アプリケーション開発」の第 3 回では、ユーザーがリスト構造の最後に達したときに、アプリケーションが実際にコンテンツを表示するために必要な処理について説明します。
    2008/07/15  
 
WebSphere sMash でフィードをマッシュアップする
日本でも WebSphere sMash が正式に発表されました。この製品は Groovy や PHP といったスクリプト言語を利用して普段使用しているデータベース内のデータを REST 等の形式で公開できるアプリケーションサーバーであると同時に、付属する簡易アプリケーションビルダーによって、社内外から公開されている各種フィードを簡単にマッシュアップすることも可能です。本記事では特にこの後者の機能をどのように実現するか、といった手順を紹介していきます。なお本記事の内容は2008年7月9日現在の内容に沿って書かれております。バージョンアップ等によって今後内容の一部が変更になる可能性があることをご了承ください。
    2008/07/11  
 
Atom を利用して Web にアノテーションを付ける
皆さんはブログなど Web 2.0 のサイトを読んだ人がそのサイトにコメントを付けているのを見たことがあると思いますが、Atom プロトコルを利用すると、そうしたコメントの作成や処理を非常に柔軟な方法で行うことができます。柔軟な Web アノテーションという概念によって、まったく新しい種類の Web アプリケーションが、実際には新しいものをほとんど何も作り出さなくても実現されるのです。Web 上のすべてのものにアノテーションを付け、そのアノテーションをほとんどどこからでも扱えるシステムを作成する方法を学びましょう。
    2008/07/08  
 
Ruby on Rails と Eclipse による iPhone アプリケーション開発: 第 2 回 iPhone 向けコンテンツをクライアントに表示する
iPhone と iPod touch は、Mobile Safari を米国で最も人気のあるモバイル・ブラウザーにしました。Mobile Safari は通常の Web ページのレンダリングにも十分対応できますが、それでも数多くの Web 開発者たちは iPhone を対象としたアプリケーションのバージョンを作成しています。連載「Ruby on Rails と Eclipse による iPhone アプリケーション開発」の第 2 回では、ドリルダウン・リストをナビゲーション手段として使用する一般的な方法を学びます。
    2008/07/08  
 
PHP アプリケーションから Google カレンダーを利用する
Google カレンダーでは、Web アプリケーションの開発者がユーザーの生成するコンテンツと予定の情報に REST ベースの開発者向け API を使ってアクセスすることができます。この API によって生成された XML フィードを処理し、これらの XML フィードを使ってカスタマイズした PHP アプリケーションを構築するには、PHP の SimpleXML 拡張機能と Zend の GData Library が最適です。この記事では Google Calendar Data API を取り上げ、この API を使用してユーザーが生成したカレンダーを閲覧する方法、カレンダーに予定を追加したり、予定を更新したりする方法、そしてキーワード検索を行う方法を、実例を挙げながら説明します。
    2008/07/08  
 
Ajax による改良: 第 3 回 jQuery、Ajax タブ、そしてフォト・カルーセルで既存のサイトを改良する
Ajax の手法は大規模な商用 Web アプリケーションの様相を一変させましたが、規模の小さな多くの Web サイトにはユーザー・インターフェース (UI) をまるごと一晩にしてリビルドするだけのリソースはありません。しかし Ajax による新しい機能を利用すると、実際のインターフェースの問題が解決され、ユーザー・エクスペリエンスも改善されることで、新しい機能にかかるコストが妥当なものであることが証明されるはずです。この連載では、オープンソースによるクライアント・サイドのライブラリーを使ってユーザー・インターフェースを徐々に最新のものにする方法を説明しています。今回の記事で説明するのは、表示に時間のかかる煩雑で厄介な製品詳細ページを、DHTML と Ajax によって高速で洗練されたページに変身させる方法です。しかも、Progressive Enhancement (漸進的な機能拡張) の原則に従うことで、あらゆるユーザー・エージェントがサイトにアクセスしたままで変身できることを確実にします。
    2008/07/08  
 
Web 時代の非リレーショナルデータベース: 第 1 回 Apache CouchDB の概要とインストール
RESTful API によるデータベースアクセス、MapReduce フレームワークによるクエリ、関数型言語 Erlang による実装、といった今話題の最新技術を取り入れた Apache CouchDB(*1) という非リレーショナルデータベースが注目されています。今回は 5 回シリーズの第 1 回として、CouchDB とはいったい何なのかを紹介します。Web 開発者の皆様は、ぜひこの新しいデータベース技術を習得してください。
    2008/07/04  
 
Ext JS で作る AJAX アプリケーション
Ext JS は数ある JavaScript ライブラリの一つですが、その再利用性の高いオブジェクトおよびUI部品は AJAX アプリケーションの開発を容易にしてくれます。この記事では、Ext JS についての簡単な紹介と、Ext JS の基盤となっている JavaScript によるオブジェクト指向的な設計方法の概要、そして RIA 開発におけるUI 部分への Ext JS フレームワークの適用方法について説明します。
    2008/07/01  
 
Seasar2: 第 5 回 Seasar2 から DB2 を利用する
本連載では,軽量コンテナ Seasar2 を IBM WebSphere Application Server や IBM DB2 と連携させる方法について紹介します.連載の第 5 回目となるこの記事では,Seasar2 から WAS のコネクションプールを経由して DB2 を利用する方法を紹介します.
    2008/06/27  
 
プロのように Ajax アプリケーションを開発する: 第 2 回 Prototype JavaScript フレームワークと script.aculo.us を使う
皆さんは Web アプリケーションを開発中でしょうか。その Web アプリケーションは cragislist や flickr とよく似たものでなければならないのでしょうか。答えが前者なら、おそらくこの記事を読み飛ばすことができます。もしまだこの記事を読み続けているなら、皆さんは幸運です。JavaScript ライブラリーに関する 3 回シリーズの第 2 回である今回は、Scriptaculous JavaScript ライブラリーを使って Web アプリケーションの機能を強化するための方法を学びます。
    2008/06/24  
 
Active Content Filtering で強化する Project Zero および WebSphere sMash アプリケーションのセキュリティー
ACF (Active Content Filtering) を使用して、クロスサイト・スクリプティングをはじめとする一般的な Web 2.0 ベースのアプリケーションに対する攻撃をかわし、Project Zero アプリケーションのセキュリティーを劇的に向上させてください。ACF は Project Zero に含まれる分解可能なコンポーネントで、このコンポーネントが提供するライブラリーでは要求データ (要求パラメーターなど) とクライアントに送信される応答出力からアクティブ・コンテンツを取り除くことができます。この記事を読んで、アクティブ・コンテンツが存在する可能性のある Project Zero の環境に ACF を適用するという強力な手段を身につけてください。
    2008/06/23  
 
Grails をマスターする: Grails とモバイル Web
世界中の携帯電話利用者が現在 33 億人を突破して増え続けているなか、携帯電話からのインターネット・アクセスが急激に増えています。モバイル Web を目的とした開発には、それ特有の要求があります。連載「Grails をマスターする」の今回の記事では、Scott Davis が Grails アプリケーションを携帯電話に対応させる方法を紹介します。
    2008/06/17  
 
Firefox 3.0 に備える
Mozilla Firefox 3 は多くの機能強化を備えたメジャー・リリースであり、一部の機能強化はユーザーを対象とし、また一部は開発者を対象としています。最も興味深い変更の 1 つとして、たとえユーザーがインターネットから切り離されていても動作する Web アプリケーションを開発することができます。この記事では、Firefox 3 のこうしたさまざまな新機能について、特にオフラインでのアプリケーションのサポートという新機能について学びます。
    2008/06/17  
 
Project Zero および WebSphere sMash アプリケーションのセキュリティーを守る: 第 1 回 認証と許可
アプリケーション・リソースのアクセス制御ベースのセキュリティーは、Project Zero のコア機能のうちの 1 つです。Project Zero Security の開発者たちは徹底的に単純化することを念頭に、セキュリティーを素早く簡単に実現できるように務めました。この記事から、Project Zero Security の概要、そしてユーザー・レジストリーを作成する方法、アプリケーションのセキュリティー・ルールを定義する方法、もっともよく使われるベーシック認証とフォーム認証という 2 つのタイプの認証を利用する方法を学んでください。この記事を読み終える頃には、Project Zero アプリケーションにセキュリティーを組み込むために必要なすべての手段が身についているはずです。
    2008/06/13  
 
再利用と再配布が可能なコンポーネントを Dojo とAjax で作成する
この記事では、コア・アプリケーションと容易に統合できる再利用可能なコンポーネントを Dojo とAjax を使って作成する方法を学びます。あるサンプル・ケースの手順を追いながら、既存のブログ・アプリケーションにメール機能を追加し、メール・ウィジェットを生成し、そして面倒なクロスドメインの通信の問題を処理する Web アプリケーションの作成方法を説明します。
    2008/06/10  
 
WebSphere sMash を使って Google ガジェットを機能強化する
IBM WebSphere sMash には、Web 2.0 アプリケーションで情報を共有するためのさまざまな方法が用意されています。この記事では、WebSphere sMash を使って Google ガジェットをゼロから作成し、それを公開し、さらに機能強化するための方法を紹介します。それとともに、このガジェットの XML 仕様を検証し、WebSphere sMash のフロー・モデルとフィード・ツールを使用して、最終的にこのガジェットを Web ページにデプロイします。
    2008/06/04  
 
Ruby on Rails と Eclipse による iPhone アプリケーション開発: 第 1 回 iPhone 向けコンテンツを提供する
iPhone と iPod touch は、Mobile Safari を米国で最も人気のあるモバイル・ブラウザーにしました。Mobile Safari は通常の Web ページのレンダリングにも十分対応できますが、それでも数多くの Web 開発者たちは iPhone を対象としたアプリケーションのバージョンを作成しています。この連載、「Ruby on Rails と Eclipse による iPhone アプリケーション開発」では、サーバー・サイドでRuby on Rails を使用して Mobile Safari を識別し、このモバイル・ブラウザーにカスタム・コンテンツを提供する方法を紹介します。
    2008/06/03  
 
Ajax のセキュリティー・ツール
悪意のあるハッカーは、Ajax アプリケーションに潜むいくつかの脆弱性をついて、アプリケーションを台無しにしてしまう恐れがあります。個人情報の盗難、保護されていない機密情報へのアクセス、ブラウザーのクラッシュ、Web アプリケーションの改変、DoS (Denial of Service: サービス拒否) の攻撃などは、Ajax アプリケーションに起こり得る惨事のほんの数例です。開発者は、Ajax 機能をアプリケーションに組み込むときに、このような事態を防ぐ対策を立てなければなりません。この記事では developerWorks でお馴染みの著者、Judith Myerson が Firefox のツールやアドオンをはじめとするアプリケーションのセキュリティー強化ツールを提案します。これらのツールを使って、Ajax アプリケーションのセキュリティー問題を軽減、あるいは解決してください。
    2008/05/27  
 
容易になった Ajax と Java 開発: 第 2 回 セットアップと構成を最小限にするための規則に従う
たいていの Web フレームワークで目標とされるのは、さまざまなアプリケーションのニーズと開発スタイルに対応するために、できる限り柔軟かつ拡張可能にすることです。残念ながら、このような試みが結果的にフレームワークを複雑にし、処理のオーバーヘッド、そして大規模な構成ファイルをもたらす場合がよくあります。この記事では開発と保守を容易に行えるように、JSTL (JSP Standard Tag Library) と JSP タグ・ファイルを使ってデータ・バインディング、ページ・ナビゲーション、スタイル規則を実装する方法を紹介します。また、動的な属性を使ったカスタム JSP タグを作成し、アプリケーションを簡単に素早く変更できるようにする方法も学んでください。さらに記事の最後のセクションには、Ajax を使用して Web フォームをサブミットするサンプルも記載しています。
    2008/05/20  
 
Web 2.0 に変身した Plants by WebSphere
Plants by WebSphere は、製品管理、ショッピング・カート、購入処理などの商取引機能を実演する IBM WebSphere Application Server の典型的なサンプル Web アプリケーションです。WebSphere Application Server Feature Pack for Web 2.0 がリリースされたことにより、今やユーザーとの対話性のレベルを引き上げ、Web アプリケーションの堅牢性を一層強化し、さらにはデスクトップ・アプリケーションに匹敵する応答性まで実現することが可能になっています。この記事では、Feature Pack for Web 2.0 の技術と手法を用いた UI の設計変更、RESTful な対話動作、さらにコミュニティーとユーザーの参加によって、Plants by WebSphere アプリケーションを Web 2.0 対応に「変身」させる方法を説明します。
    2008/05/14  
 
Ajax のパフォーマンス・ツール
サーバー・リソースの無駄使いは Ajax アプリケーションに影響を及ぼし、その結果、アプリケーションを機能させるために、過剰な HTTP リクエストが送信されるようになり、メモリー使用量が増加し、さらに異常な量のポーリングが行われることになります。この記事では developerWorks でお馴染みの著者、Judith Myerson が Ajax アプリケーションの改善、あるいは問題の解決に利用できるオープンソースのツールと Firefox のアドオンを紹介します。
    2008/05/13  
 
プロのように Ajax アプリケーションを開発する: 第 1 回 Prototype JavaScript ライブラリーと script.aculo.us を使う
もし皆さんが Web アプリケーションの開発を最近行っているとすると、おそらく皆さんは Ajax の開発を行っていることでしょう。Ajax は、もはや特別な場合にアプリケーションに追加するための風変わりなものではなく、Web 開発になくてはならないものになっています。これまでは、ある意味で、Ajax を使ってアプリケーションを機能強化する作業は複雑でした。クロスブラウザーの制約を処理し、大量の複雑な JavaScript を作成し、しかもそうした JavaScript の中にある魔法のような数字コードを学ぶ必要があるといったことは、Ajax 開発者が直面する困難のごく一部にすぎませんでした。幸いなことに、現在はそうした作業を容易に行えるようにしてくれる、オープンソースの JavaScript ライブラリーをいくつか入手することができます。この記事は 3 回シリーズの第 1 回として、Prototype JavaScript ライブラリーと script.aculo.us を使って曲を管理する Ajax アプリケーションを作成します。
    2008/05/13  
 
Seasar2: 第 4 回 WebSphere Application Server Toolkit での HOT deploy の利用
連載の第 4 回目となるこの記事では、統合開発環境である WebSphere Application Server Toolkit と Seasar2 の HOT deploy 機能を利用して Web アプリケーションを快適に開発する方法を紹介します。
    2008/05/09  
 
XSLT を使ってアプリケーションを国際化する
世界中のユーザーの要求に対応するために、今日の Web アプリケーションにはしばしば国際化が求められます。この記事では、XSLT を使ってクライアント・サイドで国際化を行うための方法について説明します。このソリューションに必要なのは、国際化対象のデータとサーバーが保存するデータの両方に XML を使用するということのみです。
    2008/05/06  
 
Firebug を使ってオンザフライでアプリケーションをデバッグ、調整する
Web ページのロードに、どうしてそんなに時間がかかっているのかわかりますか?今まで HTML をブラウズしながら調査し、編集しようと思ったことはありませんか?CSS をその場で調整しようと思ったことは?この記事では、Firefox ブラウザーを対象とした無料のオープンソース拡張機能、Firebug の使い方を紹介します。便利な開発者向けの機能とツールを豊富に提供する Firebug を使えば、HTML、CSS、JavaScript コード、そしてネットワーク・トラフィックを含め、ライブ・ページをモニター、編集、デバッグすることができます。この記事を読んで、Firebug を使って Web アプリケーションや Ajax アプリケーションのデバッグおよび調整といった作業にかかる時間を短縮する方法を学んでください。
    2008/05/06  
 
Ajax による改良: 第 2 回 jQuery と Ajax、そしてツールチップとライトボックスで既存のサイトを改良する
Ajax (Asynchronous JavaScript + XML) の手法は大規模な商用 Web アプリケーションの様相を一変させましたが、規模の小さな多くの Web サイトにはユーザー・インターフェース (UI) をまるごと一晩にしてリビルドするだけのリソースはありません。しかし Ajax による新しい機能を利用すると、実際のインターフェースの問題が解決され、ユーザー・エクスペリエンスも改善されることで、新しい機能にかかるコストが妥当なものであることが証明されるはずです。この連載を読んで、皆さんの UI をオープンソースによるクライアント・サイドのライブラリーを使って徐々に最新のものにする方法を学んでください。今回の記事では、単純なライトボックスとツールチップの手法を使うことで、ポップアップ・ウィンドウを使わないようにし、さらにナビゲーションが脇道にそれて先に進まなくならないようにする方法を紹介します。またそれを実現するために、Progressive Enhancement (漸進的な機能拡張) の原則を利用し、高度な UI 機能でもサイトのアクセシビリティーや Web 標準遵守の妨げにならないことを保証します。
    2008/05/06  
 
Ajax パフォーマンスの分析
Ajax (Asynchronous JavaScript + XML) が対話性とパフォーマンスに対するユーザーの期待を膨らませ続けているなか、開発者たちはますます Ajax を Web アプリケーションの必須コンポーネントとして扱うようになっています。多くのコードがクライアント・サイドに移されてネットワーク・モデルが変わるにつれ、コミュニティーは Ajax ならではのパフォーマンス問題に対処するためのツールをさらに作成することで対応しています。この記事では、Ajax で強化されたアプリケーションに潜むパフォーマンス問題を見つけ出し、修正するツール・セットについて検討します。
    2008/04/24  
 
データ駆動型 Web サイトのためのカスタム・テンプレートの構築
大抵の開発者は、HTML のテーブルとセルを処理して Web サイトを構築することに尻込みします。その理由の 1 つは、テーブルを使うと後でサイトを修正したり、その外観を変えたりするのが困難になるからです。この記事では、サイトの初期作成中にテンプレートを使用することによって、後からスキンを変更可能な Web サイトを作成する上での基本的な手法を説明します。また、この記事を読んで、Web サイトにデータ駆動型の手法を使用すべき理由も学んでください。
    2008/04/22  
 
Project Zero を導入して日本語 PHP アプリケーションを作る
この記事では Project Zero を実際に導入して、簡単な日本語 PHP アプリケーションを作って動作確認するまでの手順を紹介します。
    2008/04/15  
 
Grails をマスターする: Ajax をほんの少し加えた多対多の関係
Web アプリケーションで多対多 (m:m) の関係を扱うには、さまざまな注意が必要になります。連載「Grails をマスターする」の今回の記事では、Scott Davis が Grails で m:m の関係をうまく実装する方法を説明します。GORM (Grails Object Relational Mapping) API とバックエンド・データベースではこの関係をどのように扱うか、そして Ajax (Asynchronous JavaScript + XML) を少し使うことでユーザー・インターフェースをいかに効率的なインターフェースにできるかを学んでください。
    2008/04/15  
 
Seasar2: 第 3 回 Seasar2 による宣言的トランザクション
本連載では,軽量コンテナ Seasar2 を IBM WebSphere Application Server や IBM DB2 と連携させる方法について紹介します.連載の第 3 回目となるこの記事では,Seasar2 の宣言的トランザクションについて紹介します.
    2008/03/28  
 
Google Chart、Ajax、Project Zero、そして WebSphere sMash を使って賢いマッシュアップを作成する
Google Chart は、開発者が単純な HTTP GET リクエストを使って図やグラフを生成できるという素晴らしいサービスです。このサービスではすべての機能が HTTP で使用できるようになっているため、Project Zero で作成された Web アプリケーションに簡単に統合することができます。この記事では、厄介な HTTP URL を構成しなくても Google Chart を使用できる Groovy スクリプトを例に、ユーザーが視覚的な方法で図やグラフを作成できる便利な Web インターフェースを作成する方法を実演します。Zero プラットフォームを使うといとも簡単にマッシュアップ・アプリケーションを作成できることを、このサンプル・プロジェクトを試すことで体験してください。
    2008/03/25  
 
コメント行: Scott Johnson: Dojo Dijit ツリー・ウィジェットを遅延ロードすることによりパフォーマンスを改善する
ツリー・ウィジェットのノードへのデータのロードをすべて最初から行うのではなく、遅延させることによって、ツリーを高速に描画することができ、またツリーのパフォーマンスを高めることができます。この記事では実際に近い例をとおして、Dojo の Dijit ツリー・ウィジェットにロードする JSON データを遅延ロードするために REST 呼び出しを使う方法について説明します。
    2008/03/21  
 
IBM Web 2.0 Feature Pack を使って Ajax スタイルのアーキテクチャーを作成する
この記事では、IBM(R) WebSphere(R) Application Server Feature Pack for Web 2.0 を利用することによって、J2EE (Java(TM) 2 Platform, Enterprise Edition) アプリケーションを Ajax スタイルのアーキテクチャーでどのように強化できるのかを説明します。そして Web アプリケーション全体を再作成することなく、既存のアプリケーションに Ajax スタイルのアーキテクチャーを組み合わせる方法を学びましょう。またこの記事では IBM WebSphere Application Server 用の皆さん自身の J2EE アプリケーションに Web 2.0 Feature Pack を適用する方法についての考え方の一端も学びます。
    2008/03/18  
 
Ajax での XML 処理: 第 3 回 JSON を使用し、プロキシーを回避する
Ajax スタイルのサーバー呼び出しには、必ずしも XMLHttp リクエストが必要になるとは限りません。この連載の最終回で紹介する天気バッジ・プロジェクトに対する最後の手法では、公開 Web サービス、JSON (JavaScript Object Notation)、そして動的 script タグを使用します。
    2008/03/18  
 
HTML、JavaScript、そして Ajax の開発とデバッグに必須のツール
最高のオープンソース・ツールを使って Web ページやスクリプト、スタイルに関する作業を行い、新しいサイトやページの開発を容易にしましょう。また、HTML マークアップや CSS、そして JavaScript の調査や変更を即座に行い、DOM や、クライアント/サーバー間の通信を調べ、ブックマークレットによって開発がどれほど安全で容易になるかを学びましょう。
    2008/03/11  
 
Ajax での XML 処理: 第 2 回 Ajax と XSLT を組み合わせた 2 つの手法
この連載の第 2 回では、Mark Pruett が Ajax (Asynchronous JavaScript + XML) による天気バッチの手法をさらに 2 つ紹介します。両方とも XSLT (Extensible Stylesheet Language Transformation) を使用してフォーマットを変換する手法ですが、一方ではサーバー・サイド、もう一方ではブラウザーで XSLT を使用します。
    2008/03/11  
 
Grails をマスターする: Groovy Server Pages によるビューの変更
GSP (Groovy Server Pages) は、Grails Web フレームワークの Web の部分になります。連載「Grails をマスターする」の第 3 回目では、Scott Davis が GSP の操作について詳細に説明します。Grails TagLib は簡単に使用できること、そして GSP のコード・フラグメントを組み合わせたり、scaffold により自動的に生成されるビューのデフォルト・テンプレートをカスタマイズしたりするのも簡単であるということを学んでください。
    2008/03/11  
 
Ajax と XML: Ajax を使った表
Ajax (Asynchronous JavaScript + XML) の 1 つの強みは、サーバーからのデータをユーザーに対して動的に表示することです。この記事では、表、タブ、グライダー (横方向のスライド) を使用した、Ajax による動的なデータ表示の手法をいくつか説明します。
    2008/03/11  
 
CSS の float プロパティー
CSS の float プロパティーは、Web デザイナーがページのレイアウトによく使う手法の 1 つですが、あまりよく理解されていないことが多く、またブラウザーごとに実装が異なるという問題があります。この記事では、float プロパティーとその一般的な使い方、開発ツールの問題、そしてブラウザーによる動作の違いについて説明します。
    2008/03/05  
 
Ajax での XML 処理: 第 1 回 4 つの手法
プログラミングの問題を解決する正しい方法は 1 つだけではありません。この連載では、Ajax (Asynchronous JavaScript + XML) による天気バッジを作成する 4 つの手法を取り上げます。このバッジは、どんな Web ページにでも簡単に組み込める再利用可能な小さなウィジェットです。第 1 回目となる今回の記事では、まず基本的な背景を紹介した後、1 番目の手法である DOM ツリーの探索について詳しく検討していきます。
    2008/03/04  
 
Ajax による改良: 第 1 回 Ajax と jQuery で既存のサイトを改良する
Ajax (Asynchronous JavaScript + XML) で既存のサイトを改良する連載の第 1 回目では、単純なモーダル・ウィンドウを使うことで、ポップアップ・ウィンドウを使わないようにし、さらにナビゲーションが脇道にそれて先に進まなくならないようにする方法を紹介します。
    2008/03/04  
 
Seasar2: 第 2 回 UOWManager によるトランザクションの制御
WebSphere Application Server(以下WAS)のV6.0.2.19またはV6.1.0.9以降では,WASのトランザクション・コンテキストを制御するための新しいインターフェースUOWManagerが使用できます。Seasar2などのフレームワーク製品は,このインターフェースを使用してトランザクション制御を行っています。
    2008/02/29  
 
OmniFind + Ruby on Rails による検索アプリケーションの高速開発
IBM OmniFind Enterprise Edition(以下OmniFind)は、イントラネットに存在する様々な情報を検索可能にするエンタープライズ向けサーチシステムを提供するソフトウェアです。エンドユーザーはOmniFindに付属のESSearchApplicationというWebアプリケーションを通じて、必要な情報を簡単に検索することが可能になります。またそれだけでなく、OmniFindではSIAPI(Search and Indexing API)と呼ばれる検索エンジン向けAPIを公開しています。そのため、オリジナル検索アプリケーションを作成することも可能になっています。
    2008/02/29  
 
Web サイトを引き継ぐ: Web サイトを維持管理可能な状態にする
理想の世界では、Web サイトの管理、改良、そして再設計は、Web サイトを作成した人自らが行います。残念なことに現実の世界では、誰か他の人が設計、あるいは構築したサイトを引き継がざるを得ないことがよくあります。
    2008/02/28  
 
コメント行: Roland Barcia: Dojo アプリケーションの初期ダウンロード時間を短縮するには
Ajax アプリケーションはいったんロードされると、それ以降はページ全体を再レンダリングするというオーバーヘッドを避け、データとコンテンツの小フラグメントを取得することで、パフォーマンスを向上させます。しかし大抵はそうすることによって、アプリケーションの初期ダウンロード時間が長くなってしまいます。この記事では、Dojo アプリケーションの初期ダウンロード時間を短縮すると同時に、素晴らしいパフォーマンスを実現するための方法を検討します。
    2008/02/27  
 
Project Zero および WebSphere sMash アプリケーションのセキュリティーを守る: 第 3 回 OpenID を使って Project Zero および WebSphere sMash アプリケーションを保護する
アプリケーション・リソースのアクセス制御ベースのセキュリティーは、Project Zero のコア機能のうちの 1 つです。OpenID はインターネット上で分散認証を行うための、オープンソースの新しいセキュリティー技術で、Web コミュニティーではこの技術への関心が次第に高まってきています。Project Zero ではこの新技術を導入し、セキュリティーの一部として提供しています。連載最終回となるこの第 3 回目の記事で、Project Zero Security の詳細、そして OpenID 認証を利用してアプリケーションに対してセキュリティー・ルールを定義し、ユーザー・レジストリーを拡張する方法を学んでください。
    2008/02/19  
 
Ajax による読心術アプリケーションを E4X と Prototype を使って作成する: 第 2 回 読心術をレベルアップする
この 2 回シリーズの記事では、E4X (ECMAScript for XML) と Prototype JavaScript ライブラリーの両方を使って Ajax による単純な読心術アプリケーション (20 の質問ゲーム) を作成する方法を学び、またその過程で新しいオブジェクトについて学びます。第 1 回ではこのアプリケーションのシステムを作成する方法を学びました。このシステムは既存のナレッジ・ベースを分析し、ユーザーが何を考えているかを判断します。この第 2 回では、ナレッジ・ベースに新しい情報を追加する方法と、Prototype JavaScript ライブラリーを使って Twenty Questions アプリケーションを外部のデータベースと統合する方法を学びます。こうすることで、1 人のユーザーがトレーニングした結果を、このゲームで遊ぶ他のユーザーが利用できるようにします。
    2008/02/19  
 
Grails をマスターする: GORM: おかしな名前の真面目な技術
どんな優れた Web フレームワークにも、確固としたパーシスタンス・ストラテジーは必要です。連載「Grails をマスターする」の第 2 回目では、Scott Davis が GORM (Grails Object Relational Mapping) API を紹介します。この記事を読めば、Grails アプリケーションでテーブル間の関係を作成し、データ検証ルールを設定し、さらにリレーショナル・データベースを変更するのがいかに簡単であるかがわかるはずです。
    2008/02/12  
 
JSF と CSS、JavaScript を使用して作成する Ajax アプリケーション: 第 2 回 動的な JSF フォーム
この 2 回連載の第 1 回目の記事では、Java 開発者である著者、Andrei Cioroianu が JSF (JavaServer Faces) コンポーネントのスタイル属性を使用し、これらの属性にデフォルト値を設定する方法を紹介しました。2 回目となるこの記事では、標準 JSF コンポーネントが持つ JavaScript 関連の属性を使用する方法を取り上げます。DOM (Document Object Model) API、JavaScript、そして CSS (Cascading Style Sheets) をベースとしたいくつかの Web テクニックを学んでださい。また、Web ページを更新しないで、オプションの JSF コンポーネントを非表示にしたり表示したりする方法、Web ブラウザーで実行されるクライアント・サイドの検証を実装する方法、さらに Web フォームの入力要素に関するヘルプ・メッセージを表示するカスタム・コンポーネントを開発する方法を紹介します。
    2008/02/12  
 
Ajax による読心術アプリケーションを E4X と Prototype を使って作成する: 第 1 回 20 の質問 のインフラを作成する
XML は Ajax データを渡すための自然なフォーマットのように思えます。しかし、DOM (Document Object Model) を使って JavaScript で XML を扱う方法は、Ajax データなどを扱う上では必ずしも最善の方法ではありません。そのため、開発者がもっとオブジェクトらしい感覚で扱える、JSON など他の選択肢が出てきます。一方、E4X (ECMAScript for XML) は、非常に容易なデータ・バインディングと DOM が持つ最高の機能の多くとを併せ持っているため、ブラウザーで XML を簡単に処理することができます。この 2 回シリーズの記事では、E4X と Prototype JavaScript ライブラリーの両方を使って Ajax による単純な読心術アプリケーション (20 の質問ゲーム) を作成する方法を学び、またその過程で新しいオブジェクトについて学びます。第 1 回では、ユーザーが考えているものを判断するシステムの作成方法について説明します。このシステムでは、既存のナレッジ・ベースを分析し、考えているものを判断します。
    2008/02/12  
 
Project Zero および WebSphere sMash アプリケーションのセキュリティーを守る: 第 2 回 LDAP を使用した認証と許可
アプリケーション・リソースのアクセス制御ベースのセキュリティーは、Project Zero のコア機能のうちの 1 つです。Project Zero Security の開発者たちは徹底的に単純化することを念頭に、セキュリティーを素早く簡単に実現できるように努めました。3 回連載の第 2 回目となるこの記事では、Project Zero Security の詳細を掘り下げ、ユーザー・レジストリーを作成する方法、アプリケーションにセキュリティー・ルールを定義する方法、そして LDAP ユーザー・レジストリーを利用する方法を説明します。
    2008/02/05  
 
真の Web 2.0: オープン・データにリンクする
LOD (Linking Open Data) について学びましょう。LOD は、分離した文書という考え方から広大なデータ情報空間へと Web を移行するための、コミュニティーによる活動です。LOD の重要な原則は、単純であること、Web 開発者が容易に採用できること、そして Web に関する他の多くの一般的な傾向を補完することです。データのコンポーネントを (皆さんが予想もしなかった方法で) 発見しやすく、価値を高め、再利用しやすくすることによって、データをもっと広く使われるようにする方法を学びましょう。
    2008/02/05  
 
Seasar2: 第 1 回 WebSphere Application Server へ Web アプリケーションをデプロイする
本連載では、軽量コンテナ Seasar2 を IBM WebSphere Application Server(以降 WAS と表記)や IBM DB2 と連携させる方法について紹介します。連載の第1回目となるこの記事では、Seasar2 を利用するWebアプリケーションをWASへデプロイする際に気をつけるべき事柄について説明します。
    2008/02/01  
 
JSF と CSS、JavaScript を使用して作成する Ajax アプリケーション: 第 1 回 JSF ページの外観を整える
一般的な Web アプリケーションには、カスケーディング・スタイル・シート (CSS) と JavaScript を JSF (JavaServer Faces) などのサーバー・サイド・フレームワークと一緒に使用する必要があります。CSS によって Ajax やその他のアプリケーション内での Web コンポーネントの視覚的特徴を変更し、見た目のよい独特の外観にすることができるからです。この 2 回連載記事の第 1 回目では、標準 JSF コンポーネントが持つ CSS 関連の属性を利用する方法を説明します。さらに、ネストされたコンポーネントのデフォルト・スタイルを設定するカスタム JSF コンポーネントを作成する方法も学びます。この方法を使えば、Web アプリケーションのすべてのページを統一された外観にするのが非常に簡単になるだけでなく、他のコンポーネントの属性をプログラムによって設定することも可能になります。続く第 2 回目の記事では、JavaScript を使って JSF フォームを一層動的にする方法を紹介します。
    2008/01/29  
 
Ranvier URL マッパー
Ranvier は Web アプリケーションのフレームワークに統合できる Python のパッケージであり、受信した URL リクエストをソース・コードにマッピングすることができます。Ranvier はそれを、正規表現に基づいて URL を書き換える一般的な方法とは異なる、委任と利用 (delegation-and-consumption) の機構を使って行います。また Ranvier は Web アプリケーションで扱われるすべての URL の中心的なレジストリーとしても動作し、ページをクロスリンクさせるために必要な URL を Ranvier 自体が生成します。このレジストリー機能によって、Ranvier はリンクの完全性を保証することができ、またカバレッジ分析を自動化することができます。Ranvier はピュア Python コードであり、サードパーティーにはまったく依存しません。そのため (アダプター・コードを少し追加することで)、Python ベースの任意の Web アプリケーション・フレームワークに Ranvier を利用できるはずです。
    2008/01/29  
 
Ruby テンプレート機能を Project Zero アプリケーションに追加する
Ruby ユーザーの皆さんにお知らせです。Project Zero アプリケーションを作成するときに Groovy ユーザーと PHP ユーザーができることを、今や Ruby ユーザーでもできるようになりました。前回の記事では、Ruby スクリプト言語をサポートするために Project Zero を拡張する方法を説明しました。そのなかで作成したコードは、Ruby ユーザーが自分たちのスクリプト作成技術を Zero プラットフォームに適用し、Zero ならではのプログラミング・モデルを利用できるようにするためのものですが、当然スクリプトを作成することだけが Ruby を使用してアプリケーションを作成する方法ではありません。Ruby on Rails フレームワークを使用するプログラマーは、JSP および PHP に似た HTML テンプレートにも Ruby を組み合わせています。RHTML ファイルと呼ばれるこれらのテンプレートは、動的ユーザー・インターフェースを作成する際に非常に役に立ちます。そこで、この記事では Ruby サポートを拡張して RHTML ファイルを組み込む方法を紹介します。Zero アプリケーションを作成するときに Groovy ユーザーと PHP ユーザーができるすべてのことを Ruby ユーザーにも可能にする方法を学んでください。
    2008/01/22  
 
PHP で作成するカスタマイズ可能な RSS フィード・アグリゲーター
RSS (Rich Site Summary、RDF Site Summary、あるいは Really Simple Syndication) が登場したのは 1990年代中頃です。それ以来、RSS 形式にはいくつかの変形が生まれ、その所有権をめぐる論争も起きました。しかし形はどうであれ、1 つの Web サイトから多数の Web サイトに Web コンテンツを配信する際に RSS が役立つことには変わりありません。RSS の人気はフィード・リーダー、あるいはフィード・アグリゲーターとも呼ばれる新しい種類の Web ソフトウェアの成長を可能にしました。市販のフィード・アグリゲーターはいくつかあるものの、自分なりのフィード・アグリゲーターを作成して自分の Web アプリケーションに統合するのも簡単です。フィード・アグリゲーターを独自に作成する際には、この記事で紹介する十分機能的な PHP コード・スニペットが役に立つはずです。このコードは、PHP をベースとしたサーバー・サイドの関数を使ってカスタマイズ可能な RSS フィード・アグリゲーターを開発する実例となります。さらに、記事に付属の RSS フィード・アグリゲーター・コードの完全版をダウンロードして、そのまま利用することもできます。
    2008/01/22  
 
Ajax と XML: フォームのための Ajax
HTML フォームをサーバーへの Ajax コールバックで拡張するという方法は、アプリケーションに Web 2.0 機能を追加するための実用的な方法です。この記事では、Ajax コードを追加して PHP アプリケーションのユーザー・エクスペリエンスを向上させる数々の手法を紹介します。
    2008/01/22  
 
Grails をマスターする: 初めての Grails アプリケーションのビルド
最新の Web 開発フレームワークを採用するために、Java プログラマーが好みの言語や既存の開発インフラストラクチャーを放棄する必要はありません。毎月 1 回お届けする新連載、「Grails をマスターする」の第 1 回目では、Java のエキスパートである Scott Davis が Grails を紹介し、初めての Grails アプリケーションをビルドする方法を手ほどきします。
    2008/01/15  
 
JavaFX Script で作るリッチ・アプリケーション
昨年春にデビューした JavaFX Script は、Java SE (Java Platform, Standard Edition 6) 上で動作し、高度なユーザー・インターフェースを簡単にコーティングできるようにするスクリプト言語です。この記事を読んで、JavaFX スクリプト言語の基本事項を学ぶとともに、サンプル・アプリケーションの作成を通して基本的な UI コンポーネントについて理解してください。
    2008/01/15  
 
jpa2web を使って Ajax J2EE Web アプリケーションを生成する
新しいオープンソース・ツール、jpa2web を学び、試し、そしてこのツールに貢献しましょう。jpa2web は JPA アノテーション付きの Bean から J2EE Ajax ベースの Web アプリケーションを生成します。ZK フレームワークを利用してこのツールで生成されたアプリケーションでは、使いやすい Ajax ベースの Web ユーザー・インターフェースをとおして、データベースに同期されたオブジェクトのインスタンスの追加、削除、検索、修正、さらにはそのインスタンス間の相互接続をすることができます。
    2008/01/15  
 
堅実な Ajax アプリケーション: 第 2 回 Ajax のバックエンドを作成する
バックエンドの処理、つまりサーバー・サイドのスクリプトとプログラムは、必ずしも Ajax アプリケーションの中に組み込んでおけば適切に動作するとは限りません。むしろ、適切かつ効率的な形式でデータが送信されるように注意深く計画することで、アプリケーション全体を必要以上に複雑なものにせず、1 つにまとまったものにすることができるようになります。今回は Brett McLaughlin が、適切なサーバー・サイド・スクリプトによって Ajax の動作を補完できることを説明します。
    2008/01/15  
 
Project Zero の紹介: 第 2 回 SOA での RESTful なアプリケーション
IBM の Project Zero を紹介するこの連載で、Web アプリケーションを作成し、組み立て、そしてデプロイする、Zero ならではの革新的手法を解説付きツアーで体験してください。第 1 回の記事では単純で RESTful なサービスを作成する手順を通して Project Zero を紹介しました。第 2 回目となるこの記事では、引き続き Project Zero が RESTful なソリューションの構築にどのように役立つかを学びます。今回重点とするのは、アプリケーション中心の設計、RESTful なデータのモデル化、REST によるセキュリティー、そして簡易化された RIA および統合です。
    2008/01/15  
 
Project Zero のデータ・アクセス API 使って作成する単純なウィキ
Project Zero は、サービス指向アーキテクチャー (SOA) に準拠した Web 2.0 アプリケーションのアジャイル開発を焦点として単純化された開発プラットフォームです。そんな Project Zero が武器とするライブラリーのなかに、SQL クエリーを実行するための簡易 API があります。この記事では、これらの API を利用して単純なウィキを作成する方法を説明します。
    2008/01/08  
 
Web アプリケーションのクロスブラウザー・テストを容易に行う
「複数のブラウザーでのテスト」は、テスト対象となるブラウザーが複数になって以来、お題目のように唱えられてきました。すべてのブラウザーに対してテストすることは、(特に最近では) 不可能です。しかし、皆さんが考えるよりももっとその状態に近づけることができるのです。この記事では、クロスブラウザーのテストを行うためのさまざまな手法を、非常に完璧なものから間に合わせのものまで含めて学びます。どの手法を選ぶかはお持ちのリソース次第で変わってきますが、無視することのできない重要な問題です。
    2007/12/18  
 
RESTful なインターフェースと Project Zero を使って HTTP サーバーを管理する
WS-* のユーザーと REST のユーザーとの間では、さまざまな領域の問題についてどちらの技術がより適しているかという議論が続いています。そのなかで WS-* のユーザーがよく主張することは、より複雑なエンタープライズ・レベルの問題は RESTful な手法では解決できないという意見です。そのような意見が本当かどうかを試すため、この記事では REST ユーザーの間ではあまり取り上げられない問題領域 (つまりシステム管理) のための RESTful なソリューションを作成してみます。以前、私は developerWorks のチュートリアルで HTTP サーバー製品を管理するための Web サービス・インターフェースの作成方法を紹介しました。そのチュートリアルのなかでは、WSDL の概念と WS-* 標準を使って Apache Muse および Apache Axis から管理インターフェースとソフトウェアを定義し、管理アプリケーションを作成しました。今回の記事ではこのアプリケーションのインターフェースと関数をProject Zero、そして REST の設計原則に基づいて作り直し、REST がこのエンタープライズ・プロジェクトに有効な選択肢であるかどうかを判断します。
    2007/12/18  
 
OpenLaszlo: パフォーマンスの調整
パフォーマンス面を考慮したLZXコーディングの要点としては、各画面の表示(インスタンス生成)やデータ表示(データバインディング)という特に負荷の高い処理に対して注意を注ぐことになります。どちらの処理にしても、一度に全てを処理させず、いかに効果的に処理を後回しさせるかということに尽きます。本稿ではその点に重点を置いたLZXコーディングの方法を紹介します。
    2007/12/14  
 
ヒント: 非同期コールバックを最大限に利用する
JavaScript アプリケーションで Ajax データ・ソースに対する非同期コールバックを最大限に利用するためには、ある程度工夫した処理が必要です。このヒントでは、なぜ Ajax データ・ソースに対して非同期コールバックを使う必要があるのかについて説明します。また、相互に依存するアプリケーションのデータ・ソースを適宜利用できるように調整し、いつでも非同期呼び出しに対応できるようにする例についても説明します。
    2007/12/11  
 
Ajax と XML: チャットのための Ajax
Ajax (Asynchronous JavaScript + XML) と PHP を使って Web アプリケーションにチャット・システムを組み込む方法を学んでください。チャット・システムを組み込めば、特別なインスタント・メッセージ・ソフトウェアをダウンロードまたはインストールしなくても、サイトのコンテンツについてサイトの利用者が意見を述べたり、利用者同士が話し合えるようになります。
    2007/12/04  
 
OpenLaszlo: パフォーマンスの考察
日本では意外と知られていないオープンソースのRIA/Ajax開発プラットフォームであるOpenLaszloについて、“システム開発”の視点からその導入方法について紹介する連載です。今回は、パフォーマンスに気をつけたLZXコーディングを行う前に、アプリケーションのパフォーマンスの勘所と切り分け方について解説します。
    2007/11/30  
 
HTML V5 と XHTML V2
HTML V5 と XHTML V2 はどちらも既存のバージョンを改善することを目的としていますが、その改善を行うために開発者が選択した方法は非常に異なっています。この両標準の異なる設計思想がもたらす結果も明らかに異なっており、ブラウザーの長い歴史の中で初めてのことですが、今後のブラウザーのバージョンの方向性が明確でなくなっています。この記事では、この 2 つの標準の詳細の背景にある、全体像を探ります。
    2007/11/20  
 
developerWorks インタビュー: Web 2.0 EXPO Tokyoにてティム・オライリー氏に聞く
2007年11月15、16日、アジアで初となる Web 2.0 EXPO Tokyo が開催されました。私は、アドバイザリー・ボード・メンバーとして、USからロッドスミスを迎え、キーノート・スピーチの準備をするなど、このイベントを裏で支えてきました。Web 2.0 という単語の生みの親とも言えるティム・オライリー氏と、2日目のキーノートの直後にちょっとした会話をする機会を得ました。ティムはとてもフランクに、そして、楽しそうに会話してくれました。そのときの様子をIBMのXMLデータベース/Info 2.0 エバンジェリストである中林紀彦とともにお送りします。
    2007/11/19  
 
Ajax をベースとした永続オブジェクトのマッピング
Persevere は、永続オブジェクトとブラウザーの JavaScript 環境とのマッピングを実現する永続オブジェクトのフレームワークです。オブジェクトの永続化が Java プログラミングと Ruby の世界で絶大な人気を博したことからわかるように、オブジェクトと永続データとのマッピングに適しているのは当然、動的 JavaScript 言語です。Persevere は Ajax (Asynchronous JavaScript + XML) をベースとした Web アプリケーションでのマッピングと通信を自動化するだけでなく、管理可能なデータ・モデルを提供し、透過的なクライアント・サーバー間の Ajax 交換、状態変更の自動保存、そして暗黙的トランザクション管理を行うことによって開発作業の手間を大幅に省きます
    2007/11/13  
 
ヒント: セッション状態を使って不必要な Ajax トラフィックを回避する
Ajax ベースのアプリケーションを始めとする Web アプリケーションを可能な限り RESTful な方法で作成すると、さまざまな種類のバグを回避することができます。しかし REST (REpresentational State Transfer) の落とし穴は、似たような XMLHttpRequest で重複したデータを送ってしまうことです。このヒントでは、セッション・クッキーを適切に使うことでサーバー・サイドの状態を必要最低限だけ保持することができ、それによってクライアントとサーバー間のトラフィックを大幅に削減でき、しかもクッキーを必要としない操作にも戻れることを説明します。
    2007/11/13  
 
ヒント: セッション状態を使って不必要な Ajax トラフィックを回避する
Ajax ベースのアプリケーションを始めとする Web アプリケーションを可能な限り RESTful な方法で作成すると、さまざまな種類のバグを回避することができます。しかし REST (REpresentational State Transfer) の落とし穴は、似たような XMLHttpRequest で重複したデータを送ってしまうことです。このヒントでは、セッション・クッキーを適切に使うことでサーバー・サイドの状態を必要最低限だけ保持することができ、それによってクライアントとサーバー間のトラフィックを大幅に削減でき、しかもクッキーを必要としない操作にも戻れることを説明します。
    2007/11/13  
 
Ruby on Rails でのモックとスタブの作成
スタブとモックを作成する手法と方策のベースとなる基本事項を、Ruby 用の最も一般的な 3 つのモック作成用フレームワークを使いながら実践的に理解しましょう。
    2007/11/07  
 
Java EE と Web 2.0 との出会い
標準 Java EE (Java Platform, Enterprise Edition 5) ベースの手法で開発した Web 2.0 アプリケーションはパフォーマンスとスケーラビリティーに関する深刻な問題に直面します。その理由は、同期 API の使用をはじめ、Java EE プラットフォーム設計の基礎となる多くの原則が、Web 2.0 ソリューションの要件には適用されないためです。この記事では、Java EE と Web 2.0 での手法の違いを解説し、非同期設計がもたらすメリットを検討するとともに、Java プラットフォームで非同期 Web アプリケーションを開発する際のソリューションをいくつか取り上げて評価します。
    2007/11/06  
 
OpenLaszlo: Flashならではの表現力 - OpenLaszloのSWFコンパイル
2回目の記事でOpenLaszlo4を使って一つのソースコードからSWFとDHTMLの両方を出力させる方法がわかっていただけたでしょうか。今回はブラウザに搭載されたJavascriptでは表現できない機能をswfコンパイルを使うことで実現する方法を紹介したいと思います。ここではフォントの埋め込み、画像やフォントの回転、プログラムによる描画といった表現力の向上と、ビデオ、オーディオのストリーミング機能を使ったビデオ配信やweb会議システムの構築などリッチメディアを扱う方法をオープンソースのストリーミングサーバーRed5を使って作成する方法を説明します。
    2007/11/02  
 
最適化された期待どおりの Ajax アプリケーション
開発者にとって、ブラウザー、コンピューター・モデル、そして Ajax アプリケーション・ユーザーのどれもがすべて同じだったら楽だと思いませんか? それはそうかもしれませんが、現実は違います。開発者がブラウザー、コンピューター、個々のユーザー設定の違いに関わらず、期待どおりに振る舞うアプリケーションを開発しようとするときには、数え切れないほどの難問に直面します。例えばユーザーがあるブラウザーからタイプの異なるブラウザーに Ajax アプリケーションを対応させる場合 (特に、Ajax アプリケーションを Web サービス・ポータルへ移す場合)、同じブラウザー・エクスペリエンスは保証されません。ブラウザーにはそれぞれ固有の制約があるためです。この記事では著者の Judith Myerson がブラウザー固有の制約と避けなければならない落とし穴、そしてブラウザー間の違いを克服するために役立つソリューションを簡単に説明します。
    2007/10/30  
 
World Wide Wits: Web でホストされた壊されにくい頭脳を構築する
HTTP トランスポート・コードに単純なニューロン実装を付加し、観察者からは (たとえソース・コードにアクセスできる人であっても) 非常に内容を把握しにくい堅牢な分散コンピューティング・アプリケーションを構築しましょう。
    2007/10/30  
 
OpenLaszlo: OpenLaszloで簡単にリッチなAjaxアプリ開発
OpenLaszloは非同期通信、動的更新といったAjaxの特徴を備えながら、しかもFlashコンテンツなどリッチなUIを持つRIAアプリ開発を実現できるフレームワークです。OpenLaszloバージョン4からそれらの特長を生かしたままDHTML(Ajax)出力もできるようになり、適用範囲が大きく広がりました。本稿では一例として同じ動作をするサンプルプログラムについて一般のAjaxとOpenLaszloでのコードを比較し、その大きな違いとOpenLaszloの利点について解説します。
    2007/10/26  
 
Ajax と XML: メディアのための Ajax
幅広く利用可能なブロードバンド・メディアの出現により、ムービー、画像、そして音声が Web 2.0 革命の原動力となっています。この記事で、メディアに PHP や Ajax (Asynchronous JavaScript + XML) などの技術を組み合わせてカスタマーに魅力的なエクスペリエンスを提供する方法を学んでください。
    2007/10/23  
 
AjaxTags で Ajax 開発を容易にする
Web 2.0 の時代には、Web ベースのアプリケーションのユーザビリティーと応答性に関する開発者やユーザーの期待はずっと高くなっています。この 2 年間ほど岩の下に住んでいたのでもない限り、皆さんはAjax (Asynchronous JavaScript + XML) の手法について聞いたことがあるはずです。Ajax を使えば、洗練されていていて、応答性が良く、しかも非常に動的なブラウザー・ベースのユーザー・インターフェースを、ブラウザーがページをリロードせずに作成することができます。この記事では AjaxTags について見ていきます。AjaxTags は Java/JavaScript ライブラリーであり、JSP ページに Ajax の機能を容易に統合することができます。
    2007/10/23  
 
OpenLaszlo: 今すぐできるWebシステムのRIA/Ajax化
日本では意外と知られていないオープンソースのRIA/Ajax開発プラットフォームであるOpenLaszloについて、”システム開発”の視点からその導入方法について紹介する連載です。WebシステムをRIA/Ajaxにしたい/してみたいとお考えの皆さん。OpenLaszloを使えばシステムに大幅な変更をせずに、今すぐにでも移行できます。OpenLaszloはMVCモデルを*完全に*実現します。そのため、OpenLaszloでクライアントプログラムを作成すればサーバサイドはほぼそのまま現状のものを使うことができます。連載第一回目は、OpenLaszloを導入した際にサーバサイドプログラムがどうなるかについて解説いたします。
    2007/10/19  
 
XUL を使ったブラウザー拡張機能、第 2回: クロスプラットフォームの Firefox 拡張機能を組み立てる
XUL を利用すると、クロスプラットフォームのブラウザー拡張機能や、さらにはスタンドアロンのアプリケーションでさえ、驚くほど容易に作成することができます。この記事では Mozilla ブラウザーの拡張機能を作成する方法を学びます。これらの拡張機能はユーザーのブラウザー自体に組み込まれるため、組み込みのスクリプト言語や CGI など他のツールの機能を超えるほど強力で柔軟です。
    2007/10/16  
 
Project Zero と REST の設計原則に従ってフォト・アルバム・アプリケーションを作成する
Project Zero の主な目標の 1 つは、リッチ・インターネット・アプリケーション (RIA) を簡単に作成できるようにすることです。RIA アプリケーションの優れた例には、Flickr 写真共有サービスがあります。REST の原則と Ajax (Asynchronous JavaScript + XML) 手法、そして動的スクリプト言語を使って設計された Flickr は、ユーザー・フレンドリーであるだけでなく、スケーラブルで拡張可能なサービスを提供しています。このように他の RIA 作成者が目指している特徴の数々を備えた Flickr を Zero で再現すれば、RIA プラットフォームとしての Zero を検証する最良の方法となるはずです。この記事では、既存の Zero コンポーネントを組み合わせて、今日の Flickr が提供する機能の多くをサポートする写真共有サービスを作成します。この過程を通して、RESTful な設計、HTTP によるコンポーネントの接続、そして Zero にはまだ組み込まれていない機能を JavaScript を使って実現する方法を学んでください。
    2007/10/16  
 
堅実な Ajax アプリケーション: 第 1 回: フロントエンドを作成する
Ajax が新しい業界用語として依然話題を集めているなか、Ajax 技術を使用したアプリケーションが次々と作られています。しかし優れたアプリケーションとなると、そう簡単に作れるわけではありません。この記事では、直観的で使いやすい Ajax 駆動型アプリケーションを作成する方法に焦点を当てます。
    2007/10/16  
 
Ajax による JSF フォームの自動保存: 第 3 回
この連載の第 1 回では、Java 開発者である著者の Andrei Cioroianu が Ajax (Asynchronous JavaScript + XML) によって Web フォームのユーザー入力を送信し、JSF (JavaServer Faces) によって Ajax リクエストを処理する方法を説明しました。続く第 2 回では、サーバー側でのデータ管理を取り上げ、自動的に保存されたフォーム・データを維持するためのデータ・リポジトリーを紹介しました。3 回からなる連載の最終回となるこの記事で説明するのは、おそらく読者が想像する以上に巧妙な JSF フォーム・データのリストア方法です。興味深い JSF 手法として、JSF コンポーネントの immediate および onclick 属性を使用する方法、JSF リクエスト処理のライフ・サイクルのいくつかのフェーズを省略する方法、隠しフォーム要素を使って JSF リスナーを起動する方法を学んでください。この記事ではさらに、JSP/JSF 式を JavaScript コードに組み込む方法や JSF コンポーネントのレンダラーで生成された HTML フォーム要素と併せて JavaScript を使用する方法、そしてアプリケーション Bean のシリアライズおよびデシリアライズを行うサーブレット・コンテキスト・リスナーを実装する方法も説明します。
    2007/10/09  
 
XUL を使ったブラウザー拡張機能、第 1 回: ユーザー・インターフェース機能を持つ Firefox のブラウザー拡張機能を作成する
Web ブラウザーに組み込まれた機能を超える拡張機能を作成しましょう。Mozilla プロジェクトの XUL エンジンは、Mozilla ブラウザーの拡張やスタンドアロンのアプリケーション作成に使用できるユーザー・インターフェース言語です。XUL を使うことで、驚くほど容易にクロスプラットフォームのブラウザー拡張機能を作成することができます。この 2 回シリーズの記事では、その方法について説明します。
    2007/10/02  
 
XML 的思索: Firefox 2.0 と XML
Firefox 2.0 は XML サポートに関して、いくつか重要な変更を行っています。Firefox 2.0 は現在、これまでの Firefox のなかで最も多くのユーザーに使われています。Firefox 2.0 で更新された XML 機能について学びましょう。更新された機能の中には、議論の多い、RSS Web フィードの処理方法の変更も含まれています。
    2007/10/02  
 
Ajax と XML: Ajax を適用したライトボックス
あらゆるものがユーザーを驚嘆させ、気を散らすことを目的としている世界では、そう簡単にユーザーの関心を引くことはできません。ライトボックス、ポップアップ、ウィンドウ、そしてフェードするメッセージなど、Ajax を使った新しい手法を学んでユーザーの目を皆さんのコンテンツに向けさせてください。
    2007/09/25  
 
Ajax による JSF フォームの自動保存: 第 2 回
連載「Ajax による JSF フォームの自動保存」の第 1 回では、Java 開発者である著者、Andrei Cioroianu が Ajax (Asynchronous JavaScript + XML) および JSF (JavaServer Faces) 技術を用いて、Web フォームを自動的に保存する Java アプリケーションを作成する手順を紹介しました。この手順に沿って、JavaScript と XMLHttpRequest を使ってフォーム・データを取得、エンコード、送信する方法、Ajax リクエストの処理に JSF リクエスト処理のライフ・サイクルを適応させる方法、JSF コンポーネント・ツリーから送信されたデータをサーバー側で取得する方法を理解できたはずです。3 回連載の 2 回目となるこの記事では、ブラウザー・セッション間で匿名ユーザーを識別する方法、複数のユーザーとページに対して自動保存されたフォーム・データを管理する方法、データ・リポジトリーを選択する方法、そしてスレッド・セーフの問題に対処する方法を説明します。
    2007/09/18  
 
コード品質を追求する: ビヘイビア駆動開発を舞台にした冒険
テスト駆動開発 (TDD) は実際には素晴らしいアイデアですが、一部には、テストという言葉に結び付けられた考え方の飛躍にどうしてもついていけないという開発者もいます。そこでこの記事では、より自然な形で TDD のこの考え方をプログラミング・プラクティスに取り入れる方法を紹介します。JBehave を使ったビヘイビア駆動開発 (BDD) を試して、結果ではなくプログラムの振る舞いに重点を置くと、どんな変化が生まれるのか自分自身で確かめてください。
    2007/09/18  
 
Web 開発のヒント: すべての Web サイトに必要な 10 の (あるいはさらに多くの) ファイル
どのような CMS (Content Management System) や Web アプリケーション・フレームワークを使って Web サイトを開発する場合にも、必ず守らなければならない基本があります。高度なユーザー・インターフェースやリッチなコンテンツを持つことは素晴らしいことですが、そこに至る前に、当然見つかるものとユーザーが期待する、またそのサイトが何をするのかを人間に対しても機械に対しても伝える、基本ファイルを提供する必要があります。
    2007/09/11  
 
Project Zero アプリケーションのデータベース構成と依存関係を最適化する
Project Zero 開発プラットフォームには使いやすいデータ・アクセス・ライブラリーが組み込まれているため、開発者は最小限の構成作業を行うだけで自分たちのアプリケーション・コードから SQL 文を実行できます。実際、データベースをセットアップして接続するのに必要なのは、たった 4 行の構成ファイルと基本的な SQL の知識だけです。そのどちらも、平均的な Web 開発者の負担になるはずがありません。しかし、これほど単純なデータベース駆動型の開発でも、データベース駆動型コンポーネントのパッケージ化に関しては十分に考慮しなければならない懸念事項がいくつかあります。設計が適切でないと Zero コンポーネントが依存関係を引きずるため、他の開発者たちが容認できない前提を生み出してしまうからです。この記事では、データベース駆動型コンポーネントを他の Zero 開発者たちが簡単に再利用できるように構成およびパッケージ化するためのベスト・プラクティスを説明します。
    2007/09/11  
 
真の Web 2.0: ユーザー生成型コンテンツの代表格、ウィキペディア
ウィキペディアを手本にして、皆さんの Web サイトにユーザーが投稿するように促してください。オープン・ソースをベースに作成されたウィキペディアは、ユーザーの地理的多様性や潜在するユーザー補助のニーズを考慮したサイトです。また、ユーザーの投稿を支援するツールを提供するだけでなく、その投稿が検証され、幅広いコミュニティーで議論されるという雰囲気を作り出しています。
    2007/09/04  
 
Web サービスの脆弱性を避けながら Ajax アプリケーションをスピードアップさせる
効率的な処理を行える Ajax アプリケーションをデプロイしたからといって、SLA (Service Level Agreement) のサービス・レベルを高く維持できるとは限りません。効率的な処理を行えるようにどんなにうまく Ajax 形式のコードを変更したとしても、リスクと脆弱性は常に存在します。そのため、そのリスクと脆弱性を監視して軽減することも必要となるのです。この記事では developerWorks でお馴染みの著者、Judith Myerson が簡単に Ajax を復習し、Web サービスの脆弱性とは何か、そしてなぜ SLA が重要なのかを説明し、Ajax アプリケーションの速度を上げるためのソリューションをいくつか提案します。
    2007/08/28  
 
Web サーバーのクラスターをセットアップする 5 つの簡単なステップ
Linux Virtual Server と Heartbeat v2 を使用した 5 つの簡単なステップで、複数の物理または仮想 Linux サーバーにまたがる高可用性 Apache Web サーバー・クラスターを構成してください。
    2007/08/22  
 
DWR を使用した Ajax ベースのファイル・アップロード・ポートレットの開発
ファイル・アップロードは今日の Web ポータルにとって基本的な機能です。この記事では、Xiaobo Yang と Rob Allan が DWR (Direct Web Remoting) を使って Ajax をベースとした JSR 168 準拠のファイル・アップロード・ポートレットを開発する方法を説明します。DWR はサーバー・サイドにデプロイされた Java クラスに基づいて動的に JavaScript を生成するため、Java 開発者にとっては理想的な Ajax フレームワークとなります。この記事を読んで、DWR を利用してポータル・サーバーからファイル・アップロードの進行状態を取得する方法を学んでください。
    2007/08/21  
 
Web 開発のヒント: スレッド化された Python データベースのアクセスに antipool.py を使う
データベースは、多くの並行リクエストを適切に処理してくれます (そのように動作することは、ほとんどデータベースの定義にあるとおりです)。しかしアクティブなプロセス (スレッド化された、あるいはフォークされたプロセス) は、ほとんど必然的に、貴重なリソース、つまりデータベース接続を使い尽くします。Martin Blais の antiorm ライブラリーにある antipool.py モジュールは、接続のプールや再利用をプログラマーには見えないようにし、しかも RDBMS に依存することなくそれを行うという便利なものです。
    2007/08/21  
 
PHP と XML による iPhone 開発
Apple の iPhone は市場で最もホットな新製品です。既存の Web ツールを使って iPhone 用のアプリケーションを開発する方法を学びましょう。
    2007/08/14  
 
真の Web 2.0: ブックマークレットを使用して手軽に作成する Web アプリケーション
Web 2.0 は、驚くような新しい発明をベースにしているのではなく、長年の Web 技術に改めて重点を置いていることで有名です。そんな Web 2.0 での復活を謳歌している Web 技術の 1 つとしては、ブックマークレットが挙げられます。ブックマークレットは基本的には、通常のブラウザー・ブックマークに押し込められた Web アプリケーションです。この記事では、完全に機能する 1 つのブックマークレットとそのインストール手順を紹介します。このブックマークレットを使えば、あらゆる Web ページでテキストを強調表示して、そのテキストを IBM developerWorks で検索することが可能になります。
    2007/08/07  
 
HTML 5 の新要素
HTML 5 は、2000年以降初めて、HTML に新しい要素を導入します。新しい構成要素には aside と figure、そして section があります。新しいインライン要素には time と meter、そして progress があります。新しい埋め込み要素には video と audio があります。新しい対話要素には details と datagrid、そして command があります。
    2007/08/07  
 
Rich Web Application Backplane に向けての計画
今やマッシュアップと Ajax は、どちらも Web の世界にしっかりと定着しています。両者を組み合わせることで、リッチな Web アプリケーションを作成することができます。この記事では、現在は W3C Note である Rich Web Application Backplane について説明します。Rich Web Application Backplane はこの分野を標準化するために設計されており、Web アプリケーションでよく利用される一連の共通ビルディング・ブロックあるいはコンポーネントを提供します。
    2007/07/31  
 
Ajax と XML: 評価とコメントのための Ajax
人々によって Web が動かされるこの時代、読者がサイトのコンテンツにランクを付けたり、論評できるようにすることは必須です。Ajax を使えば、どんなに簡単に評価機能とコメント機能をサイトに追加できるのか、この記事を読んで理解してください。
    2007/07/24  
 
コード品質を追求する: Ajax アプリケーションのユニット・テスト
Ajax アプリケーションを作るのはワクワクすることですが、そのアプリケーションのユニット・テストには実に四苦八苦します。今回の記事で Andrew Glover が取り上げるのは、そんな Ajax のマイナス面 (マイナス面のひとつである)、非同期 Web アプリケーション特有のユニット・テストの問題です。彼が発見したように、Google Web Toolkit の助けを借りれば、この非同期 Web アプリケーションのコード品質の問題を思ったより簡単に解決することができます。
    2007/07/24  
 
現実の世界の Rails、第 3 回: ActiveRecord を最適化する
ActiveRecord は素晴らしいパーシスタンス・フレームワークですが、下位レベルの詳細を隠してしまうため、パフォーマンスの問題を起こしがちです。最も一般的な問題を見つけ、その解決方法を学びましょう。
    2007/07/17  
 
軽量 Web サーバー
最近では、lighttpd や litespeed、mongrel など、興味深い Web サーバー実装が全盛です。これらの Web サーバーは、パフォーマンスや管理の容易さ、移植性、セキュリティー、その他関連する価値をさまざまに組み合わせ、独特の機能を誇っています。これから述べる工学研究では、軽量 Web サーバーの領域について調査し、皆さんの次期プロジェクトの技術要件を満足できそうな 1 台を見つけるために役立てたいと思います。
    2007/07/10  
 
より柔軟なエンタープライズのために Web 2.0 アーキテクチャーを使う
Web 2.0 のリポジトリーは柔軟なソフトウェア・アーキテクチャーを作成する上で役立ち、Web 2.0 コミュニティーやエクストラネットに容易にプラグインすることができます。しかし、変更の容易さやパフォーマンス、セキュリティー、スケーラビリティー、再利用性などへの要求にも対応できる、柔軟なシステムを作成することは簡単ではありません。この記事では、確実に品質要求を満足できる Enterprise Web 2.0 アーキテクチャーを作成するために役立つ手法を学びます。
    2007/07/10  
 
Ajax - 困っている人のためのガイド、第 1 回: Ajax のツールと手法の調査
Ajax (Asynchronous JavaScript + XML) プログラミング手法がますます Web アプリケーションの開発において威力を振るうようになってきた今、新しい開発者たちが毎日 Ajax 開発の世界に足を踏み入れています。しかし、それぞれの開発者が使ってきた開発手法と Ajax は本質的に異なります。そんな開発者に対して、この連載の第 1 回では、IBM の Ajax 開発者からなる専門家チームの Ajax 開発リソースが使用している Ajax 開発のチートシートを紹介します。筆者らは、Ajax 開発立ち上げ時の経験を元に、効果的な Ajax 開発への近道となる実用的な情報を提供します。
    2007/07/10  
 
MMOG (Massively multiplayer online game) : 第 3 回 MMOG をホスティングする際の潜在的な問題を解決する
MMOG (massively multiplayer online game) は、何十人もの開発者や何百人ものアーティスト、そして大規模なインフラを必要とします。この記事は MMOG を解説するシリーズの第 3 回目として、オンライン・ゲームをホスティングする際に起こりうる問題に対処する方法について解説します。問題を効果的に解決するためのいくつかのヒントを見つけ、また、1 度限りの販売にとどまらない、新たな収入源について学びましょう。
    2007/07/03  
 
JsonML の紹介
JSON (JavaScript Object Notation) の台頭は、Ajax (Asynchronous JavaScript + XML) の台頭と密接に関係しています。JSON は JavaScript オブジェクトに再び変換可能なデータを簡単に送信できるという点では便利ですが、オブジェクトを処理するカスタム・スクリプトが必要になります。この JSON を拡張しているのが、JsonML です。このマークアップ言語では、JSON タイプのマークアップを使って XML データをマッピングすることが可能で、JSON マークアップをベースとした XML や XHTML データの作成、そしてユーザー・インターフェース (UI) 要素の作成、交換を容易に行えるようにします。この記事では、そんな重宝なツールを活用する方法を説明します。
    2007/07/03  
 
Hamlet を実装する
Hamlet フレームワークは、Java サーブレットを拡張してコンテンツと表示を強制的に分離するために開発されました。この記事では、著者の Ren Pawlitzek が、このフレームワークをさらに進化させ、テンプレート・エンジンの洗練した使い方をすることで、動的コンテンツを提供するための、新しい方法を紹介します。
    2007/07/03  
 
現実の世界の Rails、第 2 回:高度なページ・キャッシング
通常、ユーザーに関連するコンテンツによってページ・キャッシングは無効になりますが、これは各ユーザーのコンテンツが少しずつ異なるためです。JavaScript をクッキーと組み合わせて使うと、たとえカスタムのユーザー・データを表示する場合であってもページ・キャッシングを使うことができます。この記事では、Ruby on Rails での高度なページ・キャッシングについて説明します。
    2007/06/26  
 
PHP の SDO/SCA 拡張機能を使う
PHP の SCA 拡張機能は PHP のための Web サービス実装です。この拡張機能を利用すると、PHP クラスで PHP のアノテーションを使って SCA (Service Component Architecture) コンポーネントを容易に作成することができます。また、データの表現に SDO (Service Data Objects) を使うこともできます。この記事では、PHP の SCA 拡張機能を使って Web サービスを作成する方法と、Web サービスのデータを SDO を使って表現する方法について説明します。
    2007/06/19  
 
Ajax と Apache Geronimo による非同期メッセージ・フレームワークの作成
Apache Geronimo を Ajax (Asynchronous JavaScript + XML) ユーザー・インターフェース (UI)、非同期メッセージング・システム、そして疎結合ビジネス・サービスと組み合わせて、応答性の高いエンタープライズ・クラスの Web アプリケーション・フレームワークを作成します。
    2007/06/19  
 
エンドツーエンドの Ajax アプリケーション開発、第 2 回: Ajax クライアント層とサーバー層の実装
Ajax (Asynchronous JavaScript + XML) は、ブラウザー・プラットフォーム上で実行する Web アプリケーションにデスクトップ品質のソフトウェア機能を実現する最新の方法として急速に広がっています。この 3 回連載記事の第 2 回では、引き続きオープン・ソース・コミュニティーから入手できる技術でエンドツーエンドの Ajax アプリケーションを開発する方法について説明します。
    2007/06/19  
 
Ajax アプリケーションに対するセキュリティーの脅威を克服する
Ajax (Asynchronous JavaScript + XML) は Web 2.0 の鍵となる技術です。Ajax を利用すると、ユーザーは Web ブラウザーが行うサーバーとの通信とは別に、Web ページと対話動作を行うことができます。何よりも Ajax によって、複数のコンテンツあるいはサービスを 1 つのユーザー・エクスペリエンスに統合するマッシュアップが促進されます。しかし、動的でマルチドメインという性質を持つ Ajax とマッシュアップ技術によって、新しいタイプの脅威が生じます。この記事では、Ajax 技術に関連する脅威について学び、そうした脅威を回避するためのベスト・プラクティスを見つけましょう。
    2007/06/19  
 
XHTML 2 を今すぐ使う
XHTML 2 仕様はまだ完成していませんが、既に XHTML 1 よりも優れた点を数多く持っています。例えば、さまざまな構造を取り得るようになったため、単一ソースのパブリッシング・システムの中心スキーマとしての役割を担う編集フォーマットとして、XHTML 1 よりも実用的です。XHTML 2 の新しいユーザー・インターフェース機能をブラウザーがサポートするまで待たなくても、大規模な、あるいは小規模なパブリッシング作業を行うために、これらの機能を今からでも使い始めることができます。
    2007/06/12  
 
シームレスな JSF、第 3 回: JSF と相性のいい Ajax
JSF のコンポーネント・ベースの手法は抽象化を促進しますが、大抵の Ajax 実装は基礎となる HTTP 交換を公開するため、抽象化の妨げとなります。連載「シームレスな JSF」の最終回となるこの記事では、Dan Allen が Seam Remoting API と Ajax4jsf コンポーネントを使って、ブラウザー・サイドの Bean と通信しているかのようにサーバー上の管理対象 Bean と通信する方法を説明します。JSF イベント駆動型アーキテクチャーにふさわしい改善として Ajax を利用するのがどれほど簡単か、そして JSF コンポーネント・モデルに影響を与えずにこの改善を行う方法を学んでください。
    2007/06/12  
 
W3C マルチモーダル・アーキテクチャー、第 3 回: マルチモーダル Web サービス
Gerald McCobb が連載の締めくくりとして、W3C マルチモーダル・アーキテクチャーを汎用テンプレートとして使ってマルチモーダル Web サービスを開発する方法を紹介します。
    2007/06/12  
 
ActiveScaffold を使って Ruby on Rails を機能アップする
Ruby on Rails の ActiveScaffold プラグインを使うことで、時間を節約して、頭痛の種を解消し、もっと管理のしやすいページを作成しましょう。ActiveScaffold はユーザー・インターフェースの CRUD (create, read, update, delete) に必要なことをすべて処理してくれるため、開発者はより多くの時間を、難しい (そして興味深い) 問題に集中して費やせるようになります。
    2007/06/08  
 
LAMP システムを調整する: 第 3 回 MySQL サーバーを調整する
LAMP (Linux、Apache、MySQL、PHP/Perl) アーキテクチャーを使ったアプリケーションは次々と開発され、デプロイされています。しかし多くの場合、アプリケーションはサーバー管理者以外の人が作成したものであるため、サーバー管理者はアプリケーション自体をほとんど制御することができません。この 3 回シリーズの記事では、アプリケーションのパフォーマンスを向上させる、あるいは低下させる、サーバー構成上のさまざまな項目について説明します。シリーズ最終回の今回は、最大の効率を実現するためにデータベース・レイヤーを調整する方法について説明します。
    2007/06/07  
 
PHP で XML をJSON に変換する
Web 2.0 の人気が高まりつつあるなか、ブラウザー上で実行するビジネス・ロジックでデータを表現するのに便利な方法として、JSON (JavaScript Object Notation) と呼ばれる新しいデータ交換形式が浮上してきています。この記事では、XML 形式のエンタープライズ・アプリケーション・データを PHPベースのサーバー・プログラムで JSON 形式に変換した上でブラウザー・アプリケーションに送信する方法を説明します。
    2007/06/05  
 
新技術の導入による Web アプリケーションのアップグレード
会社が成功を維持するために、新しくて進化しつつある技術のメリットをその代表的な製品に取り込むことはよくあることです。しかし残念なことに、新しい技術の統合が製品の機能に支障を及ぼし、市場に出すまでの時間が長引いてしまう可能性もあります。製品開発チームが目新しい技術を習得するまでに必要な時間によって、製品に追加する新機能の数が限られることもあります。この記事を読んで、新しい技術を既存の製品に取り込む際にありがちな問題を認識し、そのような問題を回避して製品を順調にアップグレードするための対処法を学んでください。
    2007/05/22  
 
現実の世界の Rails: Rails でのキャッシング
xRuby on Rails は、中規模から大規模の、高度でスケーラブルなアプリケーションのためのベース・フレームワークとして、あちこちに登場するようになっています。Ruby はインタープリター言語であるため、思い通りに Rails を使いこなすためには、さまざまなキャッシング方法を使う必要があります。この記事では、私達が ChangingThePresent.org で使用している方法を含めて、どのようなキャッシング方法が利用できるのかを説明します。
    2007/05/15  
 
Ruby on Rails究極指南: 第4回 話題騒然!「言語内DSL」の概念とRake(後編)
近年、特定の領域に存在する問題の解決に特化してデザインされたコンピュータ言語「DSL」が注目を集めています。本稿では、前回に引き続いて、RubyとDSLの関係について解説していきます。
    2007/05/11  
 
Ruby on Rails究極指南: 第3回 話題騒然!「言語内DSL」の概念とRake(前編)
近年、特定の領域に存在する問題の解決に特化してデザインされたコンピュータ言語「DSL」が注目を集めています。本稿では、RubyとDSLの関係について解説していきます。Railsによって注目を浴びたRakeを取り上げて、DSLの概念やRakeの特徴、その使い方などを説明します。
    2007/05/11  
 
新入学生/新社会人応援企画: 第3回 あるWebプログラマーの作業環境
春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いでしょう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしません。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考えてみます。
    2007/05/11  
 
Ruby on Rails究極指南: 第1回 Instant Railsで始めるWindows環境のRails
世界中でRubyの人気が急上昇していますが、このきっかけの1つとなったのがWebアプリケーションフレームワークRuby on Rails(Rails)です。本連載では、このRailsの特徴や魅力を余すところなく伝えていきます。
    2007/05/11  
 
新入学生/新社会人応援企画: 第4回 あるWebプログラマーの作業環境
はてなという企業でプログラマーとして働くあの人の開発環境には欠かすことのできない三種の神器が存在します。後編となる今回は、前回紹介できなかった神器を紹介するとともに、意外と知られていないWebプログラマーの生態についてもみてみましょう。
    2007/05/11  
 
Ruby on Rails究極指南: 第2回 Rails専用IDE「RadRails」でRailsをもっともっと快適に
いくらRailsが「less code」をキャッチコピーに使っているとはいえ、まったくコードを書かなければ何も起きません。今回は、コードを書くための環境として、Rails専用IDEである「RadRails」を取り上げます。
    2007/05/11  
 
W3C マルチモーダル・アーキテクチャー、第 1 回: 概要と課題
W3C Multimodal Interaction Working Group では 2002年以来、マルチモーダル・アーキテクチャーに関する提案の改良を進めています。この 3 回連載記事の第 1 回では、IBM の Gerald McCobb が、この Working Group のここまでの進展の概要を説明します。この新しいアーキテクチャーを早速知って、Web 開発者がこのアーキテクチャーを実装するかどうかを決定する際に検討しなければならない課題について学んでください。
    2007/05/08  
 
MMOG (Massively multiplayer online game) : 第 2 回 ゲームのホスティングに関する経済的な要因を理解する
MMOG (massively multiplayer online game) は、巨大なインフラを必要とするきわめて複雑なソフトウェア・システムです。この記事は MMOG を解説するシリーズの第 2 回目として、オンライン・ゲームのホスティングに関するいくつかの経済的な要因を調べます。物理的なインフラや電力、ネットワーク、そして空調システムなどが、MMOG のホスティング全体としてのコストにどう影響するかを学びましょう。
    2007/05/08  
 
Second Life クライアント、第 3 回: Second Life に単純な変換機能を追加する
Second Life ソフトウェアを探るシリーズ最終回の今回は、言語変換機能を持つ単純なコマンド・ライン・プログラムを Second Life に組み込むための方法を学びます。
    2007/04/30  
 
Second Life クライアント、第 2 回: ドキュメンテーションを掘り下げる
Second Life クライアントの開発者用ドキュメンテーションは、ウィキの形式をとっています。この、Second Life ソフトウェアについて探るシリーズの第 2 回目の今回は、ドキュメンテーションについて調べ、それを利用して早速クライアントに一部変更を加えます。
    2007/04/30  
 
LAMP システムを調整する: 第 2 回 Apache と PHP を最適化する
LAMP (Linux、Apache、MySQL、PHP/Perl) アーキテクチャーを使ったアプリケーションは次々と開発され、デプロイされています。しかし多くの場合、アプリケーションはサーバー管理者以外の人が作成したものであるため、サーバー管理者はアプリケーション自体をほとんどコントロールできません。この 3 回シリーズの記事では、アプリケーションのパフォーマンスを向上させる、あるいは低下させる、サーバー構成上のさまざまな項目について説明します。今回の第 2 回は、Apache と PHP を最適化するために必要なステップに焦点を当てます。
    2007/04/30  
 
Ajax と XML: Ajax の最高傑作から学ぶ
この記事では、Web 2.0 の世界で抜群に素晴しい Asynchronous JavaScript + XML (Ajax) アプリケーションを紹介します。これらのアプリケーションがユーザー・レベルで成功している理由を理解して、皆さん独自の Web 2.0 アプリケーションで魅力的なユーザー・エクスペリエンスを作り出すために適用できる手法を見つけてください。
    2007/04/24  
 
作って学ぶ、今どきのWebサービス: 第7回 Webアプリケーション開発にチャレンジ(後編)
PerlによるWebプログラミングの基礎から応用まで解説してきた本連載の締めくくりとして、今回は、これまで学んだことを踏まえた上で、実際にWWW::OpenSearchを使ってアプリケーションを組み立てていきましょう。
    2007/04/20  
 
シームレスな JSF、第 1 回: JSF 用にあつらえたアプリケーション・フレームワーク
JSF (JavaServer Faces) は Java Web アプリケーション向けに初めて標準化されたユーザー・インターフェース・フレームワークです。この JSF を拡張する強力なアプリケーション・フレームワークが、Seam です。この 2 つのフレームワークの絶好の相性について、新しい 3 回連載の第 1 回目となるこの記事で学んでください。Dan Allen が、コンテキストに依存した状態管理、RESTful な URL、Ajax remoting、適切な例外処理、そして構成上の規約など、Seam が持つ JSF ライフ・サイクルの拡張機能を紹介します。
    2007/04/17  
 
jQuery を使って Ajax 開発を単純化する
jQuery は、JavaScript と Ajax (Asynchronous JavaScript + XML) のプログラミングを単純化する JavaScript ライブラリーです。jQuery は、他の類似の JavaScript ライブラリーとは異なるユニークな考え方を持っており、一般的で複雑なコードを簡潔に表現することができます。この記事では、jQuery の考え方を学び、その特徴と機能を知り、いくつかの一般的な Ajax タスクを実行し、またプラグインを使って jQuery を拡張する方法を学びます。
    2007/04/10  
 
境界を越える: Rails のケース・スタディー
Ruby on Rails による開発と Java™ による開発とは根本的に異なります。「境界を越える」シリーズの最終回である今回は、Bruce Tate が、複雑でスケーラブルな Web サイトをゼロから開発する際に Rails を使う中で発見した、両者の主な違いを概説します。
    2007/04/10  
 
MMOG (Massively multiplayer online game) : 第 1 回 インフラの規模をパフォーマンスに基づいて見積もる
MMOG (massively multiplayer online game) は、今日開発されつつあるソフトウェア・システムのうち最も複雑なものの 1 つであり、多くの場合は何十人もの開発者や何百人ものアーティスト、そして真の意味で大規模なインフラを必要とします。この記事は、MMOG を実行するために必要なシステムやストレージ、ネットワークなどに注目するシリーズの第 1 回です。この記事では MMOG を紹介し、ゲームのインフラの規模を見積もるための 1 つの方法を説明します。どの程度のインフラが必要なのか、またどのように MMOG のオペレーションを行うのかを学びましょう。
    2007/04/10  
 
セキュアな Ajax マッシュアップの将来を形成する
現在の Web ブラウザーは、複数ソースからのコンテンツを容易かつセキュアに 1 つのページ内に取り込めるようには設計されていません。ここでは、それを実現するために開発者が既存のツールをどのように強引に拡張してきたか、その結果セキュリティーやスケーラビリティーの面からアプリケーションにどのような無理が生じているかを学びます。また、ブラウザーを改善することで、この状況を是正しようという提案や、この制約を乗り越え、新しいレベルの相互運用性を実現する Web 開発を行うための議論に加わる方法についても学びます。
    2007/04/03  
 
LAMP システムを調整する: 第 1 回 LAMP アーキテクチャーを理解する
LAMP (Linux, Apache, MySQL, PHP/Perl) アーキテクチャーを使ったアプリケーションは次々と開発され、デプロイされています。しかし多くの場合、アプリケーションはサーバー管理者以外の人が作成したものであるため、サーバー管理者はアプリケーション自体をほとんどコントロールできません。この 3 回シリーズの記事では、アプリケーションのパフォーマンスを向上させる、あるいは低下させる、サーバー構成上のさまざまな項目について説明します。今回の第 1 回は、LAMP のアーキテクチャーと、測定を行うための方法、そして Linux のカーネルやディスク、ファイル・システムなどの基本的な調整方法について説明します。今後の記事では、Apache と MySQL、PHP のコンポーネントの調整方法について調べます。
    2007/03/31  
 
developerWorksの歩き方 第1回
現場で使える技術を求めて日々Webサイトを巡回する技術者は多い。国内ではコアな情報を扱うサイトや雑誌が少ないが、developerWorksには多くの有益な情報が存在している。本連載では、developerWorksを徹底的に活用するためのガイドを提供します。
    2007/03/30  
 
作って学ぶ、今どきのWebサービス: 第6回 Webアプリケーション開発にチャレンジ(前篇)
本連載ではこれまで、PerlによるWebプログラミングの基礎から応用まで解説してきました。今回は、これまで学んだことを踏まえた上で、Webサービスを使ったWebアプリケーション開発にチャレンジします。
    2007/03/30  
 
作って学ぶ、今どきのWebサービス: 第4回 Webサービスって実はこんなに簡単
前回まで3回に渡って、PerlにおけるWebプログラミングの基礎を解説してきました。今回は一歩進めて、より実用的なアプリケーションを作るため、その足がかりとなるであろうXML Webサービスの使い方について解説していきたいと思います。
    2007/03/30  
 
developerWorksの歩き方: 第2回 ゾーンを巡る
前回は、日本語による技術情報が集約された「IBM developerWorks」を紹介しました。今回は、developerWorksにはどういったコンテンツがどのように配置されているのかを紹介します。
    2007/03/30  
 
「Zend Framework」で加速するPHP開発: 第3回 ブログツールで学ぶ実践的Zend Frameworkの使い方
今回は、Zend Frameworkで構築されたブログツールを題材にして、実際にZend Frameworkに備わる機能や使い方を解説します。題材とするブログツールは、Alexatnet.comで提供されている「Alex@Net Blog」です。
    2007/03/30  
 
作って学ぶ、今どきのWebサービス: 第2回 RSSフィードの料理はLWPとXML::RSSにおまかせ
今回から、いよいよPerlプログラミングの世界に入っていきましょう。手始めに、PerlにおけるWebプログラミングの要ともいえるLWPを用いた、HTTPコンテンツをPerlでHackする手法を解説します。
    2007/03/30  
 
developerWorksの歩き方: 第3回 トレンドをつかむ
developerWorksのコンテンツを十分に味わうには、外部のサービスなども活用した方がいいでしょう。今回は、RSSやソーシャルブックマークを活用してdeveloperWorksの人気記事をチェックしていきます。
    2007/03/30  
 
「Zend Framework」で加速するPHP開発: 第1回 PHP開発でZend Frameworkを知らないだなんて嘘ですよね?
Zend Frameworkは、MVCアーキテクチャーを構成し、各種コンポーネントを組み合わせることで効率的なPHPアプリケーションを構築できるフレームワークで、PHP用フレームワークの本命と呼ばれています。本稿では、Zend Frameworkについて、その機能と各種コンポーネントの使い方を解説します。
    2007/03/30  
 
作って学ぶ、今どきのWebサービス: 第5回 Amazon Webサービスを料理してみる
Webサービスを使いこなすといっても、Web検索の機能をアプリケーションに統合するだけでは、いまいち面白みがありません。今回は、Amazon.comが提供するAmazon Webサービスを料理してみましょう。
    2007/03/30  
 
作って学ぶ、今どきのWebサービス: 第3回 XML::SimpleであらゆるXML文書を料理する
RSSにおけるXML::RSSのように、専用のモジュールがある場合にはそれを使えばよいのですが、そうでない場合は汎用のXMLパーサーモジュールを使ってパースすることになります。今回は、XML::Simpleを使ってあらゆるXML文書を料理できるようにしてみます。
    2007/03/30  
 
「Zend Framework」で加速するPHP開発: 第4回「ソースは明かせない……」--ソースコードをバイナリ/難読/暗号化する
PHPはスクリプト言語であるため、PHPでアプリケーションを作成して配布すると、ソースコードが読める状態になってしまいます。最終回となる今回は、PHPのソースコードをバイナリ/難読/暗号化する「Zend Guard」を紹介します。
    2007/03/30  
 
作って学ぶ、今どきのWebサービス: 第1回 何はなくともCPANを知ろう
最近のWebかいわいでは、Webアプリケーション同士が連携してどんどん面白いサービスが生まれています。しかし、Web上のサービスは手元にソフトウェアも何も残らないので、どうしても雲をつかむような分かりにくさがあります。そこで本連載では、Webサービスを実際に利用/作成しながら、そういった「今どき」のテクノロジーを学んでみたいと思います。
    2007/03/30  
 
Ajax をマスターする: 第 10 回 JSON を使用したデータ転送
非同期アプリケーションで情報の送受信に使用できるデータ・フォーマットにはプレーン・テキストと XML がありますが、連載「Ajax をマスターする」の今回の記事で紹介するのはもう 1 つの便利なデータ・フォーマット、JSON (JavaScript Object Notation) です。JSON がアプリケーションでのデータやオブジェクトの移動をさらに簡単にする仕組みを説明します。
    2007/03/27  
 
気難しいユーザー: 適切な名前を付けてください
菊 (chrysanthemum) には他の名前を使った方がつづりは簡単になりますが、そうした名前にすると、今度は花の種のカタログで菊を見つけるのが難しくなるでしょう。今月の気難しいユーザーは、「名前は何を表すか」という疑問を提示し、むやみに名前をいじらない方が得策であることを解説します。
    2007/03/27  
 
100 パーセント、サーブレット: ビューについて考え直す
動的コンテンツを持つ Web ページで開発者とUI 設計者のコンサーンを分け隔てる方法としては、JSP (JavaServer Pages) 技術が大々的に勧められていますが、残念ながら JSP は多くの設計者にとってあまりにも複雑すぎます。そのため Java 開発者が自ら JSP コードを処理するはめになりがちですが、その結果は大抵の場合、満足できないものです。そこでこの記事では、代わりとなる型破りな方法がもたらす利点を紹介します。その方法とは、単純なヘルパー・オブジェクトを使ってサーブレットにのみ基づいた Web インターフェースをビルドするというものです。
    2007/03/27  
 
Second Life クライアント、第 1 回: Second Life の詳細を調べる
Second Life を開発した Linden Lab が Second Life のビューアー・プログラムをオープン・ソースでリリースしたことによって、クローズド・ソースの開発モデルとオープン・ソースの開発モデルそれぞれの強みを比較できる稀な機会が得られました。シリーズ第 1 回の今回は、両者の開発スタイルの違いの概要と、皆さんが独自のビルド環境を設定するために必要な事項を解説します。
    2007/03/27  
 
Ajax と XML: Ajax の 5 つのアンチパターン
間違ったやり方を理解することで、逆に正しいやり方の多くを学ぶことになるものです。Ajax (Asynchronous JavaScript + XML) アプリケーションにも当然、誤った作成方法と正しい作成方法があります。そこで今回の記事では、避けなければならない一般的なコーディングの慣習について説明します。
    2007/03/20  
 
DHTML と XML を使った表現力豊かな Ajax スライドショー
「Ken Burns エフェクト」を使ってアニメーション化された、Ajax (Asynchronous JavaScript and XML) クライアント・サイド・スライドショーの作成方法を学びましょう。ここでは、Ajax 用の XML データ・ソースを作成し、クライアントから XML データを要求し、そしてその XML を使って HTML 要素を動的に作成し、アニメーション化する方法を学びます。
    2007/03/16  
 
JavaScript での有限状態マシン: 第 3 回 ウィジェットをテストする
この連載では、有限状態マシンを使用して、単純な Web ウィジェット(ビューでフェードイン、フェードアウトする動画化されたツールチップ) の複雑な振る舞いを体系づけて設計する方法を説明しています。作成されるコードはコンパクトかつ簡潔でロジックもわかりやすく、その動画は負荷の高いプロセッサーでも滑らかに動作するものとなります。
    2007/03/13  
 
境界を越える: Rails での拡張
Java プログラミング言語は長年の間、エンタープライズ・ライブラリー統合のための依存性注入コンテナーから EJB (Enterprise JavaBeans) 技術に至るまで、そして Eclipse 用のコンポーネント・モデルに至るまで、表現力豊かで強力な統合機能を持つ、偉大な「るつぼ」でした。非常に多くの概念やアーキテクチャーがあるため、Java開発者は、本質的に異なるソフトウェア・ライブラリーやコンポーネントをつなぎ合わせ、まとまりを持ったものとするための新しい方法を開拓してきました。しかし、優れた統合技術を持っているのは Java 開発者だけではありません。この記事では、Ruby on Rails のプラグインの動作について、一般的なプラグインを調べながら説明していきます。
    2007/03/13  
 
Ajax と XML: Ajax に共通の 5 つのデザイン・パターン
Ajax (Asynchronous JavaScript + XML) は確かに 2006年を賑わせた技術用語で、2007年も同じく、あるいはそれ以上に賑わせそうですが、実際のアプリケーションにはどのように影響するのでしょう。また、どの一般的なアーキテクチャー・パターンが Ajax アプリケーションで広く使用されているのでしょうか。この記事では、作業の基盤として使える Ajax に共通の 5 つのデザイン・パターンを紹介します。
    2007/03/06  
 
JavaScript での有限状態マシン: 第 2 回 ウィジェットを実装する
連載第 1 回では、有限状態マシンを使用して単純な Web ウィジェット (ビューでフェードイン、フェードアウトする動画化されたツールチップ) の複雑な振る舞いを体系づけて設計する方法を説明しました。今回は、第 1 回で設計したウィジェットの振る舞いを JavaScript で実装し、連想配列や関数クロージャーをはじめとした JavaScript 言語独特の機能を最大限活用する方法について説明します。
    2007/02/13  
 
Google Web Toolkit、Apache Derby、Eclipse を使用して Ajax アプリケーションをビルドする 第 3 回: 通信
この連載ではこれまで 2 回の記事で、GWT (Google Web Toolkit) と Apache Derby リレーショナル・データベースによる単純な Web アプリケーションの作成方法を紹介してきました。第 1 回では、GWT を使用して Slicr というピザ宅配システムのフロントエンドをビルドする方法に焦点を当てました。第 2 回では、Derby を使って実際にリレーショナル・データベースを作成し、データベースの行を Java オブジェクトに変換するメカニズムの基本を説明しました。話がいよいよ面白くなってきたところで、第 3 回となるこの記事では、クライアントとサーバーを互いに対話させる方法を説明します。GWT 内のリモート・プロシージャー・コール (RPC) フレームワークを使えば、Java メソッド呼び出しを作成するのと同じくらい簡単にサーバーからデータを取得できるようになります。
    2007/02/13  
 
Perl 開発者のための XML: 第 3 回 高度な操作および書き込み手法
3 部構成の連載第 3 回では第 2 回で紹介した解析手法を使って、変換、ナビゲート、そして書き込み可能なツリー構造を作成します。その上で、変換した解析ツリーを SAX パイプラインにフィードしてさらに変換し、テキストとして書き出したり SQL データベースに書き込む方法を説明します。そして最後に、データベースのコンテンツで SAX パイプラインを操作して XML 形式に戻す方法を紹介します。
    2007/02/13  
 
Perl 開発者のための XML: 第 2 回 Perl を使用した高度な XML 解析手法
この連載は、手軽な XML と Perl ソリューションを必要とする読者を対象としたガイドです。第 1 回では、XML を Perl アプリケーションに統合するためのツール、XML::Simple を取り上げました。この第 2 回では、Perl プログラマーに、ツリー解析とイベント駆動型解析という 2 つの主要な XML 解析方法を紹介します。
    2007/02/06  
 
気難しいユーザー: いったい誰が仮想キーボードを必要とするのか
ユーザビリティーの専門家は昔から、新しい製品を導入する際にはユーザーが慣れ親しんだインターフェースを提供すべきだと主張してきました。今月は Peter が、物理的な「もの」の制限をハイパー空間で再現するよりも、Web 媒体に特有の潜在能力を探るべきだと主張します。
    2007/02/01  
 
Perl 開発者のための XML: 第 1 回 XML と Perl -- 魔法の組み合わせ
この連載は、手軽な XML と Perl ソリューションを必要とする読者を対象としたガイドです。意外なことに、多くのケースではたった 1 つのツール、XML::Simple だけで XML を Perl アプリケーションに統合できます。第 1 回では、このツールを取得して使用する方法、そして拡張する方法を紹介します。この記事を読んで Perl で XML を操作する意欲が湧いたら、次の 2 回の記事を読んで新しく身に付けたスキルをさらに磨いてください。
    2007/01/30  
 
Web 2.0 ユーザー・インターフェース・テクノロジー
Web 2.0 で使用するアプリケーションを新たに作成するという仕事が、あなたに与えられたとします。HTML ベースのユーザー・インターフェースを心から歓迎するユーザーがいる一方で、自分の使用するすべてのアプリケーションが Excel のように動作することを望むユーザーもいます。
    2007/01/30  
 
Ajax をマスターする: 第 9 回 Google Ajax Search API を使う
非同期要求を行うということは、自分のサーバー・サイド・プログラムと対話するというだけの話ではありません。Google や Amazon などで持っている公開 API と通信すれば、独自のスクリプトやサーバー・サイド・プログラムが提供する以上の機能を Web アプリケーションに追加できます。この記事では Brett McLaughlin が、Google で提供している公開 API との要求・応答方法を伝授します。
    2007/01/23  
 
人間にも機械にも意味を理解できる Web、第 2 回: パラレル Web を探る
このシリーズでは、Web に公開された豊富なデータに人間も機械も容易にアクセスできるようにするための既存の技術や新興の技術について、豊富な例を示しながら徹底的に検証します。この記事ではパラレル Web の概念を検証し、また、人間にも読み取り可能で、かつ機械でも利用も可能なコンテンツを Web 上に配置するために Web コンテンツ・パブリッシャーが使用できる 2 つの方法、HTML のリンク要素と HTTP のコンテンツ・ネゴシエーションについて調べます。この 2 つの方法を使うことによってコンテンツ利用者は、Web ページにあるさまざまなフォーマットのデータの中から選べるようになります。この記事では、この 2 つの方法の歴史と、これらが現在 Web 上でどのように展開されているかを学びます。また、パラレル Web を使うことで、MissMASH というサンプル・シナリオの中でカレンダーや銀行取引、写真などのデータを統合する方法についても学びます。そして最後にパラレル Web を評価し、この 2 つの方法は成熟しており広く展開されているものの、人間が読み取り可能な対応コンテンツから機械で読み取り可能なデータを分離することには問題があることを結論づけます。
    2007/01/17  
 
Rico LiveGrid ウィジェットでデータ・セットのナビゲーションを作成する
ソフトウェア・エンジニアの Nikhil Parekh によるこの記事で、Rico LiveGrid ウィジェットを使って手軽に Ajax スタイルのナビゲーションを Web アプリケーションに追加してみてください。
    2007/01/16  
 
Ajax と XML: 5 つのクールな Ajax ウィジェット
Web 2.0 の流行によってユーザー・エクスペリエンスが新たな脚光を浴びるようになりました。そんなユーザー・エクスペリエンスの一端を担うのは、今までの開発にはなかった斬新なユーザーとの対話方法、そしてユーザーに対する情報の表示方法です。ウィジェットとも呼ばれるこれらの新しいインターフェースは、サーバーとのやり取りに Ajax (Asynchronous JavaScript + XML) を使用します。この記事では、サイトの対話性を強化する 5 つのウィジェットを紹介します。
    2007/01/16  
 
JavaScript での有限状態マシン: 第 1 回 ウィジェットを設計する
有限状態マシンは、ネットワーク・アダプターやコンパイラーなどのイベント駆動型プログラムにおける複雑な振る舞いの、設計および実装を体系づける方式として長年使用されてきました。今ではプログラム可能な Web ブラウザーが、新世代のアプリケーションに新しいイベント駆動型環境を提供しています。このようなブラウザー・ベースのアプリケーションは Ajax によって普及し、ますます複雑になってきています。そこで設計者や実装者の助けとなるのが、有限状態マシンが提供する規則と構造です。この記事では、有限状態マシンを使用して単純な Web ウィジェット (ビューでフェードイン、フェードアウトする動画化されたツールチップ) の複雑な振る舞いを設計する方法を説明します。
    2007/01/09  
 
Geronimo への転向: Web 2.0 成績表
その言葉が実際に何を意味するかという点で意見は大きく分かれてはいるものの、Web 2.0 は今でもコンピューター産業で最も注目を浴びている流行語です。今月の「Geronimo への転向」では大げさな宣伝は省き、Apache Geronimo プロジェクトを Web 2.0 アプリケーションの実現手段として、そして Web 2.0 アプリケーション自体として検討します。
    2007/01/09  
 
気難しいユーザー: より良い 2007年にするための 10 項目
さて皆さんは、2007年にソフトウェアを改善し、ユーザーとの良い関係を築こうと真剣になっていますか。今回の気難しいユーザーは、そのための「新年の計」10 項目を提案します。
    2007/01/03  
 
XML の国際化を紹介する
XML の重要な利点は、XML が国際的な用途のために設計されているという事実です。しかし皆さんは、国際化とローカライズの概念を本当に理解しているでしょうか。この記事では、国際化とローカライズとは何か、どのような仕組みなのか、なぜそれらを利用する必要があるのかについて解説します。
    2007/01/03  
 
PHP を使ってすぐに Flash ムービーを作る
リッチ・インターネット・アプリケーションが Web 2.0 の新しい流行語となっていますが、Web 2.0 を支える実体のなかで鍵となるコンポーネントは Adobe Flash です。この記事で、Flash ムービーをアプリケーションに統合し、Ming ライブラリーを使って Flash ムービーを動的に作成する方法を学んでください。
    2006/12/19  
 
IP エイリアスを使って 1 枚のネットワーク・カードで複数の SSL サイトをホストする
SSL と名前ベースの仮想ホストの併用への関心が高まっています。そんなことは不可能だと言う人もいますが、Apache では IP ベースの仮想ホストを使って仮想ホストを実装できます。John Liao と Jim Miles がこの記事でその方法を伝授します。
    2006/12/19  
 
Rails を使って Web アプリケーションに Ajax を組み込む
Ruby on Rails は、Web アプリケーションを構築するための素晴らしいプラットフォームを提供します。このプラットフォームに組み込まれた Ajax (Asynchronous JavaScript(TM) + XML) 機能を使って、Web 2.0 のリッチなユーザー・インターフェース・エクスペリエンスを皆さんのアプリケーションで実現しましょう。
    2006/12/19  
 
境界を越える: JavaScript の言語機能
JavaScript はプログラミング言語の厄介者として、あざけりの対象となりがちです。その原因には、貧弱な開発ツールや、HTML ページ用の文書オブジェクト・モデルとして複雑で一貫性に欠けること、ブラウザーによって実装が異なることなどがあげられます。しかし JavaScript は、単なるオモチャをはるかに上回るものです。この記事では、Bruce Tate が JavaScript の言語機能を探ります。
    2006/12/19  
 
境界を越える: Ajax on Rails
Web ページの対話性を高める技術、Ajax に対する熱狂が、さらに高まっています。また Ruby on Rails フレームワークの人気も高まっていますが、その理由の 1 つは Ajax と非常にうまく統合できるという強みがあるためです。Ajax on Rails が、なぜそれほど強力な組み合わせなのか、この記事で学びましょう。
    2006/12/05  
 
境界を越える: Ajax on Rails
Web ページの対話性を高める技術、Ajax に対する熱狂が、さらに高まっています。また Ruby on Rails フレームワークの人気も高まっていますが、その理由の 1 つは Ajax と非常にうまく統合できるという強みがあるためです。Ajax on Rails が、なぜそれほど強力な組み合わせなのか、この記事で学びましょう。
    2006/12/05  
 
PHP と RSS: その仕組みを理解する
RSS シンジケーションは最近では至るところで目にします。つまり、PHP 開発者にとって少なくとも RSS とその仕組みを理解することが不可欠になっているということです。そこで、この記事では RSS の基礎知識とその多彩な使用方法のいくつかをはじめ、PHPを使ってデータベースから RSS フィードを作成する方法、そして XML_RSS モジュールで既存の RSS を読み取り、HTML に変換する方法を説明します。
    2006/12/05  
 
気難しいユーザー: どうか邪魔をしないでください
通知ソフトウェアは、Jeeves 執事 (訳注: 20 世紀の英国の作家 P・G・ウッドハウスが生み出したキャラクターで、主人に仕えてさまざまな難事をこっそり解決してくれる執事。旧 Ask Jeeves 社の検索サービスのシンボル・キャラクターとしても有名だった。)
    2006/12/01  
 
Apache Proxy のディレクティブ (mod_proxy) を使って LAMP セキュリティーを改善する
この記事では Nick Maynard が、Apache の mod_proxy モジュールを使って LAMP セットアップのセキュリティーを改善する方法の概要を説明します。この記事は Linux のみを対象としますが、ここで説明する原則のいくつかは、他のオペレーティング・システムにも適用することができます。
    2006/11/29  
 
Alphablox: 多次元データベースに対する Alphablox データセキュリティー実装方法
DB2Alphablox(以下Alphablox)は、データ分析を行うWebアプリケーションを作成・使用する際の強力な支援ツールです。JSP用に用意されたタグのみでリレーショナル・データベースや多次元データベースを照会するアプリケーションを開発できることが特徴ですが、Alphablox Java APIを使うことでよりカスタマイズされたアプリケーションの構築も可能になります。本稿ではAlphabloxから多次元データベースに接続するアプリケーションにてAlphablox Java APIを使ってデータ・セキュリティーを実現する方法について解説します。
    2006/11/24  
 
XForms の repeat を最大限に利用する
XForms は、XML データを扱う上での強力な機構を数多く提供しています。そうした機構の 1 つが「repeat」要素です。repeat 要素を使うことによって、XML の中にある同種のデータ・セットに対する繰り返しを、素早く容易に実装することができます。さらに、そうしたデータ・セットを表の形式で表示することができ、また繰り返しセットの中に特定のデータ片を挿入、削除するような、動的な動作を持たせることもできます。この記事で、XForms の repeat を最大限に利用するためのヒントと要領を学んでください。
    2006/11/21  
 
Web アプリケーションを複数のブラウザーに適応させる
Web ページの動作は、ブラウザーの種類、あるいはブラウザーの設定によって変わってきます。この記事では、すべての環境で Web アプリケーションの順応性を向上させるために役立つヒントを紹介します。
    2006/11/21  
 
XMLの論考: MochiKit
MochiKit は、JavaScript 用の便利な上位ライブラリーです。MochiKit は、Python や Python 標準ライブラリーが提供する多くの便利な機能から主な着想を得ており、また別の側面として、ブラウザーのバージョン間での違いを吸収してくれます。特に MochiKit.DOM は手軽なコンポーネントであり、これを使うことで、「生の」 JavaScript で処理する場合よりもずっと容易に DOM オブジェクトを処理することができます。多くの MochiKit.DOM は XHTML の処理にカスタマイズされているため、特に MochiKit と Ajax を組み合わせる場合には、XHTML でラップされたマイクロフォーマットを使えることは非常に便利かもしれません。
    2006/11/21  
 
Linux で Web スパイダーをビルドする
Web スパイダーとは、ユーザーに代わってインターネットを巡回して情報を収集、フィルタリング、そして場合によっては集約するソフトウェア・エージェントのことです。Web スパイダーは、一般的なスクリプト言語とそれぞれの一連の Web モジュールを使って簡単に開発できます。この記事では、Web サイトを巡回して情報 (この記事の場合は株価データ) を集める Linux® 対応のスパイダーとスクレイパーをビルドする方法を紹介します。
    2006/11/14  
 
Ajax と REST、第 2 回
Ajax の人気は急上昇しています。古い Web フレームワークでは Ajax をサポートするための改良が進行中で、新たな Ajax のみでのフレームワークの開発が進んでいます。また、Ajax の採用を検討中であったり、Ajax アプリケーションの構築をすでに開始したという組織も多数あります。そんなブームとは裏腹に、Ajax アプリケーションのデプロイメントに成功した組織は数えるほどです。2 回連載のこの最後の記事は、実際の IT アプリケーションで Ajax を使用するべきかどうかを判断する際の手掛かりとなるとともに、Ajax 開発の成功率を高めることを目的としています。
    2006/11/14  
 
Ajax をマスターする: 第 8 回 要求および応答での XML の使用
この連載では前回、Ajax アプリケーションがサーバーへの要求を XML にフォーマット設定する方法を説明しました。また、サーバーに XML 要求を送信するのはほとんどの場合、有効ではない理由も説明しました。今回の記事では、多くの場合に有効なこと、つまりクライアントに XML 応答を返すことについて取り上げます。
    2006/11/07  
 
Alphablox: パフォーマンスチューニングガイド
Alphablox 8.4に対して効果的なパフォーマンス・チューニングを行い、メモリー使用量や画面表示パフォーマンスを調整するための以下の方法をガイドします。
    2006/11/07  
 
気難しいユーザー: 適切なパッチとは
いかにマシンが美しくても、大部分のソフトウェアはやがてパッチが必要となり、しかも多くの場合は大量のパッチが必要となります。今月は Peter が、ユーザーに喜ばれる、・・・少なくとも嫌われないパッチを書き、リリースするためのヒントを解説します。
    2006/11/01  
 
IBM Lotus Domino 用の Web 2.0 クライアントの開発
HTML と JavaScript を使用して、Lotus Domino 用に Web 2.0 スタイルのシン Web クライアントを作成します。この記事では、IBM Lotus Domino XML (DXL) フレームワークに関する以前の記事をベースに、Ajax によって Notes/Domino アプリケーションを拡張する方法について説明します。
    2006/10/31  
 
真の Web 2.0: ブックマーク? それともタグ? 見事な手腕です!
この記事ではよく知られた Web 2.0 サイトの 1 つ、del.icio.us を、Web XML フィードと JSON を使い、Python および ECMAScript で操作する方法について学びます。Web 2.0 技術について考えるときに思い付くのは最新の Ajax の技かもしれませんが、それは全体像のほんの一部でしかありません。それ以上に基本的な関連事項として、オープン・データ、単純な API、そしてユーザーにソーシャル・ネットワークの形成を促す機能があります。これらの関連事項は同時に、Web アーキテクトにとって Web 2.0 を切実な問題にしています。この連載では、重要な現実世界での Web 2.0 サイトについて一歩踏み込んで見て行き、Web アーキテクトがどうしたら独自の Web サイトで Web の最大の利点を生かせるかを紹介していきます。
    2006/10/26  
 
実用的な XML: RSS や Atom フィードを身近にする
この記事では、Web サイトの訪問者が RSS や Atom フィードについて読んで理解する助けになる方法をBeonit が紹介します。
    2006/10/24  
 
人間にも機械にも意味を理解できる Web、第 1 回: どうすれば人は Web の豊かさを共有できるか
このシリーズでは、Web に公開された豊富なデータに人間も機械も容易にアクセスできるようにするための、既存の技術や新興の技術について検証します。そして、1 つの Web ページから人間にも機械にもわかりやすいデータを得るための手法の必要性について解説します。また例を使いながらさまざまな手法の間の関係を探り、それぞれの手法の利点と欠点を検証します。このシリーズで詳細に検証する技術としては、パラレル Web によるデータ表現、機械で読み取り可能なデータ生成のためのアルゴリズム型手法、マイクロフォーマット、GRDDL、埋め込み RDF、そして RDFa などがあります。シリーズの最初である今回は、人間とコンピューターとの「競合」について紹介し、さまざまな手法を評価する際に使用する基準について説明し、Web 上で人間と機械とを共存させるために今日使われている主な技術について簡単に説明します。
    2006/10/24  
 
JSON を使ったキャッシング
データ検証は、すべてのエンタープライズ Web アプリケーションにとって最も困難な、そして変化し続ける部分です。多くの場合、検証メタデータによって、JavaScript モジュールの中にサーバーサイド・コードが混在することになります。この記事では、サーバー・コードの助けを借りてクライアントサイドにメタデータをキャッシュするという、スマートな方法を学びます。サーバー・コードが JSON (JavaScript Object Notation) フォーマットでストリング化されたメタデータを提供するのです。またこの手法では、マルチバリュー属性とマルチグループ属性を、Ajax と似た方法で処理することができます。
    2006/10/17  
 
Ajax をマスターする: 第 7 回 要求および応答での XML の使用
Brett McLaughlin が、非同期要求を送信するためのデータ・フォーマットとして XML を使う方法を解説します。
    2006/10/10  
 
Ajax と REST、第 1 回
サーバー・サイド Web アプリケーションがリッチ・アプリケーション・モデルに従ってパーソナライズされたコンテンツを配信し、ますます実体験のようになるにつれ (没入型 Web アプリケーション)、そのアーキテクチャーが Web のアーキテクチャー・スタイル、REST (Representational State Transfer) に違反することも多くなってきています。このような違反によって、アプリケーションのスケーラビリティーは損なわれ、システムはより複雑になります。Ajax アーキテクチャーは REST との調和を実現することによって、没入型 Web アプリケーションがそのようなマイナス効果を排除し、REST 本来の特性を十分活用できるようにします。
    2006/10/02  
 
RSS と Atom を使用したニュース・シンジケーションの実装
RSS と Atom テクノロジーの出現は、ニュース・シンジケーションに明るい新時代をもたらしました。とはいえ、Web サイト管理者が毎日手作業でニュースを公開し、メール購読者を管理するには時間がかかります。この記事では、RSS と Atom シンジケーション・フォーマットを使って、一般的なニュース公開アーキテクチャーを実装し、処理を簡単にして人的な誤りを最小限にする方法について説明します。
    2006/09/26  
 
XML から JSON を生成し、Ajax で使う
最近では、データ駆動の Web アプリケーションに対話性を追加するために、JavaScript コードを使うことが流行です。データを JSON (JavaScript Object Notation) としてエンコードできれば、そうしたコードを JavaScript 言語で簡単に使えるようになります。
    2006/09/12  
 
Ajax をマスターする: 第 6 回 DOM ベース Web アプリケーションの作成
DOM (Document Object Model) と JavaScript コードを組み合わせて、対話式 Ajax アプリケーションを構築します。今回は、すべての知識を実践に生かして、しゃれた効果のある単純な Web ページを作成します。
    2006/09/12  
 
Web ベースのアプリケーションに重要な特性を与える
エンタープライズ・レベルのアプリケーションには必ず、特定の重要な性能が必要となります。また、世界各国のユーザーが使用する可能性のある Web ベースのアプリケーションには、完璧な拡張容易性、可用性、保守容易性、そして信頼性が不可欠です。この記事では、これらの重要な特性に対処する方法、そしてその測定基準を設定する手法について学びます。また、アプリケーションの機能を最大限に引き出すために開発中に考慮しなければならない事項についても学びます。
    2006/09/05  
 
境界を越える: Rails のマイグレーション
Ruby on Rails は進歩的な Web 開発フレームワークであり、過激な概念、例えばコンフィギュレーションよりも規約優先、メタプログラミング偏重、ドメイン固有言語、オブジェクト・リレーショナル・マッピングではなくデータベース・ラッピングなどを実装しています。この記事では、Rails のスキーマ・マイグレーションの考え方、つまり各データベース・スキーマの変更を、ベースとなるオブジェクト・モデルから分離する考え方について検証します。
    2006/08/15  
 
AppFuse を使用する 7 つの簡単な理由
Spring、Hibernate、あるいは MySQL などの Java プラットフォームを対象としたオープン・ソース・ツールを使い始めるのは難しい場合があります。オープン・ソース・プロジェクトの統合につきものの悩みの種を取り除いてくれるのが、AppFuse です。
    2006/08/08  
 
XML の論考: マイクロフォーマットよりも軽いピコフォーマット
構造化テキスト・フォーマットを使う手法には、reStructured Text と Markdown、そして Textile という、主に 3 つがあります (Wiki にあげられている数多くものは除きます)。この記事では、この 3 つについてそれぞれ調べ、これらがマイクロフォーマットを、少なくとも理論上はどう処理するかについて考えます。
    2006/08/01  
 
XQuery を使ってマッシュアップを強化する
今日の Web 開発者やアーキテクトは、より優れたユーザー・エクスペリエンスを与えてくれる、動的な Web アプリケーションを開発することができます。しかし、Web アプリケーション・フレームワークのパラダイムを変えることは、多くの困難を伴います。こうした困難に直面した場合に XQuery がいかに効果的かを、サンプルのマッシュアップ (mashup) アプリケーションを作成しながら学びましょう。
    2006/07/25  
 
境界を越える: 動的型定義の言語による Web 開発の方法
JSP プログラミングを超えた Java Web 開発を実現するためのフレームワークは生まれつつありますが、それらは動的言語の能力の前には力不足です。この記事では、Ruby を使って Web ページを開発する方法を説明し、また Seaside による過激な方法にも触れて行きます。
    2006/07/25  
 
SVG と XML による実務グラフ作成
XML、PHP、そして SVG (Scalable Vector Graphics) 標準を使ってビジネス・グラフを作成する方法を学びましょう。SVG 標準は、グラフィックスを、無限大のベクトル・スケーラビリティーとビジュアル・効果があり、さらにはスクリプトによる対話性まであるものにしてくれます。
    2006/07/18  
 
DWR が Ajax によるポートレット間メッセージングを簡単にする
オープン・ソースの DWR (Direct Web Remoting ) ライブラリーを使うと、Java クラスが JavaScript クラスに自動的に変換されるため、Java 開発者は Ajax 開発を簡単に行うことができます。DWR と JSR-168 準拠のポートレットを使って、Ajax アプリケーションを素早く簡単にビルドする方法を学びます。
    2006/07/14  
 
Python Web フレームワーク、第 2 回: TurboGears と Python を使って Web 開発を行う
TurboGears は、Python をベースにしたもう 1 つのオープン・ソースで、MVC スタイルの Web アプリケーション・フレームワークです。この記事では、TurboGears を使った Web ベースのショッピング・アプリケーションの作成方法を説明し、最後に Turbogears と Django を比較します。
    2006/07/11  
 
Ajax RSS リーダー
Ajax (Asynchronous JavaScript and XML) RSS (Really Simple Syndication) リーダーと、RSS フィードで記事を読むために Web サイトに設置する Web コンポーネントの構築方法を学びます。
    2006/07/06  
 
Java開発者のためのAjax: Google Web Toolkitを探る
この記事では、リモートのWeb APIから気象情報をフェッチしてブラウザーに表示する、単純なGWTアプリケーションの作成手順を説明します。その中で、GWTの機能について可能な限り多く取り上げるようにし、また皆さんが突き当たりそうな潜在的な問題についても触れることにします。
    2006/06/27  
 
Hamlet をコンパイルする
Rene Pawlitzek は、Java サーブレットを拡張してコンテンツとプレゼンテーションを分離した、Hamlet フレームワークを発展させ続けています。この記事では、新たな改良点、すなわちアプリケーションのパフォーマンスを向上できる Hamlet テンプレートのコンパイル方法を提案します。
    2006/06/20  
 
エレガントな JavaScript を作成するための関数型プログラミングの使用
関数型プログラミング、つまり宣言型プログラミングは、非常に強力なプログラミング・メソッドであり、ソフトウェア業界で評判を得ています。この記事では、関数型プログラミングに関連する概念を紹介し、その概念を有効に使った例を示します。また関数型プログラミングのコンストラクトとフィーチャーを JavaScript に取り入れ、JavaScript でエレガントなコードを作成する方法について説明します。
    2006/06/13  
 
Python Webフレームワーク、第1回: DjangoとPythonを使ってWeb開発
この記事は2回シリーズの第1回として、Djangoを紹介します。Djangoを使うと、高品質で維持管理の容易なデータベース・ドリブンのWebアプリケーションを、数分で作成することができます。
    2006/06/06  
 
XMLの論考:Atom駆け足解説
Syndication FormatとしてのAtomはIETFでの(検討)プロセスを経て標準になり、一方、Publishing ProtocolとしてのAtomは標準委員会でまだ作業中ですが、現時点では、その大半が枯れてきているようです。では早速、Atomの魅力のすべてを探ることにしましょう。
    2006/05/23  
 
高度なFaceletsプログラミング
この記事は、好評を博した「FaceletsはぴったりとJSFにフィットします」のフォローアップです。今回は、JSF(Java Server Faces)とELとの隙間を埋める橋渡しとして、より高度な方法を紹介します。Webページを『容易に』国際化し、構成コンポーネントにカスタムのロジック・タグを追加し、そしてFacelets開発にメタプログラミングを取り入れる方法を学びましょう。
    2006/05/09  
 
Swingによる動的インターフェース設計
Swing UIツールキットは、常に簡単ではありませんが、イベントまたはユーザー・アクションに応じてユーザー・インターフェースを動的に更新することを可能にします。この記事では、動的に更新するUIを構築するための一般的な方法と、その過程で遭遇する可能性のあるいくつかの落とし穴を解説します。また、正しい手法が何であるかを判断するための原則について解説します。
    2006/04/25  
 
シンジケーションの概要、(RSS) Really Simple Syndication
RSS、Atom、フィード・リーダーについて、もっと詳しく知りたいと思いませんか? たとえば、RSSはなぜこれほど人気があり、どのようなメリットがあるのか。フィード・リーダーには何ができて、どのようなニーズに合うのか。RSS購読やAtom購読に対するIBMの取り組みについて紹介します。
    2006/03/28  
 
境界を越える: 継続とWeb開発、そしてJavaプログラミング
『境界を越える』シリーズは、Javaではない言語が大きな問題をどのように解決しているかを学び、そうした解決方法が今日のJava開発者にとって何を意味するのかを考えます。今回の記事では、SmalltalkのSeasideのようなフレームワークの背景技術である、継続(continuation)を探ります。
    2006/03/21  
 
Firefox 1.5でのXML、第2回:基本的なXML処理
「Firefox 1.5でのXML」シリーズの第2回では、基本的なXML処理について述べます。Firefoxは、XML解析、カスケーディング・スタイルシート(CSS)、およびXSLTスタイルシートをサポートしています。注意すべき制約事項もいくつかあります。
    2006/03/21  
 
DB2とオープン・ソース: Google Maps API、DB2/Informix、LinuxのPHPで地図の上を歩く
Google Maps APIをDB2、Informix、PHP、JavaScript、XMLとともに使用することにより、個人のデータを取り込んだ、使いやすい地図を作成することができます。自分の住んでいる地域の郵便番号を指定して、その地域のデータを見てみましょう。地図形式の変更やサイドバーの作成をしたり、カスタム・アイコンやイベント・ハンドラーを使用してみましょう。
    2006/03/02  
 
DB2とオープン・ソースを使用して地図に自分の街を追加してみよう!
Google Maps API を DB2、Informix、PHP、JavaScript、および XML と一緒に使用すると、独自のデータを取り込んで、使いやすい地図を作成できます。自分の郵便番号に画面をズームすると、地域固有のデータが表示されます。カスタム・アイコンを使用し、地図の種類を変え、サイドバーを作成し、イベント処理機能を使用してみましょう。
    2006/03/02  
 
Shaleのベールを剥ぐ:ShaleはStrutsではない
Shaleは、まだ自動インストーラーや洗練された管理インターフェースも備えておらず、きちんと梱包されているわけでもなく、あまりドキュメント化されてもおらず、よくテストされたわけでもありません。Shaleがどんなものかを知りましょう。
    2006/02/28  
 
OpenLaszloでリッチなWebクライアントを実現
OpenLaszloはリッチ・クライアントのアプリケーション・アーキテクチャーであり、MacromediaのFlashをデプロイメント手段として使用します。OpenLaszloの設計方式は宣言型であり、JavaScriptのロジックに依存しているため、従来のFlash開発よりも優れています。ここでは、OpenLaszloの基本的な概念について説明し、OpenLaszloソリューションが役立つ事例を示します。
    2006/02/21  
 
ヒント:データURIを使用して、XMLにメディアを含める
データ・スキームURIはURI内で完全なリソースを指定する方法の1つであり、それをXML構造体で使用することができます。この手段を使用して関連メディアを1つのファイルにまとめる方法を説明します。
    2006/02/15  
 
Ajax をマスターする: 第 3 回 Ajax での高度な要求と応答
多くの Web 開発者たちにとって、シンプルな要求を行って、シンプルな応答を受け取ることができれば、それですべての必要は満たせます。しかし Ajax をマスターしたいのであれば、HTTP ステータス・コード、Ready 状態、そして XMLHttpRequest オブジェクトを完全に理解することが必須です。今回の記事では、Brett McLaughlin が各種のステータス・コードを紹介し、そのそれぞれをブラウザーがどのように処理するかを説明します。そして最後に、使用されることは少ないものの Ajax を使用して実行できる HTTP 要求を紹介します。
    2006/02/14  
 
HTMLの将来、パート2:XHTML 2.0
2つのパートからなるこのシリーズでは、今後のHTMLに関してWeb制作者、ブラウザー開発者や標準化団体が提案しているさまざまな方法をEdd Dumbillが論じます。このシリーズでは、WHATWG仕様で実現される漸進的なアプローチと、W3Cにより提案された急進的なXHTMLのクリーンアップについて扱います。さらに、W3Cの新たなRich Client Activityについても概要を述べます。このパート2では、Eddは、将来のWebマークアップを指定するためにW3Cで進められている作業に重点を置いて説明します。
    2006/01/25  
 
Ajax をマスターする: 第 2 回 JavaScript と Ajax を使用して行う非同期要求
大抵の Web アプリケーションでは、サーバーから HTML ページをまるごと取得する要求/応答モデルを使用します。このモデルを使用したやり取りは、ボタンをクリックしてサーバーからの応答を待ち、また別のボタンをクリックして再び待機するといったものになってしまいます。一方 Ajax と XMLHttpRequest オブジェクトを使用すれば、ユーザーがサーバーからの応答を待つ必要のない要求/応答モデルを使用することができます。今回の記事では、Brett McLaughlin が特定のブラウザーに依存しないように XMLHttpRequest インスタンスを作成する方法、要求を作成して送信する方法、そしてサーバーからの応答を処理する方法を説明します。
    2006/01/17  
 
Java Web開発者フレームワーク内でのVoiceXMLページの作成 : XML
インターネットでページを表示することと電話で問い合わせに答えることの間には大きな隔たりがあるように見えますが、実際にはそうでもありません。この記事では、Webページを動的に作成するのと同じテクニックで、(ヴァーチャルな)電話に対応できることを説明します。
    2006/01/17  
 
クライアントサイドAPIを利用したAlphabloxアプリ開発ガイド
今回は、開発容易性およびユーザビリティーを高めるクライアントサイドAPIを用いた多次元分析アプリケーションを開発する手法について解説します。
    2006/01/13  
 
カスタムSWTコンポーネントでのMVCの実装
Eclipse SWT(Standard Wideget Toolkit)は、カスタムメイドのウィジェットを実装するための豊富なAPIセットを提供します。この記事では、MVC(Model-View-Controller)アーキテクチャーを概説し、構造化ビューアーの形での現在のMVC実装を説明し、カスタムSWTウィジェットを使用する実装を示します
    2006/01/11  
 
Ajax による SOAP Web サービスの呼び出し - パート 2: Web サービス・クライアントの拡張
今回は、Ajax (Asynchronous JavaScript + XML) の設計パターンを使用して Web ブラウザー・ベースの SOAP Web サービス・クライアントを実装する方法について解説します。このパート 2 では、Web Services Addressing Language仕様および Web Services Resource Framework仕様への基本サポートを実装することにより、前回の JavaScript ライブラリーの諸機能を拡張します。
    2006/01/10  
 
XMLの現状:Webはもはや2Dだけのものではない
結局、Webの3Dは、バーチャル・ショッピングモール以上のことに使えるのでしょうか。このXMLメディアに関するミニシリーズの最後の記事で、それができることをお見せします。この記事では、Detheは、X3Dをすぐに使える2つの用途を中心に述べ、今後の方向も探ります。
    2005/12/15  
 
OLAPサーバーを利用したDB2 Alphabloxアプリケーション開発ガイド : アウトライン、メンバーの制御
DB2 Alphablox特集第 2 弾の第 1 回目は、OLAP サーバーを使って多次元分析アプリケーションを作成する方法を紹介します。 PresentBlox、DataBloxに加えて、RepositoryBloxを使いながらユーザーまたはグループごとにアウトラインを使い分けるという、実践的なアプリケーションの作成方法について解説します。
    2005/12/09  
 
Ajax をマスターする: 第 1 回 Ajax の紹介
HTML、JavaScript、DHTML、そして DOM からなる Ajax は、魅力のない Web インターフェースをインタラクティブな Ajax アプリケーションに変換するための卓越した手法です。この記事では Ajax のエキスパートである著者が、Ajax を構成する技術が連動して極めて効率的な Web 開発を容易に実現する仕組みを、その概要から詳細に至るまで実例で説明します。さらに XMLHttpRequest オブジェクトをはじめ、Ajax の中心となる概念についても明らかにします。
    2005/12/06  
 
HTMLの将来、パート1:WHATWG
2つのパートからなるこのシリーズでは、今後のHTMLに関してWeb制作者、ブラウザ開発者や標準化団体が提案しているさまざまな方法をEdd Dumbillが論じます。このパート1ではEddは、WHATWGが開発中であるWeb Applications 1.0(HTML5)とWeb Forms 2.0との2種類の仕様に主に重点を置いて説明します。
    2005/12/06  
 
Alphabloxキューブを利用したAlphabloxアプリケーション開発ガイド (DB2 Cube Viewsとの連携) : Alphabloxキューブ編
ここではAlphabloxと抜群の相性をもつDB2 Cube Viewsとの連携によりAlphabloxキューブを作成する手法と、Alphablox開発ガイドの第二弾で解説されたPresentBloxとAlphabloxキューブを利用した多次元分析アプリケーションを開発する手法について解説します。
    2005/09/30  
 
リレーショナルデータベースを利用したAlphabloxアプリケーション開発ガイド: 第3回 接続プール設定編
Alphablox開発ガイドの第三弾では、リレーショナルデータベースを使用する際にWebSphere Application Server上で接続プールを作成し、データ接続のパフォーマンスを向上させる手順について解説します。
    2005/09/22  
 
Firefox 1.5でのXML、第1回:XML機能の概要
オープン・ソースのWebブラウザーFirefoxの人気が高まっています。最新バージョンのFirefox 1.5(現時点ではベータ)には、XML解析、XHTML、CSS、XSLT、SVG、JavaScriptTMでのXMLイベント、XFormsなど、XML開発者向けの多くの機能が含まれています。この記事では、Uche OgbujiがFirefox 1.5のXML機能の概要を解説します。
    2005/09/20  
 
リレーショナルデータベースを利用したAlphabloxアプリケーション開発ガイド: 第2回 ReportBlox編
Alphablox開発ガイドの第二弾では、Alphabloxからリレーショナルデータベースのデータを照会・分析するアプリケーション開発を行う際の手順について、(2) ReportBlox編として、リレーショナルデータベースを対象にした表形式のレポートを、PresentBloxに比べてより複雑な形式での出力を可能にするReportBloxを使用してアプリケーションを開発する手法について解説します。
    2005/09/15  
 
リレーショナルデータベースを利用したAlphabloxアプリケーション開発ガイド: 第1回 PresentBlox編
本稿ではAlphabloxからリレーショナルデータベースのデータを照会・分析するアプリケーション開発を行う際の手順について、(1) PresentBlox編として、Alphabloxの最もベーシックな部品であるPresentBloxを使用してアプリケーションを開発する手法について解説します。
    2005/09/09  
 
Linux on board:小さなカレンダーが大きなグループウェアに挑む
今回、ピーターは彼の古いLinuxボックスを使用して、Webベースの小さな家事カレンダーを作ります。このLinux on boardシリーズで、ピーターはさまざまな種類のハードウェアでLinuxを走らせます。それには、PDAや組み込みデバイスのほか、誰もがもう使えないと思うような古びたハードウェアも含まれます。
    2005/08/26  
 
Rational Application Developerによるポータルサイトの構築
本稿は、WebSphere Portal V5.1用の開発を前提とし、この順番に沿いながら、ポータル構成情報とテーマの編集について説明します。
    2005/07/29  
 
Ruby on RailsによるWebアプリケーションの高速開発
この記事では、統合化されたすばらしいツール・セットが含まれており、あらゆる局面に対応できるRuby on Railsをご紹介しています。
    2005/06/24  
 
実用的なGroovy
この記事で手軽に使えるマークアップを瞬時に作りたい場合に、Groovy Builderがどれほど便利なものか、皆さんも理解できるでしょう。
    2005/04/12  
 
JavaScript を使った検出/誘導機能
何度もサイトを閲覧してくれる利用者がいるなら、それぞれのサイト利用者に最高のページを提供すると同時に、技術的な細かいことは背後に隠すようにして、利用者の満足度を維持しようとすることでしょう。利用者にいつも快適にサイトを閲覧してもらえるように、JavaScript の検出/誘導コードをうまく利用する方法を説明しましょう。
    2005/02/09  
 
ユーザー・エクスペリエンス: 第2回
アプリケーション設計の改善に関する 連載記事のこの第2回目では、GUI環境とWeb環境はどのように違うか、また、それぞれの環境で最高の ユーザー・エクスペリエンス (ユーザー体験) を 提供するためにどんな方法を取るべきかを、著者Dick Berryが指摘します。
    2005/02/09  
 
Midgardについて
PHPなどのサーバー・サイド・スクリプト記述言語は、動的で独創的な、魅力あるWebサイトの作成に大いに力を発揮します。残念なことに、これらの言語がどのような仕組みで動的コンテンツの作成、引き渡し、管理を行っているのかは、今でもスクリプトの開発者にしか分からない事柄です。今回は、コンテンツ管理ジョブを継承するPHP をベースに開発されたオープン・ソース・システムであるMidgardについて紹介し、その使用法を示します。Midgardを使えば、サイトの美観と機能性の問題に専念できるようになります。
    2005/02/09  
 
「Zend Framework」で加速するPHP開発: 第2回 Zend Frameworkの各コンポーネントを一気に制する
前回は、Zend Frameworkの概要とその導入方法について説明しました。今回は、各コンポーネントの使用方法について紹介していきます。
    2004/11/05  
 
オンデマンド・オペレーティング環境
オンデマンド・オペレーティング環境は、SOA (Service Oriented Architecture) の概念に基づいています。SOA では、すべてのアプリケーションやリソースを、特定の、識別可能な一連の (ビジネス) 機能を実装するサービスとみなします。オンデマンド環境でのサービスは、ビジネス機能の他にも、環境に対する広範な構成やオペレーション、モニタリングに参加するための管理インターフェースを実装することもあります。この記事では、オンデマンド・オペレーティング環境について紹介します。
    2004/08/24  
 
SashXBがLinuxにミニRADをもたらす
本稿では、SashXBの開発者がその内部的な働きを解説し、アプリケーションの開発、ダウンロード、インストールをSashXBによって簡略化する方法を紹介します。
    2002/11/01  
 
PuffinによるWebアプリケーションのテスト: Puffinテスト・フレームワーク 第2回
最新バージョンのPuffinフレームワークでは、Web、ファイル、データベース、ソケット、コマンド行をはじめ、自動化できるアクションの幅が広がりました。この記事では、システムのアーキテクチャーの改良の背景にあるキーポイントとなる概念を紹介し、新たに拡張された使い方を検討します。
    2002/09/01  
 
XML暗号化の方法を探る: 第2回
シリーズ2回目のこの記事では、ユース・ケースのシナリオをもとにXML暗号化の使用法のモデルを考察します。XMLファイル全体の暗号化、XMLファイルの要素の暗号化、およびXML要素の内容の暗号化といったXML暗号化の各タイプも例を使って説明します。
    2002/08/01  
 
Eclipseプラグインの国際化対応
この記事は、国際市場向けにEclipseプラグインを作成するためのロードマップです。まずは国際化対応を行う理由とその技術的な課題を簡単に説明し、その後でプラグインの国際化対応方法をステップに分けて説明します。そして最後に、それらのステップがEclipse Platformの国際化対応にどのように適用されたのかを見てみます。
    2002/06/01  
 
初心者のためのwxHTML
HTMLは、いろいろな用途に使われていますが、とりわけレポートやオンライン・ヘルプに多用されています。アプリケーションにWebブラウザーを組み込んでおけば、クライアントがそのページを閲覧するために使用するブラウザーに気を配る必要がなくなり、また、HTMLページを元のアプリケーションに関係付けるためのカスタム・タグを作成することができます。たとえば、IDEに組み込まれたヘルプ・システムを例に挙げると、ユーザーは、カスタム・タグを仕込んでおいた関数リファレンスをブラウズし、関数名をクリックすると、関数呼び出しをユーザーのコードに追加することも出来るでしょう。
    2002/05/01  
 
プロジェクト・タイプ別の UCD 適用: 第1回
今日のソフトウェア・アプリケーションは、有用性と使いやすさの両面を合わせ持つ必要があります。2回連載の初回のこの記事において、有用で使いやすいソフトウェアを作成する際に必要になる、中心的な設計作業について説明します。
    2002/03/01  
 
プロジェクト・タイプ別の UCD 適用: 第 2 回
今日のソフトウェア・アプリケーションは、(対象とするユーザー・オーディエンスがタスクを簡単かつ効率的に完了するのをサポートできる)有用性と使いやすさの両面を合わせ持つ必要があります。ユーザー中心の設計について解説する2回シリーズの第1回 では、有用で使いやすいソフトウェアを設計する上での、本質的な作業を明確にしました。この第2回では、Lynn PercivalとJack Scanlonが、これらの中心的な作業を、各開発プロジェクト・タイプ別に、どのように適用していくかについて解説します。例えば、ベンダー・アプリケーションの選択とカスタマイズ、現行アプリケーションの拡張と書き直し、新規アプリケーションの作成などです。
    2002/03/01  
 
UI 設計に関する神話の正体を暴く
ソフトウェア・デベロッパーの世界では、設計の役割、特にユーザー・インターフェースの設計の役割について、根強い神話が数多く存在しています。ユーザー・インターフェース設計に13年間携わってきたPaul Smithが、これらの神話を列挙し、その正体を暴きます。
    2002/02/01  
 
カスタム・レイアウト・マネージャーの作成
既存のJDKレイアウト・マネージャー・クラスでは、設計者が意図したGUIコントロールの位置やサイズを正確に実装できない場合があります。通常、これは設計の完全性が損なわれることを意味します。この記事で、JoeとReneeは、ボタン・バーの困難な設計を実装するためのカスタム・レイアウト・マネージャーをどのように開発したか、自分たちの経験を基に、ユーザー独自のカスタム・レイアウト・マネージャーの作成方法を解説します。
    2001/12/01  
 
ランチパッドによるユーザーのパワーアップ
今日のソフトウェア設計では、エンド・ユーザーに求める専門知識の量を制限しようとしています。その結果、ユーザビリティーとウィザードなどのヘルプ・メカニズムが普及してきました。しかし、非常によく設計されたウィザードでも、エンド・ユーザーが複雑なタスクを正常に完了する上で、十分な手助けができない場合があります。このような場合にランチパッドを使えば、余り費用をかけずに、この問題に対応できる可能性があります。以下では、ランチパッドの説明、その有用性、ユーザーの生産性を向上させるための設計上の考慮点をDainaが説明します。
    2001/11/01  
 
サプライ・チェーン・アーキテクチャーに備える
企業Webアーキテクチャーは、企業がそのサプライ・チェーン・パートナーとの全面的な結びつきを強めるようになって、変化をみせる傾向にあります。この記事では、生じる可能性のある変化とその理由について、アナリストのAnne Ziegerが説明します。
    2001/10/01  
 
気難しいユーザー: モーダル・ダイアログでユーザーの自由を制限する
ほとんどのGUIは、現在のタスクを完了してしまうまで他のことを行わせないようにする「モーダル」インターフェースを組み込んでいます。これは、ほとんどの場合間違っています。というのも、往々にしてこれといった理由もなくユーザーの選択肢を制限してしまうからです。この記事でPeterは、いかにモーダル・ダイアログ・ボックスが 不適切で厄介なものにもなり得るか詳しく探っていきます。
    2001/10/01  
 
匠のウィザード
効果的なウィザードを設計することは、魔法使いのトリックではありません。ウィザードというものは、複雑な作業を一見簡単に見せるためのものですが、ユーザーに複雑な詳細を見せないようにするのは、設計者と開発者にとってなかなかの作業になります。この記事では、著者の経験をもとにまとめた15箇条の注意事項を紹介します。これは効果的なウィザードを作成する上で役立つでしょう。
    2001/09/01  
 
気難しいユーザー: とるべき態度とは
ユーザーからサイトについてのクレームが届くと、Webマスターの反応は往々にして、敵意、あざけり、恩着せがましさに満ちた、あるいはひたすら沈黙を守る態度になりがちです。ユーザーがわざわざクレームを寄せる気にならないのも当然といえるかもしれません。おざなりな態度は、皆さんが作成したサイトが、「ユーザーが利用したいと望むサイト」となるのを妨げているのです。
    2001/09/01  
 
RWD (Rapid Web development)
とり急いでWebサイトを用意しなければならない場合には、どうすればいいでしょうか? この記事では、その質問に答えます。Cascading Style Sheets (CSS) や構造化されたHTMLなどのWeb標準を使い、サーバーサイド・インクルードを使うことにより、短時間かつフレキシブルにサイトを作成する方法について説明します。速さを重視するWeb開発によりプロセスが合理化されるだけでなく、更新作業も楽になることを示す例が含まれています。
    2001/09/01  
 
Palm ユーザー・インターフェースの設計: 第 2 回
この記事は、ソフトウェア開発者と対話設計者が、アプリケーションをWindowsからPalm OS環境に移植する際に、考慮すべき固有の実装上の課題についての説明を締めくくるものです。この説明では、独自のユーザー対話、表示スペースの制約、Palm OSアプリケーション・インターフェースの統合アシスタンスにおける制限事項を重点的に扱っています。第1回では、一般的な高レベルPalm OSユーザー・モデルおよび対話に関して学んだ経験と教訓を紹介しました。ここで紹介する事例研究はワイヤレス・クライアントの移植に特有のものですが、その所見は、アプリケーションがWindowsレガシーを備えているかどうかにかかわりなく、あらゆる種類のPalm OS向けアプリケーションの開発に携わる人々にとって役立つものです。
    2001/09/01  
 
Palmユーザー・インターフェースの設計: 第1回
WindowsからPalm OS環境にアプリケーションを移植する作業は、なかなかの功績といえます。さまざまなIBM開発チームが、まさにそうした開発過程を通じて学んだ経験と教訓を分かち合っています。これは、他のソフトウェア開発と対話設計に携わる者が、類似したプロセスに着手する際に思考の糧となるものです。ここで紹介するケース・スタディーはワイヤレス・クライアントの移植に特有のものですが、その知見は、アプリケーションがWindowsレガシーを備えているかどうかにかかわりなく、あらゆる種類のPalm OS向けアプリケーションの開発に携わる人々にとって役立つものです。シリーズ第1回で、著者は、Palm OS機能がWindowsからPalmにアプリケーションを移植するプロセスにどのような影響を及ぼすのかについて、特に非オブジェクト指向グラフィカル・ユーザー・インターフェースおよびモーダル・アプリケーションの観点から検証していきます。
    2001/09/01  
 
マイクロブラウザー・アーキテクチャー
ワイヤレス・デバイスがインターネット情報インフラストラクチャーの一部として組み入れられるようになり、Webアーキテクチャーが新しい方向へ展開しつつあります。今回の記事で、Anneは、ワイヤレス・デバイスをWebに接続するマイクロブラウザーに対応するための、さまざまなアーキテクチャーについて説明しています。
    2001/08/01  
 
気難しいユーザー: 最小困惑度の原則
コンピューターが極めて快調に作動している時は、コンピューターのことなど気にも留めません。しかし、一旦使えなくなると、そのことに驚いてしまいます。この記事ではPeterが、最小困惑度の原則およびこの原則が優れたインターフェースの開発にどのように役立つのかを検証します。
    2001/08/01  
 
gentoo.org の再設計: 第 4 回 サイトを生き返らせる
ある朝目が覚めて、個人的に愛用している開発用 Web サイトの出来があまりよくないことに突然気付いたことはありますか?そうだとしたら、いい仲間がいます。Daniel Robbins はこのシリーズで、XML、XSLT、および Python などのテクノロジーを使用して www.gentoo.org Web サイトをデザインし直したときの経験を語ってくれます。この記事で Daniel Robbins は、XML/XSLT システムへの移行の完了、数々の Netscape 4.x ブラウザー互換性バグの修正、このサイトへの自動生成 XML Changelog の追加について紹介しています。
    2001/08/01  
 
気難しいユーザー: Sherlock のトラブル
Apple 社 Sherlock 検索エンジンでは、ユーザーが広告の表示を止めることは非常に困難です。この検索エンジンはどのように動作するのか、そして、なぜユーザビリティーと根本的に相容れないのかを Peter が検証します。
    2001/08/01  
 
Webサイトを機械翻訳に対応させる
機械翻訳は高度先進テクノロジーです。しかし、そのアウトプットは、人間が使う言葉ほどは洗練されていません。WebでのMTがどのように動作しているかを理解すれば、設計者および開発者はWebページをMTに対応させることができます。工夫次第では、MTの出力をより利用価値の高いものにすることができます。
    2001/07/24  
 
ピアツーピアがデータ管理に与える影響
エンタープライズ・ピアツーピア・テクノロジーは、まだ比較的新しい技術です。しかし、ピアツーピアが次第に広まるにつれ、企業内のデータ管理方法に変化をもたらすでしょう。この記事では、デベロッパーを対象に、新しく登場してきたP2Pデータ管理操作の将来について考察し、これらのインプリメンテーションが今日の従来型のデータベースを中心に据えた構造とどのように異なったものになるかについて見通しを与えます。
    2001/07/01  
 
サイトを生き返らせる: 第3回 gentoo.orgの再設計
ある朝目が覚めて、個人的に愛用している開発用Webサイトの出来があまりよくないことに突然気付いたことはありますか? そうだとしたら、いい仲間がいます。Daniel Robbinsはこのシリーズで、XML、XSLT、およびPythonなどのテクノロジーを使用してwww.gentoo.org Webサイトをデザインし直したときの経験を語ってくれます。
    2001/07/01  
 
気難しいユーザー: URLをアクセスしやすくする
多くのWebページ、特にオーサリング・ツールで作成されたWebページでは、URLは理解できないマジック・クッキーとして扱われる傾向があります。読みやすく分かりやすいURL、また、サイトの構造を反映したURLが、ユーザーにとって役に立ちます。経験の浅いユーザーにとっても、このようなURLがありがたいものでしょう。この記事では、Peter Seebach氏がアクセスしやすいURLが重要である理由を示し、それを効果的に実現するための戦略をいくつか示します。
    2001/06/20  
 
ユーザー・インターフェースの縮小
本記事は、巨大化するデータ / 製品機能に対してより優れた管理を行えるようにするために、開発者がユーザー・インターフェースを縮小する方法を示します。本記事で紹介および推奨される色々なテクニックにより、使いやすいUIが実現されるだけでなく、ユーザーの生産性も向上します。
    2001/06/01  
 
Webベースのデータ・マイニング
Webが、これまでで最も豊富で、最も密度の濃い情報源であることは疑いのない事実ですが、その構造のため、情報を体系的に利用することは大変です。本稿で紹介する方法やツールによって、Webの技術をよく理解している開発者は、迅速にかつ簡単に必要な情報をWebから取り出すことが出来るようになるでしょう。
    2001/06/01  
 
「簡潔さ」対「使いやすさ」
UI (ユーザー・インターフェース) は、ソフトウェアとユーザー間の最も重要なコミュニケーションの手段です。UIは基本的にテキストであるため、明確な言語表現がユーザビリティーの死命を制するものとなります。しかしながら、UIの表現を必要以上に簡潔なものにしようとする傾向があるため、しばしばこの明確さが失われることがあります。適切な言葉を1、2語追加し、やや詳しい表現にすることによって、紛らわしいあいまいなメッセージを分かりやすいものにすることが簡単にできます。
    2001/06/01  
 
気難しいユーザー: 嫌われる Web ページ
前回は、Webサイトにおけるテキスト・コンテンツの品質の重要性について考えました。今回は、ユーザーを魅きつけるWebサイト、嫌われるサイトがどのようにして決まるのか、また、一般に行われているWebデザインの中で、ページが開かれる前にユーザーが逃げて行ってしまうようなページの原因となるものがどの程度あるのかについて考えます。
    2001/05/24  
 
気難しいユーザー: 体裁を大切に
前回 Peterは、有効なプライバシー・ポリシーを実施することがなぜ重要なのかを検討しました。今回はさらに、Webページのコンテンツについて話を進めます。役に立つWebページを作成しようとするなら、テキスト・コンテンツを満足のいくものにすることを忘れないでください。文法の誤り、つづりの誤り、フォントの選択ミスは、簡単に修正できるものですが、直すのを怠ると、これらの不具合がユーザーからの信頼を失うことにつながりかねません。
    2001/05/09  
 
サイトを生き返らせる: 第2回 gentoo.orgの再設計
ある朝目が覚めて、個人的に運用している開発用Webサイトの出来があまり良くないことに突然気が付いたことはありますか? そうだとしたら、いい仲間がいますよ。Daniel Robbinsはこのシリーズで、XML、XSLT、およびPythonなどのテクノロジーを使用して www.gentoo.org Webサイトをデザインし直したときの経験を語ってくれます。この話の中から、読者の次のWebサイトの再設計に使用できる、いくつかのすばらしい方法が見つかるかもしれません。連載の2回目であるこの記事でDaniel Robbinsは、新しい文書システムを説明し、また、CVS-logメーリング・リストのセットアップについて紹介しています。
    2001/05/01  
 
クロス・ブラウザーDHTMLテーブル
HTMLのテーブル・タグを使用すると、Webページの内容を効果的に、また読みやすいフォーマットで構成することができます。しかし、データの表示以上のことを望む場合、このタグでは限界があります。Javaアプレットの使用も可能ですが、読み込みに時間がかかり面倒です。この記事では、Shelley Saxena氏がDHTMLやJavaScriptによるクロス・ブラウザー・テーブルの作成方法を説明します。クロス・ブラウザー・テーブルには、Javaによるテーブル・コンポーネントとほぼ同じ機能があります。
    2001/05/01  
 
非同期メッセージングの使用によるクライアントとサーバー間でのリッチ・メッセージの送信
Erikの前回の記事「サーブレットを使用したリモート・スクリプト」では、ブラウザーとサーブレット・バックエンド間で非同期リモート・スクリプトを行うためのインフラストラクチャーについて説明しました。今回の記事では、それを前提に、クライアントとサーバー間でのリッチ・メッセージのやり取りを可能にする非同期メッセージング・システムについて説明します。これらのメッセージをほとんどのブラウザーで使用できるようにするために、それらをJavaScriptオブジェクトとして送信します。この記事は、前回の記事で紹介したコードを基にしてまとめたもので、自動化メッセージング・レイヤーを作成して、ブラウザーとサーバーが常に互いに接触を保つようにしています。
    2001/05/01  
 
気難しいユーザー: ユーザー・プライバシーの尊重: 第 3 回
前回は、有効なプライバシー・ポリシーを適切に設けておくことがなぜ重要であるのか、また、どのようなプライバシー・ポリシーを用意すべきかを検討しました。今回は、実際に機能するポリシーを導入するためのヒントをさらにいくつか示し、自分たちのポリシーを守ることの重要性についてお話します。
    2001/04/27  
 
気難しいユーザー: ユーザー・プライバシーの尊重: 第 1 回
前回 は、WebページでJavaScript に頼りすぎるのがなぜ危険なのかお話ししました。今回は、プライバシーという言葉が乱用されている理由に目を向けて見ましょう。e-commerce産業は顧客の信頼を得るのに失敗しましたが、それは私たちがそのための努力を払わなかったからというわけではなく、派手な宣伝に終始して個人データに本気で配慮しなかったためです。その点で、適法でさえあればすべて受け入れられるとは限らないということは、特に注意する必要があります。効果的なプライバシー・ポリシーの基本原則について説明します。プライバシー・ポリシーは、簡潔かつ明瞭で、顧客に気に入ってもらえるものでなければなりません。
    2001/04/24  
 
気難しいユーザー: ユーザー・プライバシーの尊重: 第 2 回
第 1 回では、効果的なプライバシー・ポリシーを適切に設定することがなぜ重要なのかを説明しました。今回は、顧客の要求を満たす、わかりやすくて明快なポリシーを設けることによって、ユーザーの信頼を得る最良の方法について見ていくことにします。
    2001/04/12  
 
ファイアウォールの構築:ファイアウォールを設ける前に明確にすべきこと: 第2回
ファイアウォールについてのMandyのこの2回目の記事では、現在のマーケットで使用可能なテクノロジーと、選択のプロセスで行う必要があるいくつかの主要な決定に焦点を当てます。ファイアウォールの主な3つのテクノロジーとして、パケット・フィルター、プロキシー、およびステートフル・インスペクション があります。Mandyは各テクノロジーの長所と短所を、それらの進歩、ハイブリッド化、機能、そしてカスタマイズとともに検討します。
    2001/04/01  
 
Internet Explorer 4以降でJavaScriptを使用して動的HTMLを作成する
この記事は、Paul Wilton著Beginning JavaScript の第12章 『Dynamic HTML』からの抜粋です。ここでは、HTMLページ内のタグにアクセスしてそれらを動的に変更し、ユーザー対話を強化するための方法について、概要を述べます。この記事は、MicrosoftのInternet Explorerブラウザー、バージョン4.0以降でJavaScriptを使用してHTMLページに動的コンテンツを作成するための、いくつかの簡単な (しかも面白い) 例を紹介しています。それぞれの例ではフル・コードをリストし、動作の仕組みも説明されています。例を使用するためには、テキスト・エディターに打ち込み、それを .htmファイルとして保管したうえで、Internet Explorerにロードしてください。
    2001/04/01  
 
XSLT スタイル・シートと XML ディクショナリーによる国際化対応
Laura はこの記事で、XML および XSLT テクノロジーを活用して、ディクショナリー主導式で Web ページを動的に国際化対応させる方法を示しています。また、汎用 XSLT スタイル・シートのサンプルが提供されています。読者は、これを拡張して自分のアプリケーションに組み込むことも可能です。さらに、スタイル・シートとともにサンプルのディクショナリー・レイアウトも含まれています。この方法を利用することにより、サイトのコンテンツを変更するときに編集する必要のあるファイルの数を最小化することができます。
    2001/04/01  
 
Togの考えるユーザビリティーの世界
Bruce Tognazziniは過去20年間、ユーザー・インターフェースに関して繰り広げられる議論の最前線に立ってきました。彼は、自分の仕事が勤務先のコンピューター会社によって軽視されたり無視されたりしたときにも、彼自身の設計原則を粘り強く主張し続けてきました。この記事では、彼のオンラインおよびオフラインによる著作を基に、ユーザビリティーの問題に関する彼の考えを探ります。彼はこれまで、この件に関して意見を発表するのをためらうことがなかったので、取り上げるべき素材はたくさんあります。
    2001/04/01  
 
Attribute Explorer
Andy Smithはデータを対話式で表示および探査することの利点について説明しています。彼は、従来からの、ステップバイステップ式のデータ探査およびフィルター操作を検討し、それらの方式に欠けているものを指摘しています。そして、Attribute Explorerを紹介し、その利点が示された問題に関してどのように関係するかを示します。最後に、カー・ショールームのキオスク・アプリケーションでAttribute Explorerを利用できる可能性について論じています。
    2001/04/01  
 
フレームを使ってWebページをお化粧直し
HTML 4.0にはフレーム機能が存在するにもかかわらず、Web作成者は依然としてページのレイアウトにテーブルを使用しています。しかし、テーブルは、フレームほどリソース効率が良くなく、フレームほど情報を効果的に表現することができません。フレームを使えば、不必要なページの再ロードが最小限に抑えられます。サイトの共通部分は一度ロードするだけで十分で、ページスクロールの量を減らすことができます。フレームの利点を見つけて、ページを短時間で効果的に作成する秘訣を学びましょう。
    2001/04/01  
 
気難しいユーザー: JavaScriptへの依存を制限する
前回は、サイトをできるだけアクセスできないようにする方法を示しました。今回は、JavaScriptの落とし穴について検討してみましょう。JavaScriptは機能強化のために使用できますが、往々にして、JavaScriptを動かしていない人には参照不能なページを作成する結果に終わります。JavaScriptが、ブラウザーによっては動かない可能性があることと、ページをJavaScriptに依存させてはならないことには、それなりの理由があるのです。
    2001/03/20  
 
気難しいユーザー: あなたのサイトにアクセスできないようにする方法
Webサイトは、次のような人たちによって設計されています。すなわち、高速で強力なコンピューターや最新のブラウザーを使い、どんなソフトも動かし続けるITスタッフの協力を得、これらの人たちが選択したソフトウェア、ローカル・ディスク装置、あるいは最悪の場合でも、高速ネットワークで囲まれている人たちです。一方、彼らによって作成されたWebサイトは、次のような人たちによってブラウズされています。新旧取り混ぜの各種コンピューターと、PCが配られた時にインストールされていたブラウザーを使い、Webブラウズを反生産的なものと見下しているIT部門によってインストールされたソフトウェアとモデムを使っている人たちです。その上、このギャップを知らない振りをするのは非常に簡単なので、このギャップを埋めるためのアドバイスをするよりも、最新の機能を取り込んで、このギャップを一層拡大するアドバイスをすることが行われがちです。以降は、それを行うための一連の基本原則、つまり、あなたのサイトに、できるだけアクセスできない ようにするための方法です。
    2001/03/13  
 
サイトを生き返らせる: gentoo.orgの再設計
ある朝目が覚めて、個人的に愛用している開発用Webサイトの出来があまり良くないことに突然気が付いたことはありますか? そうだとしたら、いい仲間がいますよ。Daniel Robbinsはこのシリーズで、XML、XSLT、およびPythonなどのテクノロジーを使用してwww.gentoo.org Webサイトをデザインし直したときの経験を語ってくれます。
    2001/03/01  
 
Webトラフィックの測定:第2回
ebサイトが目標を達成しているかどうかを知るための最良の方法は、さまざまなトラフィック・データを収集することです。このシリーズの第1回 (参考文献を参照) では、ネットワーク・モニターやシングル・ピクセル・ソリューションなど、いくつかのWeb測定方式について説明しました。第2回では、HTTPサーバー・ログを分析することによって詳しいトラフィック測定値を得る方法について説明します。
    2001/03/01  
 
Web トラフィックの測定: 第 1 回
Webサイトがその目的を達成しているかどうかを知るための最良の方法は、広範なトラフィック・データを収集することです。それも単にアクセス・ヒット数を調べるだけでなく、どのページが人気があるか、どんな人が利用しているか、いつ利用しているかなどなどです。また状況を明確に把握するために役立つあらゆるデータを収集することです。この記事では、Scott、Tom、およびAndreiが、Webトラフィックを測定することのメリットについて説明します。さらにWeb測定の重要性やWebデータを収集するためのさまざまな方法を示します。また、それを社内で実施するか、アプリケーション・サービス・プロバイダーに依頼するかを決定する方法についても説明します。最後に、収集したデータをどう活用したらよいかについて述べます。
    2001/03/01  
 
使えるアイコン
以下のガイドラインは、もとはWindows 95/NT製品用のアイコンのデザイナー向けに書かれたものですが、ここで述べられている推奨事項の多くは、AIX (UNIX)、OS/2、およびAppleプラットフォーム用に開発されるソフトウェア製品にも同じように適用することができます。これらのプラットフォームには、カラー・パレット、各種の解像度、およびプラットフォーム・スタイルに関して、それぞれ特定の要件がありますので、注意してください。
    2001/02/01  
 
サーブレットを使用するRemote Scripting
Webアプリケーションのユーザーは、デスクトップ・アプリケーションの世界で体験している事との大きな違いに戸惑ってきました。多くのWebアプリケーションは、HTMLとHTTPの課す制約のために、スタンドアロンまたはクライアント/サーバーの標準的なデスクトップ・アプリケーションが提供している使いやすさ、対話性、そして動的な応答などをまったく取り入れていません。この記事で、Erik Hatcher氏は、Webアプリケーションの対話性と動的な応答を、Remote Scriptingを利用して向上させる方法を説明します。
    2001/02/01  
 
ネゴシエーションによるApacheの言語サポート
Apacheのhttpd.confファイルを少しご覧になったことがある方なら、最初の方の数行にAddLanguage de .de およびAddLanguage fr .fr と 記載されているのにお気付きになったかもしれません。この記事では、David Seagerが、これらが何であるか、何をするのか、また、どのように使うのかについて説明します。
    2001/02/01  
 
RFC 3023 (XML Media Types)について
RFC 3023は、インターネットでXML文書を配布するときにつける名札(メディ アタイプ)を規定しています。インターネット上でXMLを利用するためには、このようなメディアタイプが常に必要になります。本稿では、このRFC が何を 規定しているか、どのように制定されたのかを解説します。
    2001/01/01  
 
実例でわかるPHP: 第2回
PHPは、動的なWebページ作成のための言語として、複雑で強力なWeb関連のプログラムを組み立てるための単純化された手段を提供します。Erik氏は、PHPの基本的な原理を、オリジナルで現実的なWebサイト例を使って段階的に例示します。本シリーズの第2回では、デリバリー・モジュールがストーリーのメニューを読者に提示する方法と、オーサリング・モジュールによって執筆者がWebzineにストーリーをサブミットする方法を示します。
    2001/01/01  
 
PKI: 入門
インターネットが浸透するにつれて、日常の緩慢なネットワーク指向セキュリティーの実践は、データを安全に保持するには十分でなくなりつつあります。この結果として、Public Key Infrastructure (PKI) は、データの暗号化の信頼性が高いシステムであることを証明しつつあり、業界でも注目されてきています。
    2000/12/01  
 
ユーザー・エクスペリエンス: 第 3 回 フォームでコントロールを使う
アプリケーションの設計が良いものであれば、効果的なコントロール、すぐに理解できる構造、効率的なナビゲーションを備えたフォームを利用して情報を入力することは簡単です。このようなフォームを実現するにあたり、フォームのそれぞれの構成部品に最適なコントロールを選んで設計するのに役立つ一群のガイドラインを、著者 Dick Berry が指摘します。
    2000/12/01  
 
RDF とは
この記事では Resource Description Framework (RDF) についてご紹介します。RDF は Web ベースのメタデータとして W3C によって開発され、XML を交換構文として使用します。RDF の基本的な目的は自立走行式エージェントの作業を簡単にし、検索エンジンやサービス・ディレクトリーを改善することによって Web をさらに進歩させることです。著者 Uche Ogbuji が、RDF スキーマや使用方法のシナリオなど、RDF の概要を示します。この記事では、読者が XML についてよく知っていることを前提としています。
    2000/12/01  
 
ソフトウェアのセキュリティー原則: 第5回
このシリーズでは、コードにおけるセキュリティー問題の大部分を回避するのに役立つ10原則をGaryとJohnが紹介しています。今回は、最後となる3つの原則が説明されます。まず、少なくともかなりの努力を払わない限り、システム内で機密をうまく守れることは期待できない理由が示されます。第二に、誰か (自分自身を含む) を信用しようとするときには細心の注意を払う必要のあることが強調されます。第三に、どうしても信用する必要がある場合には、群集に従うことがしばしば最善策であるとのアドバイスが述べられます。
    2000/12/01  
 
実例でわかるPHP: 第1回
PHPは、動的なWebページ作成のための言語として、複雑で強力なWeb関連のプログラムを組み立てるための単純化された手段を提供します。Erik氏は、PHPの基本的な原理を、オリジナルで現実的なWebサイト例を使って段階的に例示します。この2部シリーズの第1回では、PHPの基本を説明し、執筆者のページを含むWebzineを特に取り上げています。そこでコンテンツ・プロバイダーは、記事のテキストに加えて、そのコンテンツを世界に提示するためのフロントエンドも入力することができます。
    2000/12/01  
 
ファイアウォールを設ける前に明確にすべきこと
Mandyはこの記事において、企業内にセキュリティー・インフラストラクチャーを構築する際の基礎を扱っています。まず、定義された正式なセキュリティー・ポリシーの重要性について説明してから、このポリシーに含める必要があるものの例を示しています。インターネットにアクセスしている企業でも、セキュリティー管理が実施されていない例が散見されます。
    2000/12/01  
 
拡張のための計画
自分の Web サイトが将来の需要を満たせるかどうかを見極めたり、ワークロードやインフラの変化の可能性を予測したりするにはどうしたらよいでしょうか。本稿では、IT プロフェッショナル向けにそのための方法を示します。さらに、Web サイトの設計に際して、それぞれのワークロード・パターンを考慮に入れ、最高のパフォーマンスを得るための各種コンポーネントの組み合わせ方法を分析するという考え方についても紹介します。そのようにすれば、プロトタイピングやストレス・テストにかかるコストを削減できる可能性もあります。具体的なサンプル・データやグラフのほかに、サンプル・シナリオを実現するためのスクリプトも用意されています。そのようなスクリプトは、オンライン・ショッピング、バンキング、トレーディングなどのサイトで、ユーザーの操作を細かく分解するために再使用できるようになっています。
    2000/11/01  
 
アクセスしやすいWebサイト設計のためのヒント
WebページやWebサイトが、身体に障害のある人々にとってアクセスしやすいものにするために何が役立つでしょうか ? まず第一に、HTMLマークアップそのものがアクセスしやすいページに一役買います。第二に、HTMLコーディングの "不具合" をなくす方法を見つけることによって、視力や運動機能の面で制限のある人々にとってページを不必要に利用しにくくしている問題を取り除くことができます。この記事では、あなたのサイトのアクセシビリティを評価して向上させるのに役立つフリー・ツールもご紹介します。
    2000/11/01  
 
RSSニュース・フィードの紹介
RDF Site Summary (RSS) は、Web で最も広く使用されている XML フォーマットの 1 つとして人気を博しています。RSS ファイルの作成法と使用法を知り、これが何の役に立つのかを学んでください。Netscape、Userland、および Moreover などの企業が、RSS を使って記事の要約と見出しを配布および同時配信している理由を調べてください。この記事には、RSS ファイルのエレメントを示すサンプル・コードと、モジュール XML::RSS を使った Perl の例が含まれています。
    2000/11/01  
 
 結果  498    1 - 100 件を表示する     概要の非表示    
 
お探しの記事は見つかりませんでしたか? コンテンツを提案する