Mida vältida?

Ülesandespetsiifilised juhuteenused   

Need on teenused, mis on loodud ainult ühe poole vajadusi silmas pidades. Selliseid teenuseid ei saa teised tavaliselt kasutada, sest need sisaldavad mõnda liigset andmevälja, mõni andmeväli puudub või ei sobi teenusega seotud andmebaasipäringute tingimused. Üldiselt muutub niisugune teenus probleemiks enamkasutatavate andmekogude juures, kus suhtluspartnerite ring on lai. Näiteks on rahvastikuregistris praegu üle 150 X-tee teenuse ja paljud neist erinevad üksteisest vähesel määral. Võimalik lahendus sellise olukorra puhuks on esitatud näidislahenduses „Universaalne teenus: rahvastikuregister.

Üldiselt on X-tee liikmele kasulikum kavandada süsteem, milles on vähe teenuseid, kuid neil on palju kasutajaid. Vastupidine variant ehk palju teenuseid ja igal neist ainult üksikud kasutajad suurendab halduse keerukust.


Andmevahetus keskserveri kaudu

X-tee on kavandatud hajusa andmete vahetamise süsteemina, millel puuduvad kesksed elutähtsad komponendid ja andmevahetus poolte vahel toimub otse. Samas on X-teele loodud lahendusi, mis lähevad selle põhimõttega vastuollu ning seetõttu ei kasutata X-tee kõrget käideldavust täielikult. Üks sellistest lahendustest on dokumendivahetuskeskus DVK (vt näidislahendus „Keskserver või detsentraliseeritud protokoll: DVK ja DHX). DVK on ehitatud nii, et kõik dokumendid saadetakse ühte kesksesse serverisse, kus neid hoitakse seni, kuni dokumendi adressaat need dokumendid alla laadib.

Niisuguse lahenduse eelis on selles, et DVK keskserveri teenused ja kasutusloogika on hästi kirjeldatud. Tänu sellele on dokumendihaldussüsteemide arendajatel olnud võimalik luua korduvkasutatavad DVK liidesed.

Selline X-tee kasutuse skeem on mõistlik ainult siis, kui suhtluspoolte käideldavus on madal.


Andmestruktuuri peitmine

X-tee sõnumite korral on teenuse sisend ja väljund enamasti täpselt kirjeldatud. Kirjeldus esitatakse üldtuntud masinloetavas vormingus (WSDL), mis tunduvalt lihtsustab teenuse väljatöötamist. Arendajal on teenuse WSDL-kirjelduse põhjal võimalik suur osa vajalikust koodist genereerida automaatselt. Sellise kirjelduse olemasolu lihtsustab tunduvalt ka testimist, sest lubab kasutada tüüpseid tarkvaralahendusi.

X-teele on loodud teenuseid, kus mingi täiendav andmestruktuur peidetakse WSDLi sisse ning seega loobutakse eelmainitud eelistest. Levinuim näide on HL7 vormingus andmete saatmine tervishoiu valdkonnas. Nendel juhtudel pannakse X-tee sõnumi sisse eraldi HL7 sõnum, mille andmestruktuuri ei esitata teenuse kirjelduses. See on küll rahvusvaheliselt tunnustatud sõnumitüüp, kuid selle sisu võib väga tugevalt varieeruda ja sisaldada teavet, mis ei ole äriprotsessi jaoks vajalik. See teeb arenduse kulukamaks ning teenuse WSDL kaotab enda kirjeldava võime (ei anna teenuse talitlusest enam ülevaadet).



Joonis 4.9 X-tee sõnumi sisse on pakitud „sisemine HL7 sõnum.


HL7-tüüpi sõnumi saatmine ei erine tehniliselt mõne lihtsa infokillu, näiteks eesnime saatmisest, kuid on tunduvalt keerulisema struktuuriga. Kuna WSDL seda ei kirjelda, on HL7 sõnum X-tee, arendaja ja teenuse kasutaja kontekstis must kast, mille sisu kohta on raske teavet leida. Sellise musta kasti kasutamine loob enamasti põhjendamatut keerukust. Kaasnevate arendustööde jaoks on vaja arendajat, kes tunneb mitte ainult X-teed, vaid ka seda sõnumitüüpi. Kuna HL7 on mahukas, suureneb ka turvaserveri logide maht.

Niisiis on HL7 sõnumi korrektne koostamine ja töötlemine küllaltki keerukas ja enamasti tasuks selliste sõnumite pakkimist üksteise sisse vältida. Eelisena pakub aga sellist tüüpi lahendus sõltumatust X-teest. Kui X-tee protokoll peaks oluliselt muutuma, on kontroll „sisemise sõnumi struktuuri üle üha omaniku käes. Sellist lahendust kasutades tuleks püüda hoida sisemine sõnum võimalikult väike ning see väga täpselt kirjeldada.

HL7 on aga rahvusvaheliselt tunnustatud standard ja võib lihtsustada andmete vahetamist välismaiste vastaspooltega.



Viimati muudetud: neljapäev, 3. november 2016, 12.59