Многоуровневое приложение для обработки транзакций - PullRequest
7 голосов
/ 21 августа 2011

Возможно ли проведение транзакций в нескольких системах?

Например:

слой 1 - предоставляет веб-сервисы (развернуто в weblogic) уровень 2 - внешний интерфейс .NET (развернут в IIS)

Можем ли мы выполнить транзакцию или откат для нескольких вызовов веб-служб, инициированных из .NET?

Если так, может кто-нибудь указать мне какой-либо ресурс или документ? И есть ли какие-то особые требования для каждого уровня соответствия для участия в транзакциях?

Ответы [ 3 ]

1 голос
/ 22 августа 2011

Да, это возможно. WCF позволяет использовать веб-службы, использующие стандарт WS-Atomic Transaction , при условии, что в вашем клиенте .NET доступно System.Transactions.TransactionScope (например, Silverlight это).

Существует отличный пример для CodeProject , который показывает, как создавать и использовать веб-службы транзакций в .NET с использованием TransactionScope.

0 голосов
/ 30 августа 2011

Это определенно возможно, но может оказаться сильнее, чем вы думаете.Вам необходим контроль, чтобы изменить среду выполнения этих веб-сервисов, чтобы расширить их так, чтобы они могли использовать заголовки WS-AT.Кроме того, как и в любой среде распределенных транзакций, вы, вероятно, повлечете за собой повышение производительности из-за существенных административных издержек.

SOA-WORLD опубликовал несколько замечательных статей, в которых объясняются транзакции Web-сервисов и все соответствующие стандарты OASIS.Вот это на WS-Coordination , если я смогу найти остальные, я добавлю их.

0 голосов
/ 30 августа 2011

упоминание casperOne о TransactionScope - отличное решение, если оно доступно в вашем сценарии.Я влюбился в простоту и мощь, которые она приносит на стол.

Однако я отмечаю, что у вас есть тег Java, и вы упоминаете Weblogic в качестве уровня веб-службы, поэтому свойство 1007 * должно быть реализовано через WS-AT (Web Services Atomic.Транзакция) или аналогичный протокол транскрипции.

Смотрите здесь: http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/cjta_wstran.html

...