WS-Transaction Management

A Wikipédiából, a szabad enciklopédiából

Architektúra[szerkesztés]

A WS-TXM a WS-CF és a WS-CTS nyújtotta lehetőségeket használja. A WS-TXM definiál egy beágyazható tranzakciós protokollt ami a koordinátorral együttesen használható akciók egy halmazának az összes résztvevőnél lefuttatásának lebonyolításában, figyelembe véve Web szolgáltatás futások kimenetelét. A futások egy közös kontextus (Context) mentén kapcsolódnak. Koordinált kimenetel például a klasszikus kétfázisú commit protokoll.

Tranzakciós modellek[szerkesztés]

A WS-TXM specifikáció három tranzakciós modellt definiál, amelyeknek különböző felhasználásuk van a jelenlegi üzleti interakcióknál:

  • ACID tranzakció: a hagyományos ACID tranzakció (AT)
  • Hosszan futó akciók: egy aktivitás, vagy aktivitások csoportja, amely nem feltétlenül rendelkezik ACID tulajdonságokkal. Egy hosszan futó akció (Long Running Action, LRA) rendelkezik egyfajta "mindent vagy semmit" atomi hatással, azaz hiba esetén nem eredményezhet félbemaradt állapotot. A résztvevők előre- vagy hátramutató helyreállítást használhatnak az atomicitás elérése érdekében.
  • Üzleti folyamatok tranzakciói: egy aktivitás, vagy aktivitások csoportja, amely felelős valamely alkalmazás-specifikus feladat végrehajtásáért. Egy üzleti folyamat (Business process, BP) lehet atomi tranzakciók vagy hosszan futó akciók strukturált kollekciója az alkalmazás követelményeitől függően.

Mivel a WS-TXM használja a WS-CF-et, ezért a specifikáció alapján definiált kontextusra (Context) épít. A WS-TXM specifikáció egy élő dokumentum: a későbbiekben szükség esetén újabb modellekkel bővíthető.

Atomi tranzakció (Atomic Transaction, AT)[szerkesztés]

Az Atomi Tranzakció azon protokollokat definiálja, melyek az atomi tranzakciók kimenetelét vezérlik. Elvárt, hogy a már létező tranzakció vezérlő rendszerek becsomagolják a saját zárt rendszereiket és együttműködnek különböző megvalósításokkal. Ez a specifikáció kiegészíti a WS-Coordinationt azzal, hogy definiált koordinációs típusokat atomi tranzakciók támogatására. Ezt az ide tartozó koordinációs protokollok viselkedésének és üzeneteinek definiálásával teszi meg.

A WS-Coordination protokollok a következő feladatok elvégzésére használatosak:

  • Új atomi tranzakciók (CoordinationContext) létrehozása, melyek a koordinátorhoz kapcsolódnak.
  • Egy meglévő tranzakcióhoz összekapcsoló koordinátor hozzárendelése.
  • A web szolgáltatások között CoordinationContext üzenetek propagálása.
  • A koordinációs protokolloknál részvételi regisztrálás, a részt vevő feladatkörétől függően. Ilyenek pl. Completion, PhaseZero, 2PC, OutcomeNotification

Hosszan futó akció (Long Running Action)[szerkesztés]

A hosszan futó akció modell (LRA) kifejezetten a hosszú idő alatt lefutó üzleti interakciók esetére lett megtervezve. Ebben a modellben egy aktivitás üzleti interakciókat tükröz: egy aktivitás környezetében minden feladatnak kompenzálhatónak kell lennie. Ebből kifolyólag, egy aktivitás feladat vagy sikeresen végrehajtódik vagy félkész. A megvalósításra van bízva hogy a szolgáltatások hogyan végzik a dolgukat és hogyan biztosítják a munka visszavonását ha a kompenzáció igénye felmerül. Az LRA modell egyszerűen csak definiálja a kompenzációs akciók előidézésének részleteit és azok feltételeit.

Minden LRA az aktivitás hatásköréhez van kapcsolva. Ez azt jelenti, hogy amikor az aktivitás befejeződik, a LRA koordinációs protokoll automatikusan végrehajtódik, és vagy elfogadja a futást vagy kompenzálást kér.

Üzleti folyamat tranzakció (Business Process Transaction)[szerkesztés]

Ebben a modellben az összes részt vevő fél az üzleti tartományok tagjai, amik maguk is üzleti folyamatokat használhatnak feladatok elvégzésére. Üzleti folyamat tranzakciók felelősek a tartományok közötti interakciók menedzselésért. Egy üzleti folyamat (B2B interakció) feloszlik üzleti feladatokra és minden egyes feladat egy adott üzleti tartományon belül fut. Egy üzleti tartomány maga is fel lehet osztva további üzleti tartományokká (üzleti folyamatokká) rekurzív módon. Egy egyedi feladat igényelhet több szolgáltatást is. Egy feladatról feltételezzük, hogy az egy kompenzálható egysége a munkavégzésnek.

Az üzleti folyamat tranzakció modell támogatja a szinkron és aszinkron interakciós mintát. Az üzleti folyamatnak van egy menedzsere, mely értesülhet az egyes feladatok befejeződéséről (amely lehet sikeres vagy sikertelen), vagy periodikusan kommunikálhat minden egyes feladattal hogy megállapítsa annak jelenlegi állapotát. Továbbá, minden egyes feladat elmentheti állapotát arra az esetre, ha hiba történne, újra tudja indítani a folyamatot a mentési pontról. Egy üzleti folyamat megállhat sikeresen, mely esetben minden egyes feladat sikeresen végrehajtódott, vagy sikertelenül, amikor minden egyes munka vissza lesz vonva.

Hasznos linkek, felhasznált anyagok[szerkesztés]