ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server Application Adapter for SAP R/3(SAP JCo 3.0)ユーザーズ・ガイド
11g リリース1 (11.1.1.3.0)
B61422-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 SAP Java Connector 3.0について

この章では、SAP Java Connector (SAP JCo) 3.0に関連付けられているOracle Application Adapter for SAP R/3の新しい使用方法について説明します。次のトピックが含まれています。

サポート対象プラットフォーム

SAP JCo 3.0は、Unixプラットフォーム上での32ビットのサポートを廃止しています。Linux(およびIntelプロセッサ)とWindows(およびIntelプロセッサ)のみ、32ビットのSAP JCoをサポートしています。その他のプラットフォームはすべて完全な64ビット処理を必要とします。一部のJVM設定では、JVMは"混合モード"と解釈され、SAP JCoに対応しません。また一部のプラットフォームでは、JVMで完全な64ビット処理を可能とするために、–d64という特定のフラグを必要とします。

SAP JCo 3.0でサポートされるプラットフォームの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server Application Adapterインストレーション・ガイド』を参照してください。

各オペレーティング・システムに対応する、サポートされるJVMの詳細は、SAP Service MarketplaceのSAP Note #1077727を参照してください。サポートされるJVMのリストに特定のJVMが含まれていない場合、そのJVMは、SAP R/3ではサポートされていません。


注意:

Oracle JRockit JVMは、SAP JCo 3.0.5ではサポートされていません。

接続管理

SAP JCo 3.0では、接続管理における変更を導入しています。すなわち、JCoは、接続を促進するのではなく接続を管理するようになりました。この変更については、クライアント(SAP R/3に着信)とサーバー(SAP R/3から発信)の役割に関する次の項で説明します。

接続プーリング

SAP JCo 3.0は、クライアント(SAP R/3に接続)が使用する接続方法の変更を導入しています。すなわち、クライアントは、直接SAP R/3サーバーに接続されるのではなく、SAP JCo上の論理宛先に接続をオープンするようになりました。これが、すべてのSAP R/3接続とプーリングのタスクを処理します。接続プーリングは、iWayターゲット宛先ごとに行われるようになりました。ただし、オープンされるすべての接続カウントの総数は、SAP R/3のオープン接続限界に近づきます。宛先ターゲットにおける接続プール・サイズのパラメータ値は、論理宛先によってオープンされるピーク接続の最大数です。SAP JCoでは、前もって接続が割り当てられず、初回のリクエストによって最初の接続がオープンされます。次のリクエストが到着したときにこの最初の接続がビジーの場合にのみ、別の接続がオープンされます(ピーク限界値まで)。

限界値に達すると、「接続待機時間」パラメータ値が、すべての接続が使用中になった時刻を表示します。別の接続が到着すると"リソース割り当て"の例外が生成されます。

また、「接続タイムアウト」パラメータ値は、使用の有無にかかわらず、接続がアクティブ状態を維持する最大時間量です。動作がこれより長いリクエストがある場合は、このパラメータ値を増やすことを検討してください。動作が極めて短いリクエストが多数ある場合、パフォーマンスとリソースの利用率を最大限に向上するためこのパラメータ値を減らしてください。

サーバー・スレッド

SAP R/3アウトバウンド・ゲートウェイは、非SAP R/3システムのRFC宛先ごとに1つのアクティブ・コンポーネントを作成します。最大スループットを得るため、「スレッド数」パラメータは3に設定します(RFC宛先ごとに3つのサーバー・スレッド)。このパラメータは、チャネル構成時のアプリケーション・エクスプローラの「詳細」タブにあります。通常、これは、リクエストのリスニング用に1つのスレッド、現在のリクエストの処理用に1つのスレッド、および処理のクリーンアップ用に1つのスレッドです。特定の宛先に大量のトラフィックを必要とする場合、いくつかのSAP R/3手法をこのような状況で使用することができます。同じ名前の複数のプログラムIDが1つのSAPゲートウェイに対して登録されているとき、SAP R/3システムのゲートウェイ・プロファイル内のパラメータに応じて、"ロード・バランシング"シナリオに対してゲートウェイを有効にできます。詳細は、SAP R/3システム管理者に問い合せてください。ただし、プロファイルは、0(ロード・バランシングなし)、1(最小カウント)、または2(最小負荷)になります。SAP R/3システムの管理者は、宛先を構成して各状況を活用するために必要な情報を提供してくれます。

