Kuittauskäsittely
Datahub kuittaa osapuolten pyyntöihin kahdella eri tasolla: teknisellä tasolla sekä prosessitasolla. Teknisellä tasolla datahubin rajapinta vastaa aina jokaiseen osapuolen pyyntöön ilmoittaen, onko pyyntö ymmärretty ja kokonaisuudessaan vastaanotettu vai ei. Tämä on rajapinnan ns. tekninen kuittaus, joka on erillinen esimerkiksi sekvenssikaavioissa esitetyistä liiketoiminnallisista ns. prosessitason kuittauksista. Näitä teknisiä kuittauksia ei ole mallinnettu sekvenssikaavioihin.
Datahub toimittaa vastaanotetuille sanomille aina joko positiivisen tai negatiivisen kuittauksen myös prosessitasolla. Kyselytapahtumissa palautettavat tiedot toimivat positiivisena kuittauksena ja virhetilanteesta palautetaan negatiivinen kuittaussanoma. Negatiivisessa kuittauksessa ilmoitetaan Sanomavalidoinnit-osiossa kuvattujen prosessi- ja tapahtumavalidoinnissa ilmentyneet virheet. Synkronisten palveluiden osalta prosessitason kuittaus palautetaan osapuolelle sen jälkeen, kun datahub on kokonaisuudessaan käsitellyt palvelupyynnön. Asynkronisten palveluiden osalta datahub palauttaa ensin teknisen kuittauksen pyynnön hyväksynnästä ja myöhemmin asynkronisen prosessitason kuittauksen itse tapahtuman käsittelystä. Asynkroniset palvelut ja niiden kuittauskäsittelyt on kuvattu tarkemmin osiossa Tapahtumien synkronisuus/asynkronisuus. Datahub-rajapinnassa käytetään aina kuittaussanomaa siten, että sanoman otsikkotiedoissa ei määritellä erikseen, halutaanko kuittaus vai ei.
Noudettaessa sanomia datahubista noutavan osapuolen tulee kuitata sanomien vastaanotto Tapahtumien nouto -osiossa kuvatun mukaisesti.
Datahub-rajapinnassa sovelletaan prosessitason kuittauksissa ebIX-rakenteen mukaista kuittaussanomaa, joka sisältää otsikon, prosessin ja kuittaustapahtuman. Sanoman prosessiosio on sisällöltään sama kuin kuitattavassa alkuperäisessä sanomassa. Kuittaustapahtuman sisältö on seuraava:
Tietokenttä | Taso | Pakollisuus | Tarkennukset ja huomiot |
---|---|---|---|
Kuittaustapahtuma | 1 | 1..1 |
|
Kuittauksen tyyppi | 2 | 1..1 |
Osittain hyväksytty-kuittaustyyppiä käytetään mittaustietosanomissa datahubin vastaanottaessa mittaustietoja. Tällöin hylätyt aikasarjat raportoidaan aikasarjatason kuittauksessa. Haettaessa mittaustietoja datahubista tätä kuittaustyyppiä ei käytetä. |
Tapahtumatason kuittaus | 2 | 0..n |
|
Tapahtumatason kuittauksen tyyppi | 3 | 1..1 | Kuittaus tapahtumasta tai virhekoodi, jos tapahtuma ei ole hyväksytty |
Tapahtumatason kuittauksen teksti | 3 | 1..1 | Kuittaus tapahtumasta tai virheteksti, jos tapahtuma ei ole hyväksytty. Käytetään myös positiivisessa kuittauksessa ilmaisemaan päivityksen tyyppi datahubissa. Esim: Uuden myyntisopimuksen kuittauksessa palautetaan datahubin päättelemä myyntisopimuksen aloituksen syy (sopimuksen vaihto, myyjän vaihto, sisäänmuutto) ”Tapahtumatason kuittauksen tarkenne” kentässä. |
Tapahtumatason kuittauksen tarkenne | 3 | 0..n | Käytetään myös positiivisessa kuittauksessa ilmaisemaan päivityksen tyyppi datahubissa. Esim: Uuden myyntisopimuksen kuittauksessa palautetaan datahubin päättelemä myyntisopimuksen aloituksen syy (sopimuksen vaihto, myyjän vaihto, sisäänmuutto) ”Tapahtumatason kuittauksen tarkenne” kentässä. |
Sarjatiedot | 2 | 0..n | Mikäli kuittauksen tyyppi on ”Osittain hylätty”, ilmoitetaan Sarjatiedoissa ne sarjat, mitkä ovat hylätty. Jokaisella hylätyllä sarjalla voi olla useampia erityyppisiä kuittauksia, mitkä ilmoitetaan Sarjatason kuittauksen alla. |
Lähettäjän sarjatunnus | 3 | 0..1 |
|
Sarjan yksilöllinen tunnus | 3 | 1..1 |
|
Sarjatason kuittaus | 3 | 1..n | Mikäli kuittauksen tyyppi on ”Osittain hylätty”, ilmoitetaan Sarjatiedoissa ne sarjat, mitkä ovat hylätty. Jokaisella hylätyllä sarjalla voi olla useampia erityyppisiä kuittauksia, mitkä ilmoitetaan Sarjatason kuittauksen alla. |
Sarjatason kuittauksen tyyppi | 4 | 1..1 |
|
Sarjatason kuittauksen teksti | 4 | 1..1 |
|
Sarjatason kuittauksen tarkenne | 4 | 0..n |
|
Kuittaussanoman tekninen kuvaus on esitetty osiossa ACK Kuittaustapahtuma.