別のブラウザで表示すると、JavaScriptによってこのドキュメントの表示形式が変わる場合があります。ただしドキュメントの内容に影響はありません。

UIX開発者ガイド Go to Table of Contents
目次
Go to previous page
前へ
Go to next page
次へ

2. UIXの機能とテクノロジの概要

UIXの各機能は、Webアプリケーションの各機能の開発に使用されます。これは、ユーザーが必要なUIX機能のみを利用できることを意味します。このトピックでは、UIXの各種の機能およびテクノロジについて簡単に説明します。項目は、次のとおりです。

開発環境: Java、uiXMLおよびJavaServer Pages

次のどの開発環境を使用しても、UIXアプリケーションを開発できます。

uiXMLとJavaの例は、このヘルプを通して提供されます。UIX JSPタグ・ライブラリの使用方法の詳細は、「UIX JSPタグ・ライブラリ」を参照してください。

UIXの主な機能領域

UIXには、2つの主要な機能領域があります。ユーザー・インタフェースでページを定義およびレンダリングするためのUIX Componentsと、アプリケーションにおけるイベントおよびページ間の相互作用を管理するためのUIX Controllerです。

UIX Components

UIX Componentsには、ユーザー・インタフェース・コンポーネントのセットと、それをレンダリングするための手段が組み込まれています。

UIX ComponentsをサポートするJavaコードおよびクラスは、oracle.cabo.uiパッケージとそのサブパッケージに含まれています。

UIXには動的なイメージ生成のためのユーティリティ(後述の「UIX Dynamic Images」を参照)や、Cascading Style Sheet(CSS)(後述の「UIX Styles」を参照)も含まれています。これらのユーティリティをレンダラとともに使用すると、異なるロケール、フォントおよびブラウザ間でUIXユーザー・インタフェースが移植可能になります。

UIX Controller

UIX Controllerは、UIXの中央処理モジュールであるJ2EEベース・サーブレットです。Webリクエスト(イベント)の受信、処理およびディスパッチを担当し、アプリケーション内のページ間のナビゲーションを管理します。通常、コントローラはHTTPリクエストに応答してアプリケーションおよびビジネス・ロジックを実行した後、それに応じてアプリケーションの状態を更新します。この処理の結果として、コントローラはブラウザにページをレンダリングします。

UIX Controllerは、アプリケーションによるHTMLイベントの処理方法を標準化し、エラー・ページのループ、ログインのサポートおよびファイルのアップロードなど、ビルトインのサービスを提供します。UIX Controllerは、UIX Components、JSPまたはeXtensible Stylesheet Language Transformations(XSLT)など、個々のページのレンダリングに使用されるテクノロジとは独立して動作しますが、UIX Componentsなどのテクノロジを使用する際に開発を容易にするビルトインのサポートが含まれています。

UIX ControllerをサポートするJavaコードおよびクラスは、oracle.cabo.servletパッケージとそのサブパッケージに含まれています。

その他のUIXテクノロジ

UIXにはその他の機能、ユーティリティおよびクラス・サポートが含まれており、これらを使用するとWebアプリケーションの作成により広範なコントロールおよび柔軟性を持たせることができます。

UIX Dynamic Images

UIX Dynamic Imagesでは、テキストを含むイメージを生成するための手段が提供され、ボタンやタブのサポートも組み込まれています。ローカライズおよびアクセシビリティのサポートや、パフォーマンス向上のためのキャッシュ・サポートの提供だけでなく、カラー・スキームをサポートするためにアプリケーションのイメージの色を変えることも行います。UIX Dynamic Imagesでは、イメージとイメージ・マップ(必要な場合)が生成されます。

テキストがイメージとは別に処理されるため、UIX Dynamic Imagesを使用したローカライズは容易で効率も高くなります。翻訳者はテキストのみを処理し、イメージを編集する必要はありません。翻訳されたテキストは別の場所(たとえばリソース・ファイル)に保存でき、必要時に抽出してイメージと結合できます。このようにテキストとイメージの処理を分離することにより、漢字など複雑な文字の場合にテキストのサイズを大きくするなど、特別な目的に応じてテキストの様々なスタイルやサイズを使用したり、色盲など視覚障害を持つユーザーのために視覚的属性を調整したりできます。

