4

私たちのアーキテクチャは、JAX-WS 仕様で開発された Web サービスで構成されています。

メトロ。これらのサービスは、個別の war として単一の Glass Fish アプリ サーバーにデプロイされます。

ファイル。すべての Web サービスは内部で単一のデータベースを使用します。データアクセス層は Hibernate を使用して実装され、Spring はサービス内のトランザクションの実装に使用されます。複数の Web サービスにまたがるトランザクションを実行したい場合、どのようなアプローチが可能でしょうか?

  1. JTA を使用する必要がありますか、それとも回避できますか?
  2. Metro でサポートされている WS-AtomicTransaction 仕様を使用する必要がありますか?
4

1 に答える 1

0

今まで答えがないので、私は自分の質問に答えています。ただし、同じ意見をいただければ幸いです。各 Web サービスを個別に扱い、Web サービス間のトランザクションに WS-AtomicTransactions/WS-Coodrination を使用するのが最適なアーキテクチャだと思います。これは、パフォーマンスやその他の理由で、一部の Web サービスを異なる Glassfish ドメインまたは異なるサーバーにまとめて展開する必要がある場合にも役立ちます。内部的に、これらの JAX-WS Metro サービスは、glassfish で JTA を使用して 2PC を実装します。ただし、それは Metro 実装内に隠されています

ヴィプル・シャー

于 2011-04-18T07:02:59.477 に答える