XA

XA ( englanniksi  laajennetusta arkkitehtuurista [1] , X / Open XA ) on hajautettujen tapahtumien spesifikaatio , joka määrittelee periaatteet tapahtumaresurssien yhteiselle osallistumiselle tapahtumaan hajautetussa laskentaympäristössä . Se kuvattiin ensimmäisen kerran vuonna 1992, ja se on tosiasiallinen toteutusstandardi hajautetuissa tapahtumien hallintajärjestelmissä ja relaatiotietokantoissa .

XA-tapahtuma  on hajautettu tapahtuma, joka suoritetaan XA-spesifikaatioiden mukaisen järjestelmän ohjauksessa.

Historia

1990-luvun alkuun mennessä hajautetuille tapahtumille oli olemassa useita erilaisia ​​standardeja, esimerkiksi TPF, jota käytettiin Yhdysvaltain siviili-ilmailussa ja 2010-luvulla [2] CISC, VMS ja muut. Yhdestä niistä, IBM:n SNA:sta, oli siihen mennessä tullut de facto standardi. Tämän standardin ja LU6.2-standardin vaikutuksesta ISO on luonut useita uusia standardeja [3] :

Näiden standardien suurin haittapuoli oli API :n puute , joten ne määrittelivät, kuinka tapahtumien hallintaohjelmien tulisi olla vuorovaikutuksessa, mutta eivät antaneet sääntöjä kannettavien sovellusten kirjoittamiselle.

X/Open ratkaisi tämän ongelman tarjoamalla hajautetun tapahtumamallin ja samalla määrittämällä proseduurirajapinnan transaktion osallistujien vuorovaikutukselle (CLI), XA-määrityksen.

Malli

XA käyttää hajautettua tapahtumamallia, joka koostuu kolmesta osasta:

  1. Sovellusohjelma (AP) - Ohjelma, joka määrittää, mistä osista tapahtuman tulee koostua, mitä resurssienhallintaa (RM) käytetään ja niin edelleen. Itse asiassa tässä on kuvattu liiketoimintalogiikka.
  2. Distributed Transaction Manager (TM) - joka tunnetaan myös nimellä koordinaattori, koordinoi RM:n työtä ja päättää, sitoutuuko vai peruutetaanko tapahtuma käyttämällä kaksivaiheista toimitusprotokollaa ( englanniksi  Two-phase commit protocol ).
  3. RM:itä, kuten DBMS:ää, käytetään tietojen tallentamiseen.

Vaikka mallissa on kolme komponenttia, XA-spesifikaatio määrittelee vain resurssien ja tapahtumien johtajien välisen vuorovaikutuksen.

XA-spesifikaatio jakaa tapahtumat paikallisiin ja globaaleihin. Paikalliset tapahtumat ovat yksinkertaisin tapahtumatyyppi, jossa sovellusohjelma käyttää vain yhtä DBMS:ää ja määrittää, milloin tapahtuma tulee sitoa tai peruuttaa. Eli niissä TM:n rooli on osoitettu AP:lle. Globaalit (hajautetut) tapahtumat ovat monimutkaisempi tapaus, jossa päätös muutosten tekemisestä tai peruuttamisesta on koordinaattorin harteilla, sovellusohjelma määrittää vain tapahtumien rajat. Tapahtumanhallinta jakaa yhden globaalin tapahtuman useisiin paikallisesti suorittaviin haaroihin ( eng.  branch ), ja onnistuneen sitoumuksen jälkeen jokaisessa haarassa se sitoo koko globaalin tapahtuman ja peruuttaa muutoin.

Lisäksi spesifikaatio tukee sisäkkäisiä tapahtumia , jotka ovat hyödyllisiä esimerkiksi kirjaamiseen .

XA+

Vuonna 1994 julkaistu XA+ -spesifikaatio määrittelee myös sovellusten kesken hajautetut tapahtumat. XA +:ssa näkyy toinen tapahtumaan osallistuja - Communication Resource Manager (CRM), joka vastaa koordinoinnista useiden hajautettujen tapahtumien hallinnoijien välillä, tässä mallissa hän vastaa tapahtuman uusista haaroista, jotka puolestaan ​​sisältävät useita muita sivukonttoreita sekä tapahtumatunnusten luomiseen.

XA-pohjaiset standardit

Vaikka XA määrittää vain API:n C-kielelle, on toteutuksia muilla ohjelmointikielillä.

Java Transaction API  on XA:n toteutus J2EE -alustalle , joka julkaistiin ensimmäisen kerran vuonna 1999. .Net Frameworkissa tuki hajautetuille tapahtumille ilmestyi vain versiossa 2.0, paitsi XA, hajautetun tapahtuman .NET-toteutus tukee OLE :tä [4] .

XA ja OTS

Vuoden 1991 Object Management Group -spesifikaatio Object Transaction Service -palvelulle tuo CORBA :lle transaktiot . Koska määrittely ei erota tapahtuman osanottajia RM:ään ja TM:ään, vaan vain asiakkaaksi ja palvelimeksi, on mahdollista käyttää XA:ta ja OTS:ää yhdessä asiakaspalvelinsovelluksessa. Lisäksi, jos jokin RM:istä ei tue XA:ta, mutta tukee OTS:ää, tämä paketti on ainoa mahdollinen ratkaisu hajautettujen tapahtumien ongelmaan tällaisessa ympäristössä.

XA:n ja OTS:n yhdistelmää käytetään Java EE:ssä, jossa OTS:n kääre on Java Transaction Service , ja Java Transaction API puolestaan ​​erottaa JTS:n AP:stä.

Muistiinpanot

  1. Oracle UKK: Mitä XA tarkoittaa . Haettu 22. elokuuta 2015. Arkistoitu alkuperäisestä 24. syyskuuta 2015.
  2. Katso Transaction Processing: Concepts and Techniques, kohta 1.5
  3. Katso Tapahtuman käsittely: Käsitteet ja tekniikat, kohta 2.7.4
  4. INFO: Yhteydet eivät välttämättä osallistu MTS/COM+-tapahtumiin, kun käytät OLE DB:tä suoraan

Linkit

Kirjallisuus