Statement of Direction
Oracle JDeveloperおよびOracle ADF
戦略と計画
2006 年 9 月
はじめに
Oracle JDeveloper は、無償の統合開発環境(IDE)であり、Java EE および SOA アプリケーションの開発ライフサ イクル全体をカバーします。あらゆるスタイルのアプリケーション(Web アプリケーション、ワイヤレス、ポー タル、データベース、ビジネス・プロセスなど)を迅速に構築するために、すぐに使用できる統合ツール・セッ トとデザイン・タイムを提供します。
開発生産性向上のための Oracle Application Development Framework(Oracle ADF)は、複合アプリケーションの開 発の簡素化を目的とする標準的な Java EE フレームワークです。Oracle JDeveloper が提供する視覚化ツールと宣言 型ツールとともに、Oracle ADF はアプリケーション開発を大幅に簡素化し、あらゆる種類の開発者の生産性向上 を可能にする一方で、テクノロジまたは開発プラットフォームを選択する余地を残します。
Oracle JDeveloper と Oracle ADF の組合せは、多くの顧客に使用されているだけでなく、次世代の Oracle ビジネス・ アプリケーションである、現在の Oracle E-Business Suite および Oracle Fusion Application の開発の鍵となります。 この Statement of Direction では、アプリケーション開発に対するオラクルの構想、戦略の要点、および Oracle JDeveloper と Oracle ADF の次期リリースの計画について説明します。
生産性と選択肢
Oracle JDeveloper と Oracle ADF の総合的な目的は、すべての開発者に最大レベルの生産性を提供する一方で、他 の選択肢を残すことです。従来、生産性の増加は、特定のテクノロジまたはプラットフォームのベンダーに縛ら れることを意味していました。Oracle JDeveloper と Oracle ADF の場合、オラクルは視覚的および宣言的な開発環 境を提供し、開発者の生産性を促進します。開発者は、特定のベンダーに縛られず、次の選択が可能です。
• テクノロジ
アプリケーションの構築時、開発者は、さまざまなテクノロジから、アーキテクチャの各レイヤーに対し、 特定のテクノロジを選択する必要があります。たとえば、ビュー・レイヤーには、JavaServer Faces(JSF)、 Swing、JSPから選択し、ビジネス・ロジック・レイヤーもしくは永続レイヤーには、EJB、Plain Old Java Objects(POJOs)、他のフレームワークから選択します。そのため、Oracle JDeveloperとOracle ADFでは、 さまざまな組合せに対応しています。オラクルは、異なる要件は異なるテクノロジで対処できるというこ とを認識し、アーキテクトや開発者が、ニーズや過去の投資に応じて、アーキテクチャの各レイヤーのテ クノロジを選択するべきだと考えています。これに対応するために、Oracle JDeveloperとOracle ADFは、 各アプリケーション・レイヤーの実装で、さまざまなテクノロジの組合せをサポートしています。 • 開発スタイル 多くの企業では、開発チームはさまざまなバックグラウンドの開発者で構成されます。たとえば、4GLに よるビジュアル開発に精通している開発者がいる一方で、コード中心の開発経験が豊富なCやJavaによる 開発者もいます。Oracle JDeveloperは、同じアプリケーション・オブジェクトで異なるレベルの開発環境 を提供することによって、異なるタイプの開発者が同じアプリケーションで協力し作業できるようにしま す。ほとんどの開発アーチファクトは、ビジュアル・ビュー、ダイアログ・ビュー、またはコード・ビュ ーで操作できます。たとえば、JSFページ・フローの編集には、コンポーネントをドラッグ・アンド・ド ロップする方法、プロパティとダイアログを使用する方法、またはXML構成ファイルで直接編集する方 法のいずれかを選択できます。いずれの方法を使用しても、Oracle JDeveloperは基本的なファイルを自動 的に維持し、最も快適な開発スタイルを選択できるようにします。
• デプロイメント・プラットフォーム
オープンで標準的なテクノロジをアプリケーションの構築に使用する主な利点の 1 つは、アプリケー ションを配置するミドルウェア・プラットフォームの選択が可能で、アプリケーション・サーバーの ベンダー間での移植性が提供されるという点です。Oracle JDeveloperとOracle ADFは、オープン・ス タンダードをベースに構築されており、このスタックで構築されるアプリケーションは、あらゆる Java EEアプリケーション・サーバーに配置することができ、あらゆるSQL-92 データベースにアクセ スできます。 • 開発ツール 最後に、Oracle JDeveloperが他に例のない開発生産性を提供するとしても、開発者はすでに他のJava開発 ツールを選択している可能性があります。このような場合にも、Oracle ADFの標準的性質から、開発者は Javaコードの編集やアプリケーションの維持を他のIDEで行いながら、Oracle ADFフレームワークのラン タイム機能を活用できます。
完全性および統合性
Oracle JDeveloper と Oracle ADF のもう 1 つの重要な目標と設計ポイントは、要件のモデル化からアプリケーション の配置まで、あらゆるタイプの開発および開発ライフサイクルの全フェーズに必要なツールとデザイン・タイムが密 接に統合された開発環境を提供することです。Oracle JDeveloper の"J"に注意してください。このツールは Java 開発 に使用されるだけではありません。Fusion Middleware プラットフォーム全体に対する、完全で統合的なデザイン・ タイムとなり、データベース、Web、ワイヤレス、ポータル、またはビジネス・プロセス開発にかかわらず、開発者 が同じデザイン・タイムを使用し、概念、用語、ジェスチャを共有できるようにします。このため、新しいツールを インストールして学習する必要がなくなり、生産性が大幅に向上します。 "なぜオラクルは Eclipse プラグインとしてデザイン・タイムのすべての機能を実装しないのか"という質問がよく あります。このオープン・ソース IDE の評判を考えると、これは妥当な質問です。開発環境全体をコントロール することで、シェルおよびあらゆるタイプのデザイン・タイム環境のシームレスな統合を可能にするコア・アー キテクチャの両方を作り出しました。これらのすべてが同じ概念とルック・アンド・フィールを共有しています。 Eclipse のために特殊なプラグインを作成すれば、各プラグインは、それ自体では非常に効果的であっても、サー ドパーティのプラグインに対する整合性または互換性があるとは限らず、完全に統合された環境が提供するレベ ルの生産性を開発者に提供できません。Eclipse をすでに選択した開発者に対して、オラクルはオープン・ソース・ プロジェクトを主導することによって、このプラットフォームに貢献し、JSF、EJB 3.0、BPEL などの特定のテク ノロジ用のスタンドアロン Eclipse プラグインを提供します。 Eclipseフレームワークに類似するOracle JDeveloperアーキテクチャは、モジュールで構成されており、すべての機 能は製品の拡張機能です。そのため、開発者は特定の機能を有効または無効に設定することが可能で、顧客とパ ートナは製品の独自の拡張機能を簡単に作成できます。また、すでに多数の拡張機能が、Oracle Technology Network のWebサイト(OTN)のExtension Exchangeで提供されています。
http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/index.html
複数のIDE間での拡張機能の開発を標準化するために、Oracleは、JSR-198、"A Standard Extension API for Integrated
Development Environments"を主導しています。JSR-198 によって、拡張機能の開発者は、この標準に準拠するすべ
てのIDE用の単一のプラグインを作成できます。Oracle JDeveloperの最新リリースではこの標準仕様の実装が提供 されています。
Oracle Fusion Application の基盤
世界中の何千もの企業が、サービス指向アーキテクチャおよび Java EE テクノロジをベースとする次世代エンター プライズ・アプリケーションを構築するために Oracle JDeveloper と Oracle ADF を使用しています。
オラクルの戦略は、外部顧客に提供されているオープン・スタンダードのテクノロジ・スタックと同様のテクノ ロジ・スタックを備えた次期バージョンのビジネス・アプリケーションを構築することです。したがって、Oracle JDeveloper と Oracle ADF は、Oracle Fusion Application、次世代の Oracle E-Business Suite、JD-Edwards、Peoplesoft、 Siebel の各アプリケーション開発の鍵となります。
Oracle JDeveloper および Oracle ADF に対するオラクルの内部コミットメントは、オラクルの戦略にとってこのテ クノロジ・スタックがどれだけ重要であるかを示しています。さらに、内部コミットメントは Oracle Fusion Appication のような大規模なエンタープライズ・アプリケーションを含むあらゆる種類の開発で、このテクノロジ が実証済みであることを保証します。
バージョンおよび機能面の計画
Oracle JDeveloper および Oracle ADF 10.1.3
Oracle JDeveloper(10.1.3)の現在の製品バージョンでは、次の機能面に重点を置いています。
• リファクタリング、ソース・コントロール統合、大幅なコード・エディタの強化などの Java 開発者生産 性機能面。これによって、Oracle JDeveloper は Java IDE 市場で最善の組合せになります。
• EJB 3.0、Java Persistence API(JPA)、JavaServer Faces などの Java EE 5.0 に対する初期サポート、および J2EE 1.4 と Web サービスに対するサポート。これによって、開発者は最新の標準を利用できます。 • 視覚的および宣言的な開発。これによって、ドラッグ・アンド・ドロップによる Web、ワイヤレス、お
よびデスクトップ・アプリケーションの開発が可能になり、開発者の生産性が向上します。
• Oracle ADF の使いやすさおよび開発容易性。新しいテクノロジの選択性(JSF、EJB 3.0)の導入。より多 くの生産性機能。新しい包括的なドキュメント。開発者ガイド。 10.1.3 の新機能についての完全なリスト。詳しくは、OTNから入手できる 10.1.3 新機能の説明書を参照してくださ い。 http://www.oracle.com/technology/products/jdev/collateral/1013newfeatures.htm オラクルの目標は、10.1.3 をリリースし、10.1.3 バージョンへの機能追加を継続することです。また、次期メジャ ーバージョンリリースにも取り組んでいます。 次の 10.1.3.x リリースでは、主に次の 3 点に重点を置きます。生産的で完全な SOA 開発、Web アプリケーション 内のポータル機能、Java EE 5.0 に対する部分的なサポート • SOA 開発の統合サポート
Business Process Modeler(BPEL)とデザイン・タイムの統合、Enterprise Service Bus ビジュアル・デザ イン・タイムおよびビジネス・ルール・エディタなどが計画されています。
• ポータル開発の統合サポート
任意の JSF ページで WSRP ポートレットを表示するための新しい JSF ポートレット・コンポーネント、 およびポータル 10.1.4 環境や他の WSRP 準拠のポータルで Oracle ADF Faces ページを WSRP ポートレッ トとして配置する機能などを含みます。
• Java EE 5.0 の初期サポート
最終的な EJB 3.0 仕様および Java Persistence API(JPA)リファレンス実装に対するサポートを含みます。
Oracle JDeveloper および Oracle ADF の次期メジャーバージョンリリース
「11」と呼ばれる次期メジャーバージョンは、Oracle JDeveloper および Oracle ADF の次の主要なリリースとなりま す。このリリースの機能は、あらゆる開発であらゆる開発者の生産性を向上し、前述の戦略と設計に準拠するこ とを目標に計画されています。次の項では、「11」の主な機能の一部について説明し、このリリースで計画され ているいくつかの機能を明らかにします。
最新の標準およびオープン・ソース・プロジェクトに対するサポート
オラクルは、オープン・スタンダードおよびオープン・ソース・プロジェクトの戦略的な主導、促進、および支 援に尽力しています。「11」では、新しい Web サービスの仕様に加えて、Java EE 5.0、JavaServer Faces 1.2、EJB 3.0/JPA、 JSR-227、SDO など、最新の標準へのサポートの継続を計画しています。
オープン・ソースの領域では、Ant、Junit、CVS、Subversion など、一般的なツールや他のデザイン・タイム・ ユーティリティを引き続きサポートし、たとえば、Struts や Spring 2.0 の最新バージョンなどのオープン・ソー ス・フレームワークに対するサポートを強化することを計画しています。
開発環境の生産性
目標は、多様な開発者および開発ライフサイクルのすべてのフェーズに生産的な環境を提供することです。以下 は計画されている機能の一部です。これらは開発環境内での生産性の向上に役立ちます。 • ロール・ベースの構成 起動時に指定されるロールに基づいて、Oracle JDeveloper をユーザーのニーズに合わせることができます。 ユーザーのプロファイル(データベース開発者、ビジネス開発者、Web 開発者など)によって、関係の あるオプション、メニュー、ダイアログのみが表示されます。 • リソース・カタログ さまざまなタイプのリソース(イメージ、ポートレット、Web サービス、ドキュメント、データベース・ オブジェクト、共有の再利用可能なコンポーネントなど)で複合アプリケーションの構築、アクセスが可 能です。リソース・カタログは、一括検索や UI の参照によって、本来なら関連付けされない、1 つ以上 のリポジトリのフェデレーテッド・ビューを表示します。このため、ユーザーはリポジトリの任意のセッ トから迅速にアプリケーション・コンポーネントを見つけて使用できます。 • 依存性の分析 開発者は、アプリケーション全体でいくつのオブジェクトが特定の変更(たとえば、データベースの列の 削除)に依存しているかを視覚的に認識できます。これによって、アプリケーションを保守する際に新し いバグを導入するリスクが減少します。 • 多数のデザイン・タイムの追加と改善 ナビゲータおよびエディタ用のユーザー・インタフェースの改善、新しいパフォーマンスと CPU プロフ ァイラの追加、JavaScript 開発に対する全面的なサポート、データベース機能とスキーマ・モデリングの 改善、および開発者のエクスペリエンスを向上する多くのデザイン・タイム強化などを含みます。コードの共通化と再利用性
アプリケーション開発の重要な側面には、チーム全体で一貫性のあるユーザー・インタフェースを強化し、再利 用可能なコードと複合オブジェクトの作成を促進する機能があります。このようなタイプの開発を促進するため に、「11」では次の機能などが計画されています。 • UI テンプレート。標準的なユーザー・インタフェースの定義を可能にします。 • 宣言的なコンポーネント。ユーザー・インタフェース・コンポーネントを組み合わせて、新しい再利用可 能なコンポーネントを作成する機能を提供します。 • 領域。ページの一部分を再利用可能なオブジェクトとして定義し、場合によってはポートレットとしてそ れを公開します。 • 再利用可能なタスク・フロー。ページ・フロー全体を 1 つのエンティティとして識別し、入力パラメータ を変更することで、このフローを異なるアプリケーションで再利用します。Ajax および Rich Client JSF コンポーネントを使用したインタラクティブな Web 2.0 ユーザー・イン
タフェース
このユーザー・インタフェースの戦略は、開発者が Web アプリケーション、ポータル・アプリケーション、ワイヤレ ス・アプリケーション、動的でインタラクティブな AJAX ユーザー・インタフェースのどれを構築しようと、同じプロ グラミング・モデル(JavaServer Faces)を提供するという点にあります。Web 2.0 インタラクティブ JSF アプリケーシ ョンの構築を容易にするために、WYSIWYG エディタとドロップ・アンド・ドラッグ機能を提供することに加えて、 「11」にはユーザー・インタフェースの開発を促進するため、次のような多数の機能が計画されています。 • オープンで標準的なテクノロジ(AJAX、JavaScript/DHTML)を使用することにより、開発者を JavaScript の複 雑さから保護する一方で、設定の必要がない高機能でインタラクティブなユーザー・インタフェースの提供を 目的とする広範囲な AJAX/Rich Client JSF コンポーネント。これらの AJAX 対応のウィジェットを使用して、 開発者は、簡単で宣言的なプログラミング・モデルを開発しながら、デスクトップ・アプリケーションと同じ くらいインタラクティブな、プラグインなしでもブラウザで動作するアプリケーションを構築できます。 • リレーショナル・データ・ソースとキュービック・データ・ソースの両方にアクセス可能な、チャートお よびグラフ作成用の JSF コンポーネント。 • 電話、PDA、telnet デバイス用の特殊なレンダリング・キットを備えたワイヤレス JSF コンポーネント。 • ポートレット JSF コンポーネント。これによって、開発者は任意の WSRP ポートレットを標準 JSF ペーJSR-227 データ制御を使用したドラッグ・アンド・ドロップのデータ・バインディング
JSR-227 データ制御によって、開発者は最も効率的な方法でデータにアクセスするユーザー・インタフェースを構 築できます。オラクルでは、新しいデータ・ソースや、より多くのユーザー・インタフェース・クライアントに アクセスするために、JSR-227 データ制御に対するサポートの追加を計画し、デザイン・タイム・エクスペリエン スの向上に取り組んでいます。このレイヤーでは、次の新機能が計画されています。 • リレーショナル・データだけではなく、キュービック・データ、Web サービス、BPEL プロセス、その他 の種類のバックエンド・システムに対するサポートなど、新しい種類のデータ制御およびデータ・ソース。 • Swing パネル、Web ページ、ワイヤレス・デバイス、またはポータル・ページで、データバインドされた ユーザー・インタフェースのコンポーネントを簡単に作成するためのドラッグ・アンド・ドロップによる データ・バインディング • プレースホルダー・データ制御。これによって、UI 設計者は、ダミー・データでプロトタイプ・ページ を作成することができます。その後、実際のアプリケーション開発時に、適切なデータ・ソースと入れ替 えることが出来ます。 • 領域の検索または LOV など、複合的なデータバインド・オブジェクトの作成。 • Microsoft Office との統合。これによって、一貫性のある同一のデータ・バインディング・テクノロジを使 用して、Office ドキュメントもデータバインドされるようになります。宣言的なビジネス・ロジック、データ・アクセス、およびセキュリティ
ビジネス・サービス・レイヤーの開発には、幅広い選択肢があります。このリリースでは、EJB、POJO、Oracle ADF Busibess Components など、いくつかのアプローチをサポートする計画です。テクノロジの幅広い選択肢によって、 開発者はビジネス・ロジックの開発に最も生産的な環境を選択でき、選択した実装とは無関係に、宣言的な機能 が提供されます。ビジネス・サービス開発の計画には以下のような新機能が含まれます。 • ビジネス・ロジック開発を簡素化するための標準的な表現または Groovy のようなスクリプト言語を使用 した宣言的な検証。• Oracle ADF Business Components の改善と最適化(宣言的な方法の Web サービスの公開および使用、有用 性を向上するための最新デザイン・タイム、再利用可能な LOV の宣言的な定義、ランタイム・パフォー マンスとスケーラビリティの最適化など)
• 宣言的なオブジェクト・リレーショナルとオブジェクト XML マッピング、アノテーション・インサイト、 テスト・ハーネスの生成、配置の簡素化などの提供を意図した、最新の Java EE 永続性標準(EJB 3.0/JPA) を持つ生産的な開発。 • エンドツーエンドの宣言的セキュリティ。これによって、開発者は、データおよびユーザー・インタ フェース・コンポーネントのために標準 JAAS 認可ロールを設定できます。そのため、ユーザーがア クセスまたは表示できるランタイムでの制御がより簡単になります。
配置と管理の容易さ
アプリケーションを配置する際の開発者と管理者のタスクを簡素化するために、Oracle JDeveloper の「11」では、 次の処理を可能にする機能の提供が計画されています。 • さらに合理化された、任意のアプリケーション・サーバーへの標準 Java EE アーカイブおよびアーチファ クトの配置 • 種類の異なるアーチファクトを 1 つの配置可能なファイルに一体化し(ポートレット、ビジネス・プロセ ス、Web アプリケーションなど)、アプリケーション・コードおよびメタデータを 1 つのアーカイブに まとめます。 • 標準 Mbean を使用した配置済みアプリケーションの管理および監視。管理者にコンソールを提供して、 リソース消費量、接続プール情報、および他のコード測定を報告します。 このドキュメントの機能のリストには、今後の製品で計画されている機能の一部が記載されています。詳しいド キュメントは、新しいバージョンとともにリリースされます。結論
オラクルの開発ツールにおける方針は、オープンで標準的なテクノロジをサポートおよび促進する一方で、あら ゆるタイプの開発者に、より高い生産性を引き続き提供することです。Oracle JDeveloper と Oracle ADF は、この 戦略の主要なコンポーネントであり、ベスト・デザイン・パターンを固守しながら、より迅速に SOA アプリケー ションを構築するためのツールとテクノロジを顧客に提供し、オラクルの次世代パッケージ・アプリケーション である Oracle Fusion Application の開発を可能とします。
免責事項
本書は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするも のであり、いかなる契約にも組み込むことはできません。上記の事項は、マテリアルやコード、機能の提供を確 約するものではなく、また、購買を決定する際の判断材料とはなりえません。オラクルの製品に関して記載され ている機能の開発、リリース、および時期については、弊社の裁量により決定いたします。
Oracle JDeveloper and Oracle ADF Statement of Direction 2006 年 9 月 Regis Louis Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. お問合せ: 電話: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com
Copyright c 2006, Oracle.All rights reserved.
本文書は情報提供のみを目的として提供されており、ここに記載される 内容は予告なく変更されることがあります。本文書は一切間違いがない ことを保証するものではなく、さらに口述による明示または法律による 黙示を問わず、特定の目的に対する商品性もしくは適合性についてのい かなる保証や条件も提供するものではありません。 オラクル社は本文書に関するいかなる法的責任も明確に否定し、本文書 によって直接的または間接的に確立される契約義務はないものとします。 本文書はオラクル社の書面による許可を前もって得ることなく、いかな る目的のためにも、電子または印刷を含むいかなる形式や手段によって も再作成または送信することはできません。Oracle、JD Edwards、 PeopleSoft、Retek は米国オラクル社およびその子会社、関連会社の登録 商標です。その他の名称はそれぞれの会社の商標です。