Mustrite jaotus ja tüübid

Mustrite tüübid on primitiivid, funktsionaalsed mustrid ja töötlemise mustrid.

  • Primitiivid – X-tee teenuste loomisel kasutatavad baaselemendid:
    • primitiivid on X-tee teenuste loomise põhilised lahendused;
    • primitiivid pakuvad väga üldist ja lihtsat funktsionaalsust, mille kaudu on võimalik lahendada esmane andmevahetus infosüsteemide vahel;
    • primitiivid keskenduvad teenuste WSDL kirjeldustele ja sõnumivahteusele primitiivi piires;
    • primitiive on võimalik täiendada ja omavahel kombineerida, et luua keerukamaid mustreid (funktsionaalsed mustrid).
  • Funktsionaalsed mustrid – primitiividele tuginevad lahendused, mis pakuvad täiendavat funktsionaalsust:
    • funktsionaalsed mustrid lahendavad ülesandeid, mida ei saa üksiku primitiiviga lahendada;
    • funktsionaalne muster on kas üksiku primitiivi täiendus või mitmete primitiivide kombinatsioon;
    • Funktsionaalsed mustrid võivad sisaldada ärilistest vajadustest tulenevaid tehnilisi detaile;
    • funktsionaalsed mustrid keskenduvad täiendava funktsionaalsuse kirjeldustele ja sõnumivahteusele mustri piires;
    • vajadusel on funktsionaalse mustri juures toodud WSDL näited.
  • Töötlemise mustrid – X-tee teenuste tarbimine ja sõnumitöötlus:
    • töötlemise mustrid keskenduvad teenuste tarbimisele ja sõnumite töötlemisele;
    • tarbitavate teenuste detailid ei ole töötlemise mustrite seisukohast kuigi olulised (ehk töötlemise mustri valik ei ole üldjuhul seotud sellega, millise primitiivi või funktsionaalse mustri järgi on tarbitavad teenused loodud);
    • töötlemise mustrid on jaotatud kaheks alamosaks:
      • teenuste kasutuse mustrid (mustri kood KM) kirjeldavad, kuidas infosüsteem võib erinevate teenuste väljakutseid sama töövoo osana sooritada;
      • sõnumite töötluse mustrid (mustri kood TM) kirjeldavad, kuidas mitme teenuse kaudu saadud sõnumeid omavahel kombineerida.

Käesolev mustrikataloog ei sisalda X-tee rakendamise tehnilisi mustreid. Need on leitavad leheküljelt: http://jointxroad.github.io/patterns/.

Joonis 1.4 Mustrite jaotus.


Järgnevalt on toodud mustrite lühikirjeldused tüüpide kaupa. Lühikirjelduse eesmärk on anda ülevaade mustri põhilisest eesmärgist ja omadustest. Huvipakkuvate mustrite juures tuleks tutvuda täieliku kirjeldusega.

Primitiivid:

  • PM1: andmete päringu teenuskirjeldab üle X-tee andmete pärimist. Selle jaoks luuakse üks X-tee teenus, mille sisendiks on päringu parameetrid ja väljundiks päringu tulemus. Teenus luuakse infosüsteemis, mille andmeid soovitakse pärida.
  • PM2: andmetesaatmise teenus kirjeldab üle X-tee andmete saatmist. Selle jaoks luuakse üks X-tee teenus, mille sisendiks on saadetavad andmed ja väljundiks andmete vastuvõtmise kinnitus. Lisaks kinnitusele võib vastus sisaldada ka muud äriliselt olulist infot. Teenus luuakse infosüsteemis, millele andmeid saadetakse.
  • PM3: protokolli tunneldamine – kirjeldab X-tee teenuse loomist olukorras, kus teenuse kaudu vahetatavaid andmeid ei saa teenuse WSDLis mingil põhjusel täielikult kirjeldada. Näiteks, kui sama teenust soovitakse kasutada erinevate äriliste ülesannete lahendamiseks või keeruka struktuuriga andmestike vahetamiseks. Sellisel juhul kasutatakse teenuses spetsiaalset elementi, mille sees võib andmeid esitada vabalt valitud vormis.

