0

特定のタスクに関しては、OSB を DB アダプタで使用する必要があります。BPEL プロセスは OSB よりも優れたパフォーマンスを発揮しないと思います。私はいくつかのサイトを調べましたが、それらはすべて OSB コンソールではなく OEPE を示しています。任意の応答をいただければ幸いです。

4

2 に答える 2

5

私のプロジェクトにも同様の要件があり、あちこちで疑問に思っていました。これが問題の最終的な解決策です。皆さんのために文書化しました。

JDeveloper での手順 1. JDeveloper で DB 接続を作成します。2. 汎用プロジェクトを作成します。3. プロジェクトを SOA プロジェクトとして作成し、空のコンポジットを使用します。

DB アダプターの作成手順

  1. 複合パレットに移動し、AD アダプターを選択します。
  2. DB アダプタを外部参照セクション (複合ビューの右側) にドラッグ アンド ドロップします。
  3. 接続とその他の DB 関連のプロセスを選択するためのウィザードが開きます。
  4. 作成するサービスに名前を付けます
  5. 作成済みの DB 接続を選択します。
  6. Web サービスで実行するストアド プロシージャまたはテーブル (挿入/選択) 機能を選択して移動します。
  7. テーブルの挿入/選択を選択すると、オプションのステップとしてテーブル間の関係を選択することもできます。
  8. 特別な機能が必要ない場合は、すべてのステップをデフォルトのままにしてください。
  9. ウィザードですべての手順を完了すると、プロジェクトの下に大量のファイルが生成されます。
  10. 4 つのメイン ファイル.jca、xsd/ .xsd、*.mapping.xml、*.wsdl を探します。
  11. これらすべてのファイルがプロジェクトで適切に生成されていることが確認できれば、準備は完了であり、先に進むことができます。そうでない場合は、問題を探します。

WLS コンソールの手順
データ ソースの作成

1.左側のパネルに移動し、[データ ソース] を選択します。2. [New -- Generic Data Source] を選択します。 3. 名前は自由に指定しますが、JNDI 名には、既にある *.JCA ファイルの接続名を使用する必要があります。jca ファイルを開き、「UIConnectionName」を検索します。この値は、データ ソースの作成時に JNDI 名として使用されます。
4. ドライバとして oracle.jdbc.xa.client.OracleXADataSource を選択します。 5. DB 接続中に (JDeveloper で) 選択したホストとポート、およびその他の詳細を使用します。これは明らかなステップです。6. 対象の AdminServer を選択します。7.すべてを正しく終了した場合。ここですべての設定が完了し、接続をテストすることを選択でき、[テスト成功] になるはずです。

DB アダプターの構成

  1. 左側のパネルで展開に移動します。
  2. 展開されたサービスで。DbAdaptor を検索します。
  3. DbAdaptor という名前をクリックします。
  4. [構成] タブを選択します。そしてその下で、アウトバウンド接続プールを選択します。
  5. ここに表示されます (javax.resource.cci.ConnectionFactory)
  6. 新規をクリックします。
  7. javax.resource.cci.ConnectionFactory を選択します
  8. 次のページでは、JNDI 名を尋ねられます。このためには、*.jca ファイルに移動し、Connection-factory の場所として既に存在する値を選択する必要があります (connection-factory location=? など)。Location の値を JNDI 名として使用します。
  9. お取引はノー取引となります。とりあえずこれを選択。これがニーズベースの選択です。
  10. 他の選択はそのままにして、[完了] をクリックします。
  11. 注:終了したら。もう一度 [プロパティ] タブに移動し、プロパティ名を探します: xADataSourceName。その値は、*.jca ファイルにある UIConnectionName と同じである必要があります。移入する必要があります。そうでない場合は、今すぐ設定することもできます。値のセクションをダブルクリックして名前を入力し、Enter キーを押す必要があります。次に、保存します。
  12. 上記のすべての手順で、テーブル/ストア プロシージャがある同じ DB を指すように DbAdaptor を設定しました。

上記で行ったことは次のとおりです。

• サービス用の JCA ファイルと WSDL があります。DB設定と一緒。• WLS に DB のデータ ソースがあります。• 同じ JNDI を指している WLS にデプロイされた DbAdaptor があります。

OSB コンソールでの手順

  1. プロジェクトを作成します。
  2. Project の下に 3 つのフォルダーを作成します。リソース、プロキシ サービス、ビジネス サービスと同様です。
  3. プロジェクトをアクティブ化します。
  4. Resources フォルダー内。JCA マッピングを追加する必要があります。上記の手順ですでに持っている*.jcaをポイントします(JDeveloperで作成しました)。パスを指定して保存するだけです。エラーが発生する場合があります。今のところ無視してください。
  5. Resources フォルダー内。WSDL を追加し、*.wsdl のパスを指定します。エラーが発生した場合。じゃあとりあえず無視。
  6. Resources フォルダー内。XSD を追加し、既にある *.xsd のパスを指定します。
  7. Resources フォルダー内。XML を追加し、*Mapping.xml ファイルへのパスを指定します。
  8. リソース WSDL に再度アクセスし、その名前をクリックします。「参照の編集」。既に持っている XSD を選択して保存します。
  9. リソース JCA に再度アクセスし、その名前をクリックして参照を編集し、mapping.xml を指すようにします。
  10. これで、すべてのエラーがなくなったことがわかります。
  11. プロジェクトをアクティブ化します。
  12. 左側に移動し、ビジネス サービスを選択し、wsdl プロジェクトを選択してビジネス サービスを作成します。次のページで [バインディング] を選択します。
  13. 次に、JCA を選択し、IES の「場所」を指定します (場所として *.jca の connection-Factory に値があることを思い出してください。DbAdaptor の作成時に使用しました)。ここでその値を指定します。
  14. 次へ、次へ、次へと移動して終了します。
  15. ビジネス サービスはすべて設定されています。
  16. 次に、プロキシ サービスを作成します。プロキシ サービスを選択し、ビジネス サービス オプションから選択して、上記の手順で作成したビジネス サービスを選択します。
  17. 次に、完了をクリックします
  18. プロジェクトをアクティブ化します。
  19. これで準備は完了です。プロキシ サービスでは、クリックしてエンド ポイントの URL を確認し、後で参照できるように保管しておくことができます。これは、クライアントでサービスを呼び出すために指定する必要がある URL です。
  20. これですべて完了です。

クライアントからの呼び出し。

  1. この目的で SOAPUi を選択します。
  2. 新しいプロジェクトを作成し、エンド ポイント URL を指定します。
  3. その中のすべてのサービスが表示されます。
  4. 1 つのサービスを選択します。リクエストを作成します。
  5. Request XML に値を入力し、Localhost:port を追加してエンドポイント URL を使用します。
  6. [go] をクリックすると、応答が返されます。

最後に、DB アダプターを使用した OSB プロジェクトのテストが完了しました。

これは長く見えますが、一度実行すると、次のサービスは非常に簡単です。

ありがとう、それが役立つことを願っています。

于 2014-01-30T21:11:06.640 に答える
1

OSBコンソールはJCA DBアダプタの作成をサポートしておらず、OEPEもサポートしていません。

JDeveloperでDBアダプタを作成し、OEPE/OSBコンソールからインポートする必要があります。OEPEの方が簡単です;-)。

ガイドについては、http: //guidoschmutz.wordpress.com/2010/08/08/oracle-service-bus-11g-and-db-adapter-a-different-more-integrated-approach/を参照してください。

また

https://blogs.oracle.com/middleware/entry/using_jca_adapter_with_osb_11113

于 2012-04-25T12:26:24.477 に答える