2012-07-26 23 views
8

Czy istnieje możliwość propagowania transakcji między różnymi usługami SOA, które pochodzą z różnych platform, takich jak .NET lub Java?Transakcja w SOA

Wiem, że transakcja może przepływać pomiędzy usługami WCF pochodzącymi z platformy .NET. Ale nie znam platformy Java.

Teraz pracuję w projekcie, który przekazuje usługi z innej platformy.

Jak mogę zachować spójność w biznesie?

+0

Dziękuję wam za pomoc w edytowaniu tego pytania. –

+1

Wszystko, co mogłem znaleźć, to: http://www.jnbridge.com/jnbpro.htm – Tomer

Odpowiedz

1

Jeśli twoja infrastruktura SOA klienta i serwera (i przez to, że podstawowe systemy zaplecza są dostępne w różnych implementacjach usług) obsługuje transakcję WS, wówczas umożliwiłoby to propagację transakcji.

Jednak pracuję w środowisku oprogramowania pośredniego SOA o dużych usługach finansowych i sami decydujemy się na samodzielne zarządzanie transakcjami: za pomocą ręcznej kompensacji. Bardziej złożony, nie polegający na koordynatorze transakcji rozproszonych daje nam elastyczność i wzrost wydajności.

+0

W mojej osobistej opinii, używając kodowania kompensacyjnego ręcznie. Czasami nie jest wystarczająco niezawodne dla spójności. Ale tak naprawdę projektujemy w ten sposób. dzięki –

1

Transactions between services are bad for your SOA ponieważ wprowadzają wiele sprzężeń między usługami. Granica usługi jest granicą zaufania. Jesteś lepiej wyłączyć za pomocą Sagas i kompensacje jak Daniel zauważył

+0

Świetnie. Dzięki. Potrzebuję czasu, aby to przeczytać. Jest to trudny do zrozumienia miot. –