|
この章では、リッチで対話的な WebLogic Portal アプリケーションが作成できる技術と方法について説明します。リッチで対話的な WebLogic Portal アプリケーションでは、Ajax、JavaScript、JSON などのさまざまな技術と REST のようなパターンが使用されます。これらの技術とパターンで、開発者は良い応答性のある、対話型の高い Web アプリケーションを作成することができます。
バージョン 9.2 より、WebLogic Portal には、個々ポートレットを非同期に表示できるようにする Ajax (Asynchronous JavaScript and XML) テクノロジが組み込まれています。バージョン 10.0 には、非同期デスクトップ機能が追加されました。ポータル管理者はこの機能を使用して、ポータル デスクトップのプロパティを設定するだけで、デスクトップ全体の非同期表示を有効にすることができます。
表 2-1 は、WebLogic Portal 内の非同期機能の履歴をまとめたものです。
JavaScript は、クライアント側の双方向性を有効にするために使用されます。JavaScript は、Web 開発者によって一般的に使用されるコンパクトで、緩くタイプされた言語です。最近、JavaScript では、主に新しいフレームワークとベスト プラクティスが増えたので、広く採用されるようになります。Dojo のような JavaScript ツールキットの出現でクライアント側の開発が簡単になりますが、クロスブラウザ 互換性に関するいくつかの問題が発生することがあります。
Ajax とは、標準ベースのオープンソース ブラウザ テクノロジの集合です。クラシック Web アプリケーションではサーバからの応答ごとに Web ページ全体が更新されますが、Ajax 対応の Web アプリケーションでは、一部のデータおよび UI マークアップがサーバから返され、ページ全体を更新せずにブラウザで表示できます。Ajax 対応の Web アプリケーションは伝統的な Web アプリケーションよりスムーズにすばやくユーザと応答します。
XMLHttpRequest オブジェクトは Ajax の中心です。通常は XHR と呼ばれる XMLHttpRequest は、サーバに非同期 (一般に) で増分リクエストを実行する HTTP リクエスト オブジェクトです。XMLHttpRequest 用の JavaScript API は、Ajax スタイルの Web アプリケーションの主要なコンポーネントです。このオブジェクトにより、ブラウザはページ全体をロードせずにユーザのイベントに応答することができます。たとえば、ユーザがフォルダをコンテンツ リポジトリで検索することができる Web アプリケーションは、ユーザはフォルダを開くたびにインタフェースのエクスプローラー部分のみ更新されるように設計することができます。
「ポータル対応の XMLHttpRequest」で説明するように、標準 XMLHttpRequest オブジェクトは、ポータル環境で最も良い方法であるとは限りません。
Disc は、ポートレットの開発および WLP 表示フレームワークとの対話のための WLP 固有のパブリック JavaScript API です。Disc を使用して、Ajax 対応ポートレットを書き込むことおよびポータルの十分に対話的な Web アプリケーション機能を有効にすることができます。詳細については、「wlp Disc フレームワーク」を参照してください。
ポータル環境に標準 XHR オブジェクトを使用すると、表示やポートレット間の通信に関する特定の問題やその他の問題が発生することがあります。XHR コールのスコープはポータル全体です。ポータル対応の XHR コールのスコープは個別のポートレットです。ポータル対応の XHR コールによって、ポートレット コンテンツと影響を受ける他のポートレットの一部が取得されます。
Disc API クラスの bea.wlp.disc.io.XMLHttpRequest は、標準 XMLHttpRequest クラスの拡張です。WLP の XMLHttpRequest を使用して、ポータル サーバへの非同期で増分コールを実行でき、ポータル間通信や WSRP などのポータル機能をサポートできます。詳細については、「WLP Disc フレームワーク」を参照してください。
REST (REpresentational State Transfer) は、特定の URL でのリソースと対話するアーキテクチャ スタイルです。REST アーキテクチャは一般に、Web 上で公開されるリソースに単純な HTTP インタフェースを提供するために使用されます。簡単な類似性ですが、REST サービスは従来型の Web サービスと同じくらい使いやすいです。
REST を使用すると、Web アプリケーションによって Web 対応のデータと UI にブラウザ インタフェースから直接アクセスできるので、WebLogic Portal のような Web アプリケーションで REST スタイルのサービスを使用するのは有利です。REST モデルでは、データと UI との間で疎結合が提供されます。ブラウザから HTTP リクエストを使用して、REST サービスを簡単に呼び出すことができます。
WebLogic Portal では、WLP データおよび方法を REST サービスとして公開する REST フレームワークが提供されます。このサービスにより、ポータル Web アプリケーションからのデータのロックが削除され、データがアプリケーション間に共通できるようになります。詳細については、「WebLogic Portal REST API」を参照してください。
| ヒント : | REST の概要については、ウィキペディアの記事「Representational State Transfer」を参照してください。 |
JSON (JavaScript Object Notation) は、JavaScript に基づくデータ交換形式です。通常、JSON は HTTP 経由で Web クライアントとサーバの間にオブジェクトを渡すために使用されます。JavaScript を使用して、JSON オブジェクトを簡単に読むおよび操作できます。JSON の詳細については、「json.org」を参照してください。
Disc で処理できる JavaScript ツールキットおよびフレームワークを使用できます。たとえば、Dojo は、DHTML と JavaScript ブラウザ プログラミング用のツールキットです。Dojo では、低水準な IO (Xmlhttprequest)、イベント フレームワーク、JavaScript 拡張、およびボタンやリストやフォームや、ツリーなどのさまざまなインタフェース ウィジェットが提供されます。Dojo は WLP ポートレットで正しく操作します。
Dojo については、「ポータル Web プロジェクトでの JavaScript ライブラリのコンフィグレーション」で説明します。Dojo Web サイトでは、追加のドキュメント (www.dojotoolkit.org) が提供されます。
|