2.9.14. SAPバインディング

SAP BCは、SAP で定義されているBAPIと連携する機能を提供します。プロバイダのみ提供します。


図2.9.14-1

下図はSAP BC動作概要です。

2.9.14.1. サービスユニットのファイル構成

SAP BCのサービスユニットのフォルダ構成は下図の通りです。


図2.9.14.1-1

SAP BCのサービスユニットに含まれるファイルについて以下に説明します。
SAP BCのSUのファイル
表2.9.14.1-1
項目
説明
/META-INF/schema
メッセージ検証用スキーマを格納するフォルダです。
/META-INF/schema/<BAPI名>/
bapi.properties、import.xsd、export.xsdを格納するフォルダです。 BAPI名に「/」が含まれていた場合は「-」に変換して出力します。
/META-INF/jbi.xml
サービスユニットの配備記述子です。
endpoints.xml
SAP BCのエンドポイントの設定が記述されます。
*.su
サービスユニットの管理ファイルです(編集不可)。

2.9.14.2. エンドポイントの設定

SUエディタを使用してSAP BCの基本的な設定をする方法を説明します。


図2.9.14.2-1

基本設定項目

Memo
 エンドポイントを追加する方法については、 2.7.1. エンドポイントの追加 をご覧下さい。

表2.9.14.2-1
設定項目
説明

エンドポイント一覧
SUで定義されたエンドポイントの一覧を表示します。
 
基本設定
エンドポイントロール
SAP BC のエンドポイントロールを指定します。
プロバイダに固定 [必須]
サービス名
エンドポイントが提供するサービス名を指定します。
QName(名前空間、ローカル名) [必須]
インタフェース名
エンドポイントが提供するインタフェース名を指定します。
QName(名前空間、ローカル名)[必須]
ESBインスタンス名
分散ESB機能を使用する場合にのみESBインスタンス名を指定します。 その他の場合は空欄にします。
文字(A-Z、a-z)、数字(0-9)、ハイフン(-)、点(.)、下線(_)の組み合わせ [任意]
オペレーション一覧
オペレーションを設定します。
 
メッセージエクスチェンジハンドラ
メッセージエクスチェンジハンドラを設定します。
 
共通設定
共通項目(セキュリティ認証)を設定します。
 
オプション一覧
オプションを設定します。
 
SAP BCに関する設定項目
表2.9.14.2-2
設定項目
説明

SAP BCの設定
コネクタリソースのJNDI名
SAPシステム登録時に設定したコネクタリソースのJNDI名を指定します。
詳細は、2.9.14.10. SAPシステム登録を参照してください。
文字列[必須]
BAPI名
BAPI名を指定します。
文字列[必須]
トランザクション
トランザクション制御を指定します。
no-transaction、xa-transactionから選択 [必須]
デフォルト値:[no-transaction]

Memo
Sequencing SEを使用して2つ以上のSAP BCを連携する構成で、それぞれのSAP BCをグローバルトランザクションに参加させる場合、全てのSAP BCで同じJNDI名を指定する必要があります。

※ 妥当性チェックを行うため、問題がある項目名が赤色となり、正しく修正すると、項目名が黒くなります。 詳細は、2.8. 妥当性チェックを参照してください。

SAP BCを保存する時に、 SAP BC名/META-INF/schema/BAPI名/ フォルダにbapi.propertiesが生成されます。


図2.9.14.2-2

bapi.propertiesファイルの内容
表2.9.14.2-3
項目名
説明

bapi.name
BAPI名。
SAP BCの設定のBAPI名の設定値と同じです。
文字列
bapi.commitwork
BAPI COMMIT WORKの有無。
SAP BCの設定のトランザクションの設定値による生成されます。
トランザクションがno-transaction : bapi.commitwork=0
トランザクションがxa-transaction : bapi.commitwork=1
0: COMMIT WORKなし
1: COMMIT WORKあり

