Oracle JDeveloper 10g: 概要
リリース9.0.5
はじめに
このハンズオン・スクリプトでは、JDeveloper 10g Previewの概要を簡単に説明します。
このスクリプトでは、JDeveloper 10gの主な機能を約45分で説明します。
中でも、次の機能に焦点をあてて説明します。
「関連情報」の項では、前述の項目およびOracle JDeveloper 10gのその他の機能についての詳細情報を提供します。
Oracle Application Development Framework(ADF)によるアプリケーション開発
ADFは、視覚的でわかりやすいツールの提供によりJ2EEアプリケーション開発を効率化します。 また、開発者は任意のテクノロジを選択できます。
次の項では、MVC(Model-View-Controller)デザイン・パターンに基づいて、アプリケーションを作成します。
このアプリケーションを構築するために使用するテクノロジは、ADF Business Components、Apache StrutsおよびJavaServer Pagesです。
このスクリプトの最初の項では、Departments表にあるデータを参照する簡単なJ2EE Webアプリケーションを作成します。
使用するスキーマ
この例では、Oracle9iデータベースに含まれているサンプル・スキーマHRを使用します。
HR共通スキーマをお持ちでない場合は、次の手順でインストールしてください。
なんらかの理由で、HRスキーマにアクセスできない場合も、このスクリプトの一般的な手順は有効です。
その場合、スクリーンショットは読者の例には一致しない場合があるため注意してください。
HRスキーマのセットアップ手順は、
http://otn.oracle.com/obe/obe9051jdev/common/OBEConnection.htmを参照してください。
新規データベース接続の作成
- JDeveloperで、ナビゲータ・ペインの「接続」タブを選択して、接続ナビゲータにアクセスします。
- 「データベース」ノードを右クリックして、コンテキスト・メニューから「データベース接続の作成」を選択します。
- データベース接続の作成ウィザードの「初期画面」が表示されたら「次へ」をクリックします。
- ステップ1で、接続名としてhrと入力します。
- 「次へ」をクリックします。
- ステップ2では、データベースのユーザー名とパスワードを入力します。
- 「パスワードを配布」を選択し、「次へ」をクリックします。
- ステップ3では、使用するデータベースの接続の詳細を入力します。
- 「次へ」をクリックします。
- ステップ4では、「接続のテスト」をクリックします。ステータスに「成功」と表示されたことを確認してから「終了」をクリックします。
新規アプリケーション・ワークスペースの作成
JDeveloperでは、作業について何種類かのビューを提供します。
アプリケーション・べースのビュー、ファイル・システムのビュー、コードで構成されたビューなどがあります。
アプリケーション・ビューでは、アプリケーションを全体として、機能分野別に分類した形で表示できます。
- アプリケーション・ナビゲータで、「アプリケーション」を右クリックし、コンテキスト・メニューで「新規アプリケーション・ワークスペース」を選択します。
- 「アプリケーション・ワークスペースの作成」ダイアログ・ボックスで
- 「アプリケーション名」を ADFOverview
に変更します。
- ディレクトリ名はJDeveloperのデフォルトのままにしておきます。
- アプリケーション・テンプレートとして「Web Application [Default]」を選択します。アプリケーション・テンプレートを使用すると、プロジェクトの作成も自動的に行われます。
また、特定のプロジェクトで使用されるテクノロジを自動的にフィルタリングされるため便利です。JDeveloperでは、後で様々な選択を行う場合に、プロジェクトと特定のテクノロジの関連に対応した効果的な選択が可能です。
たとえば、「新規ギャラリ」(「ファイル」->「新規」)に表示される項目は、選択されているテクノロジに基づいてフィルタリングされます。
- 「OK」をクリックすると Model
と ViewController という2つのプロジェクトが アプリケーション・ナビゲータに追加されます。
ビジネス・サービスの設計
この項では、ADF Business Componentsのプロジェクトを作成します。
ADF Business ComponentsはHRスキーマをベースに作成され、アプリケーションのサービスを提供するレイヤーとなります。
ADFビジネス・コンポーネントの作成
- アプリケーション・ナビゲータで、「Model」プロジェクトを右クリックして、コンテキスト・メニューで「新規...」を選択します。
- 「新規ギャラリ」で、「カテゴリ」ツリー(左側)から「Business
Components」を選択してから、 「項目」リストの「Business
Components Diagram」を選択します。 「OK」をクリックします。
- 「Business Components Diagramの作成」ダイアログ・ボックスで、デフォルトの値を使用することにして「OK」をクリックします。
- 次に、Departments表と Employees表を、空のUMLダイアグラムにリバース・エンジニアリングします。「接続」タブをクリックして、HRノードとその下の表のノードを拡張します。
- 同時に2つの表を選択するためには、Departments表を選択してから[Ctrl]キーを押して、Employees表を選択します。
- 2つの表をUMLダイアグラムにドラッグします。
- 「表から作成」ダイアログで、「プロジェクト・テクノロジ」から「ビジネス・コンポーネントのエンティティ・オブジェクト」を選択して「OK」をクリックします。

