feature Business Components for Java (BC4J)

今日、企業システムに要求される進歩のスピードは 年々早くなっています。そのため、コンポーネント・ベースのアプリケーション開発は企業に利益をもたらす重要な要素として注目を浴びています。オラクルのBusiness Components for Java は企業アプリケーションを開発する際に、非常に短期間に高品質なシステムを構築することを目的としたデータアクセス・フレームワークです。Javaのオープンな仕様に準拠し、カスタマイズも可能なこのフレームワークは、開発者がビジネスに必要なプログラミングにだけ集中できるよう、基本的なデータアクセスに関わる機能を提供します。

製品概要

オラクルのBusiness Components for Javaは、インターネット標準に準拠したサーバーサイドのスケーラブルでハイ・パフォーマンスなJ2EEアプリケーション を作成するためのデータアクセス・フレームワークです。このフレームワークにより設計時間の短縮、コーディング量の減少、デバッグやカスタマイズを容易におこなうツールの提供、ビジネス・コンポーネントの再利用などが実現できます。 Business Components for Javaを用いたアプリケーション開発は、さまざまなJ2EEプラットフォームへのアプリケーションの配布と、Webブラウザ、デスクトップ・クライアントおよび携帯電話などのワイヤレス・デバイスに対して 情報配信が可能です。

企業アプリケーションを開発するための生産性の高いフレームワーク

Java 2, Enterprise Edition(J2EE TM) のプログラミング・モデルは、スケーラブルで移植性の高い多階層アプリケーションを開発するためにコアAPIと多くのテクノロジを提供します。現在、アプリケーション開発の現場で低レベルのJ2EE APIを 使用してデザイン・パターンとそれに関連した問題をひとつひとつ解決しながらプログラミングをおこなっている開発者を見かけます。理解しておいて欲しいことは、このようなJ2EEデザインを意識しながらおこなうシステム開発は非常に困難かつ時間を大量に消費してしまいがちだということです。 Business Components for Javaは、こうしたJ2EE開発者が抱える問題をフレームワーク によって解消しようという思想に基づいて設計・作成されました。現実の開発の現場で力を発揮するようにオブジェクト/リレーショナル・マッピング、検証機能、データアクセス機能、 ネットワーク・トラフィックの考慮、そしてユーザー・インタフェースとのバインドなど基本的なデザイン・パターンを実装しています。

  • 生産性:リレーショナル・データベースからのビジネス・コンポーネントの自動生成
  • 柔軟性:SQLベースのビューを用いたビジネス・ロジックの再利用。さらに異なるアプリケーションでの共有
  • 開発効率:JavaServer Pages (JSP)、サーブレット、Javaクライアントからのビューへのアクセスおよび更新
  • コンポーネント化:アプリケーションに変更を加えることなくベースとなるデータアクセス機能だけをカスタマイズ可能

共通で幾度となく繰り返されるアプリケーションの根幹となる機能をコーディングしたりテストしたりする作業を排除することにより、オラクルのBusiness Components for Javaは、開発者が使用する時間の多くをビジネス・ソリューションの分野に割り当てることができます。つまり、このフレームワークを使用することにより、開発コスト、プロジェクト・リスクの軽減、そして迅速にシステムをリリースすることが可能となります。

フレームワークは精巧なデータアクセスまわりの共通機能をすべて受け持ってくれますが、 その恩恵を受けることがアプリケーション開発者にとってアプリケーションの挙動をコントロールする上での制約にはならないことは言うまでもありません。フレームワークの自動的なふるまいを企業固有のふるまいに変えるには、少数のコードでオーバーライドするだけです。

オブジェクト/リレーショナル・マッピング

オブジェクト/リレーショナル・マッピングの機能により、BC4JはJavaのオブジェクトを操作するのと同じような手軽さでリレーショナル・データベース上のデータを操作する機能を提供します。 アプリケーション開発者がマッピングの実装について悩む必要はありません。ウィザード群とUMLモデリング・ツールによってデータベースの表、ビューをJavaのオブジェクトとしてリバース・エンジニアリングする事も容易におこなえます。

  • 排他的/共有的ロックの宣言的利用のサポート
  • オブジェクト間の関連付け
  • 再利用可能なユーザー定義のデータ型(ドメイン)
  • すべてのOracle9i データ型のシームレスなマッピング
  • ビジュアルにマッピングや編集ができるリエントラントなデザイン・ツール
  • SQL 92準拠データベースのサポート
  • ストアド・プロシージャのマッピング
  • パフォーマンスのためにSQLをよりよくチューニングする機能
  • NEW! ビジネス・コンポーネントのためのUMLモデリング
  • NEW! ビジネス・コンポーネントとデータベース・スキーマの同期化
  • NEW! 様々なデータソースを基にしたビュー・オブジェクト