ゲートウェイのロード・バランシングに加えて、SAPゲートウェイのスレッドの量を増やすこともできます。詳細は、SAP R/3システム管理者に問い合せてください。スレッド数を増やした場合、ゲートウェイ・スレッド対サーバー・スレッドの比率を同じ1:3比率で維持するようにしてください。たとえば、ゲートウェイが、アウトバウンドのサーバー・チャネル側で宛先"X"に対して3つのアクティブなスレッドを有する場合、サーバー・スレッドの数は9になります。

ロード・バランシングを有効にしないで、同じプログラムに複数のサーバー・チャネルを登録し、Oracleのスキーマ検証を実施しない場合、チャネルまたは宛先上にルーティングがないため、誤ったチャネルでIDocを受信する可能性があります。

単一サーバーのサポート

SAP JCo 3.0は、JCoサーバーの実装および実行方法に基本的な設計変更を採用しています。JCoのインストールごとにJCoサーバーの単一インスタンスが許可されます。Oracle Application Adapter for SAP R/3は、ポートとチャネル間にマッピングを作成します。ただし、ロード・バランスとマルチスレッドのインストールにおける変更は、エンドユーザーにトランスペアレントであるため、十分に注意して、アダプタのサーバー・スレッド数とSAPゲートウェイのアクティブなサーバー・ブレッド数を一致させる必要があります。このトピックについては、SAP R/3ヘルプ・ファイル「SAPゲートウェイの構成」でさらに詳しく調べることができます。このファイルには、ロード・バランシングとサーバー・スレッドについて詳細が記載されています。

変更パラメータとテスト・パラメータ

Oracle Application Adapter for SAP R/3およびSAP JCo 3.0は、関数モジュールにおけるSAP変更パラメータのサポートを導入しています。SAP R/3表のパラメータは、定義済みの長さと必要なヘッダーの固定列を備えたフラットなデータ構造に限定されています。変更パラメータは、ネスト構造(列そのものが構造である表)および固定長のないデータ(文字列データ型など)を含む、ほとんどすべてのSAP R/3型のデータが可能です。変更パラメータを関数モジュールへの入力として使用することもできれば、関数モジュールからエクスポートすることもできます。またその両方も可能です。これは、特定のSAP関数に関する設計者の要件によって決まります。

変更パラメータを使用する関数のXMLスキーマは、個別のカテゴリとしてパラメータをリストしません。ただし、表パラメータと同様、リクエストとレスポンスのXMLスキーマに表示されます。パラメータがオプションとしてマークされている場合、関数の設計に応じて、値を供給する必要はありません。オプションのインジケータが、アプリケーション・エクスプローラとXMLスキーマに表示されます。変更パラメータの使用方法の詳細は、SAP R/3のドキュメントを参照してください。

トレース・レベル・パラメータ

Oracle Application Adapter for SAP R/3(SAP JCo 3.0を使用)には、「トレース・レベル」と呼ばれる新しいパラメータが含まれています。これは、図3-1に示すように、アプリケーション・エクスプローラの「詳細」タブにあります。

図3-1 「詳細」タブ

「アプリケーション・サーバー」ダイアログ
「図3-1 「詳細」タブ」の説明

このパラメータは、SAPトレースの詳細レベルを示します。リストから値(0~10の範囲)を選択します。使用されている一般的な値は、次のとおりです。

パス値としてnull、stdout、およびstderrが可能です。現行のパスも可能です。パスが、If the path is equal to null、stdout、またはstderrに等しい場合、SAP JCoは、標準出力(エラー)ストリームへのトレースを生成します。少なくとも1つのJCoTraceListenerが登録されていれば、そのリスナーにのみトレース出力が送信されます。SAP JCoのトレースをファイルにリダイレクトするには、パス値を既存のディレクトリに設定する必要があります。

次の環境変数をORACLE_JAVA INVOKE_HOMEで設定する必要があります。

Java –Djco.trace_path=drive:/directory

以下は、Solariceプラットフォームでのパスの例です。

/path1/dir1/

次の変数は、オペレーティング・システムのレベルで設定することができます。

RFC_TRACE=1CPIC_TRACE=(1,2,3) RFC_TRACE_DIR= CPIC_TRACE_DIR= 

ここで、1はエラー・トレース、2は完全プロセス・トレース、3は完全プロセス・トレースの短いデータ・トレースです。

特にホストされる環境では、環境設定をチェックすることをお薦めします。