XPLATFORMエンジンのインストールが完了したら、XPLATFORMエンジンは応用プログラムの実行のために開発者が開発したファイルを順にロードします。
動作原理に配布過程も含まれますが、ここでは配布についての部分は言及しません。
XPLATFORM応用プログラムのファイル
開発者が画面を1つだけしか開発しなかったとしても、その画面を応用プログラムとして実行するためには多くの不可ファイルが必要です。応用プログラムの実行のために、XPLATFORMランタイムはフォームファイル以外にも多くのファイルを必要とし、そのファイルはUX-Studioが自動管理します。
以下は、XPLATFORMランタイムが応用プログラムを実行するために必要とするファイルです。
XPLATFORMランタイムは、最初にアプローチするADLファイルから残りのファイルの情報を取得します。
ADLファイル
ADLはApplication Definition Languageの略字で、アプリケーションの構成に必要な全ての要素の定義をします。
ADLファイルが定義する主要要素は、以下の通りです。
要素 | 説明 |
---|---|
アプリケーションモデル | - 応用プログラムのUIの基本フレームを定義します。 - マルチフレーム、シングルフレーム、ウィジェットの3種類のモデルがあります。 - これらのモデルの構成を定義します。 |
基本画面の配置 | - 応用プログラムの画面の最も大きなフレームであるメインフレーム内に、どのようにフォームを配置するのかを定義します。 |
メニュー | - 応用プログラムのメニュー構成を定義します。 |
オブジェクトの配布 (link) | - 応用プログラムの実行に必要なオブジェクト(データセット、グリッドなど)を羅列し、バージョン情報を登録します。 - この情報はType Definitionファイルに保存され、ADLではLink のみを行います。 |
テーマの構成 (link) | - 応用プログラムの画面に出力するグラフィックの詳細内容を定めます。 - テーマはイメージとCSSの組み合わせにより構成されます。 - この情報はThemeファイルに保存され、ADLではLinkのみを行います。 |
CSS (link) | - 応用プログラムのCSSを定義します。 - テーマに登録したCSS以外に、追加でCSSを登録する際に使用します。 - この情報はCSSファイルに保存され、ADLではLinkのみを行います。 |
グローバル変数 (link) | - 応用プログラム内の様々な画面が使用する共通変数を登録します。 - 共通変数の種類には、Variant変数やデータセットなどを含んだオブジェクトとイメージがあります。 - この情報はグローバル変数ファイルに保存され、ADLではLinkのみを行います。 |
グローバル スクリプト | - 応用プログラムが使用する共通ファンクションを定義します。 - 応用プログラム自体のイベントファンクションを実装します。. |
ADLファイルはUX-Studioで自動管理します。
UX-Studio上のProject Explorer画面で取り扱う内容のほとんどは、ADLファイルに保存される内容です。以下はUXStuioのProject Explorer画面です。
要素 | 説明 |
---|---|
Project 'developer' | プロジェクト名です。1つのプロジェクトにいくつかのADLを登録することができます。 |
TypeDefinition | Type Definitionの情報を保存します。 |
GlobalVariables | グローバル変数の情報を保存します。 |
ADL 'developer' | ADL名です。 |
childframe | 画面を配置します。ChildFrameしか登録されていないので、シングルフレームモデルです。 |
ApplicationMenu | メニューの構成を保持します。 |
Widgets | ウィジェットの構成を保持します。 |
Trays | トレイアイコンの構成を保持します。 |
ScreenInfo | スクリーンの構成を保持します。(V9.2追加) |
Themes | テーマの構成を保持します。 |
Styles | CSSの構成を保持します。 |
Base | フォームを定義・登録します。 |
Project Explorerで定義した内容は1つのファイルにのみ保存されるのではなく、いくつかのファイルに分けて保存されます。その中でルートに該当するファイルはADLファイルです。
ADLファイルは、Project Explorer画面以外にもエディット画面で直接に編集することができます。
要素 | 説明 | |
---|---|---|
1 | Edit Source | ADLでマウスの右側のボタンをクリックしてから“Edit Source”をクリックすると、ADLの内容を編集することができます。 |
2 | Edit Script | ADLでマウスの右側のボタンをクリックしてから“Edit Script”をクリックすると、ADLのグローバルスクリプトを編集することができます。 |
以下はADLの内容を編集する画面です。
Type Definitionファイル
Type DefinitionファイルはXPLATFORM応用プログラムが必要で、モジュールの配布情報を持っています。必要なモジュールは、オブジェクトと応用プログラムなどです。
Type Definitionファイルが定義する主要要素は以下の通りです。
要素 | 説明 |
---|---|
オブジェクトの 配布情報 | - 応用プログラムの実行に必要なオブジェクトの情報を格納しています。 - ここに登録されたオブジェクトは配布の対象となります。 - XPLATFORMが提供するオブジェクト以外にも、顧客が開発したオブジェクトとプロトコルアダプタも配布の対象となります。 |
オブジェクトの 配布URL | - 配布の対象となるオブジェクトのURLをOS別に指定します。 |
応用プログラムの配布URL | - 開発者が開発した応用プログラムのURLの位置及びキャッシュの種類を指定します。 |
以下はType Definitionの編集画面です。
要素 | 説明 | |
---|---|---|
1 | Objects | オブジェクトの配布情報 |
2 | Services | 応用プログラムの配布URL |
3 | Update | オブジェクトの配布URL |
グローバル変数ファイル
グローバル変数ファイルは、XPLATFORM応用プログラムの様々な画面が使用する共通変数を登録します。共通変数として登録することができる変数には、Variant変数やデータセットなどを含んだオブジェクトとイメージがあります。
グローバル変数ファイルが定義する変数は、以下の通りです。
要素 | 説明 |
---|---|
データセット変数 | - データセットを登録しエレメントを設定します。 |
Variable変数 | - Variantタイプの変数を登録します。 |
Animation変数 | - Animationオブジェクトを登録しエレメントを設定します。 |
オブジェクト変数 | - データセット,Animation以外のinvisibleオブジェクトを登録し、該当オブジェクトのエレメントを設定します。 |
イメージ変数 | - イメージを登録します。 |
以下は、グローバル変数中のデータセットを登録する画面です。Project Explorer画面で、“ProjectGlobalVariableInsertVariable ItemDataset”を選択してデータセットを登録します。
上の画面で“ProjectGlobalVariableEdit Source”を選択し、グローバル変数を直接、編集することもできます。
テーマファイル / スタイルファイル
XPLATFORMでのスタイルとテーマは、画面上に出力されるUI要素のデザインを定義することを意味します。ボタンを例にあげると、透明度、フォント、カラー、陰影、ぼかし、斜体などの効果をボタンコンポーネントに与えることを意味します。
テーマとスタイルの違いは、イメージが存在するか否かです。テーマはスタイルにイメージを追加した形態です。従って、イメージを使用するテーマはスタイルに比べより多様にUIをデザインすることができます。
FDLファイル
FDLファイルは、使用者の画面のフォームを定義します。使用者の画面に出力する画面の配置だけでなく、UIロジックの実行のためのスクリプトを含む多様な情報を含んでいます。FDLファイルは、ADLファイルと共にXPLATFORM応用プログラムで最も重要なファイルです。
FDLファイルが定義する主要要素は以下の通りです。
要素 | 説明 |
---|---|
コンポーネントの配置 | - Visibleオブジドェクトであるコンポーネントを配置する情報を持っています。 - コンポーネントのプロパティ及びイベントを設定します。 |
オブジェクトの 設定 | - データセットやアニメーションなどのInvisibleオブジェクトのプロパティ及びイベントを設定します。 |
スクリプト | - フォームを含む全てのオブジェクトのイベント関数をスクリプトコーディングします。 - イベント関数以外の関すもスクリプトコーディングします。 |
スタイル | - フォームで使用するスタイルを登録します。ここで使用するスタイルは、ADLで登録したスタイルよりも優先権があります。 |
BindItem | - フォーム、コンポーネント、Invisibleオブジェクトとデータセットを結合するBindItemオブジェクトを設定します。 |
ファイルの読み込み順序
XPLATFORMが応用プログラムを実行する際に、開発者が開発したファイルを順に読み込みます。開発者は画面を1つだけしか開発しなかったとしても、その画面を応用プログラムで実行させるためにUX-Studioは多くのファイルを生成します。ここでは、そのファイルを読み込む順序を説明します。
応用プログラムの読み込み順序
応用プログラムを実行する主体はXPLATFORMランタイムです。XPLATFORMランタイムは、以下の順序でファイルを読み込んで応用プログラムを実行します。
順序 | ロードファイル | 説明 |
---|---|---|
1 | エラーファイル | エラーファイルを読み込み、その後の作業で発生する例外状況に対するエラーメッセージを準備します。開発者が別途に指定しなければ、XPLATFORMエンジンの基本ファイルを使用します。 |
2 | ADLファイル (xadl file) | 応用プログラムの基本構造を定義したファイルです。このファイルを先に読み込むことにより、残りのファイルの位置を把握することができます。 |
3 | Type Definition ファイル | 応用プログラムの環境情報を持っているファイルです。応用プログラムが使用するオブジェクトの情報、アップグレード情報、サービスのURL情報を格納しています。 |
4 | グローバル変数 ファイル | 応用プログラムが使用する汎用変数を持っています。 |
5 | テーマファイル | 応用プログラムが使用するテーマファイルです。 |
6 | CCSファイル | テーマ以外に開発者が追加登録したCSSファイルです。このCSSファイルは、テーマファイルよりも適用優先順位が高いです。 |
7 | スクリプト インクルード ファイル | ADLに登録されたスクリプトから他のスクリプトファイルをインクルードした際の、該当スクリプトファイルを意味します。 |
8 | フォーム ファイル | ADLのメインフレームで使用するフォームファイルです。即ち、初期画面を出力するためのフォームファイルです。 |
フォームの読み込み順序
応用プログラムの読み込みの最後の段階であるフォームの読み込みを再度細分化すると、以下の通りです。
順序 | ロードファイル | 説明 |
---|---|---|
1 | フォーム ファイル (xfdl file) | 応用プログラムの実質的な画面UIであるフォームを定義するファイルです。 |
2 | Type Definition ファイル | ADLのロード(応用プログラムのロード)時に使用されたType Definitionファイルを再利用したり、別途のType Definitionファイルを結合することができます。 即ち、特定フォームのみのType Definitionファイルを接合することができます。一般的には、ADLのType Definitionファイルをそのまま使用します。 |
3 | CSSファイル | フォームだけのCSSを別に使用する際に使用します。 |
4 | オブジェクト 関連のファイル | コンポーネントまたはInvisibleオブジェクトで必要とするファイル(例:イメージ、subform URL、バッファ、データセットファイルの情報など)です。 |
5 | スクリプト インクルード ファイル | フォームに登録されたスクリプトから他のスクリプトファイルをインクルードした際の、該当スクリプトファイルを意味します。 |
主要画面の要素
XPLATFORMランタイムは、顧客の画面に応用プログラムのUIを出力するために開発者が開発したファイルを順番読み込みます。
応用プログラムのモデル
XPLATFORMランタイムは応用プログラムを画面出力するために、最初に応用プログラムのモデルを決定します。応用プログラムのモデルとは、UI画面の大きな枠を意味します。かつては、MDIやSDIのような用語で大きな枠の概念を定義していました。XPLATFORMは顧客の多様なニーズを受け入れることができるよう、より多様な形態のモデルを提示します。
XPLATFORMはUIの大きな枠をより多様に定義することができるようにフレーム、ウィジェット、トレーの3種類の機能を提供します。
[フレーム機能]
フレームは一般の応用プログラムのメイン画面の役割をし、シングルフレームとマルチフレームに分けられます。
フレームは下位フレームを持つことができ、最下位のフレームをチャイルドフレームと言い、最上位のフレームをメインフレームと言います。
チャイルドフレームは下位フレームを持つことができず、フォームだけを持つことができます。
[ウィジェット機能]
ウィジェットはフレームのようにいくつかのフォームを1つの大きな枠に配置するのではなく、それぞれの画面のフォームを独立で実行させ、その配置を使用者が要求する位置に思い通りに配置することができます。
ウィジェットはチャイルドフレームの役割をするため直ちにフォームを持つことができます。即ち、1つのウィジェットは1つのフォームを持ちます。
[トレー機能]
トレーは、フレームやウィジェットなどの画面を制御することができるトレーアイコンを提供します。
この3種類のモデルを適切に組み合わせれば、画面UIの大きな枠を組み合わせることができます。即ち、フレーム機能を使用する際にはウィジェット機能の使用ができないのではなく、共に使用することができます。
フレームを利用した画面配置
XPLATFORM応用プログラムは、どんなに単純な画面であっても画面出力のためのフレームがなければなりません。即ち、フレームはフォームを配置する板の役割をします。しかし、ウィジェットはウィジェット自体が1つのフレームの役割をするため、フレームがなくてもフォームを画面出力します。
フレームは大きくメインフレーム、フレームセット、チャイルドフレームの3種類に分けられます。
フレームの種類 | フレーム | 説明 |
---|---|---|
Root フレーム | メインフレーム | - 最上のフレームです。即ち、Rootフレームに該当します。 - 下位にフレームセットとチャイルドフレームを持つことができます。 |
Node フレーム | フレームセット | - 特別な形態がなく下位フレームを配置します。 下位フレームが階段タイプに重なって配置されます。 - 下位にNodeフレームを持つことができます。 - 下位にチャイルドフレームを持つことができます。 |
Vフレームセット | - 縦(垂直)に下位フレームを配置します。 - 下位にNodeフレームを持つことができます。 - 下位にチャイルドフレームを持つことができます。 | |
Hフレームセット | - 横(水平)に下位フレームを配置します。 - 下位にNodeフレームを持つことができます。 - 下位にチャイルドフレームを持つことができます。 | |
Tile フレームセット | - 碁盤形態で下位フレームを配置します。 - 下位にNodeフレームを持つことができます。 - 下位にチャイルドフレームを持つことができます。 | |
タブフレーム | - マルチタブ形態でフレームを配置します。 - 下位にタブフレームページのみを持つことができます。 | |
Terminal フレーム | チャイルドフレーム | - 下位にフレームを一切持てません。 - 下位に1つのフォームのみを持つことができます。 |
タブフレームページ | - 下位にフレームを一切持てません。 - 下位に1つのフォームのみを持つことができます。 |
簡略にフレームの関係を図で表現すると、以下の通りです。
UX-Studio上ではProject Explorerによりフレームを編集します。[Project > ADL > MainFrame > Edit]でエディット画面を開きます。フレームエディット画面
生成したチャイルドフレームにフォームを登録します。ChildFrameを選択してからProperties画面でformurlの値を登録します。formurl propertyにフォームを登録します。
フォームの構成
フォームは実質的な画面UIを構成する対象です。このフォームがフレームの上に貼り付けられ、顧客の画面に出力されます。
フォームは大きくVisible領域、Invisible領域、Logic領域の3つの領域で構成されています。
Visible領域は画面に出力される部分で、visibleオブジェクト(以下、コンポーネントとする)の配置により作成されます。
Invisible領域は、Invisibleオブジェクトの組み合わせにより作成されます。
Logic領域はスクリプトにより直接にコーディングする部分で、コンポーネントとInvisibleオブジェクトを制御します。
サ-バーとのデータ連動
UX-Studioで開発した応用プログラムは、データサーバーと連動しながらデータをUI画面に出力します。
XPLATFORMは、データサーバーとの連動のためにX-APIを提供します。このX-APIは、JSP、ASP、Java Servletなどの様々なサーバープログラムで使用することができます。
X-APIとXPLATFORMランタイム
X-APIは、XPLATFORMランタイムが使用するデータフォーマットを生成するライブラリです。従って、X-APIを使用しなくてもデータのフォーマットに沿って出力するデータサービスを開発すれば、XPLATFORMランタイムが該当のサービスのデータを使用することができます。