検証モデル

ビジネス・ルールを忠実に実行することはアプリケーションにとって 非常に重要な要素です。BC4Jは、複数のアプリケーションに対して一貫した検証規則を開発・適用するようにフレームワークを構成しています。そのため、BC4Jではそれぞれのクライアントに対して個々のビジネス・ロジックをコーディングするよりはむしろ、企業固有のビジネス・コンポーネントを再利用可能なものとして一度だけコーディングする形式をとります。ビジネス・ルールを洗練することにより、場合に応じてさまざまなタイプのBC4Jの検証規則を適用することができます

  • 再利用可能なBeanまたはドメインによるビジネス・ルールの一貫性
  • 組込み済みの検証規則(値リスト、値の範囲、データベース・クエリ、またはJavaメソッド)
  • 属性のデフォルト値を指定可能
  • アプリケーション実行時に検証規則の自動実行
  • 開発グループ単位で共有可能な検証規則のカスタム開発のサポート

スケーラビリティとパフォーマンス

Business Components for Java は、アプリケーションのパフォーマンスおよびスケーラビリティを強化するように設計されており、リソース・プーリング、ネットワークの最適化およびディスクへの書き出しのような効果を提供します。BC4Jは、標準のCORBAやEJBといったリモート技術に対応し、それに加えてクライアント層とアプリケーション層の間のネットワーク・ラウンドトリップ数を最小にするために最適化されています。さらに、J2EE Webモジュールとして展開したJSPあるいはサーブレットに基づいたアプリケーションについて、BC4Jは独自のパフォーマンスおよびスケーラビリティを提供します。:例えば、JDBC接続プーリング、アプリケーション・モジュール・プーリング、セッション・ステートの永続化、大量の結果セットに対するディスクへの書き出しがあげられます。

  • 部分的なオブジェクトの取り出しや中間層キャッシュ機能を利用したリモートの結果セットへのアクセスなどによるネットワーク・トラフィックの最適化
  • クライアント側キャッシュ、クライアント/サーバー間のメッセージのバンドル、サーバーの遅延同期
  • アプリケーション・モジュールへコンポーネント群を簡単にパッケージング
  • アプリケーション・モジュール・プーリング
  • 設定が可能なJDBC接続プーリング
  • 不必要なキャッシングのオーバーヘッドを回避するSQLベースのビュー・オブジェクト
  • フェイル・オーバーのためのセッション・ステートの永続化
  • NEW! スレッド・セーフなアプリケーション・モジュールの実行時サポート
  • NEW! アプリケーション・モジュール・プールと接続プールに関する統計情報の収集とロギング
  • NEW! 高いアクティビティの後にリソースをプールに開放するための設定をサポート
  • NEW! Oracle9iAS Enterprise Managerを使用したアプリケーション実行状況のモニタリング

柔軟性の高いデプロイ

Business Components for Java は、層に依存せず、J2EE標準に完全準拠したアプリケーション開発のための生産的なプログラミング・モデルを提供します。このフレームワークは、コードを一切修正せずに、同じアプリケーションを異なる配置パターンでデプロイすることを可能にします、なぜならクライアント層とビジネス・ロジック層が厳密には論理的に分離されているからです。BC4Jは標準のJ2EEデプロイメント・モデルをサポートします(J2EE Web モジュール、EJB セッション bean、ローカル・モード)。BC4Jで、デプロイ対象となるプラットフォームを前もって選ぶ必要がありません。さらに、コードにどんな変更も加えずに、非常に容易にプラットフォームを切り替えることができます

  • 層に依存しないクライアント・サービスAPIによるクライアント層、Web層、EJB層それぞれの層の論理的な分離
  • コード変更なしにクライアント層、Web層、EJB層と言った物理層へデプロイ
  • どの開発工程でもデプロイ方法およびデプロイ先を変更可能
  • NEW! WebモジュールやEJBモジュールとしてOracle9i Application Serverへワンクリックでデプロイ
  • デプロイしたアプリケーションのリモート・デバッグをサポート
  • NEW! BC4Jランタイム・ライブラリのOC4Jへのプレインストール
  • NEW! デプロイされたコンポーネントのWebサービスとしての登録をサポート

豊富なユーザー・インタフェースのサポート

BC4Jは簡単にJSP、 Java Swing、ワイヤレス・デバイス、その他のXMLクライアントに対してコンポーネントをバインドできます。層に依存しないプログラミング・モデルにより同じアプリケーションをビジネス・ロジック層の変更なしに異なるユーザー・インタフェースで使用できます。