Caution
BAPI名を変更してSAP BCを再度保存すると、新たなBAPIフォルダにbapi.propertiesが生成されますが、 前のBAPIフォルダとbapi.propertiesファイルを削除しません。
例えば、BAPI名はtestbapi1からtestbapi2に変更して保存すると、testbapi2フォルダにbapi.propertiesファイルが生成されますが、 元のtestbapi1フォルダ内のbapi.propertiesファイルが削除されません。


図2.9.14.2-3

2.9.14.3. オペレーション設定

 オペレーション一覧追加をクリックし、オペレーションを追加します。


図2.9.14.3-1

オペレーションの設定項目
表2.9.14.3-1
項目
説明

オペレーション名
エンドポイントが提供するオペレーション名を指定します。
QName(名前空間、ローカル名)[必須]
メッセージ交換方式
使用するメッセージ交換方式を指定します。
in-only、 in-out、robust-in-onlyから選択 [必須]
スキーマファイル インプット/アウトプット 対象SUフォルダのMETA-INFフォルダのschemaフォルダ配下にあるスキーマファイルの相対パスを指定します。
指定したスキーマファイルは、後述のインプット検証/アウトプット検証を選択することで実行時のメッセージ検証に利用することができます。
選択しなかった場合も、XSLT SE による変換の定義の際のインプット/アウトプットスキーマとして利用することができます。    [メッセージ交換方式を指定した場合のみ設定可能]
参照
(インプット/アウトプット)
スキーマファイルの選択ダイアログを開きます。
スキーマファイルを選択すると、その相対パスがインプットおよびアウトプットのファイルのテキストボックスに表示されます。
利用方法については、[2.7.7. スキーマファイルの設定] を参照して下さい。
 
検証実行 インプットの検証実行 実行時に、インプットで指定したスキーマファイルでのメッセージの検証を実施します。
   選択時には、スキーマファイルのインプットの指定は必須項目となります。
   [メッセージ交換方式を指定した場合のみ設定可能]
デフォルトは非選択 [任意]
アウトプットの検証実行 実行時に、アウトプットで指定したスキーマファイルでのメッセージの検証を実施します。
   選択時には、スキーマファイルのアウトプットの指定は必須項目となります。
   [メッセージ交換方式を指定した場合のみ設定可能]
デフォルトは非選択 [任意]
入力メッセージのタイプ
入力メッセージのタイプを指定します。
下記の値から選択。[任意]
  • xml
  • attachment
デフォルト値:xml
出力メッセージのタイプ
出力メッセージのタイプを指定します。
下記の値から選択。[任意]
  • xml
  • attachment
デフォルト値:xml

2.9.14.4. セキュリティ認証の設定

セキュリティ認証を ON にし、設定 をクリックすると、セキュリティ認証詳細設定ダイアログが表示されます。


図2.9.14.4-1

表2.9.14.4-1
項目
説明

エンドポイント名のURL表記
エンドポイントをURL表記した値。リソース管理に用いられます。
http://webotxesb/<BC名>/エンドポイント名
省略した場合、ESB内部で自動生成されます。
エンドポイントの認証の設定
OFFにした場合はエンドポイントの認証を行いません。
 
エンドポイントのID
認証に利用するIDを設定します。
文字列[必須]
パスワード
認証に利用するパスワードを設定します。パスワードは暗号化とします。
文字列[任意]
ログインモジュールの設定を行う
ログインモジュールの設定を行います。
任意の文字列[任意]
  • ESBSECUREMASTERRealm
  • ESBDefaultCustomRealm
デフォルト値:ESBSECUREMASTERRealm
エンドポイントの認可の設定
OFFにした場合はエンドポイントの認可を行いません。
 
認可に用いる認証情報
認可に利用する認証情報を設定します。
コンシューマの場合
  • consumer
プロバイダの場合
  • client
  • consumer
  • provider
