ビジネス・コンポーネント・プログラムによるクライアントのチュートリアルのまとめ

Previous topic
前へ
 

このチュートリアルでは、クライアント側BC4J API使用してBusiness Components for Java(BC4J)クライアントを開発する方法を説明しました。BC4J APIについての知識は、バッチ・クライアントを作成(このチュートリアルで説明)するときだけでなく、JavaServer Pages(JSP)やSwingクライアントなど、他のクライアントをカスタマイズする場合にも役に立つます。

チュートリアルでのビジネス・コンポーネントへのアクセス

ApplicationModuleやViewObjectなど、層に依存しないインタフェースを使用すると、クライアント層とBC4J層の分離を維持することができます。それによってメンテナンス性が向上し、実質上ほとんどコードを変更せずにデプロイ構成の変更(後でBC4J層をEJBとしてデプロイする、など)オプションを保持できるようになります。

このチュートリアルでは、クライアント側のConfigurationクラスのcreateRootApplicationModule()を介してアプリケーション・モジュールにアクセスしました。そのため、実装クラスに直接アクセスすることなく、ApplicationModuleインタフェース(この場合はOnlineOrdersModuleImplにより実装される)にアクセスできました。

同様に、ビュー・オブジェクトの実装クラスに直接アクセスするかわりに、ApplicationModuleインタフェースのfindViewObject()をコールして、ViewObjectインタフェースにアクセスしました。

層に依存しないインタフェースの詳細は、「n層のビジネス・コンポーネント・アーキテクチャの理解」を参照してください。

チュートリアルでの行セット間の移動

ViewObjectインタフェースは、行セット間の前後の移動、特定の行へのジャンプおよび特定の行の取得を、何通りかの方法で可能にします。このチュートリアルでは、2つの方法で行セット間を移動しました。

行セット間の移動の詳細は、「問合せの行を移動する方法」を参照してください。

チュートリアルでのデータの取得および更新

特定の行の取得および更新には、次の3通りの方法があります。

チュートリアルでは1番目の方法を何度か使用し、顧客のフルネームを結合する際には2番目の方法を使用しました(カスタム・メソッドgetCustFullName()を作成および使用)。

3番目の方法は、チュートリアルでは使用しませんでしたが、これと類似しています。JDeveloperでは、最初にカスタム・ビュー行クラスを作成すると、自動的にそのクラスにアクセッサが生成されます。たとえば、CustomersViewに対して作成したビュー行クラスには、getCustFirstName()およびsetCustomerId()などのメソッドがあります。これらのメソッドは、カスタム・メソッドと同様にエクスポートできます。そうすると、setAttribute()getAttribute()を使用するかわりに、これらのメソッドをコールできるようになります。たとえば、

show("ID: " + row_Cust.getAttribute("CustomerId"));

をコールしてCustomerId属性を表示するかわりに、次のようなコールが可能です。

show("ID: " + row_Cust.getCustomerId());

これには次の2つの利点があります。

setAttribute、カスタム・ビュー行メソッドまたは型保証アクセッサによって変更されるのは、BC4Jキャッシュ内の値であり、データベース内の値が直接変更されることはありません。チュートリアルでは、ApplicationModuleインタフェースのcommit()をコールして、データベースへの変更のポストとコミットを同時に行いました。

チュートリアルでのマスター/ディテール関係の使用

このチュートリアルではCustomersViewおよびOrdersViewという2つの行セットがあり、これらがマスター/ディテール関係にありました。BC4Jには、マスター/ディテール関係を処理する2つの方法があります。

1つ目の方法では、このチュートリアルで実行したように特定のRowgetAttribute()メソッドを使用して、静的なディテール行セットを返します。これは、1回のみの操作です。返された行セットには、たとえマスター行セットの現在の行が変更されても、元のマスター行のディテールが必ず含まれます。

2つ目の方法では、アプリケーション・モジュールでディテール・ビューを使用し、自動的に同期された行セットを返します。データ・モデルの1つのビュー・インスタンスが他方のディテールである場合は、マスター行セットで現在選択されている行のディテールを常に含む動的な行セットになります。マスター行セットの現在の行が変更されると、ディテール行セット全体もそれに応じて変更されます。データ・モデルにおけるマスター/ディテール関係の詳細は、「ビジネス・コンポーネント・チュートリアルについて」を参照してください。

Business Components for Javaについてさらに学習する場合は、次のいずれかのチュートリアルに進むか、または「ビジネス・コンポーネントの開発」を参照してください。