UIX Dynamic ImagesをサポートするJavaコードおよびクラスは、oracle.cabo.imageパッケージとそのサブパッケージに含まれています。UIX Componentsでは、レンダリング済のイメージについてはUIX Dynamic Imagesが使用されます。

UIX Styles

UIX Stylesは、様々なエンド・ユーザー環境(ロケール、ブラウザまたはプラットフォームなど)についてのスタイルシートの定義とカスタマイズのためのアーキテクチャを提供します。スタイルシートによって、ページのコンテンツとは別に、ページの表示形式の定義や変更を集中的に行うメカニズムが提供されます。

UIX Stylesには、環境固有のスタイルシートを定義するための新しいXML Style Sheet Language(XSS)が含まれています。XSSは、Cascading Style Sheet(CSS)に基づいています。UIX Stylesは、スタイル情報を管理するためのサーバー側APIも備えています。CSSスタイルシートを実行時に動的に生成するための機能も含まれます。

UIX StylesをサポートするJavaコードおよびクラスは、oracle.cabo.styleパッケージとそのサブパッケージに含まれています。UIX ComponentsおよびUIX Dynamic Imagesでは、スタイル情報についてはUIX Stylesが使用されます。

UIX Share

すべてのUIXプロジェクトは、UIX Shareによって提供される共通ユーティリティ・クラスに依存しています。UIX Shareクラスには、構成サポートやローカライズなど、すべてのUIX Webアプリケーションに役立つ機能が含まれています。UIX ShareをサポートするJavaコードおよびクラスは、oracle.cabo.shareパッケージとそのサブパッケージに含まれています。

uiXMLについて

uiXMLはUIXアプリケーションをプログラミングするためのXML言語です。uiXMLは他のUIXテクノロジの上位に位置し、ユーザー・インタフェースの指定とそのインタフェースのデータおよびイベントへのリンクのためのXML言語を提供します。uiXMLは、UIX Java APIを使用したプログラミングによるWebアプリケーション作成にかわる、宣言的開発手法です。uiXML要素で定義したページ、イベントおよびその他のアイテムはすべてJavaオブジェクトに自動的に変換されるため、UIXによって同等に扱われます。コンパイルは不要です。

ボタンを定義するuiXML要素の例を示します。

<button text="Policy"
     destination="http://www.mycompany.com/policy"
     disabled="false"/>

次のuiXMLはイベント・ハンドラを定義します。

<handlers>
  <event name="goto">
    <navigate parameter="value">
      <when value="1" page="first"/>
      <when value="2" page="second"/>
      <when value="3" page="third"/>
    </navigate>
  </event>
</handlers>

uiXMLがXML言語であるという事実は、設計面にも影響します。

uiXMLをサポートするJavaコードおよびクラスは、oracle.cabo.ui.xmlおよびoracle.cabo.servlet.xmlのパッケージとそのサブパッケージに含まれています。

使用するテクノロジ

UIXテクノロジ・スタックはオープンで柔軟性が高いため、ユーザーは必要に応じて任意の数の機能を選択して使用できます。ただし、様々なUIXテクノロジが連動するように設計されていることに注意する必要があります。つまり、あるUIXテクノロジによって別のテクノロジが簡単に使用できるようになる可能性があります。たとえば、UIX Controllerが、uiXMLで指定されたページを自動的に作成してキャッシュするのは、これに対するビルトイン・サポートがあるためです。UIX ComponentsのUIコンポーネントを使わずにuiXMLを使用する場合は、ロードするコードをuiXML文書に記述して表示する必要があります。逆に、uiXMLによる宣言的手法を使わずにUIX ComponentsのUIコンポーネントを使用する場合は、ページの表示方法をUIXフレームワークに対して指定する、コードを記述する必要があります。

次に、推奨されるテクノロジの組合せを示します。

アクセスできない領域

UIXプロジェクトのほとんどすべての部分を開発者が利用できますが、開発者によるJava APIでの利用がごく一部で禁止されています。特に一部のクラスには、APIアクセス・レベル以外の、互換性に対する制限があります。これらのクラスの互換性は、UIXの将来のバージョンでは保証されません。アップグレード後にこれらのクラスを使用するとコードが機能しない場合があります。

名前についての注意

Cabo、BajaおよびMarlinなどの名前が、UIXのファイル名、パッケージ名およびクラス名の一部で使用されています。これらはプロジェクトの初期のコード名の名残です。特別な意味はありません。ただし、これらは下位互換性を保つために使用されています。