- 次に、そのダイアグラムの空白の領域の任意の場所で右クリックして「生成」->「デフォルト・データ・モデル・コンポーネント:ダイアグラム全体」を選択します。
- 「デフォルト・データ・モデル・コンポーネントの作成」ウィザードが起動されるので、すべてデフォルトの値を使用することにして、「完了」をクリックします。
- これで、Departments表およびEmployees表のデフォルトのビジネス・コンポーネントが作成されます。
プロジェクトには、データベース表にマップするエンティティ・オブジェクト
、クライアントにマップするビュー・オブジェクト
およびビュー・オブジェクトを1つのアプリケーションにパッケージするアプリケーション・モジュール
が生成されています。
- 「ファイル」->「すべて保存」を選択します。
これで、ビジネス・サービスの作成は完了です。
ページ・フローの設計とJSPページの作成
このタスクでは、非常に単純なStrutsページ・フローおよびDepartment表のデータを参照するためのページを1つ作成します。
Strutsページ・フロー・ダイアグラム
アプリケーション・ワークスペースの作成時に、JDeveloperによってデフォルトのstruts-config.xmlファイルなどが
ViewControllerプロジェクトに作成されました。 ここでは、データをDepartment表のデータを表示するページに転送するページ・フロー・ダイアグラムを作成します。
- ナビゲータで、ViewControllerプロジェクトを右クリックし、「Strutsページ・フロー図を開く」を選択してStrutsページ・フロー・ダイアグラムを開きます。
- コンポーネント・パレット(表示されていない場合は[Ctrl]+[Shift]+[P]キー)から、「Data Page」を選択してページ・フロー・ダイアグラムにドロップします。 これにより、「/dataPage1」というアイコンがダイアグラムに追加されます。
このページの名前を「/departments」に変更します。
Departments表を参照するページの作成
ここではでは、Department表のデータを表示するJSPページを作成します。
Data Control Palette(コンポーネント・パレット下の「データ・コントロール」タブをクリックするか「表示」->「データ・コントロール・パレット」を実行)にはアプリケーションのデータ・モデルが表示されており、アプリケーションからビジネス・サービス(ADF
Business Components、Enterprise JavaBeans、TopLink、Webサービス、JavaBeans)を抽出して、各サービスをユーザー・インタフェースに簡単にバインドすることができます。
- ページ・フロー・ダイアグラムで、「/departments」をダブルクリック(または、右クリックして「ページに移動」を選択)します。
- 「ページの選択または作成」ダイアログが表示されるので「ページ名」が
departments.jsp となっていることを確認してから「OK」をクリックします。これにより、JSPページが作成され、JSPビジュアル・エディタに表示されます。
- Data Control Paletteで、「DepartmentsView1」ノードを選択してから、「ドラッグ・アンド・ドロップの形式」リストの「Read-Only
Form」を選択します(次の図を参照してください)。

- この状態で「DepartmentsView1」をJSPページにドラッグします。 これで、すべてのDepartment属性を表示する読取り専用フォームが作成されます。
- ページの下部にある「Code」タブをクリックすると生成されたJSPコードを表示できます。このページでは、JSP標準タグ・ライブラリ、StrutsタグおよびExpression
Language(EL)が使用されていることがわかります。
- 次に、Departmentレコードをナビゲートするためのボタンを追加します。データ・コントロール・パレットで「DepartmentsView1」ノードを選択し、「ドラッグ・アンド・ドロップの形式」リストボックスで「Navigation
Buttons」コンポーネントを選択します。
- 点線で囲まれたフォーム内に「DepartmentsView1」ノードをドラッグします(次の画面イメージを参照してください)。

JSPページは次のようになります。

- 「ファイル」->「すべて保存」を選択して作業内容を保存します。
アプリケーションの実行
これで、作成したページ・フローおよびページを実行する準備ができました。
- ページ・フロー・ダイアグラムに戻ります(エディタ・ウィンドウで「struts-config.xml」タブを選択します)。
- 「/departments」を右クリックして、「実行」を選択します。この操作で、埋込みOC4Jサーバーを起動し、現在のアプリケーションをその上にデプロイして、デフォルト・ブラウザでアプリケーションのターゲットURLを作成します。
この例では、アプリケーション開発のためにADF Business Components、JSPおよびStrutsを選択しましたが、他の任意の適切なテクノロジのセットを使用しても、同様に簡単にアプリケーションを構築できます。
OTN-Jの早期アクセスプログラムのページではEJBやTopLinkなど他のテクノロジを使用したチュートリアルについても随時提供していく予定ですので、そちらも参照してみてください。
IDEの操作
JDeveloper 10gでは、プログラマにとって有益な多くの新機能を提供しています。 主な新機能としては、HotSwapデバッグ、コード・エディタの拡張、XML
Schemaエディタ、ウィンドウ管理の改善、AuditおよびMetrics、埋込みヘルプ・システムなどがあります。今回は、XML SchemaエディタとJavaコード・エディタについて簡単に説明します。
XML Schemaエディタ
この項では、新しいXML Schemaエディタについて説明します。 既存のXML Schemaドキュメントを開いてください。XML Schemaエディタの機能について説明します。