Principalの識別子
Principalの識別子を設定します。
任意の文字列[任意]

2.9.14.5. オプション一覧の設定

[2.7.5. オプション一覧の設定] を参照して下さい。

2.9.14.6. メッセージエクスチェンジハンドラの設定

[2.7.6. メッセージハンドラの設定] を参照して下さい。

2.9.14.7. メッセージ交換方式(MEP)

SAP BC は In-Only、Robust In-Only、In-Out の3つのMEPをサポートします。
メッセージ交換方式(MEP)の説明は [ 製品構成と提供機能 > 3.JBI仕様 > 3.2.Normalized Message Router ] を参照してください。

Outbound
Outboundの各MEPの動作を説明します。

表2.9.14.7-1
MEP タイプ 動作の説明
In-Only
要求
Inを受け取り、XMLデータからBAPIパラメータに変換しSAP上のBAPIを呼び出します。
応答(Done)
BAPI呼び出しが正常に終了した場合、Doneステータスを設定したメッセージエクスチェンジを NMR に返却します。
応答(Error)
BAPI呼び出し処理で例外が発生すると、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。
Robust In-Only
要求
Inを受け取り、XMLデータからBAPIパラメータに変換しSAP上のBAPIを呼び出します。
応答(Done)
BAPI呼び出しが正常に終了した場合、Doneステータスを設定したメッセージエクスチェンジを NMR に返却します。
応答(Fault)
SAPからの応答電文にEXCEPTIONS要素がある場合、Faultメッセージを含むメッセージエクスチェンジを NMR に返却します。
応答(Error)
BAPI呼び出し処理で例外が発生すると、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。
In-Out
要求
Inを受け取り、XMLデータからBAPIパラメータに変換しSAP上のBAPIを呼び出します。
応答(Out)
BAPIの応答電文をXML形式に変換したデータをOutメッセージとしてメッセージエクスチェンジに設定し、NMRに送信します。
応答(Fault)
SAPからの応答電文にEXCEPTIONS要素がある場合、Faultメッセージを含むメッセージエクスチェンジを NMR に返却します。
応答(Error)
BAPI呼び出し処理で例外が発生すると、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。

2.9.14.8. ノーマライズ規則

デノーマライズ規則

SAP BCのOutboundのリクエスト送信処理では、 メッセージエクスチェンジから受け取ったXMLメッセージをBAPIの要求電文に変換(デノーマライズ)します。要求電文には通常IMPORT、TABLESのみが含まれます。添付ファイルは使用しません。


図2.9.10.11-2

ノーマライズ規則

SAP BCのOutboundのレスポンス受信処理では、 BAPIの応答電文をXMLに変換(ノーマライズ)します。応答電文にはIMPORT、EXPORT、TABLES、EXCEPTIONSが含まれます。EXCEPTIONSが存在する場合はFaultメッセージとしてメッセージエクスチェンジに設定します。 添付ファイルは使用しません。


図2.9.10.11-1

2.9.14.9. SAP連携によるエンドポイント属性の自動設定

サービスユニットに、SAP連携による、SAPサーバー関連の属性が設定済みのエンドポイントを作成することができます。

サービスユニットの右クリックメニューのノードの追加エンドポイント... を選択します。


図2.9.14.9-1

エンドポイントの作成ダイアログが開くので、BAPIから作成を選択して、SAP接続名とBAPI名を指定して、OKボタンを押します。


図2.9.14.9-2

表2.9.14.9-1
要素名 説明
新規作成 BAPIを指定しません。通常のエンドポイントの作成と同じ結果になります。
BAPIから作成 SAP連携サーバーのBAPIを指定して、情報を取得します。

選択が完了したら、OK ボタンを押します。

選択した情報を元に、エンドポイントとオペレーションが追加されます。


図2.9.1.17-3

同時に SAP BC名/META-INF/schema/BAPI名/ フォルダにbapi.properties、import.xsd、export.xsdが生成されます。


