WorkArea サービス: 特別な考慮事項

作業域を使用する開発者は、EJB と CORBA のプログラミング・モデル間のインターオペラビリティー、 および Java の Abstract Windowing Toolkit での作業域の使用において問題が発生する可能性があるため、 これらの問題について考慮する必要があります。

EJB および CORBA のインターオペラビリティー

作業域サービス は、EJB および CORBA の両プログラミング・モデル間にわたって使用できますが、 構成済みデータ型の多くは、それぞれの境界を越えて正常に使用することはできません。 例えば、SimpleSampleCompany インスタンスが WebSphere® 環境から CORBA 環境へと渡される場合、 CORBA アプリケーションは、CORBA Any オブジェクトの中にカプセル化された SimpleSampleCompany オブジェクトを、 作業域から取得することができます。しかし、作業域から値を抽出することはできません。 さらに同様に、CORBA アプリケーションの中で定義され、 作業域の中に設定された IDL を用いて定義されている構造は、UserWorkArea クラスを使用するアプリケーションでは読めません。

ベスト・プラクティス ベスト・プラクティス: アプリケーションは、整数やストリングのように、プリミティブ型のみを 作業域の値として直接設定することにより、また CORBA の ValueType のように、 互換性があるよう設計された構造体と一緒に複合値を実装することによって、 この非互換性を回避できます。best-practices

また、tk_null 型コードまたは tk_void 型コードのどち らかを含む CORBA Anys は、CORBA インターフェースを使用することで作業域内に設定できます。 しかし作業域の仕様では、Java™ 2 Platform, Enterprise Edition (J2EE) 実装では、 対応するキーに値が設定されないような暗黙指定を誤って行わない限り、 これらの CORBA 設定プロパティーを取り出す検索でヌルを戻すことは できません。 例えば、ユーザーが作業域から存在しないキーを検索しようとすると、 その作業域サービスは、ヌルを戻して、指定されたキーに値が含まれていな いことを示し、キーそのものが使用されていないか、存在しないことを暗黙 指定します。 CORBA Anys に tk_null または tk_void のいずれかが含まれている場合に、 ユーザーがこれらいずれかの値に関連するキーを要求すると、作業域サービスは予期されるようにヌルを戻します。 この場合、キーは実際に存在し、作業域サービスは単にキーの値であるヌルを戻したことになります。 従って、CORBA Anys で作業する場合、 作業域からヌルが戻されたときにユーザーが含意を行うことはできません。 これは、指定のキーに関連したプロパティーが存在しないか、または 指定のキーに関連したプロパティーが存在し、その中に tk_null また は tk_void が含まれている (例えば、J2EE 環境内のヌル) ことを意味する 場合があるためです。 J2EE アプリケーションがシリアライズ不可能な CORBA 設定プロパティーを検索しようとするか、 CORBA ヌルまたは無効リファレンスを含もうとする場合、com.ibm.websphere.workarea.IncompatibleValue 例外が発生します。

Java の Abstract Windowing Toolkit (AWT) での作業域の使用

Java の Abstract Windowing Toolkit (AWT) を使用するアプリケーションでは、作業域は慎重に使用する 必要があります。 AWT の実装はマルチスレッド化されており、1 つのスレッドで開始した作業域は 他のスレッドでは利用不能です。 例えば、ボタンを押すなどの AWT のイベントに対して プログラムが作業域を開始した場合、 この作業域はイベントの実行の完了後に、 アプリケーションの他のいかなる部分でも使用できません。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwa_consid
ファイル名:cwa_consid.html