空のワークスペースとプロジェクトの作成
- 「新規」ギャラリ(「ファイル」->「新規」または「Ctrl]+[N」)を開きます。
- 「カテゴリ」ツリーから「General」を選択してから「項目」リストから「ワークスペース」を選択し、「OK」をクリックします。
- 「ワークスペース作成」ダイアログでワークスペースの名前を XMLWorkspace に変更して、「OK」をクリックします。
- プロジェクトの名前を XMLProject に変更して
- 「OK」をクリックし、ワークスペースとプロジェクトを作成します。
既存スキーマ・ドキュメントのオープン
- アプリケーション・ナビゲータで「XMLProject」を選択して、「File」->「Open」(または[Ctrl]+[O])を選択します。
- 次のファイルにナビゲートして開きます: <jdev_home>\jlib\uix2-schemas.zip
の schemas\laf\lafConfig.xsd
- エディタには、ドキュメント・ヘッダー、複合型、要素、およびインポート型が示されます。
複合型
要素
エディタでコンポーネントを選択すると、そのコンポーネントは構造ウィンドウで強調表示されます。 また、そのプロパティは、プロパティ・インスペクタを使用して編集できます。
これで、XML Schemaエディタの簡単な概要説明を終わります。 この項では、既存のスキーマ・ドキュメントを取り上げましたが、ビジュアル・エディタでは、コンポーネント・パレットからエディタにスキーマ・コンポーネントをドラッグすることで新規のスキーマ・ドキュメントを作成することもできます。
Javaコード・エディタ
JDeveloper 10gでは、Javaコード・エディタも大幅に改善されました。 この項では、プログラマの生産性の向上に有効なコード・エディタの新機能について説明します。
インポート・アシスタンス
コード・エディタは、未確認のクラス名を検出すると、必要とされているインポートを割り出し、ホットキー(デフォルトでは[Alt]+[Enter])を押すと、提案されているインポート文を自動的に挿入されます。
- 「新規ギャラリ」(「ファイル」->「新規])のカテゴリ「General」から「Javaクラス」を選択し、「OK」をクリックします。
- 「Javaクラスの作成」ダイアログが表示されるので、「mainメソッドの生成」チェックボックスを選択して「OK」をクリックします。
- 次のコードを main メソッドに追加します: URL
u = new URL ("http://otn.oracle.com/products/jdev/");
- コード・エディタに、追加が必要なインポートがツールチップで表示されています。

- [Alt]を押しながら[Enter]を押すと、java.net.URL クラスがインポートされます。
セマンティック・エラーへの下線付け
JDeveloperでは、バージョン9.0.3以降、構文エラーのあるコードに対して下線を表示する機能を提供しています。 Javaコードにセミコロンの脱落などのエラーが含まれていた場合は、赤い下線で問題の箇所が示されます。
JDeveloper 10gからは、セマンティック・エラーにも下線がつきます。 セマンティック・エラーとは、作成したコードのロジックのエラーで、コンパイルを不可能にするエラーです。たとえば、未処理の例外をスローするメソッド・コールやインポートしていないクラスへの参照などがセマンティック・エラーにあたります。
セマンティック・エラーには次の図のように青い下線が付きます(これは変更することや完全に無効にすることも可能です)。

範囲指定
「ソース」->「コードを囲む」メニューを使用すると、既存のコードをブロック内に簡単に挿入できます。
特に try/catch ブロックを挿入する場合に便利です。 catcth
ブロックで捕捉した例外に対して、必要なimport文も自動的に挿入されます。
- 上の画面イメージにあるセマンティック・エラーを修正するには、エディタでコード行を右クリックし、メニューから「コードを囲む」を選択します。
- 「try-catch」を選択して「OK」をクリックします。 この操作によって、追加した文()はtry
ブロックで囲まれ、catch ブロックで捕捉された例外に対して必要なインポート文が挿入されました。
埋め込みヘルプ・システム
新規ヘルプ・システムとして、統合されたヘルプ・トピック・ウィンドウが提供されますが、これは、コードの編集とJavadocの表示を同時に行う場合に便利な機能です。
- コード・エディタで URL クラスにカーソルを合わせ、[F1]を押します。これにより、Javadocが別のタブページでオープンされます。
- 「URL」タブをエディタ・ウィンドウの右側にドラッグして、ドッキングします(下の画面イメージ参照)。
今回のリリースで便利なもう1つの機能は、Quick Javadoc機能です。コード・エディタで「URL」にカーソルを合わせて、[Ctrl]を押しながら[D]を押します。
ポップアップ・ウィンドウに該当するJavadocが表示されます。