図2.9.1.17-4

2.9.14.10. SAPシステム登録

SAP BCのメッセージング動作前に、「SAPシステム登録」操作を行う必要があります。
SAPシステム登録
通信先のSAPシステムに関する接続情報を登録します。通信先のSAPシステムが複数存在する場合、SAPシステムごとに登録操作を行う必要があります。SAPパラメータの詳細については、SAPのマニュアルを参照してください。


図2.9.14.10-1

表2.9.14.10-1
設定項目
説明

Connection
コネクタリソースのJNDI名
コネクタリソースのJNDI名を指定します。ドメインで一意である必要があります。
文字列[必須]
SAPユーザID
SAPシステムとの接続に使用するユーザIDを指定します。
文字列[必須]
SAPユーザパスワード
SAPシステムとの接続に使用するユーザパスワードを指定します。
文字列[必須]
SAPホスト
SAPシステムのホスト名/IPアドレスを指定します。
文字列[必須]
SAPクライアント
SAPシステムとの接続に使用するクライアント名を指定します。
文字列[必須]
SAPシステム番号
SAPシステムとの接続に使用するシステム番号を指定します。
数値[必須]
Option
SAPルータ文字列
SAPルータを使用するためのSAPルータ文字列を指定します。
文字列
接続可能なコネクションの最大数
SAPと接続可能なコネクションの最大数を指定します。この数がコネクションプールの最大接続数より大きい場合、コネクションプールの最大接続数を超えて接続されたコネクションは切断されます。
数値
コネクションプールの最大接続数
コネクションプールの最大接続数を設定します。
数値
コネクションプールのタイムアウトチェック間隔
コネクションプールのタイムアウトをチェックする間隔を指定します。
数値(ミリ秒)
コネクション保持期間
コネクションの保持期間を設定します。
数値(ミリ秒)
コードページ
SAPとの通信で使用するコードページを設定します。
数値
SAPログオン言語
SAPシステムのログオン言語を設定します。
文字列
初回呼び出しまで遅延認証
遅延認証を行うかどうかを設定します。有効にした場合はBAPIの初回呼び出し時に、無効にした場合は接続時に認証を行います。
0: 無効、1: 有効
最大接続数を超えた場合の接続待ち時間
最大接続数を超えた場合の接続待ち時間を設定します。
数値(ミリ秒)
SAPメッセージサーバのホスト
SAPメッセージサーバのホスト名/IPアドレスを設定します。
文字列
SAPメッセージサーバのポート番号
SAPメッセージサーバのポート番号を設定します。
数値
コードページタイプ
コードページタイプを設定します。
1: 非UNICODE、2: UNICODE
認証タイプ
認証タイプを設定します。
CONFIGURED_USER: 特定のユーザ、CURRENT_USER: 現在のユーザ
SAPシステムのシステムID
SAPシステムを識別するためのシステムIDを設定します。
文字列
SNCサービスを提供するライブラリのパス
SNC(セキュア・ネットワーク接続)サービスを提供するライブラリのパスを設定します。
文字列
SNCモード
SNCモードのオン/オフを設定します。
0: オフ、1: オン
SNC名
SNC名を設定します。
文字列
SNCパートナー
SNCパートナーの識別名を設定します。
文字列
SNCセキュリティレベル
SNCセキュリティレベルを設定します。
数値(1〜9)
リモートホストタイプ
リモートホストタイプを設定します。
文字列
証明書認証で使用するX509証明書
証明書認証で使用するX509証明書を設定します。
文字列
Property
プロパティ
SAPシステム登録操作に渡すプロパティを定義します。
キー:文字列、値:文字列
SAPシステム削除
登録したSAPシステムを削除する場合の操作です。


図2.9.14.10-2

表2.9.14.10-2
設定項目
説明

コネクタリソースのJNDI名
削除する対象のコネクタリソースのJNDI名を指定します。
文字列[必須]