Funktsionaalsed mustrid:

  • FM1: andmete päringu universaalne teenuskirjeldab üle X-tee andmete pärimist olukorras, kus päringu sooritaja peab saama valida, millist andmekooseisu ta soovib pärida. Näiteks kui ühel juhul soovitakse pärida isiku nime ja rahvust ning teisel juhul isiku nime ja elukohta, siis käesolev muster võimaldab mõlema juhu lahendamist sama teenusega. Selle jaoks lisatakse teenuse sisendis parameeter päritavate andmeväljade määramiseks.
  • FM2: loetelu ja detailinfokirjeldab üle X-tee andmete pärimist olukorras, kus päringu sooritamise hetkel ei ole teada, millise kirje andmeid soovitakse. Muster pakub välja päringu sooritamise kahes osas (kahe erineva teenusega). Esimeses osas päritakse kirjete üldandmed, mille põhjal on võimalik otsustada, millise kirje andmeid soovitakse. Teises osas päritakse soovitud kirje detailsed andmed. Selline muster sobib hästi kasutamiseks inimese poolt läbiviidavates äriprotsessides.
  • FM3: CRUD andmehalduskirjeldab üle X-tee andmete haldamist, kasutades tavapäraseid andmetöötluse operatsioone (kirje lisamine, lugemine, uuendamine ja kustutamine). Iga operatsiooni kohta luuakse vastav teenus, mis tugineb mõnele eelnevalt nimetatud primitiividest. Selline muster sobib hästi kasutamiseks olukorras, kus ühe infosüsteemi andmeid on vaja teiste infosüsteemide kaudu hallata (näiteks kasutajate haldus Tervise Infosüsteemis).
  • FM4: ajamahukas protsess – kirjeldab olukorda, kus soovitakse üle X-tee pakkuda mingit ajamahukat protsessi. Protsessi enda detailid ei ole mustri kontekstis kuigi olulised. Tähtis on ainult see, et protsessil oleks mingi sisend ja tulemus. Näiteks võib olla tegu keerulise andmebaasi päringuga, teadusarvutustega või protsessiga, mis ei ole täielikult automatiseeritud (protsessi tulemuse saamiseks on vaja inimkasutaja tööd/otsust). Mustri põhiline idee on protsessi sisendi ja tulemuse erinevateks teenusteks eraldamine. See tähendab, et protsessi sisend saadetakse ühe teenusega ja tulemus saadakse teise teenusega.
  • FM5: andmete sünkroniseeriminekirjeldab sünkroniseeritavate andmete esitatamist X-tee teenustes. Toodud on andmestruktuur, mis sobib olukorras, kus ühe infosüsteemi andmeid sünkroniseeritakse perioodiliselt mõnda teise infosüsteemi. Struktuur koosneb kolmest massiivist, milledest igaüks sisaldab erinevat tüüpi muudatusi (uued kirjed, muudetud kirjed, kustutatud kirjed).
  • FM6: autentimisteenuskirjeldab X-tee abil loodud autentimise lahendust. Täpsemalt võimalust, kuidas üks infosüsteem saab kasutada teise infosüsteemi autentimise lahendust enda kasutajate autentimiseks. Autentimine ise toimub täielikult teise infosüsteemi juures ning X-teed kasutatakse toetava info vahetamiseks.
  • FM7: andmevahetus läbi keskse komponendikirjeldab üle X-tee andmete vahetamist olukorras, kus mõlema andmeid vahetava infosüsteemi käideldavus on niivõrd madal, et on raske leida ajahetke, millal mõlemad süsteemid oleksid võimelised andmeid vahetama. Muster pakub välja kõrge käideldavusega keskse komponendi kasutamise. Keskne komponent käitub kui kahe süsteemi vaheline postkast, kuhu mõlemad süsteemid saavad andmeid lisada ja kust mõlemad süsteemid saavad andmeid lugeda.
  • FM8: andmete kasutusteabe pärimine – kirjeldab andmete kasutusteabe pärimist üle X-tee. Mustri rakendamine on üldiselt vajalik infosüsteemides, mis töötlevad isikuandmeid ja on kohustatud võimaldama isikul oma andmete töötlemise kohta infot saada. Muster tugineb korduvkasutata komponendi "Andmejälgija" dokumentatsioonile (vt https://github.com/e-gov/AJ/blob/master/README.md)

Töötlemise mustrid:

  • KM1: teenuste järjestkasutus – kirjeldab mitme erineva X-tee teenuse üksteise järel tarbimist. Tegemist on laialdaselt levinud ja lihtsa töötlemise mustriga. Teenuste järjestkasutus on vajalik olukorras, kus ühe teenuse kaudu saadud andmeid kasutatakse teise teenuse sisendi koostamiseks.
  • KM2: alternatiivne töövoog – kirjeldab olukorda, kus mõndade teenuste tarbimine on valikuline. Valikuliste teenuste tarbimise vajadus ei ole ette teada vaid selgub eelnevalt tarbitud teenuste vastuste töötlemisel.
  • KM3: teenuse pesastatud väljakutse – kirjeldab olukorda, kus ühe teenuse vastuse koostamisel tarbitakse mõnda teist teenust. Selle kaudu moodustub teenuste tarbimise "ahel", kus ühe infosüsteemi poolt osutatava teenuse tarbimine tähendab, et see infosüsteem tarbib omakorda mingi teise infosüsteemi poolt osutatavat teenust.
  • KM4: teenuste paralleelkasutus – kirjeldab mitme erineva teenuse paralleelselt kasutamist. See tähendab, et mitme teenuse väljakutsed sooritatakse praktiliselt samaaegselt ning teenuste vastused saadakse üksteisest sõltumatult. Teenuste paralleelkasutus sobib teenuste korral, kus ühe teenuse väljund ei ole vajalik teise teenuse sisendi koostamiseks.
  • KM5: andmete eellaadimine – kirjeldab olukorda, kus teenuseid kasutatakse enne, kui teenuste kaudu saadavaid andmeid tegelikult vajatakse. Andmete eellaadimise korral võib rakendada nii teenuste järjest- kui ka paralleelkasutust.
  • KM6: teenuste tsükliline kasutus – kirjeldab olukorda, kus ühe või rohkema teenuse tarbimine kordub sama töövoo käigus. Näiteks juhul, kui sama töövoo käigus allkirjastatakse mitu dokumenti järjest.
  • KM6.1: sama teenuse korduvkasutus – kirjeldab tsüklilise kasutuse erijuhtu. Täpsemalt olukorda, kus mingi teenus on ebastabiilne (korrektse vastuse saamine ebaõnnestub tihti). Sellisel juhul on üheks lahenduseks sama teenuse korduvalt kasutamine, kuni saadakse korrektne vastus. Korduvale kasutusele tuleks määrata mõistlik maksimaalne korduskatsete arv.
  • TM1: andmete jagaja – kirjeldab üldist skeemi, mille abil jagatakse suurem andmehulk mitmeks eraldiseisvaks osaks. Tavaliselt on selle tegevuse eesmärk, et iga osa oleks võimalik edasi töödelda eraldiseisvalt (näiteks saata erinevate teenuste kaudu erinevatele infosüsteemidele).
  • TM2: andmete agregeerija – kirjeldab üldist skeemi, mille abil koondatakse mitu väiksemat andmestiku üheks andmestikuks. Tavaliselt on selle tegevuse eesmärk, et koondatud andmestik oleks normaliseeritud (klassifikaatorid, ühikud jms ühtlustatud) ning andmestiku saaks edasi töödelda kui ühtset tervikut.
  • TM3: andmete päisepõhine suunamine – kirjeldab X-tee teenuse kaudu vastuvõetud sõnumite süsteemisisesest edasisuunamist. Edasisuunamine tehakse tavaliselt kas päises või sõnumis sisalduva info põhjal. Muster sobib hästi olukorras, kus sama teenust kasutatakse erinevate äriliste ülesannete lahendamiseks (vt PM3: protokolli tunneldamine).

 
Viimati muudetud: kolmapäev, 26. oktoober 2016, 23.17