Oracle JDeveloperのIDEを操作して、モバイル機器のブラウザを対象とするJSFアプリケーションを作成できます。
スキーマのインストール:Oracle Technology Network(OTN)からスキーマのzipファイルをダウンロードしてインストールします。 キュー・カードでは、Fusion Order Demo(FOD)スキーマの一部である表を使用します。
新規アプリケーションの作成:Create Applicationダイアログを使用して、ADFモバイル向けのアプリケーションを作成します。
データベース接続の作成:Create Database Connectionダイアログを使用して、スキーマへの接続を作成します。
Oracle ADF Business Componentオブジェクトの作成:Create Oracle ADF Business Componentsウィザードを使用し、データ・アクセスを提供してビジネス・ロジックを実装するビジネス・コンポーネントを作成します。
ビュー・オブジェクトの編集:ビュー・オブジェクトを変更してアプリケーションに必要なフィールドのみを含 めます。
検証ロジックの追加:エンティティ・オブジェクトに検証ルールを追加します。
Oracle ADF Business Componentテスターでのアプリケーション・ロジックのテスト:Oracle ADF Business Componentテスターを使用して、前の手順で作成したアプリケーション・ロジック・コンポーネントをテストします。
画面サイズの設定:Preferencesダイアログを使用して、対象のモバイル機器でデフォルトの画面サ イズを設定します。
ADFモバイル・プロジェクトの作成:ADFモバイル・アプリケーション向けに ViewControllerプロジェクトを作成し、適切なテクノロジー・スコープを選択します。
ページ・フローの作成:ADFモバイル・アプリケーションにページ・フローを作成します。
JSFページの作成:モバイル機器で注文を参照できるように、ページ・フロー・エディタでページをダブルク リックしてJSFページを作成します。
参照ページの作成:読取り専用のフォームと表を含むモバイル機器ブラウザで注文を参照するためのJSFを定 義します。
編集ページの作成:注文編集用のフォームを含むモバイル機器ブラウザで注文を参照するためのJSFを定義し ます。
アプリケーションの実行:静的ビュー・オブジェクトの作成:注文ステータスの値として静的オブジェクト・ビューを作成します。
静的LOVの作成:注文ステータスの記述がドロップダウン・リスト・ボックスに表示されるように、Edit Orderフォームの注文ステータスのフィールドに静的LOVを作成します。
検索ビュー・オブジェクトの作成:顧客のIDではなく、名前がEdit Orderビューに表示されるように、Customer IDフィールドに検索ビュー・オブジェクトを作成します。
動的LOVの作成:顧客名がドロップダウン・リスト・ボックスに表示されるように、Edit OrderフォームのCustomer IDフィールドに動的LOVを作成します。
LOVのテスト:Edit OrderビューにLOVを追加したあと、アプリケーションを実行します。
キュー・カードの手順と例は、Fusion Order Demo(FOD)スキーマの一部である表に基づいています。 また、このリリースのほかの補足情報と同様に、Oracle JDeveloper 11gに付属しているサンプル・アプリケーションのデータベースとして、このスキーマが使用されます。 このスキーマはインストールすると便利であり、インストールは1回で済みます。 FODスキーマをすでにインストールしている場合は、この手順をスキップして次のカードに進んでください。 [ 詳細はこちら]
c:\temp
など)に解凍します。c:\temp\Infrastructure\infrastructure.jws
ワー クスペースを開きます。jdeveloper.home
と、 jdbc.*
お よび db.*
のすべての設定)。 デフォルト値に設定されたほかのすべてのプロパティを保持します。 demoユーザーの名前を FODにする必要があります。 c:/JDeveloper/11g
など) jdbc:oracle:thin:@localhost
など) 1521
など) XE
または ORCL
な ど) system
など) manager
な ど) USERS
など)
Antタスクの実行後、Oracle JDeveloper Logウィンドウで build successfulメッセージを確認できます。 [ 詳細はこちら]
Oracle JDeveloperアプリケーションは、組織構造の最上位レベルです。 アプリケーションの作成中に、操作しているオブジェクトの情報が格納されます。 開発中には、プロジェクトと環境設定が追跡されます。 [ 詳細はこちら]
アプリケーション・テンプレートを使用すると、標準アプリケーション向けのプロジェクト構造を素早く作成できます。このプロジェクト構造に は、適切なテクノロジーの組合せが事前に指定されています。 テンプレートから作成された新しいアプリケーションがアプリケーション・ナビゲータに表示されます。関連するテクノロジー・スコープが設定され、プロジェ クト階層に分割されています。 選択したアプリケーション・テンプレートによって、初期のプロジェクト構造(アプリケーション内の名前つきプロジェクト・フォルダ)および追加されるアプ リケーション・ライブラリが決定されます。 プロジェクト・テンプレートは、関連するテクノロジーを定義します。 既存のテンプレートを変更したり、新しいテンプレートを作成したりすることができます。 使用しているテクノロジーに合わせて選択できるように、Oracle JDeveloperで実行する処理をフィルタできます。 [ 詳細はこちら]
adfm
と入力)。oracle.fod.mobile
と 入力します。
接続の詳細を把握しているデータベースに接続できます。また、キュー・カードの例に使用されているサンプル・スキーマをインストールして、スキーマ への接続を確立できます。 サンプル・スキーマをインストールした場合、記載されているとおりにキュー・カードの手順を実行できます。 独自のデータベースを使用している場合、必要に応じて固有の値を設定できます。 [ 詳細はこちら]
FOD
、 ユーザー名に fod
、パスワードに fusion
を使用します。
データベース接続がアプリケーションのリソースとして設定されました。 [ 詳細はこちら]
Oracle ADF Business Componentsは、Oracle Application Development Framework(Oracle ADF)のモデル・レイヤー・テクノロジーであり、 ビジネス・サービスを作成するフル機能のXMLベース・フレームワークです。 つまり、残りのアプリケーションとデータソースのデータ間の相互作用を制御して、検証機能、特定のサービス、ほかのビジネス・ロジックを提供します。 [ 詳細はこちら]
FODModule
に変 更します。 「 Finish 」をクリックします。
Create Oracle ADF Business Components from Tablesウィザードは、ユーザー・インタフェースを作成しません(アプリケーションの"view"によって制御されます)。また、制御フローなどのほ かのアプリケーション・ロジックも設定しません。 データの表示とアクセスを提供して、ビジネス・ロジックを実装します。 [ 詳細はこちら]
Create Oracle ADF Business Components from Tablesウィザードを実行すると、アプリケーション・ナビゲータの Modelプロジェクト は次のように表示されます。 [ 詳細はこちら]
一般的に、ビュー・オブジェクトのおもな役割は、クライアントが表示するデータの取得です。 以前に作成したデフォルトのビュー・オブジェクトを変更して、Webページに表示するデータを反映します。 [ 詳細はこちら]
OrdersViewビュー・オブジェクトから属性を削除して、ビュー・オブ ジェクトの問合せの列数を削減しました。 [ 詳細はこ ちら]
ビュー・オブジェクトは、1つ以上のエンティティ・オブジェクトに基づいています。複数の表のデータをクライアント・ページに表示する必要 がある場合にこれを実行します。 クライアント・ページの注文項目のリストで、 ProductsBaseエ ンティティ・オブジェクトの製品名とともに OrderItemsエンティティ・オブジェクトの 各項目のID、数量、および価格を表示します。 [ 詳 細はこちら]
OrdersViewビュー・オブジェクトには、 Ordersエンティティ・オブジェクトと ProductsBaseエ ンティティ・オブジェクトの両方の属性が含まれます。 OrderItemsViewには、 2つの ProductId属性( OrderItemsエ ンティティ・オブジェクトの ProductIdと ProductsBaseエ ンティティ・オブジェクトの ProductId1)が含まれます。これには、2つのエンティ ティ・オブジェクトの結合を指定する必要があります。 [ 詳細はこちら]
検証ロジックを追加してルールを適用できます。ここでのルールは、注文の出荷日を注文の発生日のあとに設定するというものです。 Oracle ADF Business Componentsの宣言的検証機能を使用して検証ルールを作成し、Groovyスクリプト言語を使用してロジックを定義します。 [ 詳細はこちら]
OrderShippedDate == null || OrderShippedDate >= OrderDate
と入力します。 「 Test 」 をクリックして、式を検証します。式構文チェックのポップアップ画面を確認してから、「 OK 」 をクリックします。Orders_10
に 変更します。 デフォルトの Message Stringを {0} cannot be earlier than {1}
に変更します。 [Enter]または[Tab]を押します。source.hints.OrderShippedDate.label
と 入力します。 Message Token 1には、 source.hints.OrderDate.label
と 入力します。 「 OK 」をクリックします。
検証ルールのカスタム・エラー・メッセージが作成されました。 {0}
と {1}
は、 OrderShippedDateおよび OrderDate属 性のラベルとして定義するパラメータのプレースホルダです。 Oracle ADF Business Componentsを使用して、各属性のカスタム・ラベルを作成できます。これらのラベルは、異なるロケールに変換できるメッセージ・バンドルに格納さ れ、クライアント・ページの属性のラベルとして自動的に表示されます。 ここでは、カスタム・ラベルを定義していないので、ラベルはデフォルトの属性名になっています。 [ 詳細はこちら]
Oracle ADF Business Componentテスターで、追加した検証ルールをテストできます。 このテスターは、ビジネス・コンポーネントをテストできる動的に生成されたSwingクライアントです。 ビジネス・コンポーネントに追加した検証ルール、LOV、カスタム・メソッドなどの拡張機能のテストに役立ちます。また、画像からクライアント・コードを 削除して問題を絞り込むことができる、便利なトラブルシューティング・ツールです。 [ 詳細はこちら]
14.01.07
の場合、注文の出荷日に 13.01.07
と 入力します。14.01.07
の場合、エラー・ダ イアログが表示されないように注文の出荷日に 15.01.07
と入力します。
有効なデータを入力すると、データベースに保存したデータが表示されます。 [ 詳細はこちら]
Oracle JDeveloperを使用すると、ビジュアル・エディタをモバイル機器の画面の大きさに設定できます。 次の例では、ビジュアル・エディタの画面サイズは、240X320ピクセルに設定されています。 これにより、モバイル・ブラウザのページを設計する際に見やすくなります。 [ 詳細はこちら]
Preferencesダイアログを使用すると、ビジュアル・エディタのデフォルト・サイズを設定して、モバイル機器の画面にコンポーネン トがどのように組み込まれるかを表示できます。 [ 詳 細はこちら]
Oracle JDeveloperのプロジェクトを使用して、関連するファイルが論理的にグループ化されます。 プロジェクトによって、ソース・ファイル、パッケージ、クラス、イメージ、およびプログラムで必要なそのほかの要素が追跡されます。 ソース・コードのアクセス、変更、再利用を簡単にするために、複数のプロジェクトをアプリケーションに追加できます。 [ 詳細はこちら]
mvc
と入力します( mvc
は、"モバイル"ビュー・コントローラの 略)。次に「 Next 」をクリックします。
短い小文字の名前をADFモバイル・アプリケーションおよびプロジェクトに入力すると、短いURLが作成され、モバイル機器で簡単に入力で きます。 [ 詳細はこちら]
Available Technologiesペインの「 Mobile 」を Selected Technologiesペインに移動すると、Java、JSF(JavaServer Faces)、JSP(JavaServer Pages)、サーブレットもそのペインに移動します。 Mobileテクノロジーを追加すると、Apache My Faces Trinidadライブラリが自動的に作業領域にロードされます。モバイルJSFページを作成すると、Trinidadコンポーネント・パレットがロード されます。 [ 詳細はこちら]
アプリケーションのmvc(モバイル・ビュー・コントローラ)プロジェクトには、デフォルトの無制限のタスク・フロー faces-config.xml
が 含まれています。 タスク・フローには、ビュー・アクティビティと、アプリケーションのページ・フローを定義する制御フロー・ルールが含まれています。 [ 詳細はこちら]
/br-o
という名前をつけます。 このページは、注文を参照するページであり、デフォルトのアクティビティを示すアプリケーションの最初のページです。/ed-o
という名前をつけます。 /br-o
」に続いて「 /ed-o
」 をクリックし、ページを接続します。goEdit
と入力します。goBrowse
と入力します。
タスク・フローには2つのビュー・アクティビティが含まれます。 それらは、注文の参照と注文の編集で、/br-oおよび/ed-o JSFページによって表示されます。 これらのページはJSF Navigation Caseコンポーネントを使用して接続されます。 [ 詳細はこちら]
JavaServer Facesを使用したWebアプリケーションによって作成されるページは、JSPドキュメント(ファイル拡張子は .jspx
) またはJSPページ(ファイル拡張子は .jsp
)です。 [ 詳細はこちら]
/br-o.jspx
を受け入れて、「 OK 」 をクリックします。(mvcはADF Mobileプロジェクトであるため、 Render in Mobile Deviceがデフォルトで選択されます)。
ユーザー・インタフェースを作成するには、Apache MyFaces TrinidadコンポーネントをJSFページに追加します。 [ 詳細はこちら]
Browse Order
と 入力します。
br-o.jspx
のビジュアル・デザインはビジュアル・エディタで表示され、Structureウィンドウで はページの構造が表示されます。 ビジュアル・エディタは、Panel Group Layoutを表す長方形を示します。コンポーネントをページに追加する場合、この長方形内にコンポーネントをドロップします。配置はレイアウト・マネー ジャで制御されます。 [ 詳細はこちら]
参照ページを使用すると、データ・オブジェクトを1つずつ表示してナビゲートできます。 読取り専用のフォームおよび表が追加され、この参照ページにマスター/ディテール機能が提供されます。 注文および注文項目を参照するには、コンポーネントを br-oページに追加します。 読取り専用フォームの注文情報と表の注文の明細項目で、注文が1つずつ表示されます。 [ 詳細はこちら]
Data Controlパネルは、使用可能なビジネス・オブジェクト、メソッド、およびデータ・コントロール操作を階層で表示します。 [ 詳細はこちら]
Edit
と入力します。 goEdit
」を選択します。ID
と入力します。Quan.
に、UnitPrice列の名前を Price
に、 ProductNameを Name
に変更します。100%
と入力します。
ビジュアル・エディタは、ページを構成する読取り専用フォーム、表、およびボタンを表示します。Structureビューは、ページのコン ポーネントの階層を表示します。 Structureビューのコンポーネントをドラッグするか、ビジュアル・エディタまたはソース・エディタでコンポーネントを移動して、ページ構造を再編 成できます。 [ 詳細はこちら]
ADFドラッグ・アンド・ドロップ・データ・バインディングによって、ページのビジュアル・コンポーネントをデータまたはアクションにバインドでき ます。 次の方法を使用します。 注文データを編集するフォームを作成し、ボタンとコミット・アクションをバインドします。 [ 詳細はこちら]
Edit Order
と 入力します。
Commit操作をデータ・コントロール・パネルからページにドラッグすることで、編集ページのトランザクションを保存するボタンと、ユー ザーを参照ページに戻すボタンを作成します。 次、前、作成、実行などの独自の操作セットが各データ・コレクションに含まれますが、コミットおよびロールバック操作はデータ・コントロールのすべての データに適用されます。 [ 詳細はこちら]
Save
と入力して、Disabledプロパティに「 Reset to Default 」を選択します。Return
と入力して、Actionプロパティのドロップダウ ン・リストから「 goBrowse 」を選択します。
編集ページを作成すると、ビジュアル・エディタでページが次のように表示されます。 [ 詳細はこちら]
Oracle JDeveloperには、IDEからWebアプリケーションを実行およびテストできるOracle Containers for J2EE(OC4J)サーバーが組み込まれています。 特別な接続設定は必要ありません。 アプリケーション全体または個々のJSPページを実行します。 [ 詳細はこちら]
エミュレータを使用してADFモバイル・アプリケーションをテストするには、Oracle JDeveloperのIPアドレスではなく、コンピュータのIPアドレスをアプリケーションURLに入力します。 デバイス・エミュレータは、IPアドレスのみと通信できます。IPアドレスの代わりにlocalhostの値を使用できません。 IPアドレス以外では、アプリケーションURLの残りの部分は正確です。 たとえば、機器のブラウザに http://www.<IP Address>:<Port Number>/adfm-mvc-context-root/faces/br-o.jspx
と 入力します。 [ 詳細はこちら]
br-o.jspx
ページを実行すると、ブラウザ内に次のようなページが表示されます。 [ 詳細はこちら]
このステップでは、参照ページに表示する行数と編集ページの列の幅を制限することにより、モバイル機器で表示するbr-o.jspxページおよび ed-o.jspxページのレイアウトを最適化します。 [ 詳細はこちら]
2
と入力します。5
と入力します。12
と入力します。
最初にbr-o.jspxを開くと、デフォルトで設定された数の行が含まれています。 [ 詳細はこちら]
静的LOVは、設計時に一時属性が作成および移入されるビュー・オブジェクトに基づいています。 ビュー・オブジェクトを定義し、LOVに必要な静的値を移入して、LOVとして使用するビュー・オブジェクトに関連づけます。 [ 詳細はこちら]
StatusCodes
と入力します。StatusCodes
と入力し、「 OK」をクリックします。StatusDesc
と 入力し、「 OK」をクリックします。 「 Next 」 を2回クリックします。 PENDING Order submitted
SHIP Order is being shipped
PICK Order is being picked
COMPLETE Order complete
CANCEL Order cancelled
STOCK Waiting for stock
CART Order is in cart
ビュー・オブジェクトの静的リストを定義すると、Oracle JDeveloperにより、それらを格納する標準のメッセージ・バンドル・ファイルが作成されます。 ファイルは、関連するビュー・オブジェクト・コンポーネントに固有のものであり、適宜名前がつけられます。 Oracle ADF Business Componentsを使用して構築されたアプリケーションのモデル・レイヤーに関する国際化には、各コンポーネントのメッセージ・バンドル・ファイルの 翻訳バージョンの作成を必要とします。 たとえば、 ModelBundle.properties
メッセージ・バンドルのイタ リア語版は、 ModelBundle_it.properties
という名前のクラスになります。さらに、スイスで使用される イタリア語版は、 ModelBundle_it_ch.properties
という名前になります。 [ 詳細はこちら]
ビュー・アクセッサとしてビュー・オブジェクトを追加すると、次のように表示されます。 [ 詳細はこちら]
静的LOVは、設計時に一時属性が作成および移入されるビュー・オブジェクトに基づいています。 LOVを必要とする固有の属性にビュー・オブジェクトを割り当てて、LOVの表示方法を選択します。 ページを編集して、LOVリストとして属性を表示します。 [ 詳細はこちら]
LOV UIの選択リストとして、ステータス・コードが表示されます。 選択リストとともに、ほかのオプションも使用できます。 LOVの複数の列(この例ではステータス・コード)を表示できます。選択を空白のままにすることもできます。 異なるLOV UI(コンボ・ボックスやラジオ・グループなど)も使用できます。 [ 詳細はこちら]
編集ページで、 OrderStatusCodeフィールドの横のLOVを使用 できます。 [ 詳細はこちら]
動的LOVは、LOVを移入するためのSQLを提供するビュー・オブジェクトに基づいています。 ビュー・オブジェクトを定義して、LOVの基礎として使用される問合せ(ここではすべての顧客を取得)を指定します。 ビュー・オブジェクトを構成して特定のフィールドのLOVを提供したあと、そのリストを使用して簡単に検証できます。 この例では、editOrdersフォームでユーザーが入力する CustomerId値が有効 な CustomerId(LOVに存在する値)であることを確認できます。 [ 詳細はこちら]
CustomerView
と入力します。SELECT * from PERSONS Persons
WHERE Persons.PERSON_TYPE_CODE = 'CUST'
概要エディタの View Accessorsタブをクリックして、View Accessorsダイアログで新しいビュー・オブジェクトをビュー・アクセッサとして追加できます。 [ 詳細はこちら]
ユーザー・インタフェースのLOVのプロバイダとして使用できるビュー・オブジェクトを作成しました。 このビュー・オブジェクトは、 CustomerIdフィールドを検証する有効な値のリストとしても使用できます。 [ 詳細はこちら]
LOVの基礎として以前に作成した動的ビュー・オブジェクト(SQL問合せから移入されたビュー・オブジェクト)を使用します。 フォームから CustomerIdフィールドを削除して、フィールドを inputListOfValuesコ ンポーネントに置き換えます。 このコンポーネントは、入力テキスト・フィールドとして表示されます。横のボタンを使用すると、個別のウィンドウでLOVの表示をアクティブにできます。 LOVを構成して、ビュー・オブジェクトから列のサブセットを表示し、フィールドとリストから選択した値の関係を指定します。 [ 詳細はこちら]
Data Controlsパネルを使用して、 CustomerIdのLOVを ページに追加できます。 CustomerIdの inputTextフィー ルドを削除したあとに置換されます。 [ 詳細はこち ら]
selectOneChoiceコンポーネントを ed-o.jspx
フォームに追加しました。 ボタンをクリックして、LOVをアクティブにします。わかりやすいインタフェースからフィールドの値を選択できます。 [ 詳細はこちら]