• Ei tuloksia

EbXML:n asettamat vaatimukset

3. Vaatimukset

3.2. EbXML:n asettamat vaatimukset

3.2.1. Yleistä

Suurin osa ebXML:n vaatimuksista koskee viestinsiirtokerrosta, joka on järjestelmän rajapinta muihin ebXML-toimijoihin. Ylempien kerrosten rakenteelle ja toiminnallisuudelle ei juurikaan määritellä vaatimuksista mutta osa viestinsiirtokerroksen vaatimuksista vaikuttavat välillisesti myös liiketoimintakerrokseen.

ebXML Applications Messaging Service Interface

Messaging Service

SMTP HOP HTTP

Encryption, Digital Signature

Message Packaging Module Header Processing Authentication, authorization and

lepudiation services

Delivery Module Send/Receive Transpon Mapping and Binding

Kuva 10. EbXML.n viestinvälityspalvelun arkkitehtuuri. [6]

EbXML:n määrittelyt kuvaavat viestinsiirtokerroksen järjestelmäksi, joka täyttää ebXML-standardien määrittelyt ja tarjoaa sovelluksille palveluita sisäisesti määriteltävän rajapinnan kautta. Lisäksi ebXML standardoi liiketoimintaprosessien määrittelytavan ja tulevaisuudessa mahdollisesti myös joitain liiketoimintaprosesseja.

3.2.2. Viestinsiirtokerros

EbXML käyttää viestinsiirtokerroksesta nimeä viestinkäsittelijä (Message Service Handler, MSH). Viestinkäsittelijöiden toiminta ja niiden välinen rajapinta on kuvattu omassa standardissaan [9]. Tarkimmin kuvattu osa on viestinkäsittelijöiden välinen rajapinta, jonka tarkka määrittely on eri toteutusten yhteistoiminnan ehdoton edellytys.

Partnerikohtaiset asetukset (sallitut liiketoimintaprosessit ja niiden roolit, osapuolten osoitteet, käytetyt siirtoprotokollat jne.) määritellään ebXML:ssä XML-muotoisissa yhteistyösopimuksissa. Sopimuksia säilytetään yleensä ebXML-rekisterissä, johon kaikilla yhteistyöverkon osapuolilla on pääsy ja josta toteutuksen tulee pystyä päivittämään tietojaan. Tietojen paikallinen säilytys on toteutuksen sisäinen asia ja tärkeintä on, että viestinsiirtokerros pääsee helposti käsiksi kunkin partnerin ajantasaisiin tietoihin.

Tiedonsiirto

Communications Protocol Envelope (HTTP, SMTP, etc.) SOAP with Attachments MIME envelope

other: Etc.

eb: Manifest

other: Etc eb:Etc.

eb: MessageHeader eb:Error

eb;Etc.

ï Part(s)

Payload(s) SOAP-ENV: Header

SOAP-ENV: Body SOAP-ENV: Envelope

MIME Part Message

Package

Header Container

Payload Container(s)

Kuva 11. EbXML:n viestirakenne. [9]

EbXML määrittelee tiedonsiirron vain TCP/IP-verkossa, jolloin sovellustason tiedonsiirtoprotokollana on joko HTTP tai SMTP. Standardin 2. versio vaatii ainoastaan

HTTP-tiedonsiirron toteutuksen. Lisäksi se määrittelee SMTP-protokollan käytön ja sallii, mikäli kaikki osapuolet niin sopivat ja määrittelevät, muidenkin siirtoprotokollien käytön. EbFRENDS-toteutuksen on siis toteutettava ainakin HTTP-protokollasta sekä palvelin- että asiakaspuoli. [9]

EbXMLrn sovellusviestit kuljetetaan MIME (Multipurpose Internet Mail Extensions [10]) -kehystettyjen SOAP (Simple Object Access Protocol [11]) -viestien sisällä.

Viestit voivat sisältää (ja käytännössä aina myös sisältävät) myös liitetiedostoja.

Toteutuksen on siis pystyttävä sekä rakentamaan että purkamaan MIME-kehyksiä.

Lisäksi on kyettävä käsittelemään SOAP ja SOAP with attachments [12] -viestejä.

SOAP on XML-pohjainen protokolla ja ainakin ebXML-viestien otsakkeet ovat XML- muotoisia. Viestinsiirtokerroksen on siis kyettävä sekä jäsentämään että rakentamaan XML-viestejä. Kerroksen on myös mahdollisuuksien mukaan tarkistettava viestien oikeellisuus ja hylättävä virheelliset viestit. EbXML ei teknisissä määrittelyissä ota kantaa itse viestien formaattiin ja sallii myös muiden kuin XML-muotoisten viestien käytön. Jotta SOAP- ja MIME-kehyksiin voidaan sisällyttää kaikenlaisia viestejä ja liitetiedostoja, on toteutuksen kyettävä käsittelemään MIME-standardin mukaisia koodauksia.

