[oracle][ibm] Zapewnianie transakcyjności na pograniczu MQ SDK z innymi systemami transakcyjnymi.
Filip Sielimowicz - 21-07-2007 00:08
[oracle][ibm] Zapewnianie transakcyjności na pograniczu MQ SDK z innymi systemami transakcyjnymi.
Temat jest taki: mamy z jednej strony kolejkę MQ, a z drugiej mamy inny system transakcyjny, np. bazę danych Oracle albo IBM DB2, albo ogólniej np. jakiś serwer transakcyjny, na którego tyłach chodzi transakcyjna baza danych.
Przypadek (CASE): bezpieczne przekazanie wiadomości z jednego systemu do drugieg, np. wiadomość w MQ ma zostać wyciągnięta z MQ i zapisana w postaci rekordu w bazie danych. Albo w drugą stronę: mamy rekord w bazie danych, który należy usunąć a jego zawartość wrzucić w postaci wiadomości do kolejki.
Teza: przekazanie wiadomości z jednego systemu transakcyjnego do drugiego wymaga zastosowania mechanizmów transakcji rozproszonych. Musi być koordynator transakcji który zapewni, by obie transakcje się powiodły albo obie zostały wycofane, a oba podłączone systemy muszą zapewniać mechanizmy transakcji rozproszonych.
Pytanie: czy teza jest właściwa ?
Pytanie drugie: rozwiązanie pośrednie: mamy system, który nie wspiera transakcji rozproszonych. Wstawiamy bufor (system wspierający transakcje rozproszone), który wysyła i odbiera wiadomości z systemu właściwego a sam z drugiej strony już wchodzi w transakcje z drugim systemem - za pośrednictwem koordynatora transakcji. Zapewnia, że wiadomości nie giną z systemu, ale nie gwarantuje żadej ze stron, że druga strona tę wiadomość odebrała. Czy to jest właśnie wyjście w sytuacji, kiedy jeden z systemów lub nawet żaden z komunikujących się nie wspiera transakcji rozproszonych ?
Dodatkowe tematy: - mamy coś takiego jak np. Oracle Message Gateway - rozumiem, że właśnie taki produkt m.in. pełni rolę koordynatora transakcji rozproszonych a użyte tu kolejki oraclowe spełniają rolę buforów pośredniczących ?
- mamy coś takiego, jak Oracle Procedural Gateway for WebSphere MQ - tu mamy pojęcie gateway Server'a, który także pełni rolę (między innymi funkcjonalnościami) koordynatora transakcji ?
Filip Sielimowicz - 25-07-2007 00:01
Użytkownik "Filip Sielimowicz" <sielim@wp.pl> napisał w wiadomości news:f7q18l$ooa$1@nemesis.news.tpi.pl...
> Pytanie drugie: rozwiązanie pośrednie: mamy system, który nie wspiera > transakcji rozproszonych. > Wstawiamy bufor (system wspierający transakcje rozproszone), który wysyła > i odbiera wiadomości > z systemu właściwego a sam z drugiej strony już wchodzi w transakcje z > drugim systemem - za pośrednictwem koordynatora transakcji. Zapewnia, że > wiadomości nie giną z systemu, ale nie gwarantuje żadej ze stron, że druga > strona tę wiadomość odebrała. Czy to jest właśnie wyjście w sytuacji, > kiedy jeden z systemów lub nawet żaden z komunikujących się nie wspiera > transakcji rozproszonych ?
Tutaj pojechałem w ciemną dal ... Jak nie ma transakcji rozproszonych, to w zależności od tego, w którym systemie wpierw idzie commit powstają ryzyka, że albo wiadomość zginie (poszedł commit na odbiorze z jednego, nie poszedł na wrzuceniu w drugi) albo zostanie zdublowana (poszedł commit na wrzuceniu w drugi, nie poszedł na odbiorze - wiadomość leży dalej do odbioru). Jeśli ginięcie wiadomości jest niedopuszczalne, to dopuszczamy ich dublowanie i zabezpieczamy się ("jakoś") by duble rozpoznawać - co też może być trudne, jeśli nie mamy porządnego systemu transakcyjnego, w którym np. rejestrujemy unikalne identyfikatory wiadomości.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
zanotowane.pldoc.pisz.plpdf.pisz.plradioaktywni.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|