「Welcome BEA Developer Event」無事終了

昨日、オラクル青山センターで、BEA開発者/アーキテクト向けイベント「Welcome BEA Developer Event」を開催しました。参加された皆様、ご協力いただいた社内外の皆様、お疲れさまでした!

このイベントに前後して、OTN Japan、Oracle MixでもBEA関連の動きがいろいろあるので、合わせてどうぞ。SNSOracle Mix」の「BEA開発者 & アーキテクト」グループへの参加もお待ちしています。

僕のセッション「最新の開発環境を学ぼう!」では、WebLogic Server連携が強化されたOracle JDeveloper 11gの最新の社内ビルドを使って、ライブ デモを行いました。この社内ビルドは、社外公開はしていません。

デモの流れは、こんな感じ。カッコ内は、時間不足のためスキップしたステップです。

まず前半は、モデル層 (JPAエンティティ、POJO、ADFデータ コントロール) の開発。

  1. JDeveloperから、Oracle Database SCOTTスキーマのEMP表 (社員表)、DEPT表 (部門表) の内容 (表定義や実データ)を確認
  2. ウィザードで、EMP表、DEPT表を元に、1対多の関係を持つ2つのJPAエンティティを自動生成
  3. JPAエンティティのソースコードを確認 (JPAアノテーション、自動生成された全件検索するJPQLなど)
    1. 後で使う、DEPT表に対応するJPAエンティティ (Departmentエンティティ) を全件検索するJPQLも確認
  4. (新規UML クラス図を作成し、2つのJPAエンティティをクラス図にドラッグ &ドロップ。クラス図で、1対多関係を確認)
  5. Javaサービス ファザード」(JPAエンティティを操作するメソッドを持ったPOJO)を自動生成
    1. Departmentエンティティを全件検索するJPQLを実行するJavaメソッドも自動生成されていることを確認
    2. JPAエンティティをマージ (EntityManager#merge()) するJavaメソッドも自動生成されていることも確認
  6. (Javaサービス ファザードのmainメソッドで、Departmentエンティティを全件検索するメソッドを実行し、標準出力に部門名を出力)
  7. (Javaサービス ファザードを実行し、結果を確認)
  8. Javaサービス ファザードから、ADFデータ コントロールを自動生成

そして後半は、プレゼンテーション層 (JSFページ、ADFデータ バインディング) の開発。

  1. JSFページを新規作成
  2. パネル タブ コンポーネント (ADF Faces Rich ClientのpanelTabbed) を追加し、タブ (ADF Faces Rich ClientのshoeDetailItem) をいくつか追加
  3. ADFデータ コントロールJSFページにドラッグ &ドロップして、データをバインディング
    1. まず、Departmentエンティティを全件検索するJPQLを実行するJavaメソッドの結果 (Deptエンティティのリスト) をJSFページにドラッグ &ドロップし、読取り専用フォームを自動生成
    2. 次に、結果のDepartmentエンティティの配下のEmployeeエンティティ (各Departmentエンティティと1対多関係を持つEmployeeエンティティのリスト) をJSFページにドラッグ &ドロップし、フォームを自動生成
    3. (このフォームに、JPAエンティティをマージするメソッドをJSFページにドラッグ &ドロップし、社員情報の更新ボタンとして追加)
    4. 同じEmployeeエンティティをJSFページにドラッグ &ドロップし、今回はグラフを選択 (種類は積み上げ棒グラフ、データはEmployeeエンティティのsalプロパティ (給与) とcommプロパティ (ボーナス)、X軸はenameプロパティ (社員名)
    5. 部門を変更したら、その部門に属する社員データをグラフに表示するため、棒グラフ コンポーネント (ADF Faces Data Visualization ComponentsのbarGraph) のpartialTriggers属性に、部門フォームの4つのボタンを追加
  4. JSFページを実行
    1. 自動的に、WebLogic Serverが起動
    2. 自動的に、JSFページ、JPAエンティティなどを含むJava EEアプリをデプロイ
    3. 自動的に、WebブラウザJSFページのURLをオープン
  5. Webブラウザで動作を確認
    1. 部門を変更すると、その部門に属する社員の情報だけが、フォームやグラフに表示されることを確認
    2. 社員のフォームで給与/ボーナスの値を更新し、それがグラフに反映されることを確認

無事に動作確認してデモを終了したかったのですが、今回使った社内ビルドのBugを回避するためのある手順を実行し忘れていたため、Java EEアプリをデプロイでエラーとなり、動作確認できないというオチでした。スイマセン…

OTNで公開しているOracle JDeveloper 11g Technology Preview 4でも、(実行環境がOC4Jにはなりますが) 同じようにADFアプリの開発ができるので、興味のある方はお試しください。