Javaクライアント開発のためにJDeveloperはJClientと呼ばれるビジネス・コンポーネントを使用したアプリケーション、アプレットを作成するための基本クライアント・フレームワークを提供します。JClientは標準のSwingコントロールもしくはサード・パーティ製のモデル・ベースのコントロールとBC4Jデータ・ソースをバインドすることによりModel-View-Controllerアーキテクチャを実現します。JClientはさらに、標準のSwingコントロールが提供するより豊富な機能を備えたJavaクライアントを設計することを容易にする、多くのコントロール群を提供します。JClientのウィザードを使用することで素早く、データを表示するフォームを作成することができ、さらにJDeveloperのユーザー・インタフェース設計ツールによりカスタマイズすることが可能です。

JSPやサーブレット・アプリケーションのためにJDeveloperはBC4J データ・タグ・ライブラリを提供します。そのタグ・ライブラリはビジネス・コンポーネント・データソースとJSPのページをバインドするJSP 1.1準拠のタグ・セットです。BC4J データ・タグによりHTMLのデザインとデータベース・アクセスの両方を完全にコントロールしたJSPデータベース・アプリケーションを設計・構築する際に使用します。データ・タグを使うと開発者はデータベースと接続やユーザーインタフェースをカスタマイズするために大量のJavaコードを書く必要がなくなります。JSP開発者はJSPアプリケーションの外観を設計するためにJDeveloperと連携する好みのビジュアルなHTMLエディタを柔軟に使用することができます。なぜならHTMLとJSPのタグでアプリケーションのほとんどを作成することができるからです。

レイヤーごとのカスタマイズのサポート

一度、企業アプリケーションを開発し配布してしまえば終わりではなく、企業ニーズに適合するよう絶えずアプリケーションを調整する必要があります。Business Components for Javaはこの問題を解決するシンプルで革新的な方法を提供します。すべてのフレームワーク・コンポーネントでは、XMLによるコンポーネント定義とコンポーネントごとのJava実装クラスとが明確に分離されています。開発者は、開発したアプリケーションをカスタマイズするためにJavaクラスおよびXMLによるコンポーネント定義の両方を拡張することができます。さらに、拡張されたコンポーネントは、オリジナルのコンポーネントと交換することができます。

  • ソース・コードを修正せずに配布されたアプリケーション・コンポーネントの機能を拡張
  • すでに配布されたアプリケーションを修正せずに、拡張コードが実装されたコンポーネントだけを配布可能
  • レイヤーごとのカスタマイズが失われず、手動による作業も必要ないアプリケーションの更新・修正
  • NEW! 多相化識別子によるコンポーネントの継承のサポート

JDeveloperとの綿密な統合

Oracle JDeveloperはビジネス・コンポーネント・フレームワークの統合された設計時サポート機能を提供します。ウィザード、エディタ、その他の設計ツールがBC4Jアプリケーションを設計、開発、テスト、デプロイ、そしてデバッグするのを支援します。

  • 統合されたウィザードとコンポーネント・エディタが自動的にフレームワークと関連したJavaコードおよびXMLメタデータを管理
  • 既存のデータベース・スキーマからエンティティ・オブジェクトやAssociationをリバース・エンジニアリングすることもエンティティ・オブジェクトからスキーマへフォワード・エンジニアリングすることも可能
  • ビジネス・コンポーネントをローカルでもリモートでもテスト可能なBC4Jブラウザ

機能概要

BC4J の機能
  • J2EEアプリケーションの開発で高い生産性を発揮するデータアクセス・フレームワーク
  • オブジェクト/リレーショナル・マッピング
  • J2EEデザイン・パターンの実装
  • 容易におこなえるビジネス・ロジックの編集
  • 優れたステート管理
  • アプリケーション・モジュールとJDBC接続それぞれのプーリング
  • さまざまなクライアントをサポート
  • 標準のJ2EEモジュールとしてのデプロイ
BC4J の新機能
  • UMLモデリングのサポート
  • OC4Jへのシングル・クリックでのデプロイ
  • BC4JベースのWebサービスのデプロイ
  • JDBC接続とアプリケーション・モジュールのプーリングに関する設定オプションの追加
  • ビジネス・コンポーネントとデータベース・スキーマの設計時における同期化機能
  • さまざまな行セットのサポート
  • 複数のデータソースを基にしたビュー・オブジェクト
  • 多対多のビュー・リンクとAssociation

参考資料

BC4Jに関する情報は、以下のリンクをご参照ください:

Top