EbXML-viesteissä on aina mukana otsake, joka sisältää tiedot mm.

liiketoimintaprosessista, osapuolista ja varsinaisen viestin tyypistä.

Viestinsiirtokerroksen on kyettävä tulkitsemaan nämä tiedot ja mahdollisesti välittämään ne liiketoimintakerrokselle sen haluamassa muodossa.

EbXML ei ehdottomasti vaadi luotettavan tiedonsiirron toteutusta. Standardi kuitenkin määrittelee määrittelee joukon vaatimuksia, jotka luotettavaa tiedonsiirtoa tukevan viestinkäsittelijän tulee täyttää. Yleiset viestinkäsittelijälle määritellyt vaatimukset kattavat yleisellä tasolla myös ebXML:n vaatimukset. Luotettavan tiedonsiirto vaatii viesteille lisäparametreinä viestin eliniän, kuittauksen tarpeen, uudelleenlähetysmäärän ja -välin. Nämä parametrit voivat olla joko viestin otsakkeessa tai

yhteistyösopimuksessa. [9]

Luotettavan tiedonsiirron kuittaukset kertovat vain viestin saapuneen perille ottamatta kantaa itse viestin oikeellisuuteen. Näin ollen viestinsiirtokerros voi generoida ja lähettää kuittaukset täysin itsenäisesti. Vastaanotetuista kuittauksista on toimitettava tieto integraatiokerrokselle. Viestinsiirtokerroksen on myös huolehdittava duplikaattien hylkäämisestä ja kuittauksista.

Tietoturva

EbXML tunnistaa joukon erilaisia tietoturvariskejä mutta vaatii toteutuksilta ainoastaan digitaalisten allekirjoitusten käsittelyn viestien lähetyksen yhteydessä. Esimerkiksi allekirjoitettujen viestien allekirjoitusten tarkistamista tai kuittausta ei vaadita. [9]

Viestien salauksen yhteydessä käytettävää salausmenetelmää ei tällä hetkellä myöskään määritellä. EbXML-viestien otsakkeista ainakin osa on jätettävä selväkielisiksi. XML- dokumentin valikoivaa salausta ei kuitenkaan ole vielä standardoitu, joten ebXML- standardi ainoastaan suosittelee S/МГМЕ- tai PGP/MIME-menetelmän käyttöä. Kun

W3C:n ja IETF:n XML Encryption -työryhmä saa valikoivaa salausta koskevan työnsä W3C:n suosituksen statukseen asti, tulee siitä ebXML:n oletusarvoinen salausmenetelmä. Loppujen lopuksi käytettävät menetelmät sovitaan kuitenkin aina yhteistyösopimuksia laadittaessa, joten erilaisten menetelmien lisäämisen tulisi olla mahdollista. [9]

EbXML määrittelee virheenkäsittelyn SOAP-käsittelijän näkökulmasta sovellustason käsittelyksi.[9] Viestinsiirtokerros kuitenkin sisältää myös SOAP-käsittelyn yläpuolella olevan ebXML-viestin käsittelyn. EbXML:n virheviestit koskevat juuri ebXML- viestien käsittelyssä ja sen alapuolella tapahtuneita virheitä. EbXML:n virheenkäsittely on siis täysin viestinsiirtokerroksen tehtävä. Kerroksen on kuitenkin myös pystyttävä tarvittaessa välittämään tieto virheestä myös liiketoimintakerrokselle.

3.2.3. Liiketoimintakerros

EbXML ei määrittele liiketoimintakerrosta, joka ebXML:n näkökulmasta on vain ebXML-sovelluksen alin osa. Liiketoimintakerros on välikerros, jonka avulla samaa julkista liiketoimintaprosessia voidaan käyttää sellaisenaan eri ympäristöissä muuttaen

vain viestien sisäistä käsittelyä.

Liiketoimintakerroksen on kyettävä toteuttamaan julkisten liiketoimintaprosessien eri rooleja. Tämä vaatii, että prosesseissa käytettyjen viestien sisällöt voidaan jäsentää ja että annetuista tiedoista voidaan rakentaa ko. viestejä. Koska viestiformaatit määritellään yhteistoimintasopimusten luonnin yhteydessä, on mahdotonta tukea kaikkia mahdollisesti käytettäviä formaatteja. XML on kuitenkin oletusarvoinen viestiformaatti, joten sen käsittelyyn on oltava työkalut.

EbXML:n yhteistoimintasopimus (Collaboration Protocol Agreement) määrittelee osapuolten välillä toteutetut liiketoimintaprosessit ja kummallekin osapuolelle sallitut roolit. Lisäksi sopimus pitää sisällään tiedonsiirtoon liittyviä parametrejä kuten käytetyn siirtoprotokollan ja osoitteet. Toteutuksen on kyettävä tallentamaan kaikki sen sopimuksesta tarvitsemat tiedot.