これで、コード・エディタの機能の簡単な概要説明を終わります。 このほかにもコード・エディタには、JavaDocコメントやアクセッサ・メソッドの自動生成など便利な新機能がたくさん追加されています。
モデリング
JDeveloperは、Javaコンポーネント、ビジネス・プロセスおよびデータベース・スキーマをモデリングするUMLモデリング・ツール群を提供します。
JDeveloperでモデリングできるJavaコンポーネントとしては、Javaクラス、Enterprise JavaBeans、ADF Business ComponentsおよびWebサービスがあります。 さらにJDeveloper 10gからは、Use CaseダイアグラマとDatabaseスキーマ・ダイアグラマという2つのダイアグラマが新しくに追加されました。
次の項では、Databaseスキーマ・モデラーの概要を簡単に説明します。
データベース・モデリング
データベース・モデラーは、Oracleデータベース・スキーマを作成および変更する機能を提供します。 この項では、HRスキーマの表のリバース・エンジニアリングを行います。
- Application Navigatorで、「アプリケーション」ノードを右クリックして、「新規アプリケーション・ワークスペース」を選択します。
「アプリケーション・ワークスペースの作成」ダイアログ・ボックスが開きます。
- 「アプリケーション名」を DBSchemaWorkspace
に変更します。
- 「アプリケーション・テンプレート」で、「No
Template [All Technologies]」を選択します。
- 「アプリケーション・ワークスペースの作成」ダイアログ・ボックスで「OK」をクリックします。
- 「ファイル」->「すべて保存」を実行します。
- Applicationナビゲータで、「Project」(「DBSchemaWorkspace」ノードの下)を右クリックして、「新規」を選択します。
「新規ギャラリ」が起動します。
- 「新規ギャラリ」で、「カテゴリ」ツリーから「General」->「Diagrams」を選択し、「項目」リストから「Database
Diagram」を選択して、 「OK」をクリックします。
- 「Database Diagramの作成」ダイアログ・ボックスが開くので、「OK」をクリックしてデフォルトを確定します。
- 「ファイル」->「すべて保存」を実行します。
- ナビゲータで、「接続」タブをクリックします。 これで、接続ナビゲータが表示されます。
- 接続ナビゲータで、「データベース」ノードの下の「hr」ノードを開きます。HRスキーマへのこの接続をまだ作成していない場合は、「使用するスキーマ」の項を参照してください。
- 接続ナビゲータで、「hr」ノードの下の「表」ノードを開きます。
- 「DEPARTMENTS」をクリックしてから、[Ctrl]を押しながら「EMPLOYEES」をクリックし、両方をデータベース・ダイアグラムにドラッグ・アンド・ドロップします。
- 「表から作成」ダイアログ・ボックスが開くので、今回はデフォルトの値を使用することにして「OK」をクリックします。
- 次の図のように表の構造がダイアグラムにビジュアルに表示されます。

- アプリケーション・ナビゲータで「Project」にこれらの表の情報が追加されていることを確認してください。
- コンテキスト・メニューを使用して作成したダイアグラム上のオブジェクトのレイアウトを微調整できます。たとえば、「図形をレイアウト」->「階層」や「図形サイズの最適化」->「高さと幅」などのメニューが使用できます。
- 「表示」->「サムネイル」を使用すると、モデル・ダイアグラム全体のサムネイルを確認できます。
- ダイアグラムで表や制約をダブルクリックすると、より詳細な情報を確認することができます。

これで、データベース・モデリングの簡単な概要説明を終わります。今回は、既存データベース表のリバース・エンジニアリングを行いましたが、表および外部キーを一からモデリングして、データベースに生成することもできます。
関連情報
このスクリプトでは、Oracle JDeveloper 10gの主な機能を簡単に説明しました。 今後、OTN-Jでは次のような技術資料を提供する予定です。
- Oracle JDeveloper 10g 新機能概要
- Oracle ADF FAQ
- Oracle JDeveloper 10g スタートガイド
- JDeveloperによStrutsアプリケーション開発
Oracle Corporation発行の「Oracle JDeveloper 10g: An Overview」の翻訳版です。
この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。
万一、誤植などにお気づきの場合は、オラクル社までお知らせください。オラクル社は本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。