128
1. Pamatnosacījumi un Atbalsta sniegšana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Arhitektūra Integrācijas platforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. REST interfeisa koncepcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Autentifikācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1 HTTP Basic Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2 Horizon speciālā autentifikācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.1 Ar sertifikātu parakstīta identitāte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2.2 Pielietojuma identifikācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.3 Autentifikācija ar lietotāja vārdu un paroli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5. Darbs ar entītes (dokumenta vai kartītes) resursu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 6. Darbs ar entīšu kolekcijas (saraksta) resursu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7. Vispārēji resursi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.1 Datu apmaiņas žurnāls Integrācijas platforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.2 Failu pielikumi dokumentiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.3 Klasifikatoru sinhronizācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8. Izdruku iegūšana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9. Darbs ar binārajiem datiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 10. Dažādi formāti XML, JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 11. REST Atbilžu kodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 12. Padomi un ieteikumi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 12.1 Atrast kolekcijas resursa kolonnu nosaukumus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 12.2 Vienkāršas entītes (klienta adrese) izveidošana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 12.3 Lappušošana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 13. REST nesavietojami risinājumi (iekšējai lietošanai) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 14. Izmaiņas datu struktūrās pa versijām. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1. Pamatnosacījumi un Atbalsta sniegšana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22. Arhitektūra Integrācijas platforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23. REST interfeisa koncepcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64. Autentifikācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1 HTTP Basic Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2 Horizon speciālā autentifikācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.2.1 Ar sertifikātu parakstīta identitāte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.2 Pielietojuma identifikācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.3 Autentifikācija ar lietotāja vārdu un paroli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5. Darbs ar entītes (dokumenta vai kartītes) resursu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446. Darbs ar entīšu kolekcijas (saraksta) resursu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577. Vispārēji resursi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

7.1 Datu apmaiņas žurnāls Integrācijas platforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707.2 Failu pielikumi dokumentiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757.3 Klasifikatoru sinhronizācija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8. Izdruku iegūšana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899. Darbs ar binārajiem datiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9310. Dažādi formāti XML, JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10811. REST Atbilžu kodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11312. Padomi un ieteikumi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

12.1 Atrast kolekcijas resursa kolonnu nosaukumus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11512.2 Vienkāršas entītes (klienta adrese) izveidošana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11912.3 Lappušošana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

13. REST nesavietojami risinājumi (iekšējai lietošanai) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12714. Izmaiņas datu struktūrās pa versijām. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Page 2: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Pamatnosacījumi un Atbalsta sniegšana

Moduļa pielietojumsIntegrācijas platforma ir izveidota, lai Horizon varētu tikt integrēts ar citām IT aplikācijām. Integrācijas platforma balstās uz FTG serveri. FTGserveris ir nevizuāla console REST aplikācijai. Serveris nodrošina REST interfeisu (HTTP protokola bāzēts komunikāciju protokols).

Izmantošanas ierobežojumi1. REST API ir veidots, lai ar ārejas saskarnes palīdzību:

a. nodrošinātu Horizon uzskaites datu (kas ietver dokumentus un pamatdatu kartītes) izveidi, apstrādi vai apskati,

b. nodrošinātu iespēju izgūt sarakstus un atskaites, kādas ir pieejamas Horizon lietotāju vizuālajā saskarnē. Vienīgais ierobežojums šobrīd irdinamikas atskaites.

2. REST API neatbalsta darbības, kuras:

a. Horizon lietotāji lieto kā vedņus vai secīgas operācijas,

b. nodrošina specifiskas grāmatvedības operācijas (piemēram, periodu slēgumi, kontu reformācijas u.tml).

3. Ir noteikta funkcionalitāte, kura ir saistīta ar sistēmas konfigurāciju un nav paredzēta izmantošanai caur ārēju saskarni. Šāda funkcionalitāteREST API nav pieejama vai ir pieejama tikai apskatei. Piemēram, lietotāju lomu administrēšana, dokumentu tipu administrēšana, kontējumushēmu rediģēšana, dimensijas aktivizēšana, licences atjaunošana, ftg serveru un aģentu administrēšana, konta izraksta nolasīšana no gateway,dažādas saistītu datu ģenerācijas, pārsūtīšanas u.tml.

4. REST API pieslēgumā darbojas Horizon lietotāju drošības uzstādījumi (lomas, administratīvie filtri), kuri nosaka ārējai saskarnei pieejamo datukopu un apstrādes iespējas.

5. REST API nodrošina biznesa validācijas, bet nenodrošina visas validācijas, kuras iespējamas Horizon lietotāja saskarnē. Integrācijas pusesaplikācija ir atbildīga par korektu datu nodošanu un validēšanu nododot tos uz REST API.

6. Mēs apzināmies, ka integrācijas risinājuma izveidošanai, REST API ir jānodrošina gan funkcionālās iespējas, gan lietošanas ērtums. TāpēcREST API nepārtraukti pilnveidojam un esam gatavi uzklausīt klientu vajadzības. Atbalstāmas idejas tiks iekļautas produkta attīstības plānā.

Ņemot vērā izmantošanas ierobežojumus, uzsākot integrācijas risinājuma izveides izvērtēšanu, iesakām pārliecināties, ka REST API atbalstīsJūsu plānoto datu apmaiņas procesu, iepazīstoties ar pieejamo dokumentāciju, uzdodot jautājumus pieteikumu apstrādes sistēmā vai Horizonuzturēšanas pakalpojuma sniedzējam.

Lai saņemtu piekļuvi pieteikumu apstrādes sistēmai JIRA, kurā var uzdot jautājumus un pieteikt problēmas, klientam ir jābūt vai nu Horizonlicences īpašniekam vai arī īpašnieka pilnvarotam trešās puses izstrādātājam. Lai pieteiktu JIRA lietotāju, lūdzu, nosūtiet pieteikumu uz [email protected]

Arhitektūra Integrācijas platforma

Interfeisa arhitektūraREST severa darbināšana

FTG servera konfigurācijas faila config.xml piemēri:Piemērs IPiemērs II config.xml parametru vērtību skaidrojums

Standalone parametra lietojuma atšifrējums SNMP interfeiss

440+ FTG serverī ir pieejams REST interfeiss

Page 3: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Interfeisa arhitektūra

440 - 470

475+

475+ FTG serverim ieviests pielietošanas mērķis – integrācijas vai infrastruktūras vajadzībām. Infrastruktūras režīmā startētamserverim nav instanču skaita ierobežojuma, taču tas paredzēts tikai lietošanai ar Visma produktiem. Integrācijas režīmā startētajamserverim darbojas visas iespējamās autentifikācijas metodes, taču palaisto instanču skaits tiek kontrolēts atbilstoši licencei.

Page 4: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1.

2.

3.

4.

5.

6.

475+

Horizon GUI aplikācijas galvenie lietotāji ir grāmatveži un tajā parasti primāri tiek uzturēti uzņēmumu finanšu dati. Katram fiziskamlietotājam ir savs Horizon līmeņa pieslēgums (Horizon lietotājs). Horizon ir veidots atbilstoši klienta-servera arhitektūrai – tāpēc katraidarba stacijai nepieciešams pieslēgums pie datubāzesHorizon sistēmas centrālais elements ir datubāze. Tajā tiek glabāti dati un tā tiek arī izmantota, lai klienta infrastruktūrā piegādātuaplikāciju bināros failus. Datubāzi parasti izvieto uz sava datubāžu servera. Horizon atbalsta Oracle un Microsoft SQL datubāzes.FTG serveris ir izveidots, lai Horizon varētu tikt integrēts ar citām aplikācijām. FTG serveris ir nevizuāla console aplikācija. Serverisnodrošina 2 interfeisus darbam ar to – FTG (lietošanai nepieciešama Java vai .NET FTGClient bibliotēka) un REST (HTTP protokolabāzēts komunikāciju protokols). Servera pārvaldībai uz tā paša datora kā Windows sistēmas process tiek instalēts Aģents. Aģentauzdevums ir pārvaldīt serveru instances un veikt servera bināro failu versijas nomaiņu. Aģents startējoties tiek reģistrēts Horizondatubāzē – tur centralizēti ir redzamas visas darbinātās Aģentu instances un to pārvaldītie serveri. Darbam ar FTG serveri nepieciešamsWeb lietotājs. Vispirms izveido vienu Horizon lietotāju, kuram nodefinē tiesības strādāt ar nepieciešamajiem Horizon objektiem. Tad veidovisus nepieciešamos Web lietotājus, norādot izveidoto tehnisko Horizon lietotāju. Web lietotājs var tikt asociēts ar noteiktu Horizonsistēmas objektu, piemēram, darbinieka kartiņu vai klientu. Abi interfeisi FTG un REST var tikt lietoti vienlaicīgi.HorizonWEB ir uzņēmuma pašapkalpošanās portāls. Sistēma veidota kā IIS Web aplikācija. Sistēma piekļūst Horizon datiem, izmantojotFTGClient bibliotēku, kura pieslēgta konkrētam FTG serverim.Pašapkalpošanās portāla lietotāji ir pārējie uzņēmuma darbinieki. Pieslēgums tiek veidots, izmantojot darbinieka rīcībā esošo tīmekļapārlūku.Integrācijas risinājums var tikt veidots, izmantojot jebkuru rīku vai tehnoloģiju, kura atbalsta HTTP protokolu. HTTP ir tehnoloģija, kuranodrošina jebkuras Web aplikācijas darbību, tāpēc atbalsts tai ir pieejams dažādās izstrādes vidēs. Lielākā daļa REST interfeisanodrošinātās informācijas pieejama, izmantojot tīmekļa pārlūku.

REST severa darbināšana

Sākot ar Horizon 440. versiju REST funkcionalitāte ir iekļauta FTG serverī, taču automātiski ieslēgta netiek.

Gadījumos, ja REST serveris tiek konfigurēts manuāli, REST interfeisa iedarbināšanai servera konfigurācijas failā (fails config.xml, kas atrodasblakus FTGServer.exe) jānorāda porta numuru.

FTG servera konfigurācijas faila config.xml piemēri:

Piemērs I

config.xml example<?xml version="1.0" encoding="UTF-8"?><ftgserver port="4674" rest="82" standalone="3"></ftgserver>

Piemērs II

Sākot ar Horizon 485. versiju ir mainīts config.xml parametru pieraksta veids, iepriekšējais (skat. strādās līdz 495. versijai) Piemērs Iieskaitot.

485+

Page 5: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

config.xml example<?xml version="1.0" encoding="UTF-8"?><ftgserver servermode="integration" ftgport="7379" restport="84"></ftgserver>

config.xml parametru vērtību skaidrojums

Parametrs Skaidrojums Noklusētā vērtība Mērvienība

port

ftgport - 485+

FTG interfeisa ports. FTG interfeiss tiks piestartētsautomātiski, ja nav norādīts REST ports.

nav numurs

rest

restport - 485+

REST interfeisa ports. REST interfeiss netiks piestartēts, janav norādīts ports.

nav numurs

standalone

servermode - 485+

Atšifrējums zemāk 0 skaitlis vainosaukums

mindmsystemcount Minimālais dmsistēmu skaits serverī - norādītais skaits tiksizveidots piestartējot serveri

3 skaits

maxdmsystemcount Maksimālais dmsistēmu skaits serverī. 20 skaits

resourcetimeout Maksimālais brīvas dmsistēmas gaidīšanas laiks.Pārsniedzot šo laiku notiek kļūda par nepietiekamudmsistēmu skaitu.

3000 milisekundes

sessiontimeout Pieslēguma sesijas dzīves ilgums 24*60 minūtes

settingsrefreshrate Regularitāte ar kādu FTG serveris atjauno uzstādījumuvērtības no datubāzes

20 minūtes

loglevel Auditācijas notikumu pierakstu līmenis. Pieraksti tiks veidotifailā . Iespējamās vērtības:Log\ftgServer.log

0 - auditācijas pieraksti veikti netiek345 - tiek veikti pilni auditācijas pieraksti

0 - izslēgts skaitlis

logevents Ieslēgto auditācijas notikumu veids [DmSys,Session,WebRequest,Object,DBDetailed,DBShort,Exception,Calculation,System,JobSheduler]

pārskaitījums

memdumpath

memdumptimemin

dmsystemttl Maksimālais dmsistēmas dzīves laiks. Nelietot, ja vienVisma nerekomendē šo uzstādījumu konkrētu aplikācijasproblēmu seku minimizēšanai.

0 - izslēgts sekundes

cleanupinterval 10 sekundes

Standalone parametra lietojuma atšifrējums

SERVERA režīma pilnais nosaukums,

redzams Horizon

Config failā.xmlnorādāmā standalone

(servermode sākot ar485v) vērtība

Cipars ko arī varnorādīt

config.xml failā

Režīms kurš tiekparādīts

ftgserver.exe konsolē

Darba režīms kuršrādās

aģentu sarakstā

Piezīmes

485+ mainīts parametru port, rest un standalone pieraksta veids

Page 6: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Nav pieejams(ar 485vnotiek migrācija uzjauniem statusiem)

server 0 started in server mode Pieprasījumu apstrāde Prognozētā pēdējāversija kur tiks izmantots495

Darbu serveris standalone 1 started in task executormode

Automatizētie darbi

Slodzes balansētājs slb 2 started in load balancermode

Slodzes balansētājs (experimentāls)

Integrācijas serveris integration 3 started in public accessmode

Pieprasījumu apstrāde Ārējiem izstrādātajiem,tiek licenzēts pēc skaita.

Infrastruktūras serveris apps 4 started in restrictedaccess mode

Aplikāciju pieprasījumuapstrāde

Aplikācija tiekidentificēta pēc API key,

tikai Horizon saimesaplikācijām.

SNMP interfeiss

FTG serveris atbalsta SNMP interfeisu

config.xml example<?xml version="1.0" encoding="UTF-8"?><ftgserver rest="80" standalone="3"> <snmp enabled="true"></ftgserver>

Parametri elementamftgserver/snmp

Parametrs Skaidrojums Noklusētā vērtība Mērvienība

enabled Pazīme ieslēgt/neieslēgt SNMP interfeisu false

host

port SNMP interfeisa ports 161 numurs

email

community

REST interfeisa koncepcija

Vispārējs aprakstsHorizon uzbūveREST loģika

Entītes resurssEntīšu kolekcijas resurss

Vispārējs apraksts

Horizon uzbūve

Visa Horizon funkcionalitāte tiek nodrošināta, izmantojot 2 pamata elementus:

sarakstus (arī atskaites) datu pieprasīšanai ievadformas vienas rindiņas datu labošanai. Ievadformai var būt arī izveidotas apakšrindiņas, ja tādas ir nepieciešamas biznesa loģikai.

Katra šī vizuālā elementa nodrošināšanai Horizon sistēmā eksistē sava specifisko biznesa loģiku nodrošinoša klase. Šīs tieši neredzamās klases

Page 7: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Katra šī vizuālā elementa nodrošināšanai Horizon sistēmā eksistē sava specifisko biznesa loģiku nodrošinoša klase. Šīs tieši neredzamās klasesir tās, kas REST interfeisā nodrošina darbu ar Horizon objektiem. Klase sarakstiem tālāk tekstā tiks saukta par entīšu kolekcijas klasi (angliski coll

), bet klase darbam ar vienu ierakstu par entītes klasi (angliski ).ection entity

Piemēram, klientu saraksts Horizon (atbilstošā klase TDdmKlSar) izskatās šādi:

Horizon klientu saraksta ilustrācijā pirmā kolonna ir Sistēmas ID. Šajā laukā ir redzama klienta kartiņas ieraksta primārās atslēgas vērtība.Darbinot Horizon izpildfailu noteiktā režīmā, šis lauks ir pieejams iekļaušanai sarakstu izskatā. Par šo funkciju atbild komandrindas parametrs -s.Piemēram, FTG20.exe -s.

Viena klienta ieraksta labošanai pieejamā ievadforma (atbilstošā klase TDdmCustomer) izskatās šādi:

Page 8: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Horizon interfeisā piekļuve sarakstam ar visām iespējamām entītēm un to kolekcijām tiek ierobežota, konfigurējot administratīvās lomas (visasobjektu kolekcijas) un administratīvo filtru mainīgos (visas entītes).

Page 9: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

REST loģika

REST interfeisā katrai Horizon klasei ir izveidots savs pirmā līmeņa resurss atbilstoši klases vārdam. Resurss ir līdzīgs datora failu sistēmāizveidotai mapei – tajā var novietot visus citus failus, kas attiecas uz vienu tēmu.

Zem katras klases resursa ir pieejami šai klasei specifiski apakšresursi.

REST interfeiss ir veidots pēc iespējas pašaprakstošs – vēršoties pie REST interfeisa ar tīmekļa pārlūku, nonākam pie interfeisa ieejas punkta,kurā pārskaitīti visām pieejamajām klasēm atbilstošie resursi. Tālāk, ejot uz katru no šiem resursiem, redzami nākamā līmeņa resursi, kasatkarībā no konteksta var būt apakšresursi vai operācijas ar izvēlēto resursu. Interesējošo resursu var atrast atbilstoši skaidrojumam, kas pamatāatbilst Horizon interfeisā redzamajam.

Page 10: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

REST interfeiss darbojas, apmainoties ar XML datu reprezentācijām un izmantojot HTTP protokola elementus kā resursus, dažādas pieprasījumametodes vai rezultāta statusa kodus. Katras klases resursa izmantoto HTTP elementu skaidrojums pieejams tās specifiskā WADL apakšresursā(vai pieprasot ar OPTIONS metodi), bet izmantotās XML datu struktūras skaidrojums kā (XSD) apakšresurss.XML Schema

Entītes resurss

REST interfeisā ierakstītā primārās atslēgas vērtība tiek izmantota, lai adresētu ierakstam atbilstošo resursu. Saņemtajā XML rezultātā redzamkonkrēto klienta kartiņu raksturojošās vērtības.

Page 11: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Konkrēto klienta kartiņu raksturojošās vērtības ir pierakstītas failā XML formātā, kur katram laukam atbilstošā vērtība rakstīta starp elementasākuma un beigu iezīmēm. Iespējami dažādi vērtību pieraksti. Vienkāršajām vērtībām, kā, piemēram, nosaukums (elements NOSAUK), XMLelementā norādīts tieši tas pats, kas redzams Horizon. Atsaucēm uz citām vērtībām, kā, piemēram, klienta valsts (elements PK_VALSTS)"Latvija", vērtība pierakstīta kā saite uz citu resursu . Tas nozīmē, ka konkrētajam laukam vērtība ir atsauce (angliski /rest/TdmBLDValsts/4 fo

) uz konkrētu valsts ierakstu ar primāro atslēgu 4. Šāda resursa adresēšana ļauj zināt gan atsauces ieraksta vērtību (4), gan arī to, kurāreign keyklasifikatorā vērtība meklējama (TdmBLDValsts). Vēl var būt pārskaitāmā tipa vērtība, kā norēķinu veids (elements DBKRPAZ), kur iespējamastikai dažas vērtības, piemēram, 1 – "Debitors".

Vēršoties pie klases pamata resursa, var uzzināt, kādi vēl apakšresursi klasei ir pieejami.

Page 12: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1. 2. 3.

4.

Vispirms ir interesanti šie pieminētie resursi:

/rest/TDdmCustomer/{pk} – jau pieminētais resurs entītes datu iegūšanai pēc tās primārās atslēgas vērtības;/rest/TDdmCustomer/TDdmCustomer.xsd – entītes datu XML reprezentāciju skaidrojošā XML shēma (XSD);/rest/TDdmCustomer/TDdmCustomer.wadl – klases resursa, apakšresursu un iespējamo operāciju skaidrojums WADL (angliski We

) formātā;b Application Definition Language/rest/TDdmKlSar – klienta entītei atbilstošais kolekciju resurss.

XML shēma (XSD) ir formāls pieraksts XML lietotajam formātam. Tas definē, kādi elementi XML failā ir iespējami un skaidro vērtību tipus unierobežojumus. XSD apakšresursa vārds vienmēr sakrīt ar objekta klases vārdu. Tā, vēršoties pie klienta kartiņas XML shēmas resursa, varamiegūt lietotās XML reprezentācijas struktūras skaidrojumu.

Page 13: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

XML shēmā atrodama informācija par to, kādi lauki klienta kartiņai var būt un kāda tipa tie ir. Klienta kartiņas shēma skaidro, ka elementsPK_DOKT ir atsauce uz citu resursu . Vienkāršai vērtībai elementā KODS pieļaujama līdz 15 simbolu gara teksta vērtība./rest/TdmDocTypeElementam TIPS, savukārt, tikai dažas noteiktas vērtības, piemēram, vērtība 3 nozīmē "Privātpersona", bet 6 – "Uzņēmums".

Klienta kartiņas resursa pamatinformācijas lapā ir arī informācija par to, ka atbilstošais kolekciju resurss ir /rest/TDdmCustomer /rest/TDdmK. Jebkuram entītes resursam atbilstošo kolekcijas resursu var noskaidrot XML saturam pielietojot vienkāršu XPath vaicājumu lSar /resource/l

ink/href[@rel='collection']/text()

Entīšu kolekcijas resurss

Klientu kartiņu kolekcijas resurss līdzīgi kā entītes resurss sniedz pamata informāciju par iespējamiem apakšresursiem./rest/TDdmKlSar

Page 14: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1. 2.

3. 4. 5.

Galvenā kolekcijas resursa lapā atrodamā informācija ir:

Kolekciju resursa nosaukums. Šajā gadījumā tas ir "Klientu izvēles saraksts";Kā saucas konkrētā kolekciju resursa elementi, kuros atrodama primārās atslēgas (elements K.PK_KLIENTS) un entītes koda (elementsK.KODS) vērtības;Apakšresurss datu pieprasījumu veikšanai;/rest/TDdmKlSar/queryApakšresurss satur iespējamo datu pieprasījumā iekļaujamo lauku skaidrojumu kā XML shēmu;/rest/TDdmKlSar/TDdmKlSar.xsdApakšresurss satur informāciju par citiem konkrētajai kolekciju klasei iespējamiem atlases kritērijiem/rest/TDdmKlSar/criteriapapildus filtrēšanai pēc jebkura lauka, tāpat kā tas ir Horizon.

Tālāk piemērs datu pieprasījumam /rest/TDdmKlSar/query?columns=K.KODS,K.NOSAUK&filter=K.PK_KLIENTS eq 64

Page 15: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Datu pieprasījumā norādīts filtrs, lai tiktu atlasīts ieraksts ar noteiktu lauka PK_KLIENTS vērtību . Tāpat pateikts, ka vaicājumā jāiekļauj klientakartiņas koda un nosaukuma laukus (K.KODS un K.NOSAUK). Papildus vienmēr jebkurā vaicājumā būs iekļauti primārās atslēgas(K.PK_KLIENTS) un counter lauki.

Atbildē iekļauti metadati, kas skaidro atbildes struktūru (lauku aprakstus, datu tipus, parametrus).

480+ Vaicājuma kolonnās nenorādītie lauki atbildē metadatos tiks atgriezti ar platumu 0 (<width>0</width>). Šo iespēju ērti izmantotintegrācijās, lai atfiltrētu neprasīto.

Page 16: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Horizon sarakstā iekļaujamās kolonnas norāda, izmantojot izskata logu, kurā hierarhiska saraksta veidā pārskaitītas visas kolonnas.

Iespējamie lauki ir grupēti atbilstoši tabulai, no kuras tie tiek atlasīti. Katram šai tabulai ir nosaukums un virsraksta kods. Vienkāršākai uztvereipirmā līmeņa klienta elements tiek rādīts vienā līmenī ar visiem pārējiem otrā līmeņa saistītajiem objektiem.

Kolekciju resursa XML shēma precīzi atkārto ar faktisko struktūru saistīto elementu hierarhisko struktūru.

Page 17: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Pirmā līmeņa Klientu tabulas lauki tiek grupēti, izmantojot XML elementu <K>. Tālāk lauki no katras saistītās tabulas ir pieejami zem attiecīgāgrupējošā XML elementa atbilstoši tabulas tehniskajam kodam. Tā kā Horizon kolekciju objekti tiek konstruēti no vairākiem entīšu objektiem, arīvisi klientu kartiņu kolekcijai iespējamie lauki nav atrodami kolekcijas shēmā, bet gan tās izmantotajās entīšu shēmās atbilstoši izmantotajāmentīšu shēmām.

Kolekciju resursa datu vaicājumam rezultātā iekļaujamās kolonnas norāda, pārskaitot tās HTTP parametrā columns. Piemēram, šāda rinda colu nodrošinās kolekciju resursa atbildē tās pašas datu vienības, kuras redzamasmns=K.TIPS,K.KODS,K.NOSAUK,K.DBKRPAZ,K.REG_NR

augstāk Horizon klientu saraksta piemērā.

Kolekciju resurss nodrošina tādas pašas datu atlases iespējas, kādas ir iespējamas Horizon.

Page 18: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Horizon klientu saraksts ir nofiltrēts tā, lai tiktu atlasīti tikai uzņēmumi, kuru norēķinu veids ir debitors. Klientu kolekcijas resursu var filtrētanaloģiski, izmantojot HTTP parametru.

filter=K.TIPS eq 3 and K.DBKRPAZ eq 1

AutentifikācijaWeb lietotāja pievienošanaWeb lietotāja automātiskā ģenerēšanaAktīvās organizācijas pārslēgšanaAutentifikācijas metodes

HTTP Basic AuthenticationAutentificēšanās process

1. solis - vēršanās pie resursa2. solis - vēršanās pie resursa norādot lietotāja vārdu un paroli

Dar ontekstu.bam ar REST interfeisu nepieciešams identificēt lietotāja k

Lietotāja konteksts interfeisā atbilst WEB lietotājiem. tiek veikta Horizon → → .WEB ietotāju administrēšana Sistēma Administrēt WEB lietotāji

Bez autentificēšanās pieejams REST interfeisa ieejas punkts (lapa, kurā pārskaitīti visi sistēmā pieejamie pirmā līmeņa resursi) un resurss /rest. Visa veida autentificēšanās metodes nodrošina konkrētā Web lietotāja identificēšanu./global

REST interfeisa pamata resursi:

Resurss Skaidrojums

Page 19: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

/rest REST Interfeisa ieejas punkts. Pārskaitīti visi sistēmā pieejamie pirmā līmeņa resursi. Autentifikācija navnepieciešama.

/rest/global Horizon sistēmas informācija bez autentifikācijas. Var uzzināt sistēmas versiju un lejuplādēt FTG interfeisa klientapuses bibliotēku. Autentifikācija nav nepieciešama.

/rest/system Horizon sistēmas informācija. Var piekļūt sistēmas konfigurācijas parametru vērtībām → → Sistēma Uzstādījumi Uz.skaites parametri

/rest/user Informācija par lietotāju - firmas, kurām lietotājs drīkst pieslēgties, lietotājam piesaistītie Horizon objekti un iespējasesijai pārslēgt aktīvo organizāciju.

/rest/TDdmCustomer Jebkurš entītes vai entīšu kolekcijas resurss. Resursa piemērā klienta kartiņas (TDdmCustomer) resurss.

Horizon var uzturēt informāciju vairākām organizācijām. Horizon pieslēgšanās brīdī lietotājs izvēlas, ar kuras organizācijas datiem strādās.

Web lietotājam var norādīt sarakstu ar organizācijām, kurām viņš drīkst pieslēgties. Viena no organizācijām tiek norādīta kā noklusētā.Pieslēdzoties REST interfeisam, tiek izveidota darba sesija ar pieslēgumu noklusētajai organizācijai. Pēc pieslēgšanās sesijai var pārslēgt aktīvo

. Jāpievērš uzmanība, ka visi entīšu resursi, kuru adresē iekļautas noteiktas primārās atslēgas vērtības, ir derīgi tikai konkrētāsorganizācijuorganizācijas kontekstā. Citai organizācijai būs citi dati ar citām primāro atslēgu vērtībām. Lai labāk varētu kontrolēt, ar kuru organizāciju šobrīdnotiek darbs, jebkura pieprasījuma atbildes galvenē (angliski ) tiek iekļauta informācija par šobrīd aktīvo organizāciju.headers

Organization: 2, "SIA Kalns"

Web lietotāja pievienošana

Horizon WEB lietotāju konfigurēšana tiek veikta RVS Horizon WEB lietotāju sarakstā, kurā glabājas visi lietotāju pieejas vārdi un paroles.

Horizon WEB lietotāji var būt gan konkrētās iestādes darbinieki, gan citas personas, kas nav iestādes darbinieki.

Katram Horizon WEB lietotājam tiek veidota sava pieeja Horizon WEB sistēmai, identificējot personu ar pieejas vārdu.

WEB lietotāju saraksts RVS Horizon pieejams izvēlnē: → → .Sistēma Administrēt WEB lietotāji

Jaunu WEB lietotāju iespējams pievienot:

- manuāli, WEB lietotāju sarakstā nospiežot pogu Jauns un aizpildot ievadformu WEB lietotāji, kas aprakstīta zemāk.- automātiski, ģenerējot no RVS Horizon Personu saraksta ( → → ) - iezīmē lietotājus un izvēlnēPamatdati Personāla uzskaite Personas kartiņasizvēlas darbību → .Veikt operāciju Izveidot WEB lietotājus

Page 20: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Pievienojot jaunu lietotāju, ievadlogā jāievada:

Pieejas vārds - lietotāja identifikācijas vārds. Lai izmantotu Windows domēna autorizēšanos, WEB lietotāja pieejas vārdam jāsakrīt ar domēnalietotāja vārdu un jābūt norādītam ar domēna prefiksu. Piemēram, norādot pieejas vārdu „DOMAIN\LIETOTAJS”, „DOMAIN” ir Windows domēnavārds un „LIETOTAJS” ir lietotāja vārds. Sistēma neatbalsta lietotāja vārdu, izteiktu e-pasta formā.

Horizon lietotājs - WEB lietotājam piesaistītais Horizon lietotājs (RVS Horizon izvēlne Sistēma → Administrēt → Lietotāji). Atbilstoši piesaistītajamHorizon lietotājam tiek noteikta WEB lietotāja loma un tiesības, kas nosaka pieejamās funkcionālās sadaļas un tiesības apstrādāt vai skatīt datus.Vienam Horizon lietotājam var būt piesaistīti vairāki WEB lietotāji. Ja nepieciešams, Horizon lietotāju reģistrs jāpapildina, lai iekļautu attiecīgajaiWEB lietotāja lomai nepieciešamo tiesību komplektu.

Jānorāda arī pārējā nepieciešamā informācija (sīkāk sk. Horizon WEB helpu).

WEB lietotāja autorizācija notiek, izmantojot norādīto pieejas vārdu un paroli un nospiežot pogu .Pievienoties

Ja lietotājs pieslēdzas Horizon WEB, izmantojot Windows autentifikāciju, Horizon WEB autorizēšanās logā jānorāda lietotāja pieejas vārds<DOMAIN\LIETOTAJS> un jānospiež poga Windows autentifikācija. Ja lietotājs tiek identificēts, notiek autorizēšanās sistēmā.

Pieslēdzoties Horizon WEB attālināti (ja to pieļauj iestādes iekšējie drošības noteikumi), Horizon WEB autorizēšanās logā jāievada lietotājapieejas vārds <DOMAIN\LIETOTAJS>, parole, ko lietotājam nosūtījis sistēmas administrators un jāspiež poga .

Ja tiek izmantota attālinātā pieslēgšanās sistēmai, jādefinē Horizon WEB drošības uzstādījumi.

WEB lietotājus nav paredzēts dzēst. Ja tiek izbeigtas darba attiecības ar darbinieku vai tiek pieņemts lēmums darbiniekam liegt pieeju HorizonWEB, jānoņem pazīme Aktīvs. Ja darbiniekam mainās vārds/uzvārds, tad WEB lietotāja, atbildīgās personas un pamatlīdzekļu lietotāja kartiņāsmanuāli jāveic izmaiņas, bet sasaiste ar personas kartiņu nepazūd (skat. WEB lietotāju un Personu sasaiste).

Web lietotāja automātiskā ģenerēšana

WEB lietotāju iespējams pievienot automātiski, ģenerējot no RVS Horizon Personu saraksta ( → → Pamatdati Personāla uzskaite Personas).kartiņas

Personu kartiņu sarakstā iezīmē lietotājus un izvēlnē Darbības izvēlas darbību: → .Veikt operāciju Izveidot WEB lietotājus

Tiek atvērts logs .Veidot WEB lietotājus

Page 21: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Aizpilda lauku - WEB lietotājam/lietotājiem piesaistītais Horizon lietotājs (RVS Horizon izvēlne → → )Horizon lietotājs Sistēma Administrēt Lietotāji.

Atbilstoši piesaistītajam Horizon lietotājam tiek noteikta WEB lietotāja loma un tiesības, kas nosaka pieejamās funkcionālās sadaļas un tiesībasapstrādāt vai skatīt datus.

Lai WEB lietotājs/lietotāji varētu izmantot Windows domēna autorizēšanos, jāatzīmē izvēles rūtiņa un blakus laukā jāievada domēnaPrefikssprefikss DOMAIN\ . Pēc ģenerācijas varētu būt manuāli jākoriģē izveidotie pieejas vārdi, kas izveidojas formātā „DOMAIN\LIETOTAJS”,„DOMAIN” ir Windows domēna vārds un „LIETOTAJS” ir lietotāja vārds.

Nospiežot pogu , tiek izveidoti Horizon WEB lietotāji, kas redzami sarakstā Horizon WEB lietotāji.Labi

Ja netiek izmantota Windows autentifikācija, tad visiem uzģenerētajiem lietotājiem katram atsevišķi ievadformā Horizon WEB lietotājs manuālijānomaina paroles.

Aktīvās organizācijas pārslēgšana

Pēc pieslēgšanās FTG serverim var noskaidrot ar kuru organizāciju datiem weblietotājam ir atļauts strādāt. GET pieprasījumu jāveic uz resursu /rest/user/organization

REST pieprasījumsGET /rest/user/organization HTTP/1.1Host: localhost:81Accept: application/xmlCookie: IDHTTPSESSIONID=KFkMKGN8nACndAC

Saņemtajos datos ir pieejama informācija ar to organizāciju identifikatoriem, kurām atļauts pieslēgties.

Page 22: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

REST atbildeHTTP/1.1 200 OKContent-Type: application/xml; charset=UTF-8Organization: 2, "SIA Kalns"Date: Wed, 10 Jun 2015 10:34:59 GMT

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Lietotjam atautas firmas</description> <link> <href>/rest/user/organization/change</href> <description>Prslgt sesijas aktvo firmu</description> </link> <results> <collection> <row> <PK_FIRMA>2</PK_FIRMA> <IS_DEFAULT>true</IS_DEFAULT> <KODS>Izstrade</KODS> <NOSAUK>SIA Kalns</NOSAUK> </row> <row> <PK_FIRMA>4</PK_FIRMA> <IS_DEFAULT>false</IS_DEFAULT> <KODS>Tests</KODS> <NOSAUK>SIA Leja</NOSAUK> </row> </collection> </results></resource>

Piemērā saņemtie dati liecina ka noklusēti pieslēgums ir izveidots organizācijā ar identifikatoru 2 "SIA Kalns", bet ir iespējams pieslēgties arīorganizācijai ar identifikatoru 4 "SIA Leja".

Aktīvo organizāciju pārslēdz sūtot POST pieprasījumu jāveic uz resursu / ./rest/user/organization change

REST pieprasījumsPOST /rest/user/organization/change HTTP/1.1Host: localhost:81Content-Type: application/xmlCookie: IDHTTPSESSIONID=KFkMKGN8nACndAC

<resource> <PK_FIRMA>4</PK_FIRMA></resource>

Tālākie pieprasījumi tās pašas sesijas ietvaros strādās ar organizācijas 4 "SIA Leja" datiem.

Autentifikācijas metodes

REST servera atbalstītās autentifikācijas metodes:

Page 23: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

REST servera atbalstītās autentifikācijas metodes:

Basic – HTTP Basic Authentication;WebUser – Dažādas Horizon autentifikācijas metodes kā ar sertifikātu parakstīta lietotāja identitāte, pielietojuma identifikācija u.c.

Autentificējoties tiek izveidota lietotāja sesija, kuras ietvaros notiek tālākā komunikācija ar FTG serveri.

HTTP Basic Authentication

Horizon REST serveris atbalsta autentificēšanos REST interfeisā atbilstoši HTTP Basic Authentication.

Piemērs autentificēties lietotājam ar paroli .FTGCLIENT ftgclient

Lietotāja vārdu un paroli apvieno vienā datu vienībā atdalītus ar ":"

FTGCLIENT:ftgclient

Iegūto vērtību vajag Base64 kodēt

RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

Pilna autorizācijas galvene

Authorization: Basic RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

Autentificēšanās process

1. solis - vēršanās pie resursa

REST pieprasījums. Autorizēšanās dati norādīti netiek.

GET /rest/user HTTP/1.1Host: localhost:81

REST atbilde. Atbildes kods kļūda - , jo piekļuvei resursam nepieciešama autentificēšanās. Atbildē iekļauta informācija, ka401 Unauthorizedserveris uztur autentifikācijas metodi .Basic

HTTP/1.1 401 UnauthorizedContent-Type: application/xml; charset=UTF-8Date: Tue, 02 Jun 2015 08:29:52 GMTWWW-Authenticate: Basic realm="Horizon REST API", WebUser realm="HorizonREST API"

<?xml version="1.0" encoding="UTF-8" standalone="no"?><error> <class>ERestException</class> <message>Nepieciešama autentifikcijas informcija!</message></error>

Page 24: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

2. solis - vēršanās pie resursa norādot lietotāja vārdu un paroli

REST pieprasījums. Pieprasījumā iekļauta autorizācijas galvene atbilstoši HTTP Basic autentifikācijai.

GET /rest/user HTTP/1.1Host: localhost:81Authorization: Basic RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

REST atbilde. Atbildes kods sekmīgs - . Ir saņemti prasītie dati.200 OK

HTTP/1.1 200 OKContent-Type: application/xml; charset=UTF-8Date: Tue, 02 Jun 2015 08:29:58 GMTOrganization: 2, "Programmas izstrade - MSSQL"

 <?xml version="1.0" encoding="UTF-8" standalone="no"?><resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Lietotja resursi</description> <link> <href>/rest/user/organization</href> <description>Lietotjam atautas firmas</description> </link> <link> <href>/rest/user/changePassword</href> <description>ChangePassword</description> </link></resource>

HTTP Basic AuthenticationHorizon REST serveris atbalsta autentificēšanos REST interfeisā atbilstoši HTTP Basic Authentication.

Piemērs autentificēties lietotājam ar paroli .FTGCLIENT ftgclient

Lietotāja vārdu un paroli apvieno vienā datu vienībā atdalītus ar ":"

FTGCLIENT:ftgclient

Iegūto vērtību vajag Base64 kodēt

RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

Pilna autorizācijas galvene

Authorization: Basic RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

Autentificēšanās process

Page 25: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1. solis - vēršanās pie resursa

REST pieprasījums. Autorizēšanās dati norādīti netiek.

GET /rest/user HTTP/1.1Host: localhost:81

REST atbilde. Atbildes kods kļūda - , jo piekļuvei resursam nepieciešama autentificēšanās. Atbildē iekļauta informācija, ka401 Unauthorizedserveris uztur autentifikācijas metodi .Basic

HTTP/1.1 401 UnauthorizedContent-Type: application/xml; charset=UTF-8Date: Tue, 02 Jun 2015 08:29:52 GMTWWW-Authenticate: Basic realm="Horizon REST API", WebUser realm="HorizonREST API"

<?xml version="1.0" encoding="UTF-8" standalone="no"?><error> <class>ERestException</class> <message>Nepieciešama autentifikcijas informcija!</message></error>

2. solis - vēršanās pie resursa norādot lietotāja vārdu un paroli

REST pieprasījums. Pieprasījumā iekļauta autorizācijas galvene atbilstoši HTTP Basic autentifikācijai.

GET /rest/user HTTP/1.1Host: localhost:81Authorization: Basic RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

REST atbilde. Atbildes kods sekmīgs - . Ir saņemti prasītie dati.200 OK

Page 26: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

HTTP/1.1 200 OKContent-Type: application/xml; charset=UTF-8Date: Tue, 02 Jun 2015 08:29:58 GMTOrganization: 2, "Programmas izstrade - MSSQL"

 <?xml version="1.0" encoding="UTF-8" standalone="no"?><resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Lietotja resursi</description> <link> <href>/rest/user/organization</href> <description>Lietotjam atautas firmas</description> </link> <link> <href>/rest/user/changePassword</href> <description>ChangePassword</description> </link></resource>

Horizon speciālā autentifikācijaHorizon nodošina dažādus speciālos autentificēšanās scenārijus. Visi šie scenāriji realizēti vienā autentificēšanās metodē norādot vienuWebUservai vairākus parametrus ar atbilstošām vērtībām.

Authorization: WebUserAuthorization: WebUser key1="value1", key2="value2"

Atbalstītie autentificēšanās scenāriji:

Web lietotāja identificēšana izmantojot ar sertifikātu parakstītu lietotāja identitāti;Web lietotāja identificēšana izmantojot lietotāja vārdu un paroli;Pielietojuma identificēšana. Var tikt kombinēta ar jebkuru Web lietotāja identificēšanas veidu.

Autentifikācija ar lietotāja vārdu un paroliPiemērs

Pielietojuma identifikācijaPiemērs

Ar sertifikātu parakstīta identitātePiemērs

Autentifikācija ar lietotāja vārdu un paroli

Horizon speciālās autentifikācijas ietvaros tiek nodrošināta iespēja norādīt lietotāja vārdu un paroli līdzīgi kā tas notiek atbilstoši HTTP Basicautentifikācijai. Metode, atkarībā no autentifikācijas uzstādījumiem, ļauj izmantot lietotāja identificēšanai arī personas kodu vai e-pastu.

Autorizācijas galvenē norādāmie parametri.

Parametrs Skaidrojums

basic Lietotāja vārds un parole Base64 kodējumā

Galvenes vērtības piemērs.

Page 27: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Authorization: WebUser basic="RlRHQ0xJRU5UOmZ0Z2NsaWVudA=="

Piemērs

Autentifikācijas piemērs lietotājam .FTGCLIENT

Lietotāja vārds.

FTGCLIENT

Lietotāja parole.

ftgclient

Lietotāja autentifikācijas datu vienība.

FTGCLIENT:ftgclient

Lietotāja autentifikācijas datu vienība Base64 kodējumā.

RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

REST pieprasījums.

GET /rest/user HTTP/1.1Accept: application/xml, text/xml, application/xhtml+xml,application/atom+xmlAuthorization: WebUser basic="RlRHQ0xJRU5UOmZ0Z2NsaWVudA=="Host: localhost:81Proxy-Connection: Keep-Alive

REST atbilde.

Page 28: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

HTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 372Date: Mon, 01 Jun 2015 15:07:17 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=wact9ARozhwgasE; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resourcexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><description>Lietotjaresursi</description><link><href>/rest/user/organization</href><description>Lietotjam atautasfirmas</description></link><link><href>/rest/user/changePassword</href><description>ChangePassword</description></link></resource>

Pielietojuma identifikācija

Horizon piedāvā risinājumu kopā ar lietotāju identificēt arī pielietojumu, kurš pieslēdzas FTG serverim. Risinājums balstīts uz to ka abām pusēm irzināma pielietojuma slepenā parole, kuru izmanto, lai zināmā veidā samaisītu nosūtāmos datus iegūstot pielietojuma parakstu.

Autorizācijas galvenē norādāmie parametri.

Parametrs Skaidrojums

context Norāda pielietojuma identifikatoru

timestamp Norāda pieslēgšanas brīdi UTC laika zonā sekundēs kopš 1970. gada 1. janvāra

context_signature Paraksts vērtībai, kurā iekļautas abas iepriekšējās datu vienības. Paraksta iegūšanai izmanto HMAC-SHA1 algoritmu.

Galvenes vērtības piemērs. Kopā ar pielietojuma identificēšanu jāizmanto kādu lietotāja identificēšanas metodi – piemērā tikai pielietojumaidentifcēšanas specifiskie parametri.

Authorization: WebUser timestamp="laiks", context="pielietojums",context_signature="paraksts"

Piemērs

Parakstīšanas piemērs pielietojumam veicot parakstīšanu . Horizon ir pieejams testa pielietojums, kuru varTest 2015-06-01 18:07:17izmantot lai testētu pielietojuma paraksta saformēšanu. Šis pielietojums nav izmantojams lai darbotos ar Horizon entītēm vai entīšu kolekcijām.

Pielietojuma identifikators.

Test

Pielietojuma slepenā parole.

kAcSOqF21Fu85e7zjz7ZN2U4ZRhfV3WpwPAoE3Z7kBw

Parakstīšanas brīža laika vērtība.

Page 29: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1433171237

Parakstāmā datu vienība.

Test1433171237

Samaisītā paraksta vērtība atbilstoši HMAC-SHA1 algoritmam.

4F 3B A1 B6 D0 0E 0C 9E 2E 5A FC FC 0B 12 51 B4

66 CC 98 7F

Paraksta vērtība Base64 kodējumā

TzuhttAODJ4uWvz8CxJRtGbMmH8=

REST pieprasījums

GET /rest/user HTTP/1.1Accept: application/xml, text/xml, application/xhtml+xml,application/atom+xmlAuthorization: WebUser basic="RlRHQ0xJRU5UOmZ0Z2NsaWVudA==",timestamp="1433171237", context="Test",context_signature="TzuhttAODJ4uWvz8CxJRtGbMmH8="Host: localhost:81Proxy-Connection: Keep-Alive

REST atbilde

HTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 372Date: Mon, 01 Jun 2015 15:07:17 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=wact9ARozhwgasE; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resourcexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><description>Lietotjaresursi</description><link><href>/rest/user/organization</href><description>Lietotjam atautasfirmas</description></link><link><href>/rest/user/changePassword</href><description>ChangePassword</description></link></resource>

Page 30: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Ar sertifikātu parakstīta identitāte

Horizon atbalsta iespēju nodot FTG serverim faktiskā lietotāja identitāti nezinot tā paroli. Šādam izsaukumam jāsaformē autentifikācijas galvene,norādot weblietotāja lietotāja vārdu un parakstu. Metode, atkarībā no autentifikācijas uzstādījumiem, ļauj izmantot lietotāja identificēšanai arīpersonas kodu vai e-pastu.

Autorizācijas galvenē norādāmie parametri.

Parametrs Skaidrojums

login Norāda weblietotāja pieslēgšanās vārdu

timestamp Norāda pieslēgšanas brīdi UTC laika zonā sekundēs kopš 1970. gada 1. janvāra

signature Paraksts vērtībai, kurā iekļautas abas iepriekšējās datu vienības. FTG serveris pārbauda parakstu pēc kārtas izmantojot visussertifikātus, kuri reģistrēti Horizon sertifikātu glabātuvē.

Galvenes vērtības piemērs.

Authorization: WebUser login="lietotjs", timestamp="laiks",signature="paraksts"

Piemērs

Parakstīšanas piemērs lietotājam veicot parakstīšanu .FTGCLIENT 2015-06-01 14:46:07

Lietotāja vārds.

FTGCLIENT

Parakstīšanas brīža laika vērtība.

1433159167

Parakstāmā datu vienība.

FTGCLIENT1433159167

Parakstāmā datu vienība kā baitu masīvs UTF8 kodējumā.

46 54 47 43 4C 49 45 4E 54 31 34 33 33 31 35 3931 36 37

Datu vienības paraksts (SHA256 with RSA).

Page 31: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

0A 32 94 42 5C 87 35 2D B0 81 CF B5 EE 8C B1 4C14 47 64 D7 CE 1C 9C EE 67 C1 0A D4 14 90 84 5DD4 D1 8D 09 FF BF 46 BD A7 6E 75 87 04 D3 1B 3607 17 8B 91 78 A9 01 AC 58 BF 3E 2A 5B D7 33 C0B4 FC 16 B6 E6 A9 D1 54 9F B9 20 38 FF 54 F9 96ED 90 FE 97 49 59 63 19 65 6D EF 72 F7 B9 00 A272 E7 EA B1 1D 90 4B 3F 69 8C 52 17 1A D6 C0 7D38 5F C3 32 47 58 61 B3 A2 4E 5C BE 96 15 5F 6B8A B0 B4 5C E4 DE 0E 3A A6 01 80 FD 5D FC 68 AFA0 19 99 DE EA 07 0E A8 07 31 C6 87 8B A6 AF E479 FE D1 95 E3 97 B8 B9 B1 FD 9F F1 F5 FB 0F CF1E 1F D8 C7 69 53 DD FD 3A 5B 6B B6 86 38 3C 492B D1 06 F2 71 48 E3 D2 85 E3 37 88 19 EA 26 78E8 3C D6 D4 6C 47 DF D3 6B ED 44 7E A7 A9 1C E690 32 9A 01 0D A4 97 CF B8 1C A7 1F AB 30 CC CB58 A9 0D 3F 14 BD 15 8C 56 E4 5E C7 49 4D E6 B4

Datu vienības paraksts Base64 kodējumā.

CjKUQlyHNS2wgc+17oyxTBRHZNfOHJzuZ8EK1BSQhF3U0Y0J/79GvadudYcE0xs2BxeLkXipAaxYvz4qW9czwLT8FrbmqdFUn7kgOP9U+ZbtkP6XSVljGWVt73L3uQCicufqsR2QSz9pjFIXGtbAfThfwzJHWGGzok5cvpYVX2uKsLRc5N4OOqYBgP1d/GivoBmZ3uoHDqgHMcaHi6av5Hn+0ZXjl7i5sf2f8fX7D88eH9jHaVPd/Tpba7aGODxJK9EG8nFI49KF4zeIGeomeOg81tRsR9/Ta+1EfqepHOaQMpoBDaSXz7gcpx+rMMzLWKkNPxS9FYxW5F7HSU3mtA==

REST pieprasījums.

GET /rest/user HTTP/1.1Accept: application/xml, text/xml, application/xhtml+xml,application/atom+xmlAuthorization: WebUser login="FTGCLIENT", timestamp="1433159167",signature="CjKUQlyHNS2wgc+17oyxTBRHZNfOHJzuZ8EK1BSQhF3U0Y0J/79GvadudYcE0xs2BxeLkXipAaxYvz4qW9czwLT8FrbmqdFUn7kgOP9U+ZbtkP6XSVljGWVt73L3uQCicufqsR2QSz9pjFIXGtbAfThfwzJHWGGzok5cvpYVX2uKsLRc5N4OOqYBgP1d/GivoBmZ3uoHDqgHMcaHi6av5Hn+0ZXjl7i5sf2f8fX7D88eH9jHaVPd/Tpba7aGODxJK9EG8nFI49KF4zeIGeomeOg81tRsR9/Ta+1EfqepHOaQMpoBDaSXz7gcpx+rMMzLWKkNPxS9FYxW5F7HSU3mtA=="Host: localhost:81Proxy-Connection: Keep-Alive

REST atbilde.

Page 32: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

HTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 372Date: Mon, 01 Jun 2015 11:46:11 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=N6fdHW6XOdWR9cS; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resourcexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><description>Lietotjaresursi</description><link><href>/rest/user/organization</href><description>Lietotjam atautasfirmas</description></link><link><href>/rest/user/changePassword</href><description>ChangePassword</description></link></resource>

Testam izmantotā privātā atslēga - PKCS #8 nešifrēts.

-----BEGIN PRIVATE KEY-----MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC3S70Qdl91lW+FoML1o80KsyQ/WkyO5/HhKvluMUIw+2r8LW/pMM4lZP+zliSubcTQ2+fxHDy+rNzkHuZaTw5QiusifyOg32IGInU57cKoAdxXhjZ7vQl2678GqIRoPrd5XMRC2R0swz1nM4LjavS3Hd7oPNvbD7B2uIn5cDoPVGERaY6kctPQALDluRh6RqNV4fgl3G9bWvAvoM3sNq5ezJBArZK60Ukp94QqO67rKMRdJcuRJtknCR1nP36Tke4OJR75zBF+UuOTTzPb7J7cqqyeusEFfl3gNkSsM4udmwv2ZPDz0rFptIsOT3Nnx6aZNfgoVD1rMjn9K56sMJ+BAgMBAAECggEAIGu9HVRSvjGYcEJnOZungOT+3FXUhNJx7inzxJHh61gNLF29FboUPHkI4XMFOfUggvDirbsY44Ef8RmmFQM2vPhVbtyeKK5aYEtoAL8VVzI9Dx4mNOzS5737I+pawTWWrljCPjC5AFnoWoC5/g/FCT63Vsys9qpnxBgQD5bSLjOo/7G9T0kWu0rI7Ta0/nXBC1Nr4LMwDkZ0VO4DCj5P5uwyE+jJR9DPC5KfEozTYLeXyXqeOqt79Go20aqsbTLGCdatTFzBiP1FxIKdXHG03phioXWa0XQcjIiYJiUb6MWVqBSKnulUays+qavOyxgNm9qaWBgZ+PV2nWTEG6CToQKBgQD9yPGifqhQuGK9POWMof9DDKiv6QVRR9Y6bNU9ow0wN1BhqA/UuLvvC3IDj6CpETOiyVGwN+uMiKf/lT04DPT1JFivtMFSqfqliIMN4tBVszcA/xsALFWDc0Lgyi/9lLc9Dzof+pTFRqkdjLrLQxVuE485NNNrKK119Nq1yaic4wKBgQC45UtKSsBPDbCWBcPGCHMzvY2Ss/BdeEFW/Tjs22r9xgwmHQ7gF8SjKlJiocNZpiBnsXTi33c41V2C9/XzUL7SeSdDkG+sJuCpa5srHg5MsFB8O/mV7/lfRRXqLsAyY1BSC93nVbtJf3PNJ5lqr2kP+kBQpbZ8BQx14TJP4HwDSwKBgF8cHLqqPwgpYg/Lr7eZyqFlMB7k9HI2uumgefYkkj+8qyo+Iti09vGqV2tQO4TBBpn+WtfwzR0Y5eUaGBxWdsMcgQQweLczLtU0qPDeTPehN37vHD5fXxjpbGn0PDILtvRyLXVoorKgPabuY97jYDelqupkistBLmjjf8fbMI7DAoGAd2DEbeE5rVD/dL2gG5qVFxEJ+XBof1EHjuzL9lHtEJDwgyM72YA/G8JVkw0yng1e2tR+zYTO60kHqWoDyOeXbTmAGmWFVLd9UqYBd6NeRDGKpcvrZ92bOuHWNm+c9GufDnpO+fAmjlvWHt20dmdvBDvljqyP2B9CXlHaNCySpWUCgYAj8Nfr8+2a33rhEZCPFvpia7NZl/AoIwNsdBRSQli9uifO33QlcVaZkCu7BriAFw5Es5lbUmrUxZRaT01TvyEQErYtKpiOeEQoC3a6r9ublFwWM0l9DfDuRjEYlxVkAJ7963DFdhK+koLA0BUQtMu8vR84Rha/i9jSssMQMySOGA==-----END PRIVATE KEY-----

Testam izmantotā privātā atslēga - RSA

Page 33: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

-----BEGIN RSA PRIVATE KEY-----MIIEogIBAAKCAQEAt0u9EHZfdZVvhaDC9aPNCrMkP1pMjufx4Sr5bjFCMPtq/C1v6TDOJWT/s5Ykrm3E0Nvn8Rw8vqzc5B7mWk8OUIrrIn8joN9iBiJ1Oe3CqAHcV4Y2e70Jduu/BqiEaD63eVzEQtkdLMM9ZzOC42r0tx3e6Dzb2w+wdriJ+XA6D1RhEWmOpHLT0ACw5bkYekajVeH4JdxvW1rwL6DN7DauXsyQQK2SutFJKfeEKjuu6yjEXSXLkSbZJwkdZz9+k5HuDiUe+cwRflLjk08z2+ye3KqsnrrBBX5d4DZErDOLnZsL9mTw89KxabSLDk9zZ8emmTX4KFQ9azI5/SuerDCfgQIDAQABAoIBACBrvR1UUr4xmHBCZzmbp4Dk/txV1ITSce4p88SR4etYDSxdvRW6FDx5COFzBTn1IILw4q27GOOBH/EZphUDNrz4VW7cniiuWmBLaAC/FVcyPQ8eJjTs0ue9+yPqWsE1lq5Ywj4wuQBZ6FqAuf4PxQk+t1bMrPaqZ8QYEA+W0i4zqP+xvU9JFrtKyO02tP51wQtTa+CzMA5GdFTuAwo+T+bsMhPoyUfQzwuSnxKM02C3l8l6njqre/RqNtGqrG0yxgnWrUxcwYj9RcSCnVxxtN6YYqF1mtF0HIyImCYlG+jFlagUip7pVGsrPqmrzssYDZvamlgYGfj1dp1kxBugk6ECgYEA/cjxon6oULhivTzljKH/Qwyor+kFUUfWOmzVPaMNMDdQYagP1Li77wtyA4+gqREzoslRsDfrjIin/5U9OAz09SRYr7TBUqn6pYiDDeLQVbM3AP8bACxVg3NC4Mov/ZS3PQ86H/qUxUapHYy6y0MVbhOPOTTTayitdfTatcmonOMCgYEAuOVLSkrATw2wlgXDxghzM72NkrPwXXhBVv047Ntq/cYMJh0O4BfEoypSYqHDWaYgZ7F04t93ONVdgvf181C+0nknQ5BvrCbgqWubKx4OTLBQfDv5le/5X0UV6i7AMmNQUgvd51W7SX9zzSeZaq9pD/pAUKW2fAUMdeEyT+B8A0sCgYBfHBy6qj8IKWIPy6+3mcqhZTAe5PRyNrrpoHn2JJI/vKsqPiLYtPbxqldrUDuEwQaZ/lrX8M0dGOXlGhgcVnbDHIEEMHi3My7VNKjw3kz3oTd+7xw+X18Y6Wxp9DwyC7b0ci11aKKyoD2m7mPe42A3parqZIrLQS5o43/H2zCOwwKBgHdgxG3hOa1Q/3S9oBualRcRCflwaH9RB47sy/ZR7RCQ8IMjO9mAPxvCVZMNMp4NXtrUfs2EzutJB6lqA8jnl205gBplhVS3fVKmAXejXkQxiqXL62fdmzrh1jZvnPRrnw56TvnwJo5b1h7dtHZnbwQ75Y6sj9gfQl5R2jQskqVlAoGAI/DX6/Ptmt964RGQjxb6YmuzWZfwKCMDbHQUUkJYvbonzt90JXFWmZAruwa4gBcORLOZW1Jq1MWUWk9NU78hEBK2LSqYjnhEKAt2uq/bm5RcFjNJfQ3w7kYxGJcVZACe/etwxXYSvpKCwNAVELTLvL0fOEYWv4vY0rLDEDMkjhg=-----END RSA PRIVATE KEY-----

Privātajai atslēgai atbilstošais sertifikāts (X.509).

Page 34: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

-----BEGIN CERTIFICATE-----MIIDRTCCAi2gAwIBAgIES5Pu0DANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJMVjENMAsGA1UECBMEUmlnYTENMAsGA1UEBxMEUmlnYTEOMAwGA1UEChMFVmlzbWExFjAUBgNVBAMTDXRlc3QudmlzbWEubHYwHhcNMTUwNTE5MTQxMzM5WhcNMjUwMjE1MTQxMzM5WjBTMQswCQYDVQQGEwJMVjENMAsGA1UECBMEUmlnYTENMAsGA1UEBxMEUmlnYTEOMAwGA1UEChMFVmlzbWExFjAUBgNVBAMTDXRlc3QudmlzbWEubHYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3S70Qdl91lW+FoML1o80KsyQ/WkyO5/HhKvluMUIw+2r8LW/pMM4lZP+zliSubcTQ2+fxHDy+rNzkHuZaTw5QiusifyOg32IGInU57cKoAdxXhjZ7vQl2678GqIRoPrd5XMRC2R0swz1nM4LjavS3Hd7oPNvbD7B2uIn5cDoPVGERaY6kctPQALDluRh6RqNV4fgl3G9bWvAvoM3sNq5ezJBArZK60Ukp94QqO67rKMRdJcuRJtknCR1nP36Tke4OJR75zBF+UuOTTzPb7J7cqqyeusEFfl3gNkSsM4udmwv2ZPDz0rFptIsOT3Nnx6aZNfgoVD1rMjn9K56sMJ+BAgMBAAGjITAfMB0GA1UdDgQWBBRDa9ZMiYkhDRuiyFUgJSI56IrjkDANBgkqhkiG9w0BAQsFAAOCAQEAkd929cUJ2DI73lUsZQGMTE2lEBcWzKzMotB3o7vb24eqvX4HJYEf9TtBWdJsJj4ix7i+bagLo8vgoSGv6hTE4HqX6EhZ5NT+gXZ8pCZWT75yFYiA/4UjAXObq8z/l9YCx3lkysqv5/QFSsCQTEuk5V8iUOuXSU2fau85n1nAd6eLsJzF95g1362HdCCrp4q7QU2z4OjtYyq5adCE5A/7G1G+kMsRaSMjipe99XdZYp8r41Awu/pL745+SaIWJ2GTPKT1oa9B1xWhYnpRH2zuxy7sf/MdGhW6MG8WYlA2k8lJRhJ8xziAzBxWKriVDlqQIe4zRcJwcLXDuai+g/RZwg==-----END CERTIFICATE-----

Importēt sertifikātu Horizon Sistēma → Administrēt → Sertifikātu glabātuve

Page 35: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Ar sertifikātu parakstīta identitāte

Horizon atbalsta iespēju nodot FTG serverim faktiskā lietotāja identitāti nezinot tā paroli. Šādam izsaukumam jāsaformē autentifikācijas galvene,norādot weblietotāja lietotāja vārdu un parakstu. Metode, atkarībā no autentifikācijas uzstādījumiem, ļauj izmantot lietotāja identificēšanai arīpersonas kodu vai e-pastu.

Autorizācijas galvenē norādāmie parametri.

Parametrs Skaidrojums

login Norāda weblietotāja pieslēgšanās vārdu

timestamp Norāda pieslēgšanas brīdi UTC laika zonā sekundēs kopš 1970. gada 1. janvāra

signature Paraksts vērtībai, kurā iekļautas abas iepriekšējās datu vienības. FTG serveris pārbauda parakstu pēc kārtas izmantojot visussertifikātus, kuri reģistrēti Horizon sertifikātu glabātuvē.

Galvenes vērtības piemērs.

Page 36: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Authorization: WebUser login="lietotjs", timestamp="laiks",signature="paraksts"

Piemērs

Parakstīšanas piemērs lietotājam veicot parakstīšanu .FTGCLIENT 2015-06-01 14:46:07

Lietotāja vārds.

FTGCLIENT

Parakstīšanas brīža laika vērtība.

1433159167

Parakstāmā datu vienība.

FTGCLIENT1433159167

Parakstāmā datu vienība kā baitu masīvs UTF8 kodējumā.

46 54 47 43 4C 49 45 4E 54 31 34 33 33 31 35 3931 36 37

Datu vienības paraksts (SHA256 with RSA).

0A 32 94 42 5C 87 35 2D B0 81 CF B5 EE 8C B1 4C14 47 64 D7 CE 1C 9C EE 67 C1 0A D4 14 90 84 5DD4 D1 8D 09 FF BF 46 BD A7 6E 75 87 04 D3 1B 3607 17 8B 91 78 A9 01 AC 58 BF 3E 2A 5B D7 33 C0B4 FC 16 B6 E6 A9 D1 54 9F B9 20 38 FF 54 F9 96ED 90 FE 97 49 59 63 19 65 6D EF 72 F7 B9 00 A272 E7 EA B1 1D 90 4B 3F 69 8C 52 17 1A D6 C0 7D38 5F C3 32 47 58 61 B3 A2 4E 5C BE 96 15 5F 6B8A B0 B4 5C E4 DE 0E 3A A6 01 80 FD 5D FC 68 AFA0 19 99 DE EA 07 0E A8 07 31 C6 87 8B A6 AF E479 FE D1 95 E3 97 B8 B9 B1 FD 9F F1 F5 FB 0F CF1E 1F D8 C7 69 53 DD FD 3A 5B 6B B6 86 38 3C 492B D1 06 F2 71 48 E3 D2 85 E3 37 88 19 EA 26 78E8 3C D6 D4 6C 47 DF D3 6B ED 44 7E A7 A9 1C E690 32 9A 01 0D A4 97 CF B8 1C A7 1F AB 30 CC CB58 A9 0D 3F 14 BD 15 8C 56 E4 5E C7 49 4D E6 B4

Datu vienības paraksts Base64 kodējumā.

Page 37: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

CjKUQlyHNS2wgc+17oyxTBRHZNfOHJzuZ8EK1BSQhF3U0Y0J/79GvadudYcE0xs2BxeLkXipAaxYvz4qW9czwLT8FrbmqdFUn7kgOP9U+ZbtkP6XSVljGWVt73L3uQCicufqsR2QSz9pjFIXGtbAfThfwzJHWGGzok5cvpYVX2uKsLRc5N4OOqYBgP1d/GivoBmZ3uoHDqgHMcaHi6av5Hn+0ZXjl7i5sf2f8fX7D88eH9jHaVPd/Tpba7aGODxJK9EG8nFI49KF4zeIGeomeOg81tRsR9/Ta+1EfqepHOaQMpoBDaSXz7gcpx+rMMzLWKkNPxS9FYxW5F7HSU3mtA==

REST pieprasījums.

GET /rest/user HTTP/1.1Accept: application/xml, text/xml, application/xhtml+xml,application/atom+xmlAuthorization: WebUser login="FTGCLIENT", timestamp="1433159167",signature="CjKUQlyHNS2wgc+17oyxTBRHZNfOHJzuZ8EK1BSQhF3U0Y0J/79GvadudYcE0xs2BxeLkXipAaxYvz4qW9czwLT8FrbmqdFUn7kgOP9U+ZbtkP6XSVljGWVt73L3uQCicufqsR2QSz9pjFIXGtbAfThfwzJHWGGzok5cvpYVX2uKsLRc5N4OOqYBgP1d/GivoBmZ3uoHDqgHMcaHi6av5Hn+0ZXjl7i5sf2f8fX7D88eH9jHaVPd/Tpba7aGODxJK9EG8nFI49KF4zeIGeomeOg81tRsR9/Ta+1EfqepHOaQMpoBDaSXz7gcpx+rMMzLWKkNPxS9FYxW5F7HSU3mtA=="Host: localhost:81Proxy-Connection: Keep-Alive

REST atbilde.

HTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 372Date: Mon, 01 Jun 2015 11:46:11 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=N6fdHW6XOdWR9cS; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resourcexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><description>Lietotjaresursi</description><link><href>/rest/user/organization</href><description>Lietotjam atautasfirmas</description></link><link><href>/rest/user/changePassword</href><description>ChangePassword</description></link></resource>

Testam izmantotā privātā atslēga - PKCS #8 nešifrēts.

Page 38: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

-----BEGIN PRIVATE KEY-----MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC3S70Qdl91lW+FoML1o80KsyQ/WkyO5/HhKvluMUIw+2r8LW/pMM4lZP+zliSubcTQ2+fxHDy+rNzkHuZaTw5QiusifyOg32IGInU57cKoAdxXhjZ7vQl2678GqIRoPrd5XMRC2R0swz1nM4LjavS3Hd7oPNvbD7B2uIn5cDoPVGERaY6kctPQALDluRh6RqNV4fgl3G9bWvAvoM3sNq5ezJBArZK60Ukp94QqO67rKMRdJcuRJtknCR1nP36Tke4OJR75zBF+UuOTTzPb7J7cqqyeusEFfl3gNkSsM4udmwv2ZPDz0rFptIsOT3Nnx6aZNfgoVD1rMjn9K56sMJ+BAgMBAAECggEAIGu9HVRSvjGYcEJnOZungOT+3FXUhNJx7inzxJHh61gNLF29FboUPHkI4XMFOfUggvDirbsY44Ef8RmmFQM2vPhVbtyeKK5aYEtoAL8VVzI9Dx4mNOzS5737I+pawTWWrljCPjC5AFnoWoC5/g/FCT63Vsys9qpnxBgQD5bSLjOo/7G9T0kWu0rI7Ta0/nXBC1Nr4LMwDkZ0VO4DCj5P5uwyE+jJR9DPC5KfEozTYLeXyXqeOqt79Go20aqsbTLGCdatTFzBiP1FxIKdXHG03phioXWa0XQcjIiYJiUb6MWVqBSKnulUays+qavOyxgNm9qaWBgZ+PV2nWTEG6CToQKBgQD9yPGifqhQuGK9POWMof9DDKiv6QVRR9Y6bNU9ow0wN1BhqA/UuLvvC3IDj6CpETOiyVGwN+uMiKf/lT04DPT1JFivtMFSqfqliIMN4tBVszcA/xsALFWDc0Lgyi/9lLc9Dzof+pTFRqkdjLrLQxVuE485NNNrKK119Nq1yaic4wKBgQC45UtKSsBPDbCWBcPGCHMzvY2Ss/BdeEFW/Tjs22r9xgwmHQ7gF8SjKlJiocNZpiBnsXTi33c41V2C9/XzUL7SeSdDkG+sJuCpa5srHg5MsFB8O/mV7/lfRRXqLsAyY1BSC93nVbtJf3PNJ5lqr2kP+kBQpbZ8BQx14TJP4HwDSwKBgF8cHLqqPwgpYg/Lr7eZyqFlMB7k9HI2uumgefYkkj+8qyo+Iti09vGqV2tQO4TBBpn+WtfwzR0Y5eUaGBxWdsMcgQQweLczLtU0qPDeTPehN37vHD5fXxjpbGn0PDILtvRyLXVoorKgPabuY97jYDelqupkistBLmjjf8fbMI7DAoGAd2DEbeE5rVD/dL2gG5qVFxEJ+XBof1EHjuzL9lHtEJDwgyM72YA/G8JVkw0yng1e2tR+zYTO60kHqWoDyOeXbTmAGmWFVLd9UqYBd6NeRDGKpcvrZ92bOuHWNm+c9GufDnpO+fAmjlvWHt20dmdvBDvljqyP2B9CXlHaNCySpWUCgYAj8Nfr8+2a33rhEZCPFvpia7NZl/AoIwNsdBRSQli9uifO33QlcVaZkCu7BriAFw5Es5lbUmrUxZRaT01TvyEQErYtKpiOeEQoC3a6r9ublFwWM0l9DfDuRjEYlxVkAJ7963DFdhK+koLA0BUQtMu8vR84Rha/i9jSssMQMySOGA==-----END PRIVATE KEY-----

Testam izmantotā privātā atslēga - RSA

Page 39: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

-----BEGIN RSA PRIVATE KEY-----MIIEogIBAAKCAQEAt0u9EHZfdZVvhaDC9aPNCrMkP1pMjufx4Sr5bjFCMPtq/C1v6TDOJWT/s5Ykrm3E0Nvn8Rw8vqzc5B7mWk8OUIrrIn8joN9iBiJ1Oe3CqAHcV4Y2e70Jduu/BqiEaD63eVzEQtkdLMM9ZzOC42r0tx3e6Dzb2w+wdriJ+XA6D1RhEWmOpHLT0ACw5bkYekajVeH4JdxvW1rwL6DN7DauXsyQQK2SutFJKfeEKjuu6yjEXSXLkSbZJwkdZz9+k5HuDiUe+cwRflLjk08z2+ye3KqsnrrBBX5d4DZErDOLnZsL9mTw89KxabSLDk9zZ8emmTX4KFQ9azI5/SuerDCfgQIDAQABAoIBACBrvR1UUr4xmHBCZzmbp4Dk/txV1ITSce4p88SR4etYDSxdvRW6FDx5COFzBTn1IILw4q27GOOBH/EZphUDNrz4VW7cniiuWmBLaAC/FVcyPQ8eJjTs0ue9+yPqWsE1lq5Ywj4wuQBZ6FqAuf4PxQk+t1bMrPaqZ8QYEA+W0i4zqP+xvU9JFrtKyO02tP51wQtTa+CzMA5GdFTuAwo+T+bsMhPoyUfQzwuSnxKM02C3l8l6njqre/RqNtGqrG0yxgnWrUxcwYj9RcSCnVxxtN6YYqF1mtF0HIyImCYlG+jFlagUip7pVGsrPqmrzssYDZvamlgYGfj1dp1kxBugk6ECgYEA/cjxon6oULhivTzljKH/Qwyor+kFUUfWOmzVPaMNMDdQYagP1Li77wtyA4+gqREzoslRsDfrjIin/5U9OAz09SRYr7TBUqn6pYiDDeLQVbM3AP8bACxVg3NC4Mov/ZS3PQ86H/qUxUapHYy6y0MVbhOPOTTTayitdfTatcmonOMCgYEAuOVLSkrATw2wlgXDxghzM72NkrPwXXhBVv047Ntq/cYMJh0O4BfEoypSYqHDWaYgZ7F04t93ONVdgvf181C+0nknQ5BvrCbgqWubKx4OTLBQfDv5le/5X0UV6i7AMmNQUgvd51W7SX9zzSeZaq9pD/pAUKW2fAUMdeEyT+B8A0sCgYBfHBy6qj8IKWIPy6+3mcqhZTAe5PRyNrrpoHn2JJI/vKsqPiLYtPbxqldrUDuEwQaZ/lrX8M0dGOXlGhgcVnbDHIEEMHi3My7VNKjw3kz3oTd+7xw+X18Y6Wxp9DwyC7b0ci11aKKyoD2m7mPe42A3parqZIrLQS5o43/H2zCOwwKBgHdgxG3hOa1Q/3S9oBualRcRCflwaH9RB47sy/ZR7RCQ8IMjO9mAPxvCVZMNMp4NXtrUfs2EzutJB6lqA8jnl205gBplhVS3fVKmAXejXkQxiqXL62fdmzrh1jZvnPRrnw56TvnwJo5b1h7dtHZnbwQ75Y6sj9gfQl5R2jQskqVlAoGAI/DX6/Ptmt964RGQjxb6YmuzWZfwKCMDbHQUUkJYvbonzt90JXFWmZAruwa4gBcORLOZW1Jq1MWUWk9NU78hEBK2LSqYjnhEKAt2uq/bm5RcFjNJfQ3w7kYxGJcVZACe/etwxXYSvpKCwNAVELTLvL0fOEYWv4vY0rLDEDMkjhg=-----END RSA PRIVATE KEY-----

Privātajai atslēgai atbilstošais sertifikāts (X.509).

Page 40: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

-----BEGIN CERTIFICATE-----MIIDRTCCAi2gAwIBAgIES5Pu0DANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJMVjENMAsGA1UECBMEUmlnYTENMAsGA1UEBxMEUmlnYTEOMAwGA1UEChMFVmlzbWExFjAUBgNVBAMTDXRlc3QudmlzbWEubHYwHhcNMTUwNTE5MTQxMzM5WhcNMjUwMjE1MTQxMzM5WjBTMQswCQYDVQQGEwJMVjENMAsGA1UECBMEUmlnYTENMAsGA1UEBxMEUmlnYTEOMAwGA1UEChMFVmlzbWExFjAUBgNVBAMTDXRlc3QudmlzbWEubHYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3S70Qdl91lW+FoML1o80KsyQ/WkyO5/HhKvluMUIw+2r8LW/pMM4lZP+zliSubcTQ2+fxHDy+rNzkHuZaTw5QiusifyOg32IGInU57cKoAdxXhjZ7vQl2678GqIRoPrd5XMRC2R0swz1nM4LjavS3Hd7oPNvbD7B2uIn5cDoPVGERaY6kctPQALDluRh6RqNV4fgl3G9bWvAvoM3sNq5ezJBArZK60Ukp94QqO67rKMRdJcuRJtknCR1nP36Tke4OJR75zBF+UuOTTzPb7J7cqqyeusEFfl3gNkSsM4udmwv2ZPDz0rFptIsOT3Nnx6aZNfgoVD1rMjn9K56sMJ+BAgMBAAGjITAfMB0GA1UdDgQWBBRDa9ZMiYkhDRuiyFUgJSI56IrjkDANBgkqhkiG9w0BAQsFAAOCAQEAkd929cUJ2DI73lUsZQGMTE2lEBcWzKzMotB3o7vb24eqvX4HJYEf9TtBWdJsJj4ix7i+bagLo8vgoSGv6hTE4HqX6EhZ5NT+gXZ8pCZWT75yFYiA/4UjAXObq8z/l9YCx3lkysqv5/QFSsCQTEuk5V8iUOuXSU2fau85n1nAd6eLsJzF95g1362HdCCrp4q7QU2z4OjtYyq5adCE5A/7G1G+kMsRaSMjipe99XdZYp8r41Awu/pL745+SaIWJ2GTPKT1oa9B1xWhYnpRH2zuxy7sf/MdGhW6MG8WYlA2k8lJRhJ8xziAzBxWKriVDlqQIe4zRcJwcLXDuai+g/RZwg==-----END CERTIFICATE-----

Importēt sertifikātu Horizon Sistēma → Administrēt → Sertifikātu glabātuve

Page 41: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Pielietojuma identifikācija

Horizon piedāvā risinājumu kopā ar lietotāju identificēt arī pielietojumu, kurš pieslēdzas FTG serverim. Risinājums balstīts uz to ka abām pusēm irzināma pielietojuma slepenā parole, kuru izmanto, lai zināmā veidā samaisītu nosūtāmos datus iegūstot pielietojuma parakstu.

Autorizācijas galvenē norādāmie parametri.

Parametrs Skaidrojums

context Norāda pielietojuma identifikatoru

timestamp Norāda pieslēgšanas brīdi UTC laika zonā sekundēs kopš 1970. gada 1. janvāra

context_signature Paraksts vērtībai, kurā iekļautas abas iepriekšējās datu vienības. Paraksta iegūšanai izmanto HMAC-SHA1 algoritmu.

Galvenes vērtības piemērs. Kopā ar pielietojuma identificēšanu jāizmanto kādu lietotāja identificēšanas metodi – piemērā tikai pielietojumaidentifcēšanas specifiskie parametri.

Page 42: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Authorization: WebUser timestamp="laiks", context="pielietojums",context_signature="paraksts"

Piemērs

Parakstīšanas piemērs pielietojumam veicot parakstīšanu . Horizon ir pieejams testa pielietojums, kuru varTest 2015-06-01 18:07:17izmantot lai testētu pielietojuma paraksta saformēšanu. Šis pielietojums nav izmantojams lai darbotos ar Horizon entītēm vai entīšu kolekcijām.

Pielietojuma identifikators.

Test

Pielietojuma slepenā parole.

kAcSOqF21Fu85e7zjz7ZN2U4ZRhfV3WpwPAoE3Z7kBw

Parakstīšanas brīža laika vērtība.

1433171237

Parakstāmā datu vienība.

Test1433171237

Samaisītā paraksta vērtība atbilstoši HMAC-SHA1 algoritmam.

4F 3B A1 B6 D0 0E 0C 9E 2E 5A FC FC 0B 12 51 B4

66 CC 98 7F

Paraksta vērtība Base64 kodējumā

TzuhttAODJ4uWvz8CxJRtGbMmH8=

REST pieprasījums

GET /rest/user HTTP/1.1Accept: application/xml, text/xml, application/xhtml+xml,application/atom+xmlAuthorization: WebUser basic="RlRHQ0xJRU5UOmZ0Z2NsaWVudA==",timestamp="1433171237", context="Test",context_signature="TzuhttAODJ4uWvz8CxJRtGbMmH8="Host: localhost:81Proxy-Connection: Keep-Alive

Page 43: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

REST atbilde

HTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 372Date: Mon, 01 Jun 2015 15:07:17 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=wact9ARozhwgasE; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resourcexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><description>Lietotjaresursi</description><link><href>/rest/user/organization</href><description>Lietotjam atautasfirmas</description></link><link><href>/rest/user/changePassword</href><description>ChangePassword</description></link></resource>

Autentifikācija ar lietotāja vārdu un paroli

Horizon speciālās autentifikācijas ietvaros tiek nodrošināta iespēja norādīt lietotāja vārdu un paroli līdzīgi kā tas notiek atbilstoši HTTP Basicautentifikācijai. Metode, atkarībā no autentifikācijas uzstādījumiem, ļauj izmantot lietotāja identificēšanai arī personas kodu vai e-pastu.

Autorizācijas galvenē norādāmie parametri.

Parametrs Skaidrojums

basic Lietotāja vārds un parole Base64 kodējumā

Galvenes vērtības piemērs.

Authorization: WebUser basic="lietotjs,parole"

Piemērs

Autentifikācijas piemērs lietotājam .FTGCLIENT

Lietotāja vārds.

FTGCLIENT

Lietotāja parole.

ftgclient

Lietotāja autentifikācijas datu vienība.

FTGCLIENT:ftgclient

Lietotāja autentifikācijas datu vienība Base64 kodējumā.

Page 44: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

REST pieprasījums.

GET /rest/user HTTP/1.1Accept: application/xml, text/xml, application/xhtml+xml,application/atom+xmlAuthorization: WebUser basic="RlRHQ0xJRU5UOmZ0Z2NsaWVudA=="Host: localhost:81Proxy-Connection: Keep-Alive

REST atbilde.

HTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 372Date: Mon, 01 Jun 2015 15:07:17 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=wact9ARozhwgasE; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resourcexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><description>Lietotjaresursi</description><link><href>/rest/user/organization</href><description>Lietotjam atautasfirmas</description></link><link><href>/rest/user/changePassword</href><description>ChangePassword</description></link></resource>

Darbs ar entītes (dokumenta vai kartītes) resursuREST koncepcija paredz piekļuvi datiem organizēt, veidojot atbilstošus resursus. Katram resursam izmantojamas HTTP protokola metodes (GET,POST) resursa CRUD (angliski ) operāciju nodrošināšanai. Tabulā redzams pārskaitījums dažādām operācijām arcreate, read, update and deleteklientu kartiņām.

HTTPmetode

Resurss Skaidrojums

GET /rest/TDdmCustomer/TDdmCustomer.xsd

Entītes datu struktūra skaidrota nodaļā Entīšu XML datu struktūras.

GET /rest/TDdmCustomer/template/{pk} Sagataves iegūšana jauna ieraksta izveidošanai. Sīkāk nodaļā Jaunas entītes.izveidošana, izmantojot sagatavi

POST /rest/TDdmCustomer/template/{pk} Izveidot jaunu ierakstu. Sīkāk nodaļā Jaunas entītes izveidošana, izmantojot.sagatavi

POST /rest/TDdmCustomer Ieveidot jaunu ierakstu. Sīkāk nodaļā Jaunas entītes izveidošana, neizmantojot.sagatavi

GET /rest/TDdmCustomer/{pk} Iegūt viena ieraksta datus. Sīkāk nodaļā .Entītes datu atlasīšana

POST /rest/TDdmCustomer/{pk} Labot ieraksta datus. Sīkāk nodaļā . Esošas entītes datu labošana

DELETE /rest/TDdmCustomer/{pk} Dzēst ierakstu. Sīkāk nodaļā .Entītes dzēšana

Page 45: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Entīšu XML datu struktūrasJaunas entītes izveidošana, izmantojot sagatavi

DokumentiKlasifikatori

Jaunas entītes izveidošana, neizmantojot sagataviVienkāršas entītes izveidošanas piemērsMaster-detail entītes izveidošanas piemērs

Entītes datu atlasīšanaEsošas entītes datu labošanaEntītes dzēšanaEntītes procedūru izpilde

Entīšu XML datu struktūras

REST interfeiss nodrošina resursus ar datu XML reprezentācijā lietoto elementu skaidrojumu. Lietoto datu struktūru skaidrošanai izmanto XML (XSD) standartu.Schema

Katrai klasei atbilstošais XML shēmas apakšresurss sakrīt ar klases vārdu kopā ar paplašinājumu "xsd".

Piemērs: "Ekonomiskā būtība" resursa shēma pieejama kā ./rest/TEkButBL/TEkButBL.xsd

Ekonomiskās būtības entīte (kartīte) ir vienkāršas uzbūves:

Tai ir iespējams tikai viens pamata elements.

Page 46: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Visi Horizon objekti būvēti no tabulveida datu struktūrām. Objektiem var būt vairāki veidojošie elementi, piemēram, attiecībumaster–detailveidojot, elements ir tabula ar vienu rindiņu, bet elements ir tabula ar vairākām rindiņām. elementu ar elementu saistamaster detail Master detailattiecība 1:n. Objektiem var būt arī elementi, kuri pret pamata elementu attiecas ar 1:1 – šajā saistītajā elementā var būt tikai viena rindiņa.masterSekojošā piemērā redzams pārdošanas pavadzīmes entīti aprakstošā tipa fragments, kurā figurē elementi un .NdmPvzAddition tblRindasElements apraksta pārdošanas pavadzīmes rindiņas. Tas ir pavadzīmes elements, kurš var saturēt vairākas rindas ( eletblRindas detail <row>mentus). Elements attiecas pret elementu 1:1.NdmPvzAddition master

<xsd:complexType name="TNdmPvzSaleEntity"> <xsd:complexContent> <xsd:extension base="TNdmPvzSaleStructure"> <xsd:sequence> <xsd:element name="tblRindas"> <xsd:complexType> <xsd:sequence> <xsd:element name="row" maxOccurs="unbounded"type="tblRindasStructure"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="NdmPvzAddition" type="TNdmPvzAdditionStructure"/> </xsd:sequence> </xsd:extension> </xsd:complexContent></xsd:complexType>

Pamata elementa kompleksā tipa vārds veidojas pēc shēmas KlasesVardsEntity. Kompleksais tips skaidro, no kādiem tabulveida elementiementīte veidojas un kādās attiecībās saistītie elementi ir ar pamata elementu.

Page 47: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Tabulveida struktūras kompleksais tips skaidro, kādi lauki katrā elementā ir iespējami, to tipus un nosaukumus.

Tipa skaidrojums var liecināt, ka lauks ir atsauce uz citu entīti. Piemēram, lauks ir atsauce uz ekonomisko būtību grupas resursu PK_GRUPA /res.t/TEkButGrupaBL

Tips var liecināt, ka laukam iespējama vienkārša vērtība atbilstoši kādam no pamata tipiem. Piemēram, lauks ir teksta tipa lauks arNOSAUKmaksimālo garumu 100 simboli.

Pārskaitāmais tips nosaka, ka laukam iespējamas tikai dažas noteiktas vērtības. Piemēram, lauka iespējamās vērtības skaidroIITIPSvienkāršais tips .TEkButBLIITIPSType

Šobrīd Horizon ne visās vietās māk korekti atpazīt lauka vērtību kā atsauci uz citu resursu. Tāpēc vērtība datos ir skaitlis. Šādas vietassistemātiski tiek labotas, lai visur atsauces uz citiem resursiem tiktu pareizi veidotas.

Page 48: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Shēmas beigās atrodami visi lietotie vienkāršie tipi. Piemēram, tips nosaka, ka vērtībai jāatbilst tipam unSize100StringType xsd:stringmaksimālais vērtības garums nedrīkst pārsniegt 100 simbolus. Savukārt tips atļauj lietot tikai vērtības 0 vai 1.TEkButBLIITIPSType

Jaunas entītes izveidošana, izmantojot sagatavi

Dokumenti

Horizon paredz jauna dokumenta izveidošanai izmantot iepriekš definētu dokumentu tipu. Pievienojot jaunu dokumentu, lietotājs izvēlas vienukonkrētu dokumentu tipu no piedāvātā saraksta un tiek atvērta jauna ieraksta izveidošanas forma ar aizpildītiem noklusētajiem datiem. Lietotājsaizpilda ievadlaukus nepieciešamajām vērtībām un saglabā jauno ierakstu datubāzē.

REST interfeisā ir publicēti resursi identiska scenārija nodrošināšanai. Katram konkrētā dokumenta veidam atbilstoši dokumentu tipam ir izveidotssavs apakšresurss. Visiem definētajiem dokumentu tipiem atbilstošie apakšresursi pārskaitīti entītes resursa pamata lapā.

Page 49: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Katru dokumenta tipa apakšresursu raksturo saite uz apakšresursu, dokumenta tipa kods un dokumenta tipa nosaukums. Dokumenta tipanosaukums ir tas pats, ko var redzēt Horizon, veidojot jauna dokumenta ierakstu. Parasti integrācijas risinājumiem veido savu dokumentu tipu,kuru identificē pēc tam dotā koda. Tas ļauj samazināt sistēmu atkarības – kods ir vienkārši ievērojama vienošanās starp sistēmām. Savukārtkodam atbilstošo sagataves resursu var atrast ar XPath vaicājumu, piemēram, šāds vaicājums atrod sagataves resursu ar kodu CRM /resource/templates/link/href[@rel='CRM']/text()

No sagataves resursa ar GET metodi iegūst pilnu XML ar sagataves datiem. XML struktūrā vajadzīgajiem elementiem aizpilda vērtības. Laukus,kuru lietotās vērtības nav zināmas, atstāj nemainītus. izveidoto XML failu ar POST metodi nosūta .tam pašam resursam, no kura iegūta sagataveOperācijas rezultāts būs jaunizveidots ieraksts. Operācijas atbildē būs iekļauta saite uz jaunizveidoto resursu.

Šāds scenārijs ļauj vizualizēt ārējā sistēmā jaunizveidoto ierakstu pirms saglabāšanas ar visām noklusētajām vērtībām.

Ja dokuments satur rindiņas, kuras sagatavē slēpjas zem struktūrām, piemēram, </tblRindas>, <qrySubRindas/>, šo struktūru laukusvisvienkāršāk ir uzzināt, izgūstot kādu Horizon manuāli izveidotu dokumentu. Rindiņstruktūru lauku apraksts (datu formāts, iespējamās vērtības) irpieejamas dokumenta resursa WADLā.

Klasifikatori

Vienkāršiem klasifikatoriem, kuriem nav iespējami dokumentu tipi, izveides scenārijs ir gandrīz identisks – sagataves datus uzreiz iegūst no temp apakšresursa ar metodi un saglabā ar metodi uz to pašu resursu:late GET POST template

Page 50: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

POST /rest/TNdmAdr/template HTTP/1.1Content-type: application/xml;charset=UTF-8

<resource> <entity> <ADRESE>3 Kronvalda bulv., Riga, Latvia</ADRESE> <LEG_ADR>1</LEG_ADR> <PK_KLIENTS> <href>/rest/TDdmCustomer/19615</href> </PK_KLIENTS> <PK_VALSTS> <href>/rest/TdmBLDValsts/662</href> </PK_VALSTS> <STATUSS>1</STATUSS> </entity></resource>

Jaunas entītes izveidošana, neizmantojot sagatavi

REST interfeisā paredzēts arī veids, kā izveidot jaunu entīti ar vienu izsaukumu – neizmantojot sagataves. Jaunu ierakstu var izveidot, nosūtotPOST tipa pieprasījumu uz entītes klases resursu, norādot tikai zināmo lauku vērtības un jaunizveidojamā ieraksta dokumenta tipa koduelementā (ja tiek veidots jauns klasifikatora ieraksts, tad elementu nav jānorāda).docType docType

Vienkāršas entītes izveidošanas piemērs

Izveidot klientu – uzņēmumu ar nosaukumu "Jauns klients" un reģistrācijas numuru 123456789. Nosūtot datus obligāti jānorāda galvene Conten ar datu formāta veidu un kodējumu. Nosūtītie dati tiks apstrādāti norādītajā kodējumā, savukārt atbilde vienmēr būs .t-Type UTF-8

Ieraksta izveidošanas pieprasījumsPOST /rest/TDdmCustomer HTTP/1.1Content-Type: application/xml;charset=UTF-8

<resource> <docType>CRM</docType> <entity> <TIPS>3</TIPS> <NOSAUK>Jauns klients</NOSAUK> <REG_NR>123456789</REG_NR> </entity></resource>

Atbildes kods liecina par veiksmīgu jaunas entītes izveidošanu, kuras dati atrodami resursā .201 /rest/TDdmCustomer/18938

Page 51: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Ieraksta izveidošanas atbildeHTTP/1.1 201 CreatedContent-Type: application/xml; charset=UTF-8Date: Mon, 28 Jul 2014 09:33:42 GMTOrganization: 2, "SIA Kalns"

<?xml version="1.0" encoding="UTF-8" standalone="no"?><result> <link> <href>/rest/TDdmCustomer/18938</href> </link></result>

Master-detail entītes izveidošanas piemērs

Izveidot pārdošanas pavadzīmi ar sadalītu apmaksu. Pavadzīmes rindiņas norādītas elementā , bet apmaksas sadalījums elementā tblRindas d.mDApmSadRBL

Page 52: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Jaunas pavadzīmes izveidePOST /rest/TNdmPvzSale HTTP/1.1Content-Type: application/xml;charset=UTF-8

<resource> <docType>PARD</docType> <entity> <PK_KLIENTS> <href>/rest/TDdmCustomer/17893</href> </PK_KLIENTS> <PK_ESPATS> <href>/rest/TNdmNol/11321</href> </PK_ESPATS> <DAT_DOK>2015-06-01</DAT_DOK> <PK_VAL> <href>/rest/TsdmValName/5</href> </PK_VAL> <DOK_NR>pvz pvz</DOK_NR> <APM_TERM>2015-07-01</APM_TERM> <DOK_NR2>20150701/1</DOK_NR2> <SADAL_APM>1</SADAL_APM> <dmDApmSadRBL> <row> <DATUMS>2015-06-15</DATUMS> <SUMMA>25</SUMMA> <PK_VAL>5</PK_VAL> </row> <row> <DATUMS>2015-07-01</DATUMS> <SUMMA>23.40</SUMMA> <PK_VAL>5</PK_VAL> </row> </dmDApmSadRBL> <tblRindas> <row> <RN_VEIDS>0</RN_VEIDS> <PK_NOM>98946</PK_NOM> <DAUDZ>1</DAUDZ> <PK_VIEN>1008</PK_VIEN> <FCENA>50</FCENA> <ATLAIDE>20</ATLAIDE> <DATUMS>2015-06-01</DATUMS> </row> </tblRindas> </entity></resource>

Entītes datu atlasīšana

Atsevišķas entītes datus var atlasīt, veicot pieprasījumu uz konkrētās klases apakšresursu {pk}, kur {pk} ir entītes identifikators (primārā atslēga).

Page 53: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Atsevišķas entītes datus var atlasīt, veicot pieprasījumu uz konkrētās klases apakšresursu {pk}, kur {pk} ir entītes identifikators (primārā atslēga).Accept galvene nosaka vēlamo atbildes datu formātu. Iespējamie formāti (noklusēti) vai . Atsevišķiemapplication/xml application/jsonresursiem iespējami arī citi formāti, piemēram, izdrukas var tikt sagatavotas formātā.application/pdf

Entītes datu atlases pieprasījumsGET http://localhost:81/rest/TdmBLDValsts/3 HTTP/1.1Accept: application/xmlAuthorization: Basic RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

Atbildē ir prasītās entītes dati. Pieslēgums tiek veikts lietotāja noklusētajā firmā. Informācija par firmu, kuras dati tiek atdoti pieejama galvenē Org. Tālākā komunikācija ar REST serveri notik sesijas ietvaros, kuru raksturo .anization cookie

Pieprasījuma atbildeHTTP/1.1 200 OKContent-Type: application/xml; charset=UTF-8Content-Length: 904Date: Mon, 28 Dec 2015 07:58:20 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=ZP8n6VushzquwTL; Path=/

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Enttijas ieraksts</description> <entity xsi:schemaLocation="TdmBLDValsts.xsd TdmBLDValsts.xsd"xmlns="TdmBLDValsts.xsd"> <COUNTER>29</COUNTER> <PK_VALSTS> <href rel="self">/rest/TdmBLDValsts/3</href> </PK_VALSTS> <KODS>LV</KODS> <NOSAUK>Latvija</NOSAUK> <NOSAUK_LNG1/> <NOSAUK_LNG2/> <NOSAUK_LNG3/> <NOSAUK_G>Latvijas</NOSAUK_G> <NOSAUK_D>Latvijai</NOSAUK_D> <NOSAUK_A>Latviju</NOSAUK_A> <NOSAUK_L>Latvij</NOSAUK_L> <PK_VAL> <href>/rest/TsdmValName/1</href> </PK_VAL> <STATUSS>0</STATUSS> <DAR_VIETA>2</DAR_VIETA> <KODSA3/> </entity> <link> <href>/rest/TdmBLDValsts/3/print</href> <description>Izdrukas</description> </link></resource>

Page 54: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Esošas entītes datu labošana

Par darbu ar konkrētu entīti atbild apakšresurss pēc entītes primārās atslēgas vērtības, piemēram, . GET metode/rest/TDdmCustomer/18938izmantojama, lai saņemtu konkrētās entītes datus, bet POST metode, lai saglabātu entītes datu labojumus. Izmaiņu saglabāšanu var veikt, sūtotvisus saņemtos XML elementus kopā ar dažiem mainītajiem, bet var sūtīt arī tikai tos elementus, kuri tikuši mainīti. Ja XML failā elements navnorādīts, entītes lauks mainīts netiks. Ja XML failā lauks ir norādīts, entītei tiks lietota norādītā vērtība. Ja XML failā lauks ir norādīts, taču vērtībunesatur (tukšs elements), entītes lauka vērtība tiks dzēsta.

Piemērs: klienta kartiņas - uzņēmuma "Jauns klients" entītes lauku izgūšana.

Entītes datu izgūšanaGET /rest/TDdmCustomer/18938 HTTP/1.1

Atbilde satur visus entītes laukus ar aktuālajiem datiem (piemērā aprauti).

Entītes datu izgūšanas atbildeHTTP/1.1 200 OK

...<resource><description>Enttijas ieraksts</description><title>KL-0731 : Jauns klients</title><entity xmlns="TDdmCustomer.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="TDdmCustomer.xsd TDdmCustomer.xsd"><PK_DOKT><href>/rest/TdmDocType/207</href></PK_DOKT><PAMV_ID>3011</PAMV_ID><COUNTER>1</COUNTER><PK_KLIENTS><href rel="self">/rest/TDdmCustomer/18938</href></PK_KLIENTS><KODS>KL-0731</KODS><TIPS>3</TIPS><NOSAUK>Jauns klients</NOSAUK><NOSAUK_LNG1/><NOSAUK_LNG2/><NOSAUK_LNG3/><PAP_KODS/><REG_NR>000000002</REG_NR><REG_DAT/><PVN_APLNR/><PVN_REGNR/><PVN_REGNR_LNG1/><PVN_REGNR_LNG2/><PVN_REGNR_LNG3/><PVN_REGDAT/><PVN_APLSER/><PERSKODS/><PK_VALSTS/><PK_DSEKT/>

Page 55: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<PK_TERIT/><REZIDENTS>1</REZIDENTS><PK_PVNK><href>/rest/TdmPvnKat/1</href></PK_PVNK><PK_PARD/><DBKRPAZ>1</DBKRPAZ><PK_VAL><href>/rest/TsdmValName/5</href></PK_VAL><PK_KONTS/><PK_AVKONTS/><SAITVEID>0</SAITVEID><PK_CENVEID/><KREDLIM/><PK_APMV/><APMTERM/><BRIDIN/><PK_GRUPA/><MAKS_ORG/>

Page 56: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<ADRESE/><STATUSS>0</STATUSS>.....

Minimālais norādāmo datu komplekts nosūtāmajā XML failā ir entītes primārā atslēga (dublē resursu, uz kuru veic POST metodi) un saņemtā COU elementa vērtība. lauks tiek izmantots, lai atpazītu konkurentos labojumus datubāzē. Ja kopš labošanas uzsākšanas (pēc veiktāsNTER COUNTER

GET operācijas uz resursu), entītei ir veikti labojumi, datubāzē counter lauka vērtība būs pieaugusi. Saglabājot mainītos entītes datus, norādītajaicounter lauka vērtībai ir jāsakrīt ar to, kāda saglabāšanas brīdī ir datubāzē. Kamēr vērtības sakrīt, veiksmīga saglabāšana ir iespējama. Taču, javērtības atšķiras, izmaiņas saglabātas netiks un HTTP atbildē būs 500 atbildes kods kopā ar kļūdas paziņojumu.

Piemērs: klienta kartiņas – uzņēmuma "Jauns klients" reģistrācijas numura labošana.

Ieraksta labošanas pieprasījumsPOST /rest/TDdmCustomer/18938 HTTP/1.1Content-Type: application/xml;charset=UTF-8

<resource> <entity> <COUNTER>1</COUNTER> <PK_KLIENTS> <href rel="self">/rest/TDdmCustomer/18938</href> </PK_KLIENTS> <REG_NR>000000001</REG_NR> </entity></resource>

Atbilde satur tikai veiksmīgas darbības kodu 200.

Ieraksta labošanas atbildeHTTP/1.1 200 OKDate: Mon, 28 Jul 2014 09:54:24 GMTOrganization: 2, "SIA Kalns"

Entītes dzēšana

Lai dzēstu entīti, jānosūta pieprasījums entītes resursam, kuru nepieciešams dzēst:DELETE

Entītes dzēšanas pieprasījumsDELETE /rest/TdmCustomer/18938 HTTP/1.1Content-length: 0 

Ja dzēšana bijusi veiksmīga, atbildē tiks atgriezts HTTP atbildes kods 204:

Page 57: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

HTTP/1.1 204 No ContentConnection: keep-aliveContent-Length: 0Date: Wed, 03 Jun 2015 07:19:34 GMT

Entītes procedūru izpilde

Entītes wadl ir redzamas entītei pieejamās izpildāmās procedūras ar parametriem

Piemērs: Procedūra :Izpildīt

Entītes procedūras<resource path="ExecuteFromKey"><method name="POST" id="ExecuteFromKey"><request><representation mediaType="application/xml"/><representation mediaType="application/x-www-form-urlencoded"><param style="query" name="aKey" required="true" type="xsd:int"/><param style="query" name="CounterVal" required="true" type="xsd:int"/><param style="query" name="GramDate" required="true" type="xsd:decimal"/></representation></request><response status="200"/></method></resource>

POST datu piemērs procedūrai :Izpildīt

Resurss/rest/TNdmPvzRekS

Saturs<resource><aKey>PK_DOK Rins</aKey><CounterVal>3</CounterVal> - Rina Counter aktul vrtba<GramDate>2015-06-10T00:00:00.000+03:00</GramDate> - Izpildes datums</resource>

Darbs ar entīšu kolekcijas (saraksta) resursuPamata filtrēšana

Pieprasījumu atbildēs sastopamie lauku tipiPamata filtrēšana - parametri

Filtrēšanas funkcijas atbilstoši lauka tipamPapildus filtrēšana – kritērijiDatu kārtošana

Page 58: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Papildus filtrēšana – kritērijiDatu kārtošanaAtgriezto ierakstu skaita ierobežošana

Limitēšanas indikācijaParametrs limitNelimitēti pieprasījumi

Kolekciju XML datu struktūras

Pamata filtrēšana

Kolekciju resurss (saraksti, klasifikatori) paredzēts datu pieprasījumiem, vajadzības gadījumā pielietojot datu atlasi.

Kolekciju resursa datu pieprasījumu veidi:

query - parastais datu pieprasījums. Dati tiek atlasīti atbilstoši pieprasījumā norādītajiem parametriem. Piemēram (norādot tikaicolumns),

rest/TDdmKlSar/query?columns=K_KODS,K_NOSAUK,K_TIPS,TIP_ID,K_NORTIPS,K_STATUSS;

default - noklusētais datu pieprasījums. .Pieprasījuma atbildē automātiski ir iekļautas kolonnas no Horizon beidzamā lietotā izskataPiemēram,

rest/TDdmKlSar/default. 

Papildus kolonnas var iekļaut pēc vajadzības, tāpat kā query veida datu pieprasījumam.

Kolekciju resursa parametri:

columns - nosaka datu pieprasījumā iekļaujamās kolonnas. Atbildes datos vienmēr automātiski tiks iekļautas primārās atslēgas uncounter lauka kolonnas. Ja tiks prasīta kāda summas kolonna, atbildē būs pievienota arī kolonnai atbilstošā valūtas kolonna. Sīkāknodaļā ;Kolekciju XML datu struktūrasfilter - datu atlases nosacījumi, sīkāk nodaļā . Katram laukam (kolonnai) ir savi pielietojamie filtrēšanasPamata filtrēšana -parametrinosacījumi. Noklusēti tie tiek piešķirti atbilstoši lauka tipam, skat. tabulu , bet var būt mainītiPieprasījumu atbildēs sastopamie lauku tipiatbilstoši lauka specifikai.criteria - pielietot papildus atlases nosacījumus. Sīkāk nodaļā .;Papildus filtrēšana – kritērijiorderby - atlasītos datus sakārtot noteiktā secībā. Sīkāk nodaļā ;Datu kārtošanalimit - ierobežot atlasāmo datu skaitu. Limita vērtība veic datu iegūto datu atdošanu bez buferēšanas un apjoma ierobežojumiem-1vienam pieprasījumam. Sīkāk nodaļā .Atgriezto ierakstu skaita ierobežošana

Pieprasījumu atbildēs sastopamie lauku tipi

Lauka tips (XSD apzīmējums) Oracle Microsoft SQL Skaidrojums

PK NUMBER(10,0) INT primārās atslēgas laukiem

global:ForeignKeyStructure NUMBER(10,0) INT norādēm uz citu saistītu objektu

xsd:integer NUMBER(10,0) INT veselo skaitļu datiem

xsd:short NUMBER(5,0) SMALLINT veselo skaitļu datiem, datiem ar vērtību pārskaitījumu (enumeratio)n

Size(n)StringType VARCHAR2(n) VARCHAR(n) vaiNVARCHAR(n)

teksta datiem

xsd:string CLOB TEXT vai NTEXT neierobežota garuma teksta datiem

xsd:date

xsd:datetime

xsd:gYearMonth

DATE DATETIME datuma un laika datiem

global:InterimDateStructure VARCHAR2(10) VARCHAR(10) grāmatošanas perioda tipa datiem

global:BlobDataStructure BLOB IMAGE binārajiem datiem

Page 59: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

xsd:double NUMBER(m,n) NUMERIC(m,n) skaitliskiem datiem, t.sk. naudas summu datiem

Pamata filtrēšana - parametri

REST interfeisā datu atlases filtrus veido, izmantojot pieprasījuma parametru . Piemēram, .filter filter=K.TIPS eq 3 and K.DBKRPAZ eq 1

Filtrus var veidot, izvēloties , kuram veido filtru, kuru izmantos filtrēšanā un vienu vai vairākas , rezultātā veidojotlauku funkciju, lauka vērtībaskonkrētu nosacījumu.

Katram ir savas noklusētās , skat. lauka tipam filtrēšanas funkcijas un Pieprasījumu atbildēs sastopamie lauku tipi atbilstoši Filtrēšanas funkcijas lauka tipam.

Katra atlase var tikt apvienota ar nākamo, izmantojot loģisko UN. Filtriem ir paredzēta iespēja vienā atlasē viena loģiskā nosacījuma vietā iekļautvairākus savstarpēji saistītus nosacījumus ar loģisko VAI. Horizon aplikācijā to dara, veidojot nosacījumu grupu - uzrāda visiem grupas ierakstiemvienu un to pašu grupas identifikatoru. REST interfeiss nodrošina iespēju veidot nosacījumus ar identisku sarežģītību.

Piemēram, var izveidot šādu: filtrs ir . Norādot sarežģītāku filtru, REST interfeiss ziņos par kļūdu.(atlase1 VAI atlase2) UN atlase3

Interfeisā ir iekļauta automātiska apstrāde, lai filtra formā automātiski konvertētu par (nosacjums1 UN nosacjums2) VAI nosacjums3 (no.sacjums1 VAI nosacjums3) UN (nosacjums2 VAI nosacjums3)

Funkcija REST pieraksts Skaidrojums

= field eq value Lauka vērtība vienāda ar uzdoto vērtību

<> field ne value Lauka vērtība nav vienāda ar uzdoto vērtību

< field lt value Lauka vērtība mazāka par uzdoto vērtību

<= field le value Lauka vērtība ir mazāka vai vienāda ar uzdoto vērtību

> field gt value Lauka vērtība lielāka par uzdoto vērtību

>= field ge value Lauka vērtība ir lielāka vai vienāda ar uzdoto vērtību.

Piemērs parastam datuma laukamK.REG_DAT ge 2015-01-01

Piemērs ar grāmatojumu perioda datumiemfilter=DAT_GRP ge '2016050100' and DAT_GRPlt '2016053199'

IR TUKŠS isnull(field) Laukam nav vērtības

NAVTUKŠS

not isnull(field) Laukam ir vērtība

SKAS AR startswith(field, 'value') Tikai teksta laukam. Lauka vērtība sākas ar norādītajiem simboliem (var norādīt šablonu)

PCŠABLONA

like(field, 'value') Tikai teksta laukam. Lauka vērtība atbilst norādītajam šablonam

NAV PCŠABLONA

not like(field, 'value') Tikai teksta laukam. Lauka vērtība neatbilst norādītajam šablonam

490+ ieviesta filtra funkcija SAITE vai tehniski foreignkey

Page 60: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

NESKASAR

not startswith(field,'value')

Tikai teksta laukam. Lauka vērtība nesākas ar norādītajiem simboliem (var norādītšablonu)

BEIDZASAR

endswith(field, 'value') Tikai teksta laukam. Lauka vērtība beidzas ar norādītajiem simboliem

STARP between(field,value1,value2) Tikai datuma laukiem. No viena norādītā datuma līdz otram norādītam datumam.

Piemērs parastam datuma laukambetween(K.REG_DAT,2014-01-01,2014-12-31)

Piemērs ar grāmatojumu perioda datumiembetween(D_DAT_GRP,2016050100,2016053199)

ŠODIEN dtoday(field) Tikai datuma laukam. Tikai ar šodienas datumu

PDJS dlast(field,n) Tikai datuma laukam. Laika periods - pēdējās n dienas, skaitot no šodienas (n dienuskaits)

NKAMS dnext(field,n) Tikai datuma laukam. Laika periods - nākošās n dienas, skaitot no šodienas (n dienuskaits)

SAITE foreignkey=href,value,title Izmantojams indentifikatoru (PK) laukiem, lai vaicājumā reizē ar saiti uz saistīto resursu izun resursa virsrakstu (kodu un nosaukumu). Atļauta jebkuragūtu arī identifikatora vērtību

parametra vērtību kombinācija, noklusēti foreignkey=href

PIEDER childof(field,value) Tikai laukam, kas ietilpst hierarhiskā sarakstā. Atlasīt ierakstus, kuri pieder norādītajamhierarhiskajam līmenim vai kādam no tā apakšlīmeņiem.

Piemērs nosacījumam kontu apgrozījuma sarakstam, kur 101 ir virslīmeņa kontaidentifikators (PK).

childof(KON.KONG.IZMP.PK_IZMP,101)

NEPIEDER not childof(field, )value Tikai laukam, kas ietilpst hierarhiskā sarakstā (k . Atlasīt ierakstus,ā lauku jāizmanto PK)kuri nepieder ne norādītajam hierarhiskajam līmenim, ne tā apakšlīmeņiem.

IEKAUJ parentof(field, )value Tikai laukam, kas ietilpst hierarhiskā sarakstā . Atlasīt ierakstus,(kā lauku jāizmanto PK)kuri pieder kādam no norādītā lauka hierarhiskā līmeņa virslīmeņiem.

Filtrēšanas funkcijas atbilstoši lauka tipam

Lauka tipi

________

Funkcijas

ForeignKeyStructure

PK

ForeignKeyStructure

PK

( )ar hierarhiju

xsd:date xsd:datetime

global:InterimDateStructure

xsd:gYearMonth

xsd:string

Size(n)StringType

xsd:integer

xsd:short

xsd:double

xsd:integer

(lauku vērtību

pārskaitījumiem)

=

<>

<

<=

Page 61: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

>

>=  

IR TUKŠS

NAV TUKŠS

SKAS AR

PC ŠABLONA

NAV PC ŠABLONA  

NESKAS AR  

BEIDZAS AR

STARP

ŠODIEN

PDJS

NKAMS

SAITE

PIEDER

NEPIEDER

IEKAUJ

Filtra nosacījumi ir pieprasījuma URL daļa un tāpēc tos arī jākodē atbilstoši specifikācijai RFC 1738. Tīmekļa pārlūki šo kodēšanu veicautomātiski.

GET /rest/TDmKlSar/query?filter=K.KODS%20eq%20%27Visma%20Enterprise%27

Datuma un datumlaika vērtības jānorāda atbilstoši standartam ISO 8601. Piemēram vai .2013-08-07T12:04:20.000+03:00 2013-08-07

Teksta lauku vērtības norāda, iekļaujot tās apostrofos. Gadījumā, ja tekstā ir apostrofs, tas jānorāda divreiz, piemēram, 'McDonald''s'

GET /rest/TDmKlSar/query?filter=K.KODS%20eq%20%27McDonald%27%27s%27

Atsauces uz citām entītēm (oblektiem/resursiem) var norādīt gan kā vienkāršu skaitli - primārās atslēgas vērtību, gan arī kā atsauci, piemēram, /. Zemāk redzamajā piemērā abi filtri ir līdzvērtīgirest/TDmCustomer/100

K.PK_KLIENTS eq 100K.PK_KLIENTS eq /rest/TDdmCustomer/100

Piemērs filtram pēc datuma, kur beigu datums var būt tukšs. Piemērā vajag atlasīt spēkā esošos ierakstus uz 23.02.2015

Page 62: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

(isnull(LAT.BEIG_DAT) or (LAT.BEIG_DAT ge 2015-02-23)) and (LAT.SAK_DAT le2015-02-23)

Papildus filtrēšana – kritēriji

Horizon papildus parametriem iespējama vēl viena filtrēšanas iespēja - kritēriji.

Katra resursa iespējamo kritēriju pārskaitījums pieejams resursā , piemēram, .criteria /rest/TDdmKlSar/criteria

Šai iespējai nav vizuāli redzama analoga Horizon GUI.

Kolekciju objektiem kritēriji ir programētāju realizēti kodā iešūti atlases nosacījumi. Kritērijiem var būt parametri. Kritērijiem var būt sinonīmi, kuriieslēdz vienu vai vairākus citus kritērijus. Kritēriji šobrīd automātiski skaidroti netiek. Par to pielietošanu var uzzināt FMS integratoru atbalstaforumā kā risinājumu konkrētajai vajadzībai.

Piemēram, lietojot FTG tehnoloģiju, dokumentācijā klasei TadmSamvSar iekļauts šāds piemērs: atvērt samaksas veidu sarakstu filtrētujavadocpēc grupas.

TadmSamvSar list=(TadmSamvSar)client.getRemoteObject("TadmSamvSar");list.setColumnRequired("KST_KODS,KST_NOSAUK,APR_NOSAUK,KST_PK_GRUPA,KST_M_TIPS", true);list.setCriteriaParam("PK_GRUPA", "102");list.open("GRUPA");

REST analoģisks izsaukums ir /rest/TadmSamvSar/query?criteria=GRUPA&PK_GRUPA=102&columns=KST.KODS,KST.NOSAUK,KST.PK_GRUPA,KST.M_TIPS

Par lietoto kritēriju resursā pieejama šāda informācija:GRUPA /rest/TadmSamvSar/criteria

Page 63: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Datu kārtošana

Kolekcijas atgrieztos datus sakārtot pēc viena vai vairākiem laukiem. Lai to izdarītu, pieprasījumā jānorāda parametrs , kura vērtība irorderbylauku saraksts, pēc kuriem jāsakārto kolekcijā iekļautie dati. Katram laukam pēc tā nosaukuma var norādīt arī kārtošanas virzienu - augošu ( )ascvai dilstošu ( ). Zemāk redzamajā piemērā atgrieztā kolekcija tiks sakārtota pēc lauka augošā secībā un pēc tam pēc lauka desc ADRESE PK_ADR

secībā.ESE dilstošā

GET /rest/TdmNAdresesSar/query?orderby=A.ADRESE,A.PK_ADRESE%20desc HTTP/1.1

Atgriezto ierakstu skaita ierobežošana

Tāpat kā Horizon aplikācijā, arī REST gadījumā maksimāli atdoto ierakstu skaits tiek ierobežots. Maksimālo ierakstu skaitu iespējams noteiktkatram Horizon lietotājam savu. Parametra konfigurācija pieejams → → → → Sistēma Uzstādījumi Kontroles un vides parametri Sistēma Sarakst

.a ierakstu skaita limits

Limitēšanas indikācija

Informācija par to cik daudz ierakstu atbildē saņemti un vai ir iestājies atdoto datu saņemšanas limits pieejama atbildes metadatu sadaļā.

470+

Page 64: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Saņemto ierakstu skaita indikācija<resource> <collection> <metadata> <page> <count>1000</count> <limited>true</limited> <message>Pardti pirmie 1000 ieraksti, bet pc ievadtajiem kritrijiemdatu bz ir atrasti vairk. Ldzu, precizjiet atlases kritrijus!</message> </page> </metadata> </collection></resource>

Atbildes apjoma metadatu skaidrojums:

/resource/collection/metadata/page/count – atbildē saņemto ierakstu skaits. Gadījumā, kad iestājies ierobežojums, skaitssakrīt ar limitu;/resource/collection/metadata/page/limited – true/false pazīme vai ierakti tikuši ierobežoti;/resource/collection/metadata/page/message – Horizon lietotājam rādītais paziņojums iestājoties maksimālajam saņemtoierakstu limitam.

Parametrs limit

Horizon REST interfeiss entīšu kolekciju datu pieprasījumiem paredz iespēju ierobežot saņemto ierakstu skaitu ar parametra palīdzību.limitIespēja ļauj atlasīt, piemēram, pirmos dažus ierakstus, kuri atbilst prasītajam kritērijam.

Piemērs atlasīt pirmo klientu ierakstu, kura nosaukums sākas ar "V". Pieprasījums /rest/TDdmKlSar/query?columns=K.NOSAUK&orderby=K.NOSAUK&filter=startswith(K.NOSAUK,'V')&limit=1

Datu pieprasījumsGET/rest/TDdmKlSar/query?columns=K.NOSAUK&orderby=K.NOSAUK&filter=startswith(K.NOSAUK,%27V%27)&limit=1 HTTP/1.1Host: localhost:81Accept: application/xmlCookie: IDHTTPSESSIONID=dL5Jrwcm7sp12BC

Pieprasījuma parametrs limit nevar pārsniegt lietotājam uzstādīto maksimālo atļauto saņemto ierakstu skaitu. Pārsniedzot maksimālolimitu tas tiks piemērots automātiski.

Page 65: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Saņemtā atbilde<resource> <collection> <metadata> <page> <count>1</count> <limited>true</limited> <message>Pardti pirmie 1 ieraksti, bet pc ievadtajiem kritrijiemdatu bz ir atrasti vairk. Ldzu, precizjiet atlases kritrijus!</message> </page> </metadata> <row> <K> <PK_KLIENTS> <href>/rest/TDdmCustomer/11839</href> </PK_KLIENTS> <COUNTER>0</COUNTER> <NOSAUK>V-PILS PILS.DOMES SOCILAIS DIENESTS</NOSAUK> </K> </row> </collection></resource>

Nelimitēti pieprasījumi

Parasti Horizon datubāzei nosūta SQL vaicājumu, visus datus uzkrāj FTG servera atmiņas buferī un tikai tad formē atbildes XML. Šāda pieeja ļaujatbildes sākumā iekļaut informāciju par saņemto ierakstu skaitu (elements ). Lai aizsargātu/resource/collection/metadata/page/countHorizon sistēmu no ļoti lieliem pieprasījumiem tika ieviesta maksimālo saņemamo ierakstu skaita ierobežošana. Tomēr mēdz būt gadījumi kadnepieciešams no datubāzes izgūt vairāk ierakstu kā maksimālais limits atļauj. Šādas vajadzības nodrošināšanai REST interfeisā izveidots veidsiegūt atbildes datus bez to pilnas buferēšanas FTG servera atmiņā. Saņemot datus no SQL datubāzes serveris uzreiz formē un nosūta atbildi.

Šo darba režīmu ieslēdz ar parametra vērtību . Šādai atbildei kopējais ierakstu skaits nav zināms un atbildes metadatu sadaļā ierakstulimit=-1skaita elements iekļauts netiek. count

Kolekciju XML datu struktūras

Arī entīšu kolekciju resursa datu struktūra tiek skaidrota ar XML Shema resursu.

Horizon jebkurš saraksts tiek veidots kā pamata datu vienība, piemēram, ekonomiskā būtība <EkB>, atbilstoši kurai organizēti lietoto klasifikatoruelementi, piemēram, grupa <Gr>.

Page 66: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Lai arī Horizon kolonnu hierarhiskajā skatā abi elementi attēloti vienā līmenī, faktiskā organizācija ir hierarhiska jau, sākot ar pirmo līmeni.Struktūras sākumā ir lauki no pamata elementa, grupēti ar <GEK>, bet saistītā grupu klasifikatora vērtības ir zemāk elementā <GEKGRP>.

Datu piemērs, vēršoties pie resursa /rest/TekButSL/query?columns=GEK.PAMV_ID,GEK.KODS,GEK.NOSAUK,GEK.GEKGRP.KODS,GEK..GEKGRP.NOSAUK

Page 67: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Atbildes sākumā tiek atgriezti metadati, kas skaidro atbildē iekļauto (pieprasīto un tehnisko) lauku datu aprakstus, datu tipus, parametrus.

Page 68: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Lietotie lauki skaidroti resursa XML shēmā. Piemēram, resurss, skaidro ekonomisko būtību kolekcijas/rest/TekButSL/TekButSL.xsdiespējamos laukus.

Page 69: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Kolekciju resursa XML shēmas uzdevums ir skaidrot visus laukus, kuri varētu tikt iekļauti datu pieprasījumā. Tā kā kolekciju objekts tiek veidots notādiem pašiem tabulveida elementiem kā entītes objekts, arī, skaidrojot iespējamo struktūru, tiek izmantotas atsauces uz struktūrām atbilstošoentīšu shēmu resursiem. Piemērā redzama relatīvā atsauce uz ekonomisko būtību grupu entītes shēmas resursu /rest/TEkButGrupaBL/TEk

.ButGrupaBL.xsd

Vispārēji resursiŠeit uzskaitīti REST resursi, kuri var noderēt, veidojot integrācijas risinājumu.

Klienta Horizon versijaPubliskās atslēgas izgūšana

Datu apmaiņas žurnāls Integrācijas platformaFailu pielikumi dokumentiemKlasifikatoru sinhronizācija

Klienta Horizon versija

Horizon un REST servera aktuālās versijas nsokaidrošanai

Resurss: rest/global/agentVersion

Publiskās atslēgas izgūšana

Noderēs, ja tiks JOSE+JSON formāts, kurš nodrošina pieprasījuma sūtītāja pārliecību, ka no REST servera atbildē saņemtie dati nav modificētiun atbilst Horizon datiem.

Resurss: rest/system/jwks/json

Vaicājuma parametros galvenē ( ) parametram jānorāda vērtība header Accept application/json

Page 70: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

PieprasījumsGET /rest/system/jwks HTTP/1.1Accept: application/json

Atbildes piemērs{ "description": "JWKS", "keys": [ { "kty": "oct", "use": "sig", "alg": "HS256", "k": "gjEtYiJSLKF6DxgIDyVoqcPXZDYZl3pLYu4T0N3R" }]}

Atbildes laukā ir norādīta publiskās atslēgas vērtība.k

Datu apmaiņas žurnāls Integrācijas platformaMērķisPriekšnoteikumi

Saskarnes (interfeisa) konfigurācija Horizon Sinhronizācijas Interfeisa kartīte Horizon 490.versijā (attēls) Horizon tiesības Datu apmaiņas žurnālam Horizon lietotāja tiesības - ievade Horizon 490.versijā (attēls)

Ieraksti datu apmaiņas žunālāŽurnāla ieraksta veidošana (uzsākšana)

POST datu piemērs (uz rest/system/log): Žurnāla jauna ieraksta izveidošanas POST datu apraksts

Ieraksta noslēgšanaPOST datu piemērs (uz rest/system/log/PK)

Ieraksta izpildes notikumi Izpildes notikumi Horizon 490.versijā (attēls) Jauna notikuma veidošana Notikuma izveidošanas POST datu aprakstsIzveidotā notikuma apskate

Žurnāla ierakstu un notikumu labošana un dzēšana

Mērķis

Horizon ir izveidots žurnāls, kurā visām saskarnēm (interfeisiem) ir iespēja saglabāt veikto datu apmaiņas notikumu aprakstus.

Žurnāla atrašanās vieta Horizon: Reģistrētie notikumi pieejami Sistēma -> Notikumi -> Datu apmaiņas žurnāls

Priekšnoteikumi

Saskarnes (interfeisa) konfigurācija Horizon

Lai būtu iespēja reģistrēt datu apmaiņas notikumus, Horizon jāizveido atbilstoši nokonfigurēta saskarne (Sistēma -> Administrēt -> Saskarnes).

Sinhronizācijas Interfeisa kartīte Horizon 490.versijā (attēls)

Page 71: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Horizon tiesības Datu apmaiņas žurnālam

Lai regulētu pieejas tiesības darbam ar datu apmaiņas žurnālu, ir izveidots atsevišķs tiesību veids - Sistēma/Notikumi/Datu apmaiņas žurnāls.Tiesības paredz:

apskatīt žurnālu.pievienot un labot

Horizon lietotāja tiesības - ievade Horizon 490.versijā (attēls)

REST resursu un metožu uzskaitījums darbam ar žurnālu

Resurss Metode Apraksts

rest/system/log?columns=... GET SL darbam ar sava interfeisa audita pierakstiem

rest/system/log POST Jauna ieraksta izveide - apmaiņas notikuma uzsākšana

rest/system/log/pk GET Apmaiņas notikuma ieraksta datu nolasīšana

rest/system/log/pk POST Apmaiņas notikuma datu labošana - apmaiņas notikuma pabeigšana

rest/system/log/ /details?columns=...pk GET SL darbam ar apmaiņas notikumu detalizāciju

rest/system/log/ /detailspk POST Jauna ieraksta izveide par interfeisa izpildes gaitu

Page 72: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

rest/system/log/ /details/pk pk GET Piekļūšana apmaiņas gaitas ieraksta datiem

Citas metodes, kuras arī ir izmantojamas ierakstu un atsevišķu ieraksta notikumu veidošanai un apstrādei, aprakstītas tālāk tekstā.

Ieraksti datu apmaiņas žunālā

Datu apmaiņas žurnāls Horizon 490.versijā (attēls)

Žurnāla ieraksta veidošana (uzsākšana)

Jaunu žurnāla ierakstu var veidot:

ar POST uz resursu rest/system/log, izmantojot rest/TdmSyncEventBL/template laukus ar POST uz resursu , kuram POST dati aprakstīti rest/TdmSyncEventBL/TdmSyncEventBL.wadl rest/TdmSyncEventBL/CreateNewEvent

POST datu piemērs (uz rest/system/log):

Datu piemērs<resource> <entity> <INOUT>1</INOUT> <DATAID>11</DATAID> <EVENTDATA>vecku kvtias par PII Saulte</EVENTDATA> </entity> </resource>

Žurnāla jauna ieraksta izveidošanas POST datu apraksts

REST lauks Lauka apraksts Horizon lauks Jāaizpilda intefeisam

(pārējos laukus

aizpildīs žurnāls)

Komentārs

Page 73: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<COUNTER/>

<PK_SYNCEVENT/>

<PK_SYNCINTERF/> Interfeisa Sistēmas ID SINT_PK_SYNCINTERF

<SISTID/> Algoritma identifikators SINT_SISTID Tiks aizpildīts tikai specifiskuinterfeisu apmaiņas notikumuierakstu izveidošanasprocesā.

Pilns šo interfeisu sarakstsuzskaitītsTdmSyncEventBL.xsd TdmSy

ncEventBLSISTIDType.

<INOUT/> Darbības virziens SEVE_INOUT Jāaizpilda interfeisam -vērtības aprakstītasTdmSyncEventBL.xsd

<SYSUSER/> Neredzams Horizon UI Interfeisa otra UI lietotājs

<PK_USER/> Lietotāja Sistēmas ID USR_PK_USER

<PK_OUSER/> WEB lietotāja Sistēmas ID USO_PK_OUSER

<DATAID/> Interfeisa pakas identifikators SEVE_DATAID Interfeisa pakas identifikators- jāaizpilda ar kāds noHorizon dokumentupamatveida Sistēmas ID

<EVENTDATA/> Saņemtie dati EVENTDATA Ieraksta nosaukums

<STATUSS/> Statuss SEVE_STATUSS Uzsākot nav jāiesūta, žurnālspiešķirs pats. Noslēdzot ierajāiesūta ar vērtību 2

<RSTART/> Pieprasījuma sākuma laiks SEVE_RSTART

<RSTOP/> Pieprasījuma beigu laiks SEVE_RSTOP

<EXPIRYDATE/> Saglabāt līdz Aizpildās ar datumu pēckonfigurācijā norādītā vai pēcnoklusējuma, skat.Notikumudzēšana

<dmSyncLogRowBL/> Ieraksta atsevišķa notikumadatu struktūra. Tā nevar tiktazpildīta reizē ar jaunaieraksta uzsākšanu.

Ieraksta noslēgšana

Žurnāla ierakstu var noslēgt (pēc visu atsevišķo notikumu veidošanas vai bez ieraksta sadalīšanas notikumos):

ar uz resursu POST rest/system/log/PK

POST datu piemērs (uz rest/system/log/PK)

Datu paraugs<resource> <entity> <STATUSS>2</STATUSS> </entity> </resource>

Page 74: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

ar uz resursu POST rest/TdmSyncEventBL/CreateNewEvent

Ieraksta izpildes notikumi

Zem katra žurnāla ieraksta var veidot vairākus notikumus, ja tas ir nepieciešams datu ierakstu grupēšanas vai citu biznesa prasību dēļ.

Jaunu notikumu var veidot pēc žurnāla ieraksta izveidošanas.

Izpildes notikumi Horizon 490.versijā (attēls)

Jauna notikuma veidošana

uz resursu rest/system/log/ /details, izmantojot PK izmantojot rest/TdmSyncLogBL/template laukus.

Resursam rest/system/log/ /details PK vērtība ir jānorāda tā, kuru saņem kā atbildi uz POST /rest/system/log pēc jauna žurnāla ierakstaPKizveidošanas/uzsākšanas.

Notikuma izveidošanas POST datu apraksts

REST lauks

(=Horizon lauka nosaukums)

Lauks Jāaizpilda intefeisam

(pārējos laukus

aizpildīs žurnāls)

Apraksts

<PK_SYNCLOG/> Izpildes notikuma ID

<PK_SYNCEVENT/> Apmaiņas notikuma ID

<TIMESTAMP/> Datums un laiks (Apstrādes laiks)

<STATUSS/> Statuss Aizpilda atbilstoši iespējamajiem.atbilžu kodiem

Lauka vērtību (aprakstītasTdmSyncEventBL.xsd)

atbilstība:

0 ( - 500,Not Ok)

1 ( - 200-204,Ok)

2 ( - 400-422Brīdinājums)

Page 75: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<RETURNTEXT/> Apstrādes rezultāts Norāda notikuma nosaukumu

PK_OBJ Apstrādātais objekts Norāda Apstrādātā objekta SistēmasID

PAMVID Objekta identifikators Norāda kādu no Horizon dokumentupamatveida Sistēmas ID

Izveidotā notikuma apskate

Izveidoto notikumu var apskatīt:

ar uz resursu GET rest/system/log/ /details/pk pk

Var izgūt arī no šiem resursiem:

notikumu sarakstu ar GET uz resursu rest/TdmSyncLogSL/defaultpa vienam - rest/TdmSyncLogBL/PK

Žurnāla ierakstu un notikumu labošana un dzēšana

Žurnāla ierakstu un notikumu labošana un dzēšana izmantojot REST vai manuāli no Horizon nav iespējama!

Žurnāla tīrīšana notiks automātiski, ik pēc saskarnes konfigurācijā norādītājām dienām vai pēc noklusējuma - ik pēc 90 kalendārajām dienām.

Failu pielikumi dokumentiemPievienoto failu apskatePievienoto failu izveidePievienoto failu dzēšana

Pievienoto failu apskate

Informācija par pievienotajiem failiem pieejama entītes resursa apakšresursā .attachments

GET http://localhost:81/rest/TNdmNom/99143/attachments HTTP/1.1

Page 76: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Pievienotie faili</description> <title>Pievienotie faili</title> <collection xsi:schemaLocation="TNdmNomAttachmentSL.xsdTNdmNomAttachmentSL.xsd" xmlns="TNdmNomAttachmentSL.xsd"> <metadata> <!-- metadati (nav iekauti piemr) --> </metadata> <row> <MULTISEL>0</MULTISEL> <ATTC> <PK_OBJ>99143</PK_OBJ> <PAMV_ID>2015</PAMV_ID> <FILENAME>test-00001.jpg</FILENAME> <COUNTER>0</COUNTER> <PK_ATTACHMENT> <href>/rest/TNdmNom/99143/attachments/1792</href> </PK_ATTACHMENT> <STOR> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <CONF> <size>21</size> <href>/rest/TNdmNom/99143/attachments/1792/CONF</href> </CONF> <VEIDS>0</VEIDS> <APRAKSTS>\\fs\kkus_repo</APRAKSTS> <STATUSS>0</STATUSS> </STOR> </ATTC> </row> <link> <href>/rest/TNdmNom/99143/attachments/TNdmNomAttachmentSL.xsd</href> <description>XSD shma</description> </link> <link> <href>/rest/TNdmNom/99143/attachments/TdmAttachmentBL.xsd</href> <description>Enttijas datu XSD shma</description> </link> <link> <href>/rest/TNdmNom/99143/attachments/{pk}</href> <description>Pievienotais fails</description> </link> </collection></resource> 

Informācija par konkrētu pievienoto failu pieejama resursa apakšresursā . Atkarībā no pieprasījuma parametra ,attachments {pk} bindataelementā atrodama vai nu saite uz resursu ar pievienotā faila saturu, vai arī kodēts pievienotā faila saturs. Abos gadījumosFILSIZE base64

saite pieejama arī kā atsevišķs elements vienā līmenī ar elementu.link entity

Page 77: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

saite pieejama arī kā atsevišķs elements vienā līmenī ar elementu.link entity

GET /rest/TNdmNom/99143/attachments/1792 HTTP/1.1

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Pievienotais fails</description> <entity xsi:schemaLocation="TdmAttachmentBL.xsd TdmAttachmentBL.xsd"xmlns="TdmAttachmentBL.xsd"> <COUNTER>0</COUNTER> <PK_ATTACHMENT> <href rel="self">/rest/TNdmNom/99143/attachments/1792</href> </PK_ATTACHMENT> <PK_OBJ>99143</PK_OBJ> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <PAMV_ID>2015</PAMV_ID> <FILEID>test-00001.jpg</FILEID> <FILENAME>test-00001.jpg</FILENAME> <AUTHOR>File Author</AUTHOR> <CREATED>2015-01-01T10:15:54.000+02:00</CREATED> <KOMENTARS/> <FILSIZE> <size>2287</size> <href>/rest/TNdmNom/99143/attachments/1792/test-00001.jpg</href> </FILSIZE> <PK_REPNOM> <href>/rest/TdmRDRepNomBL/0</href> </PK_REPNOM> <PK_RPDGRP>0</PK_RPDGRP> </entity> <link> <href>/rest/TNdmNom/99143/attachments/1792/test-00001.jpg</href> <description>Binrie dati</description> </link></resource>

GET /rest/TNdmNom/99143/attachments/1792?bindata=embed HTTP/1.1

(iekļauti dati base64 kodējumā)<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Pievienotais fails</description> <entity xsi:schemaLocation="TdmAttachmentBL.xsd TdmAttachmentBL.xsd"xmlns="TdmAttachmentBL.xsd"> <COUNTER>0</COUNTER> <PK_ATTACHMENT> <href rel="self">/rest/TNdmNom/99143/attachments/1792</href>

Page 78: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

</PK_ATTACHMENT> <PK_OBJ>99143</PK_OBJ> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <PAMV_ID>2015</PAMV_ID> <FILEID>test-00001.jpg</FILEID> <FILENAME>test-00001.jpg</FILENAME> <AUTHOR>File Author</AUTHOR> <CREATED>2015-01-01T10:15:54.000+02:00</CREATED> <KOMENTARS/> <FILSIZE> <size>2287</size> <data>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

Page 79: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

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</data> </FILSIZE> <PK_REPNOM> <href>/rest/TdmRDRepNomBL/0</href> </PK_REPNOM> <PK_RPDGRP>0</PK_RPDGRP> </entity> <link> <href>/rest/TNdmNom/99143/attachments/1792/test-00001.jpg</href>

Page 80: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<description>Binrie dati</description> </link></resource>

Pievienoto failu izveide

Lai izveidotu jaunu pievienoto failu entītei, jāveic pieprasījums uz šīs entītes apakšresursu Faila saturu jānorāda laukā POST attachments. FIL noformējot šī lauka saturu tāpat, kā citos bināros datus saturošos pieprasījumos (sk. ).SIZE, Jaunas entītes izveide, iekļaujot bināros datus

multipart/form-data pieprasījuma piemērsPOST http://localhost:81/rest/TNdmNom/99143/attachments HTTP/1.1Content-Type: multipart/form-data;boundary="----=_Part_0_910410645.1423741572728"MIME-Version: 1.0Content-Length: 157349Connection: Keep-Alive

------=_Part_0_910410645.1423741572728Content-Type: text/xml; charset=Cp1257; name=post-entity.xmlContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity"; filename="post-entity.xml"<entity> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <FILENAME>test-00002.jpg</FILENAME> <AUTHOR>File Author</AUTHOR> <CREATED>2015-01-01T10:15:54.000+02:00</CREATED> <FILSIZE> <data/> </FILSIZE></entity>------=_Part_0_910410645.1423741572728Content-Type: image/jpeg; name=post-FILSIZE.jpgContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity/FILSIZE";filename="post-FILSIZE.jpg"

(FAILA SATURS)------=_Part_0_910410645.1423741572728--

Pievienoto failu dzēšana

Lai dzēstu pievienoto failu, jāveic pieprasījums uz pievienotā faila resursu. Ja fails ticis veiksmīgi dzēsts, atbildē tiks saņemts statusaDELETEkods .204

Page 81: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

PieprasījumsDELETE http://localhost:81/rest/TNdmNom/99143/attachments/1793 HTTP/1.1

AtbildeHTTP/1.1 204 No ContentContent-Length: 0Date: Thu, 12 Feb 2015 12:01:46 GMT

Klasifikatoru sinhronizācija

Sinhronizēšanas loģikasync resurssnew, edited un changed apakšresursideleted apakšresurss

Sinhronizēšanas loģika

Horizon klasifikatoru sinhronizācijas mehānisms ārējām sistēmām piedāvā iespēju saņemt informāciju par dokumentu un objektu kartīšuHorizon izmaiņu faktu konkrēta pielietojuma kontekstā.Sinhronizācijas resursi ir izveidoti sarakstu resursiem pēc šablona un darbojas pēc šādas shēmas: rest/ /syncresource

ar pieprasījumu uz kādu no apakšresursiem nolasa datus; GET , vai new, edited changed deleted izpilda POST pieprasījumu uz to pašu apakšresursu, fiksējot saņemtās vērtības;ja vēlas atkārtot pilnu sinhronizāciju, izpilda komandu resursam, kas dzēš visas resursam fiksētās vērtības. DELETE sync

Sinhronizētās vērtības fiksējas katrai ārējai saskarnei atsevišķi. Noklusēti sistēma visus pieprasījumus attiecina uz kopējo saskarni "Vispārējāintegrācija", bet ir iespējams Horizon sistēmā izveidot savu saskarnes aprakstu un autentifikācijas galvenē norādīt . pielietojuma identifikatoru

Pirmais kāda resursa sinhronizācijas pieprasījums sākotnējo datu iegūšanai vienmēr jāizpilda vai apakšresursam. Pieprasījumā varnew changednorādīt datu atlases nosacījumus, atbildē iekļaujamās datu kolonnas un datu apjomu. Katru reizi pēc datu saņemšanas par ierakstiem, kuruturpmākajām izmaiņām vēlas sekot, jāizpilda POST pieprasījums, tā saturā norādot šo ierakstu keyfield un COUNTER lauku vērtības. Nākamieapakšresursa izsaukumi dos ierakstus, par kuriem nav izpildīts, new POST apakšresursa izsaukumi dos ierakstus, par kuriemedited POST ir izpildīts un dati pēc tā ir laboti, bet atbildē būs to ierakstu vērtības, kuri pēcapakšresursa deleted keyfield POST saņemšanas ir dzēsti.Apakšresursā vienā atbildē ir apvienoti jaunie un labotie ieraksti, kas atbilst atsevišķiem un izsaukumiem. changed new edited

Informāciju, vai klasifikatora saraksta resursam sinhronizācijas loģika ir pielietojama, var uzzināt, izpildot šimresursam pieprasījumu GET . Ja sinhronizācija ir iespējama, atbildes sadaļā <link> būs norādīts resurss .sync

sync resurss

GET /rest/TNdmNomIzvSar HTTP/1.1

+465

Lūgums ņemt vērāIr atsevišķi sarakstu resursi - atskaites un saraksti, kuru dati tiek aprēķināti, kā arī apakšrindiņu objektu saraksti, kuriem sync resursi na

, lai gan pieejamo resursu sarakstā tie pašlaik vēl ir redzami.v izmantojami

Page 82: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

AtbildeHTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 1594

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Nomenklatras</description> <keyfield>N.PK_NOM</keyfield> <codefield>N.KODS</codefield> <counterfield>N.COUNTER</counterfield> <link> <href>/rest/TNdmNomIzvSar/query</href> <description>Veikt datu atlasi</description> </link> . . . . .

<link> <href>/rest/TNdmNomIzvSar/sync</href> <description>Sinhronizcija</description> </link></resource>

Resurss , savukārt, satur apakšresursus , , , :sync new edited changed deleted

GET /rest/TNdmNomIzvSar/sync HTTP/1.1

Page 83: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1. 2. 3. 4.

AtbildeHTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 638 <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Sinhronizcija</description> <link> <href>/rest/TNdmNomIzvSar/sync/new</href> <description>Atlast jaunos ierakstus</description> </link> <link> <href>/rest/TNdmNomIzvSar/sync/edited</href> <description>Atlast maintos ierakstus</description> </link> <link> <href>/rest/TNdmNomIzvSar/sync/changed</href> <description>Atlast jaunos un maintos ierakstus</description> </link> <link> <href>/rest/TNdmNomIzvSar/sync/deleted</href> <description>Atlast dzstos ierakstus</description> </link></resource>

Atbildē redzams, ka resurss satur četrus apakšresursus:sync

new - resurss darbam ar jauniem, nesinhronizētiem klasifikatora ierakstiem.edited - darbam ar pēc pēdējās sinhronizācijas mainītiem klasifikatora ierakstiem.changed - darbam ar jauniem un mainītiem ierakstiem. Šis resurss pēc būtības ir abu iepriekšējo resursu apvienojums.deleted - darbam ar ierakstiem, kuri ir bijuši sinhronizēti, bet ir dzēsti no klasifikatora.

new, edited un changed apakšresursi

API darbam ar , un apakšresursiem ir tāds pats, kā attiecīgās - tiek atbalstīta filtrēšana, kritēriji,new edited changed kolekcijas query resursammetadati, kārtošana, kolonnu iekļaušana. Atgrieztie dati ir tādā pašā formātā, ka kolekcijām.

Lai atzīmētu ierakstus kā apstrādātus, jāveic pieprasījums atpakaļ , no kura ir tikuši izgūti dati, norādot to datu sarakstu,POST uz to pašu resursukuri ir tikuši saņemti.

Gan , gan pieprasījuma satura formāts ir identisks kolekcijas resursa pieprasījuma atbildes formātam.GET POST query GET

Nesinhronizētu atbildīgo izgūšanaGET /rest/TNdmPardSar/sync/new HTTP/1.1

AtbildeHTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8

Page 84: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<resource> <description>Atlast jaunos ierakstus</description> <title>Atbildgie</title> <collection xsi:schemaLocation="TNdmPardSar.xsd/rest/TNdmPardSar/TNdmPardSar.xsd TNdmPard.xsd /rest/TNdmPard/TNdmPard.xsd"xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="TNdmPardSar.xsd"xmlns:TNdmPard="TNdmPard.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <metadata> <page> <count>8</count> <limited>false</limited> </page> <column> <name>M.PK_PARD</name> <description>PK_PARD</description> <prefix/> <width>0</width> <columntype>key</columntype> <format/> <type>TNdmPard:TNdmPardForeignKeyStructure</type> </column> <column> <name>M.COUNTER</name> <description>COUNTER</description> <prefix/> <width>0</width> <columntype>counter</columntype> <format/> <type>xsd:integer</type> </column> </metadata> <row> <M> <PK_PARD> <href>/rest/TNdmPard/1</href> </PK_PARD> <COUNTER>2</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/3</href> </PK_PARD> <COUNTER>1</COUNTER> </M> </row> .............. <row> <M> <PK_PARD>

Page 85: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<href>/rest/TNdmPard/13</href> </PK_PARD> <COUNTER>0</COUNTER> </M>

Page 86: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

</row> </collection></resource>

Atgriezto ierakstu apstrādes atzīmēšanai, veicot pieprasījumu, var izmantot to pašu GET pieprasījuma atbildes saturu. Svarīgi ir, lai pPOST POSTieprasījuma saturā tiktu iekļauti attiecīgo ierakstu un lauku vērtības. Metadatus var neiekļaut atbildē.keyfield COUNTER

POST dati uz sync/new<resource> <collection> <row> <M> <PK_PARD> <href>/rest/TNdmPard/1</href> </PK_PARD> <COUNTER>2</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/3</href> </PK_PARD> <COUNTER>1</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/6</href> </PK_PARD> <COUNTER>0</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/8</href> </PK_PARD> <COUNTER>0</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/9</href>

495+Atbildes metadatos datos laukā <page> <count>8</count> tiek norādīts izgūto jauno (vēl nesinhronizēto) ierakstu skaits

Page 87: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

</PK_PARD> <COUNTER>0</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/10</href> </PK_PARD> <COUNTER>0</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/12</href> </PK_PARD> <COUNTER>0</COUNTER> </M> </row> <row> <M> <PK_PARD> <href>/rest/TNdmPard/13</href> </PK_PARD> <COUNTER>0</COUNTER> </M>

Page 88: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

</row> </collection></resource>

Veiksmīga atbilde uz POST /sync/newHTTP/1.1 200 OK

<result> <message>Apstrdti 8 sinhronizcijas ieraksti</message> <count>8</count></result>

deleted apakšresurss

API deleted resursam standarta kolekciju resursa iespējas. Tiek atbalstīts vienīgi parametrs . Atgrieztajos datosneatbalsta query hierarchyvienmēr būs iekļautas tikai divas kolonas: attiecīgās kolekcijas primārās atslēgas lauks ( ) un :keyfield COUNTER

GET /rest/TNdmNomIzvSar/sync/deleted HTTP/1.1

Page 89: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

AtbildeHTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/xml; charset=UTF-8

 <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Atlast dzstos ierakstus</description> <title>Nomenklatras</title> <collection xsi:schemaLocation="TNdmNomIzvSar.xsd TNdmNomIzvSar.xsd"xmlns="TNdmNomIzvSar.xsd"> <metadata> <column> <name>N.PK_NOM</name> <description>Nomenklatra</description> <prefix>Nom</prefix> <width>15</width> <format/> <type>TNdmNom:TNdmNomForeignKeyStructure</type> </column> <column> <name>N.COUNTER</name> <description>COUNTER</description> <prefix>Nom</prefix> <width>15</width> <format/> <type>xsd:integer</type> </column> </metadata> <row> <N> <PK_NOM> <href>/rest/TNdmNom/9555104</href> </PK_NOM> <COUNTER>101</COUNTER> </N> </row> </collection></resource>

Izdruku iegūšanaEntītes izdrukaEntīšu kolekcijas izdrukasIzdrukas izvades formāts Izdrukas parametri

Izdr arakstam).ukas, ja tādas ir izveidotas Horizon, ir pieejamas caur RESTgan entītei, gan entīšu kolekcijai (s

Page 90: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Katrai entītes klasei un kolekcijai pieejamās izdrukas uzskaitītas attiecīgā un resursa apakšresursā . entītes kolekcijas print

Pieprasījuma piemēri:

Entītes izdruka

PieprasījumsGET http://localhost:81/rest/TNdmNom/99143/print HTTP/1.1

Atbilde<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Izdrukas</description> <group> <description>Nomenklatras svtrkods</description> <link> <hrefrel="original">/rest/TNdmNom/99143/print/rtQRRepDoc/1/0</href> <description>Nomenklatras svtrkods</description> </link> <link> <href>/rest/TNdmNom/99143/print/rtQRRepDoc/1/1779</href> <description>a4</description> </link> <link> <href>/rest/TNdmNom/99143/print/rtQRRepDoc/1/2714</href> <description>ssdfa</description> <link> <href>/rest/TNdmNom/99143/print/rtQRRepDoc/1/-1</href> <description>Nomenklatras svtrkods (LVL)</description> </link> </group></resource>

Izdrukas ir sagrupētas pa grupām, tāpat kā Horizon aplikācijā. Katrā grupā ir viena atskaite - oriģināls, no kuras lietotājs var būt izveidojis vairākasmodificētas atskaites. Oriģinālu var atšķirt pēc to aprakstošā elementa apakšelementa link href - šim apakšelementam ir atribūts rel arvērtību original.

Entīšu kolekcijas izdrukas

PieprasījumsGET http://localhost:81/rest/TNdmNomIzvSar/print HTTP/1.1

Page 91: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Atbilde<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Izdrukas</description> <group> <description>tr saraksta izdruka</description> <link> <hrefrel="original">/rest/TNdmNomIzvSar/print/rtQRFastRep/1/0</href> <description>tr saraksta izdruka</description> </link> </group> <group> <description>Cenas lapa</description> <link> <hrefrel="original">/rest/TNdmNomIzvSar/print/rtQRRepSar/1/0</href> <description>Cenas lapa</description> </link> <link> <href>/rest/TNdmNomIzvSar/print/rtQRRepSar/1/2283</href> <description>Spec Test</description> </link> <link> <href>/rest/TNdmNomIzvSar/print/rtQRRepSar/1/2403</href> <description>Cenas lapa ar papgr</description> </link> <link> <href>/rest/TNdmNomIzvSar/print/rtQRRepSar/1/3649</href> <description>koko</description> </link> </group></resource>

Izdrukas ir sagrupētas pa grupām, tāpat kā Horizon aplikācijā. Katrā grupā ir viena atskaite - oriģināls, no kuras lietotājs var būt izveidojis vairākasmodificētas atskaites. Oriģinālu var atšķirt pēc to aprakstošā elementa apakšelementa - šim apakšelementam ir atribūts arlink href relvērtību .original

Konkrēto izdruku iegūst, veicot GET pieprasījumu uz izdrukas resursu. Pieprasījumā jānorāda izdrukas izvades formāts (eksporta veids). Janepieciešams, pieprasījumā var norādīt .izdrukas parametrus

Izdrukas atbalstītos izvades formātus un izdrukas parametrus var iegūt no entītes resursa. Zemāk redzamajā WADL fragmentā redzams, kaWADLkonkrētajai izdrukai tiek atbalstīti četri izvades formāti: PDF, HTML, Excel un RTF un četri izdrukas parametri;

copyCount,fromPage,toPage unAccept

Page 92: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<resource path="rtQRRepSar/1/2283"> <method name="GET" id="get"> <request> <param name="copyCount" type="xsd:integer" style="query"required="false"/> <param name="fromPage" type="xsd:integer" style="query"required="false"/> <param name="toPage" type="xsd:integer" style="query" required="false"/> <param name="Accept" type="xsd:string" style="header" required="true"/> </request> <response status="200"> <representation mediaType="application/pdf"/> <representation mediaType="text/html"/> <representation mediaType="application/vnd.ms-excel"/> <representation mediaType="application/rtf"/> </response> </method></resource>

Izdrukas izvades formāts

Izdruku formātu var norādīt ar pieprasījuma galvenes ( ) palīdzību.header Accept

GET http://localhost:81/rest/TNdmNom/99143/print/rtQRRepDoc/1/2947 HTTP/1.1Accept: application/pdfConnection: Keep-Alive

Izdrukas parametri

Visām izdrukām var norādīt sekojošus parametrus:

Parametrs Veids Skaidrojums Noklusētā vērtība

copyCount URL parametrs Izdrukas kopiju skaits 1

fromPage URL parametrs Lapas numurs, no kuras sākt izdruku 1

toPage URL parametrs Lapas numurs, līdz kurai turpināt izdruku Pēdējā izdrukas lapa

Accept galvene ( )header Izdrukas izvades formāts. Obligāts parametrs. Nav.

Zemāk redzamajā pieprasījuma piemērā ir norādīts, ka atgrieztajai izdrukai jāsatur dati no otrās līdz desmitajai lapai un jāatgriež divas kopijas.Izdrukai jābūt PDF formātā (galvenē vērtība ).Accept application/pdf

GEThttp://localhost:81/rest/TNdmNom/99143/print/rtQRRepDoc/1/2947?fromPage=2&toPage=10&copyCount=2 HTTP/1.1Accept: application/pdfConnection: Keep-AliveCookie: IDHTTPSESSIONID=FqRaCoiQrwyv4bG

Page 93: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Darbs ar binārajiem datiemBinārie lauki

Jaunas entītes izveide, iekļaujot bināros datusEntītes elementā iekļauti binārie dati

Pieprasījuma piemērsmultipart/form-data tipa pieprasījums

Pieprasījuma piemērsFailu pielikumi dokumentiem

Pievienoto failu apskatePievienoto failu izveidePievienoto failu dzēšana

Binārie lauki

Bināro lauku satura atgriešanu kontrolē pieprasījuma parametrs :bindata

Vērtība Skaidrojums Piemērs

link Bināro lauku satursnetiek atgriezts. Tā vietālauka elementā irapakšelementi un size

. Elements shref sizeatur bināro datu izmērubaitos, bet elements hr

- saiti uz resursu, kasefsatur bināros datus.

http://localhost:81/rest/TNdmNom/1?bindata=link

embed Pieprasījuma atbildē tiksatgriezts bināro laukusaturs base64 kodējumā

http://localhost:81/rest/TNdmNomIzvSar/query?columns=N.NBD.BILDE&bindata=embed

Pēc noklusējuma (t.i., ja pieprasījumā nav norādīts parametrs ) bināro lauku saturs netiek atgriezts, t.i. uzvedība ir tāda pati, kā norādotbindataparametru .bindata=link

GET http://localhost:81/rest/TNdmNom/1 HTTP/1.1

Page 94: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Atbilde<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Enttijas ieraksts</description> <entity xsi:schemaLocation="TNdmNom.xsd TNdmNom.xsd"xmlns="TNdmNom.xsd"> <NomBilde> <COUNTER>0</COUNTER> <PK_NOM>1</PK_NOM> <BILDE> <size>4566</size> <href>/rest/TNdmNom/1/BILDE</href> </BILDE> <PIELIKUMS>1</PIELIKUMS> </NomBilde> </entity> <link> <href>/rest/TNdmNom/1/BILDE</href> <description>Binrie dati</description> </link></resource>

Norādot pieprasījumā parametru , pieprasījuma atbildē bināro lauku elementos tiks atgriezti apakšelementi un . Elembindata=embed size dataents satur bināro datu izmēru baitos, bet elements - lauka saturu kodējumā:size data base64

GET http://localhost:81/rest/TNdmNom/1?bindata=embed HTTP/1.1

Atbilde<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Enttijas ieraksts</description> <entity xsi:schemaLocation="TNdmNom.xsd TNdmNom.xsd"xmlns="TNdmNom.xsd"> <NomBilde> <COUNTER>0</COUNTER> <PK_NOM>1</PK_NOM> <BILDE> <size>4566</size> <data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxAREBUUERAVFRAUFRUUFBYVFBgXFxQWGBIWFhUWFhUZHCgiGRomGxQTITEhJSk3Li4uFx8zODMsNygtLisBCgoKDg0OGhAPFCwcHBwsLiwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDcsLCwsLDcsLDcsKzc3NyssK//AABEIAOEA4QMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAABQYBBAcCAwj/xABDEAACAQIDBAcFBAgEBwEAAAABAgADEQQFEgYhMVETIkFhcYGRBzKSocEjM0JSFGJygqKxstFzk8LhJENTY8PS8DT/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/xAAaEQEBAAMBAQAAAAAAAAAAAAAAAREhMQJB/9oADAMBAAIRAxEAPwDuMREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERARME24yvZttvl2HuHxKsw/DT+0a/I6bgeZECxROZ1Pa/R6QBcJUNK41MzqHAvvIQAgnu1ek6Jl+OpV6S1aLh6bi6sO0fQ9hHZA2IiICIiAiIgIiICIiAiIgIiICIiAiIgIiICJF5rtHgsL9/iaaNx0lrufCmLsfISm5r7WsMlxhqD1T2M56NPq3yEDo018ZjaVFdVaqlNPzOwUepM4dm3tHzKvcLVWinKi

Page 95: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

tjbvdrtfvFpVcTXeo2qo7O/wCZ2LN6nfCZdwzX2m5dRuEd67DspL1fjaykeBMpua+1jFvcYejTorzb7R/EcFHoZz2IMpHNM9xeJ/8A0YmpUH5S1k/yxZR5CR0RKhLTsLthUy+rZrvhXI6RBxU8OkT9a3EdoHcJVogfp/AY2lXprUpOHpuLqym4P+/d2TYn5/2H2vq5fVsbthXP2tPl2dInJgPUC3IjvOBxlOvTWpScPTcXVhwI+h7uyRp94iICIiAiIgIiICIiAiJqZhmVDDrqr1kprzdwt/C/GBtxKLmntTwFIkUhUrtzRdKX72cg27wDKdm3tVx1W4oJToLzH2jj95gF/hgy7TUcKCWIAHEk2A8TKxmntBy2hcfpAqMPw0R0n8Q6vqZwzMszxGJN8RWeqeI1sSAf1V4L5CakJl03Nva5VO7C4ZVHY1Y6j8CEAH94yoZptjmGIBFTFPpP4UtTHgdFrjxkDMypkEREBERARMzKoTwFz3QPETFerTp/eVFU8r3b4VuZpVM3pj3KbMebkIvoLk/KBvTNUBBd2CDm5C+gO8+UhauZ124OEHKmNJ+M3b5zT0i9zvY8Sd5PiTAmqmaUV93VUP6o0L8Tb/RZ0H2IbS1TjXwzWWjUpNURASbVEK77k8Sha9gPdE5LeT2wmZfo+Z4SoD/z0QgcStQ9E27t3OT5QP1bERI0REQETy7gAkkADiTuA85W8028y6hcdOKr/lojpOHEah1Qe4mBZonK809qtU3GGw6pyaqdR+BbAfEZT8z2lx2Iv02KqFTfqqdCW5FUsD53gy7fmu0mCwt+nxKKw/DfU/8Alrdj6Sm5r7V6K3GGw71D+aoRTXxAF2PgQJyq0wRCZWXNvaBmVe46bokN+rRGj+M3YHwIlVrOzsWdizHizEsx8Sd5nsieSIHztMT2RMWlR5iZtFoHmZmbQ66RdiFXmxCj1PGBiJq1MzoLwZnPJFIHxPaadXOqh+7REHM/aN8+r8oEwlMngL/y9Z8K2Mop71UE/lTrn5bh5mQFes9T7x2f9o3HkvATxeMCWq5z/wBOl51Df+Bf7zSr42s+5qjW/KvUX4VtfzmspJIA3sSAAN5JPAAdpliyzYzG1zYU9I7+sfhW/wAyIwK8qgcBaZv6nh3yZ2t2TxWXhGrfd1NWhgtt62uDvNjvBt27+Rlr9lOKy9qFTp6bdLTZR1R94H1EaiOJ6rce6UUOvgK6Jrai4XmVtbxB3gd5m3snlq4vFpQqPo17l6wF23WUmxtfeJ2nFZkKtN6NDBKKVRSjaxxVhY38jOT7LbEZhXxdNqeFqdFSrIWqsNCAJUBYhmtq90+7eSkdJobE5XhR9vUpkjiANTb9x3tqYeVpX9mcgw7Z9RXDIRhg36QoZbFQgJA7x0irbxEvGEyaim/Tc8zvlk2byqgHOIFMdMAaIa53UyVcra9ve7bXlsSVYoiJltWNqttKGBbQab1KulX0rpAUMWClmJ3XKNwB4SiZh7TcdUuKS0qKnhYGo4/ebqn4JWvaNm5OcV2G9aemhY8GVUGte7rl/Ai8ia2Lora9VQGAZQzANY8xz4yplIZjmVfEG9es9Tts7EgeC8B5CalplCCAQQQeBBuD4ETNpEebRaerRaB4tMET3aYgfMieSs+4QngLzUxGOoobPVW/JeufRb284HsiY0yMr58v/LpE/rVDpHwLv+c0K+Z133GoVX8tMaB6jefMwJ/EOlP7x1TuY9byUb/lI+tnFMe4jueZ6i/Un0EhFAHATJaUb9XNq7cCtMf9td/xNc+k0WFzdiWbmxJPqZI4PI8VV9yi1ubDSD4arE+U+Od5TicIQK9PRqBKE3swG4ld3eIGqZ4fcASDY30mx61uNufZOjezXJ8txGHNWvUUVKb6XDrck7ypUG4AtyHZLTn1HLq2HehTw71GZbLV3hkYe6yk8j2WseEo5Vsjs8+YVGRGsVGq1gWIvYmxIsN43986Pg/ZRhqa3xNWw5tU3jw0hR6gzm3szesMyp9CWDMtQMy/hBpneeQvp9ROzrkZffVdmPeYhdOD7Q4T9ExdSnScMKT9SoPxLuZDc9tiL9953PJNoMZXwtE0qdNA1JGLhd5JQajy437JuUPZVl2JqDE4gVHJFuiD6afVOkE6RqJsv5rSXxOAp4ZuipIEpKq9Go4BbWsPMH1idLxTtpNkMZmVLo+mDVdSuvSEhFANmO4HfZjwHbNzZj2ajKqbPUritUqlVayaUSwYi1ySd5Ivu4y6bOgmox7AtvUi39Jk1j8MKtNk4XG48iN4PqBF1Sbin7gLAd0u4ErGWYMHEFH36LndwJUrby63yloj1TypuY4c0WYEHQCxQ8142Hhe3lLLk+GNOioPvHrHxO+3kLDykdtavUTxcetMn/TJjBtemh5op/hEluiTb7RESNPzb7RspOGzLEfkqVTVB5Gr9oR4XY29OUpue4Yuabg9Xo1S/JlJJU8jYg+c7j7Y8oOuniNN6bL0NTuIJKX8QWF+4cxOO4qmad1JDI4IseB42B/WAsb/AO8rPG9s/gOioDrBuk69xwG4Ar4i1jJOQeU4/o20t90x3/qngHH1HaPKbeMzujTYqC1RlJU6BZbg2PWa3yBgSNoCm1+zn2esrOI2grN7irTHhrb1bd8pG16z1PvHZ/2mJA8BwEC04nN8OnGpqPKmNXz935yNr7RMfu6QXvc6j8IsB85CgT64eg7myIzHkqlreNuEYHvE4yrU+8qMw/Ley/CthPgABwniq5W91II3G4tY9951PZX2b069GnXZgabqGDM+7h2Ktu/cSZRy8m0kMkyaviyRRAIFgSSbC/gCT5CdC272Sy2jg3agyHFU7MCiAKVB64OkWva5v3SneyzNK1HMAKR61SnUWx3g2XVw7tJkPi0ZZ7Ja9QXqVCvI2CqPI3LfKc7x9OpgsWUP3tCqQSTcEo24juI3+Bne6lDF1/va7WP4QbD0Eh39jK4zENXq4rRQfTZEW9Q2UKSWbcu8HsMtJUtl20NPokbC4Manpo5ZuF2QN4njK7t/lOY5jRQLS6WotQFEQAFQwIY3PAe7ck24S80sqp4QCggOikqohaxYoFGkkgC/Lh2SY2cF6jG3BbepH9pbNJLtzTYb2e4nAIzY1UHSldKK+soVDX1WGm5B7CeEuSYdALADlLbm+FNWkVUdcWZfEG9r94uPOQGWYIvW0t1Sh1MDYm6su7cbdokl0WbT1HKaFOiaVGjTpUyLBaaKqjkbKJVmJvY+8DYjtB4W9Zd5XNo0CVEKgC9ybC1yHTeefGPNX1EzllEpSVW42JPdck/Wae0WEVqRqbw9MErY23brg8xuktNXNVvQqjnTf+kyLjTT2cA6JrAA6zfv3C0lpDbLn7J/8T+aIZMxScV/DG2Pcc7/ADpU2+ksErx3Zh4n/wAB/wDWWGKRD7ULekv7f80cfWb2VG9Ckf8Atp/SJ8c9oF6J0gllIYAC5NjwA52vPvltIpRpq3EIoPcbcI+H1sxESK+ONwlOtTanVQNTcaWU8CJ+fNutnxgsS1HVrpkakJ46TwB/WHPz3T9Ezn+0OzxxebotWkzYVqLFmsdIsjILPwDhmUjt3XhK4FVplWsfI8x/eaOO3Vqn+I/9Zl02x2aq4GuaNYEoetSqDcHXsYHsYXsR2eBF6fnVNUrVeJ+0ci53WJJG4eMqYZwWXV633VJmH5rWX42st+68ma+xeNWi1XQCqAs9tR0qBcm9t9rS0+ynPKS4V1qYcVKtNwF3AWVrsL+er0Mu9bNsZWGlUFNCLEKOw7iLyo4dsqaDY6lTr76dRghJAspbcp09u/nznb6dPLMMNKqapHAABU8gLCc62e9kuaviVqGktGjTqqwaq9iyq9xpRbtvA7QJ1PC5bSUAgXiL60457VqKviqdWnR6Ppl06F36nQgXA5kMgsOXfLps

Page 96: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

DkOKGAppiFq0rFytN1ZDpLkhtLWIBuZ1LZ3C07l9CllsFYqLrf3gD2A2HpG06hSlQmy70bz3r/JvUR9LxVl2boVFNJwdNUdGxBGoK/VJBIIvYnskzlfs8y3BoThsMBWsbVHJepfuZidN+B024mesopl6y6RcKQzHsA328SSJbI9dPPFJL+UteVKRRS/G1/Uk/WQebYZKVdNIsGZWIJuL9KL2vwG/hLPFp5iD2kwht0oIGgWYW94Fhax7CLn1n12bpgU2P4i5B8uH/wB3zZztb4ar+wx9Bf6TV2ZP2T/4jf0qfrJ8PqYkDgT/AMbUHc38qZk9K9QNswbvJ+dFD9Ii1YZX9q/wHkH/ANJ+ksEgtrR9kp7AxHxKQPnb1idLxOCeay3UjmCPUTNPgL8bCepFQOyLXpv4qfWmv9pPT4YTBpSBCCwZix3k7z4/yn3ipGhUy++JWtcWVbEW3k2YA38GPpN+IhSIiAiIgIiIERtRs/Rx+HajWHHejj3qb23Mv9u0XE5C3sUxlfEMa2Jo06XVGpQ1RnsigkJ1QBcHifKd1iBzvK/Z7hMrp3os9R3YCo9QrfgbWAAsL/zm+ByEt+Mw4qIVJIBtvHEWNxx8JXsHhgMV0bdYKTx3X6gYXAmpdMeptZUWwA5ACVbNsMaVRur1GJKG44kamFuI33lrkLtSv2dM8qlvVHknV9TTbyXD6KQN7l7Oe64Fh6Tfmnk7Xw9L9hfkAJuSVYrOyO53H6iD0ZxLNK1s7uxNUcukHw1yPrLLLenniu7VbmpnkG+TUzLFK/tevUU9zj1AP+mT6ncI+E6+GYLelUHNGH8JkXso10qftg+tNJNkX3TRyfLugQrq1Ete9rbrAAegg+t+QxwL/pvSW+zI1at1r6CmnnyPnJmJFJgi8zEBERAREQEREBERAREQEREBERASvNuzAd5/nQI+ksMr2P3Y6meej5h1liVYZE7TL9hfk6H+ID6yWmlnOHapQdV3tYFRzKkMB5kWkhePGQH/AIZO7UPRyPpJCaWT0Gp0EVhZrEkcizFiPnN2FivZVSK42sOQcn990dfrLDMWmYSRr47BU6y6aguoIbiRvHh4mbERCkREBERAREQEREBERAREQEREBERAREQEREBI/F5brrU6l7BPeFvetvWx7LEmSEQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQP/Z</data> </BILDE> <PIELIKUMS>1</PIELIKUMS> </NomBilde> </entity> <link> <href>/rest/TNdmNom/1/BILDE</href>

Page 97: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<description>Binrie dati</description> </link></resource>

Jaunas entītes izveide, iekļaujot bināros datus

Iekļaut pieprasījumā bināro datu (BLOB) lauku saturu var divējādi - attiecīgajā entītes lauka elementā iekļaujot base64 kodētus bināros datus vai izmantojot multipart/form-data tipa pieprasījumu un iekļaujot bināros datus atsevišķā pieprasījuma daļā.

Entītes elementā iekļauti binārie dati

Entītes datos attiecīgajā binārā lauka elementā, apakšelementā , jāievieto kodējumā pārvērsti binārie dati.data base64

Pieprasījuma piemērs

Page 98: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Nomenklatūras izveide ar pievienotu attēlu (XML)POST http://localhost:81/rest/TNdmNom HTTP/1.1Content-Type: application/xmlContent-Length: 3422Host: localhost:81Connection: Keep-Alive <resource> <docType>ut.nnom1</docType> <entity> <KODS>ut.0000002</KODS> <NOSAUK>ut.0000002</NOSAUK> <PK_NOMGR> <href>/rest/TNdmNomGr/1</href> </PK_NOMGR> <PK_VIEN> <href>/rest/TNdmVien/1</href> </PK_VIEN> <NomBilde> <BILDE> <data>/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABHAG8DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+f+iiigAooooAKKKKACv6ff8Agyp/5RZePv8Asquo/wDpo0ev5gq/p9/4Mqf+UWXj7/squo/+mjR6AP1/ooooAKKKKACiiigD+AOiiigAooooAKKKKACv6ff+DKn/AJRZePv+yq6j/wCmjR6/mCr+n3/gyp/5RZePv+yq6j/6aNHoA/X+iiigAooooAKKKKAP5Av+IXH9uv8A6Ib/AOXn4f8A/k6j/iFx/br/AOiG/wDl5+H/AP5Or+v2igD+QL/iFx/br/6Ib/5efh//AOTqP+IXH9uv/ohv/l5+H/8A5Or+v2igD+QL/iFx/br/AOiG/wDl5+H/AP5Oo/4hcf26/wDohv8A5efh/wD+Tq/r9ooA/jD/AGo/+CCv7WH7FvwJ1z4l/Ev4U/8ACN+CfDX2f+0tS/4SbR7z7N59xFbRfure7klbdNNGvyocbsnABI8P+Cn7bvxo/Zr8K3GhfDr4u/E/wBol3dtfz6f4b8VX2lWs1wyIjTNFBKiGQpHGpYjJEajOFFf1W/8AB0d/ygo+Of8A3AP/AFINMr+QKgD6A/4exftTf9HLfH//AMOHq/8A8kUf8PYv2pv+jlvj/wD+HD1f/wCSK+f6KAPoD/h7F+1N/wBHLfH/AP8ADh6v/wDJFH/D2L9qb/o5b4//APhw9X/+SK+f6KAPoD/h7F+1N/0ct8f/APw4er//ACRR/wAPYv2pv+jlvj//AOHD1f8A+SK+f6KAP7/KKKKACiiigAooooA+AP8Ag6O/5QUfHP8A7gH/AKkGmV/IFX9fv/B0d/ygo+Of/cA/9SDTK/kCoAKKKKACiiigAooooA/v8ooooAKKKKACiiigD4A/4Ojv+UFHxz/7gH/qQaZX8gVFFABRRRQAUUUUAFFFFAH/2Q==</data> </BILDE> </NomBilde> </entity></resource>

Page 99: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Nomenklatūras izveide ar pievienotu attēlu (JSON)POST http://localhost:81/rest/TNdmNom HTTP/1.1Content-Type: application/jsonContent-Length: 3422Host: localhost:81Connection: Keep-Alive { "resource": { "docType": "ut.nnom1", "entity": { "KODS": "ut.0000002", "NOSAUK": "ut.0000002", "PK_NOMGR": { "href": "/rest/TNdmNomGr/1" }, "PK_VIEN": { "href": "/rest/TNdmVien/1" }, "NomBilde": { "BILDE": { "data":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABHAG8DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+f+iiigAooooAKKKKACv6ff8Agyp/5RZePv8Asquo/wDpo0ev5gq/p9/4Mqf+UWXj7/squo/+mjR6AP1/ooooAKKKKACiiigD+AOiiigAooooAKKKKACv6ff+DKn/AJRZePv+yq6j/wCmjR6/mCr+n3/gyp/5RZePv+yq6j/6aNHoA/X+iiigAooooAKKKKAP5Av+IXH9uv8A6Ib/AOXn4f8A/k6j/iFx/br/AOiG/wDl5+H/AP5Or+v2igD+QL/iFx/br/6Ib/5efh//AOTqP+IXH9uv/ohv/l5+H/8A5Or+v2igD+QL/iFx/br/AOiG/wDl5+H/AP5Oo/4hcf26/wDohv8A5efh/wD+Tq/r9ooA/jD/AGo/+CCv7WH7FvwJ1z4l/Ev4U/8ACN+CfDX2f+0tS/4SbR7z7N59xFbRfure7klbdNNGvyocbsnABI8P+Cn7bvxo/Zr8K3GhfDr4u/E/wBol3dtfz6f4b8VX2lWs1wyIjTNFBKiGQpHGpYjJEajOFFf1W/8AB0d/ygo+Of8A3AP/AFINMr+QKgD6A/4exftTf9HLfH//AMOHq/8A8kUf8PYv2pv+jlvj/wD+HD1f/wCSK+f6KAPoD/h7F+1N/wBHLfH/AP8ADh6v/wDJFH/D2L9qb/o5b4//APhw9X/+SK+f6KAPoD/h7F+1N/0ct8f/APw4er//ACRR/wAPYv2pv+jlvj//AOHD1f8A+SK+f6KAP7/KKKKACiiigAooooA+AP8Ag6O/5QUfHP8A7gH/AKkGmV/IFX9fv/B0d/ygo+Of/cA/9SDTK/kCoAKKKKACiiigAooooA/v8ooooAKKKKACiiigD4A/4Ojv+UFHxz/7gH/qQaZX8gVFFABRRRQAUUUUAFFFFAH/2Q==" } } } }}

multipart/form-data tipa pieprasījums

Izmantojot šī tipa pieprasījumu, nosūtāmie dati tiek sadalīti vairākās daļās. Katram parametram un bināro datu vienībai tiek saformēta atsevišķa

Page 100: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Izmantojot šī tipa pieprasījumu, nosūtāmie dati tiek sadalīti vairākās daļās. Katram parametram un bināro datu vienībai tiek saformēta atsevišķapieprasījuma daļa. To, uz kuru parametru attiecas konkrētā pieprasījuma daļa, jānorāda attiecīgās daļas galvenes ( ) header Content-Disposit

parametrā - tam jāsatur parametra nosaukums. Piemēram, entītes parametra daļai jāsatur šāda galvene:ion name Content-Disposition

Content-Disposition: form-data; name="entity"

Ar bināros datus saturošo lauku vērtībām var manipulēt, entītes elementā norādot attiecīgo bināro lauku, bet lauka datus iekļaujot atsevišķāpieprasījuma daļā. Katra lauka datiem jāizmanto atsevišķa daļa. Daļas galvenē parametrā jānorāda pilns ceļš uzContent-Disposition, nameentītes lauku, uz kuru attiecas šī daļa. Ceļa elementus jāatdala ar slīpsvītru . Piemēram, nomenklatūras attēls tiek glabāts šīs nomenklatūras / det

daļā , laukā . Lai norādītu, ka pieprasījuma daļa satur attēla bināros datus, šai daļai jāsatur šāda gail NomBilde BILDE Content-Dispositionalvene:

Content-Disposition: form-data; name="entity/NomBilde/BILDE"

Pieprasījuma piemērs

Zemāk redzamajā piemērā tiek izveidota jauna nomenklatūras kartīte. Jaunizveidotā nomenklatūra saturēs arī attēlu.

Pieprasījums sastāv no pieprasījuma galvenēm ( ) un trijām daļām. Katra daļa, savukārt, sastāv no daļas galvenēm un datiem.headers

Pirmā daļa satur parametra vērtību (uz to norāda parametra vērtība ):docType Content-Disposition name "docType"

Content-Disposition: form-data; name="docType"

Otrā daļa satur entītes datus.

Trešā daļa satur nomenklatūras attēlu.

Page 101: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Nomenklatūras izveide ar pievienotu attēlu (multipart/form-data ar XML entīti)POST http://localhost:81/rest/TNdmNom HTTP/1.1Content-Type: multipart/form-data;boundary="----=_Part_0_824329818.1423661296117"MIME-Version: 1.0Content-Length: 3267Host: localhost:81Connection: Keep-Alive

------=_Part_0_824329818.1423661296117Content-Type: text/plain; charset=Cp1257Content-Transfer-Encoding: binaryContent-Disposition: form-data; name="docType"ut.nnom1------=_Part_0_824329818.1423661296117Content-Type: text/xml; charset=Cp1257; name=post-entity.xmlContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity"; filename="post-entity.xml"<entity> <KODS>ut.0000002</KODS> <NOSAUK>ut.0000002</NOSAUK> <PK_NOMGR> <href>/rest/TNdmNomGr/1</href> </PK_NOMGR> <PK_VIEN> <href>/rest/TNdmVien/1</href> </PK_VIEN> <NomBilde> <BILDE> <data/> </BILDE> </NomBilde></entity>------=_Part_0_824329818.1423661296117Content-Type: image/jpegContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity/NomBilde/BILDE";filename="post-NomBilde_BILDE.jpg"

(BINRIE DATI) ------=_Part_0_824329818.1423661296117--

 

Jāatceras, ka entītes datos joprojām ir jāparādās šī lauka elementam un apakšelementam , jo pretējā gadījumā tiks uzskatīts, ka laukādatajāpaliek esošajai vērtībai. Piemēram, veidojot jaunu nomenklatūru un nenorādot elementu , šai nomenklatūraientity/NomBilde/BILDE/dataattēls netiks pievienots arī tad, ja pašā pieprasījumā būs daļa ar nosaukumu :entity/NomBilde/BILDE

Page 102: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Nomenklatūras izveide, attēls NETIKS saglabātsPOST http://localhost:81/rest/TNdmNom HTTP/1.1Content-Type: multipart/form-data;boundary="----=_Part_0_824329818.1423661296117"MIME-Version: 1.0Content-Length: 3267Host: localhost:81Connection: Keep-Alive

------=_Part_0_824329818.1423661296117Content-Type: text/plain; charset=Cp1257Content-Transfer-Encoding: binaryContent-Disposition: form-data; name="docType"ut.nnom1------=_Part_0_824329818.1423661296117Content-Type: text/xml; charset=Cp1257; name=post-entity.xmlContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity"; filename="post-entity.xml"<entity> <KODS>ut.0000002</KODS> <NOSAUK>ut.0000002</NOSAUK> <PK_NOMGR> <href>/rest/TNdmNomGr/1</href> </PK_NOMGR> <PK_VIEN> <href>/rest/TNdmVien/1</href> </PK_VIEN> <!-- Nomenklatra bez attla, jo nav elementa NomBilde/BILDE/data--></entity>------=_Part_0_824329818.1423661296117Content-Type: image/jpegContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity/NomBilde/BILDE";filename="post-NomBilde_BILDE.jpg"

(BINRIE DATI) ------=_Part_0_824329818.1423661296117--

Failu pielikumi dokumentiem

Pievienoto failu apskate

Informācija par pievienotajiem failiem pieejama entītes resursa apakšresursā .attachments

GET http://localhost:81/rest/TNdmNom/99143/attachments HTTP/1.1

Page 103: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Pievienotie faili</description> <title>Pievienotie faili</title> <collection xsi:schemaLocation="TNdmNomAttachmentSL.xsdTNdmNomAttachmentSL.xsd" xmlns="TNdmNomAttachmentSL.xsd"> <metadata> <!-- metadati (nav iekauti piemr) --> </metadata> <row> <MULTISEL>0</MULTISEL> <ATTC> <PK_OBJ>99143</PK_OBJ> <PAMV_ID>2015</PAMV_ID> <FILENAME>test-00001.jpg</FILENAME> <COUNTER>0</COUNTER> <PK_ATTACHMENT> <href>/rest/TNdmNom/99143/attachments/1792</href> </PK_ATTACHMENT> <STOR> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <CONF> <size>21</size> <href>/rest/TNdmNom/99143/attachments/1792/CONF</href> </CONF> <VEIDS>0</VEIDS> <APRAKSTS>\\fs\kkus_repo</APRAKSTS> <STATUSS>0</STATUSS> </STOR> </ATTC> </row> <link> <href>/rest/TNdmNom/99143/attachments/TNdmNomAttachmentSL.xsd</href> <description>XSD shma</description> </link> <link> <href>/rest/TNdmNom/99143/attachments/TdmAttachmentBL.xsd</href> <description>Enttijas datu XSD shma</description> </link> <link> <href>/rest/TNdmNom/99143/attachments/{pk}</href> <description>Pievienotais fails</description> </link> </collection></resource> 

Informācija par konkrētu pievienoto failu pieejama resursa apakšresursā . Atkarībā no pieprasījuma parametra ,attachments {pk} bindataelementā atrodama vai nu saite uz resursu ar pievienotā faila saturu, vai arī kodēts pievienotā faila saturs. Abos gadījumosFILSIZE base64

saite pieejama arī kā atsevišķs elements vienā līmenī ar elementu.link entity

Page 104: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

saite pieejama arī kā atsevišķs elements vienā līmenī ar elementu.link entity

GET /rest/TNdmNom/99143/attachments/1792 HTTP/1.1

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Pievienotais fails</description> <entity xsi:schemaLocation="TdmAttachmentBL.xsd TdmAttachmentBL.xsd"xmlns="TdmAttachmentBL.xsd"> <COUNTER>0</COUNTER> <PK_ATTACHMENT> <href rel="self">/rest/TNdmNom/99143/attachments/1792</href> </PK_ATTACHMENT> <PK_OBJ>99143</PK_OBJ> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <PAMV_ID>2015</PAMV_ID> <FILEID>test-00001.jpg</FILEID> <FILENAME>test-00001.jpg</FILENAME> <AUTHOR>File Author</AUTHOR> <CREATED>2015-01-01T10:15:54.000+02:00</CREATED> <KOMENTARS/> <FILSIZE> <size>2287</size> <href>/rest/TNdmNom/99143/attachments/1792/test-00001.jpg</href> </FILSIZE> <PK_REPNOM> <href>/rest/TdmRDRepNomBL/0</href> </PK_REPNOM> <PK_RPDGRP>0</PK_RPDGRP> </entity> <link> <href>/rest/TNdmNom/99143/attachments/1792/test-00001.jpg</href> <description>Binrie dati</description> </link></resource>

GET /rest/TNdmNom/99143/attachments/1792?bindata=embed HTTP/1.1

(iekļauti dati base64 kodējumā)<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Pievienotais fails</description> <entity xsi:schemaLocation="TdmAttachmentBL.xsd TdmAttachmentBL.xsd"xmlns="TdmAttachmentBL.xsd"> <COUNTER>0</COUNTER> <PK_ATTACHMENT> <href rel="self">/rest/TNdmNom/99143/attachments/1792</href>

Page 105: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

</PK_ATTACHMENT> <PK_OBJ>99143</PK_OBJ> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <PAMV_ID>2015</PAMV_ID> <FILEID>test-00001.jpg</FILEID> <FILENAME>test-00001.jpg</FILENAME> <AUTHOR>File Author</AUTHOR> <CREATED>2015-01-01T10:15:54.000+02:00</CREATED> <KOMENTARS/> <FILSIZE> <size>2287</size> <data>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

Page 106: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

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</data> </FILSIZE> <PK_REPNOM> <href>/rest/TdmRDRepNomBL/0</href> </PK_REPNOM> <PK_RPDGRP>0</PK_RPDGRP> </entity> <link> <href>/rest/TNdmNom/99143/attachments/1792/test-00001.jpg</href>

Page 107: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<description>Binrie dati</description> </link></resource>

Pievienoto failu izveide

Lai izveidotu jaunu pievienoto failu entītei, jāveic pieprasījums uz šīs entītes apakšresursu Faila saturu jānorāda laukā POST attachments. FIL noformējot šī lauka saturu tāpat, kā citos bināros datus saturošos pieprasījumos (sk. ).SIZE, Jaunas entītes izveide, iekļaujot bināros datus

multipart/form-data pieprasījuma piemērsPOST http://localhost:81/rest/TNdmNom/99143/attachments HTTP/1.1Content-Type: multipart/form-data;boundary="----=_Part_0_910410645.1423741572728"MIME-Version: 1.0Content-Length: 157349Connection: Keep-Alive

------=_Part_0_910410645.1423741572728Content-Type: text/xml; charset=Cp1257; name=post-entity.xmlContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity"; filename="post-entity.xml"<entity> <PK_STORAGE> <href>/rest/TdmStorageBL/27</href> </PK_STORAGE> <FILENAME>test-00002.jpg</FILENAME> <AUTHOR>File Author</AUTHOR> <CREATED>2015-01-01T10:15:54.000+02:00</CREATED> <FILSIZE> <data/> </FILSIZE></entity>------=_Part_0_910410645.1423741572728Content-Type: image/jpeg; name=post-FILSIZE.jpgContent-Transfer-Encoding: binaryContent-Disposition: form-data; name="entity/FILSIZE";filename="post-FILSIZE.jpg"

(FAILA SATURS)------=_Part_0_910410645.1423741572728--

Pievienoto failu dzēšana

Lai dzēstu pievienoto failu, jāveic pieprasījums uz pievienotā faila resursu. Ja fails ticis veiksmīgi dzēsts, atbildē tiks saņemts statusaDELETEkods .204

Page 108: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

PieprasījumsDELETE http://localhost:81/rest/TNdmNom/99143/attachments/1793 HTTP/1.1

AtbildeHTTP/1.1 204 No ContentContent-Length: 0Date: Thu, 12 Feb 2015 12:01:46 GMT

Dažādi formāti XML, JSONREST interfeiss ļauj saņemt atbildes vienā no diviem formātiem - vai nu kā XML dokumentu, vai arī JSON objektu.

Pieprasījuma sūtītājs atbildes formātu var norādīt galvenes ( ) parametrā . Ja pieprasījums galvenē nesatur parametru,header Accept Accept atbilde tiek formēta kā XML dokuments.

Accept vērtība Atbildes formāts

application/xml XML

application/json JSON

application/jose+json JSON

Pēc noklusējuma atbildē netiek iekļautas atstarpes ( ). Tas ļauj ievērojami samazināt pārsūtāmo datu apjomu. Ja atbildēwhite spacenepieciešams saglabāt atstarpes un sadalījumu pa rindām, tad pieprasījumā var norādīt parametru prettyprint=true.

Zemāk redzams piemērs - pieprasījums ar norādītu , saglabājot atstarpes:JSON atbildes formātu

PieprasījumsGET /rest/TNdmAdr/555?prettyprint=true HTTP/1.1Accept: application/json

AtbildeHTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/json; charset=UTF-8Content-Length: 948

{ "description": "Enttijas ieraksts", "entity": { "COUNTER": 0, "ADRESE": "Kronvalda bulv.3/5, Rga, LV-1010, Latvija", "KONTAKTP": null,

490+ REST interfeisā izveidots JOSE+JSON, kurš nodrošina pieprasījuma sūtītāja pārliecību, ka no REST servera atbildē saņemtie datinav modificēti un atbilst Horizon datiem.

Page 109: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

"KONTAKTP_LNG1": null, "KONTAKTP_LNG2": null, "KONTAKTP_LNG3": null, "LIC_NR": null, "LIC_DAT": null, "PIEZIMES": null, "PK_ADRESE": { "href": "/rest/TNdmAdr/555", "rel": "self" }, "PK_KLIENTS": {"href": "/rest/TDdmCustomer/-11"}, "STATUSS": 1, "PK_REGIONS": null, "PK_REISS": null, "ADRESE1": null, "ADRESE1_LNG1": null, "ADRESE1_LNG2": null, "ADRESE1_LNG3": null, "ADRESE2": null, "ADRESE2_LNG1": null, "ADRESE2_LNG2": null, "ADRESE2_LNG3": null, "ADRESE3": null, "ADRESE3_LNG1": null, "ADRESE3_LNG2": null, "ADRESE3_LNG3": null, "PASTA_IND": null, "PASTA_IND_LNG1": null, "PASTA_IND_LNG2": null, "PASTA_IND_LNG3": null, "PK_VALSTS": {"href": "/rest/TdmBLDValsts/3"}, "LEG_ADR": 2, "POST_ADR": null, "KILOMETRI": null, "PK_KLKPERS": null, "PK_ADR2": null, "PRIMADR": null }, "link": [ { "href": "/rest/TNdmAdr/555/print",

Page 110: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

"description": "Izdrukas" }]}

JOSE+JSON

Ar atslēgu parakstītu datu izgūšanaPiemērs pieprasījumam ar norādītu JSON atbildes formātuPiemērs pieprasījumam ar norādītu JOSE+JSON atbildes formātuJOSE+JSON atbildes lauku paskaidrojums

Publiskās atslēgas izgūšanaParaksta pareizības pārbaudes variants

Formāts izveidots pēc standarta, lai pieprasījuma sūtītājs pārliecinātos, ka no REST servera atbildē saņemtie dati nav modificēti unRFC 7519atbilst Horizon datiem.

Lai pielietotu šo formātu, vispirms ir jāizgūst Horizon publiskā atslēga.

Ar atslēgu parakstītu datu izgūšana

Lai izgūtu ar atslēgu parakstītus datus, veicot datu pieprasījumu uz vajadzīgo resursu, vaicājuma parametros galvenē ( ) parametram header Acc jānorāda vērtība ept application/jose+json

Piemērs pieprasījumam ar norādītu JSON atbildes formātu

PieprasījumsGET /rest/TNdmAdr/13 HTTP/1.1Accept: application/json

Atbilde

Page 111: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

{ "description": "Enttijas ieraksts", "title": "streetAddress, city", "entity": { "COUNTER": 48, "ADRESE": "streetAddress, city", "KONTAKTP": null, "LIC_NR": null, "LIC_DAT": null, "PIEZIMES": null, "PK_ADRESE": { "href": "/rest/TNdmAdr/13", "rel": "self" }, "PK_KLIENTS": { "href": "/rest/TDdmCustomer/38" }, "STATUSS": 1, "PK_REGIONS": null, "PK_REISS": null, "ADRESE1": "streetAddress", "ADRESE2": null, "ADRESE3": "city", "PASTA_IND": null, "PK_VALSTS": { "href": "/rest/TdmBLDValsts/1" }, "LEG_ADR": 1, "POST_ADR": 2, "KILOMETRI": null, "PK_KLKPERS": null, "PK_ADR2": null, "PRIMADR": null, "K_PAMV_ID": 3011, "PK_LIG": null, "PK_PARD": null, "KOORD_Y": null, "KOORD_X": null, "KKUS_VIET_PK": 3 }, "link": [ { "href": "/rest/TNdmAdr/13/title", "description": "Virsraksts" }, { "href": "/rest/TNdmAdr/13/print", "description": "Izdrukas" } ]}

Page 112: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Piemērs pieprasījumam ar norādītu JOSE+JSON atbildes formātu

PieprasījumsGET /rest/TNdmAdr/13 HTTP/1.1Accept: application/jose+json 

Atbilde{ "payload":"eyJkZXNjcmlwdGlvbiI6IkVudMSrdGlqYXMgaWVyYWtzdHMiLCJ0aXRsZSI6InN0cmVldEFkZHJlc3MsIGNpdHkiLCJlbnRpdHkiOnsiQ09VTlRFUiI6NDgsIkFEUkVTRSI6InN0cmVldEFkZHJlc3MsIGNpdHkiLCJLT05UQUtUUCI6bnVsbCwiTElDX05SIjpudWxsLCJMSUNfREFUIjpudWxsLCJQSUVaSU1FUyI6bnVsbCwiUEtfQURSRVNFIjp7ImhyZWYiOiIvcmVzdC9UTmRtQWRyLzEzIiwicmVsIjoic2VsZiJ9LCJQS19LTElFTlRTIjp7ImhyZWYiOiIvcmVzdC9URGRtQ3VzdG9tZXIvMzgifSwiU1RBVFVTUyI6MSwiUEtfUkVHSU9OUyI6bnVsbCwiUEtfUkVJU1MiOm51bGwsIkFEUkVTRTEiOiJzdHJlZXRBZGRyZXNzIiwiQURSRVNFMiI6bnVsbCwiQURSRVNFMyI6ImNpdHkiLCJQQVNUQV9JTkQiOm51bGwsIlBLX1ZBTFNUUyI6eyJocmVmIjoiL3Jlc3QvVGRtQkxEVmFsc3RzLzEifSwiTEVHX0FEUiI6MSwiUE9TVF9BRFIiOjIsIktJTE9NRVRSSSI6bnVsbCwiUEtfS0xLUEVSUyI6bnVsbCwiUEtfQURSMiI6bnVsbCwiUFJJTUFEUiI6bnVsbCwiS19QQU1WX0lEIjozMDExLCJQS19MSUciOm51bGwsIlBLX1BBUkQiOm51bGwsIktPT1JEX1kiOm51bGwsIktPT1JEX1giOm51bGwsIktLVVNfVklFVF9QSyI6M30sImxpbmsiOlt7ImhyZWYiOiIvcmVzdC9UTmRtQWRyLzEzL3RpdGxlIiwiZGVzY3JpcHRpb24iOiJWaXJzcmFrc3RzIn0seyJocmVmIjoiL3Jlc3QvVE5kbUFkci8xMy9wcmludCIsImRlc2NyaXB0aW9uIjoiSXpkcnVrYXMifV19", "protected": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9", "signature": "bhN72ExjtjjJBm_e-HxR1TD3BFPxnMsm09ZLSs9wTx0"}

JOSE+JSON atbildes lauku paskaidrojums

Lauks Apraksts

payload Ar BASE64URL algoritmu aizkodēta JSON formāta atbilde

protected Ar BASE64URL algoritmu aizkodta galvene

signature Ar BASE64URL aizkodēts paraksts

Publiskās atslēgas izgūšana

Resurss: rest/system/jwks/json

Sīkāka informācija par publiskās atslēgas izgūšanu aprakstīta sadaļā.vispārējo resursu

Paraksta pareizības pārbaudes variants

Paraksta derīgumu var pārbaudīt arī publiskajās internet vietnēs, piemēram, https://jwt.io

Page 113: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

REST Atbilžu kodiKatra pieprasījuma rezultātu raksturo atbildes kods. Atbildē varētu būt kāds no veiksmīga pieprasījuma atbildes kodiem, piemēram, 200 OK vai201 Created. Taču kļūdas gadījumā būs kāds no kļūdas kodiem, piemēram 500 Internal Server Error vai 400 Bad Request un atbildes saturāprecīzāks kļūdas skaidrojums.

Biežāk sastopamie atbilžu kodi

Kods Rezultāts Skaidrojums

200 OK Veiksmīgs Jebkura veiksmīga atbilde

201 Created Veiksmīgs Jauns ieraksts veiksmīgi izveidots. Atbildē liks uz jaunizveidoto resursu

204 Veiksmīgs Sekmīgs izsaukums bez atbildes satura

301 MovedPermanently

Kļūda Gadījumos, ja pieprasījums tiek veikts uz nehomogēnu datu sarakstu.

Ja meklētais ieraksts ir atvasinājums no galvenā ieraksta sarakstā - paziņojums, ka resurss neatbilstdokumenta pamatveidam, norādot pareizo resursa adresi

495+ ieviests atbildes kods 301

Page 114: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

400 Bad Request Kļūda Datu kļūda. Atbildē kļūdas skaidrojums

401 Unauthorized Kļūda Piekļūšanai resursam nepieciešama autentifikācija

403 Forbidden Kļūda Tiesību mehānisms neļauj piekļūt konkrētajam resursam

404 Not Found Kļūda Prasītais resurss nav atrasts

405 Method NotAllowed

Kļūda Prasītā metode resursam netiek nodrošināta, piemēram, POST

406 NotAcceptable

Kļūda Prasīto datu formātu serveris nenodrošina (galvene Accept)

422UnprocessableEntity

Kļūda Datu validācijas kļūda. Kļūdas paziņojumu var rādīt lietotājam

500 InternalServer Error

Kļūda Jebkura neklasificēta kļūda

Piemēram, kļūdains pieprasījums datu labošanai.

Kļūdains ieraksta labošanas pieprasījumsPOST /rest/TDdmCustomer/18938 HTTP/1.1Content-Type: application/xml;charset=UTF-8

<resource> <entity> <COUNTER>0</COUNTER> <PK_KLIENTS> <href rel="self">/rest/TDdmCustomer/189389</href> </PK_KLIENTS> <REG_NR>000000001</REG_NR> </entity></resource>

Atbilde ar kļūdas situācijas skaidrojumu. Konkrētajā gadījumā kļūda liecina ka noticis konfliktējošs ieraksta labojums. Pieprasījumā norādītajailauka COUNTER vērtībai jāsakrīt ar datubāzē esošo lai ieraksta datu labošana notiktu veiksmīgi

Neveiksmīgas labošanas atbildeHTTP/1.1 500 Internal Server ErrorContent-Type: application/xml; charset=UTF-8Date: Mon, 28 Jul 2014 10:03:20 GMTOrganization: 2, "SIA Kalns"

<?xml version="1.0" encoding="UTF-8" standalone="no"?><error> <class>Exception</class> <message>Ieraksts ir mainjies kopš nolasšanas.Prlasiet to, lai redztu izmaias!</message></error>

Padomi un ieteikumiIeraksta izveidošanai - divas iespējas

Page 115: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

1.

2.

Ieraksta izveidošanai - divas iespējasDokumentu tips - integrācijas risinājumam savsIerakstu identifikatori Horizon interfeisāEntīšu identifikatori

Atrast kolekcijas resursa kolonnu nosaukumusVienkāršas entītes (klienta adrese) izveidošanaLappušošana

Ieraksta izveidošanai - divas iespējas

REST interfeiss piedāvā iespēju jaunos ierakstus izveidot divējādi:

Izmantot sagataves resursu (skat. ). Metodi lieto, ja nepieciešams uzzināt noklusētāsJaunas entītes izveidošana, izmantojot sagatavivērtības pirms saglabāšanas, piemēram, ģenerētu unikālu dokumenta numuru. Sākotnējo variantu ņem no sagataves, papildina to arvajadzīgajām vērtībām, saglabājot citas noklusētās vērtības un nosūta visu jauna ieraksta izveidošanai.Uzreiz izveido ierakstu (skat. ) nododot dokumenta tipa kodu un zināmās laukuJaunas entītes izveidošana, neizmantojot sagatavivērtības. Metodi var lietot visiem gadījumiem, kad pamata vajadzība ir nodot uz Horizon ārpus tā radušos datus. Piemērs, kā izveidot

adresi.

Dokumentu tips - integrācijas risinājumam savs

Lai arī REST interfeisā var izmantot jebkuru sistēmā izveidotu dokumenta tipu, labāk ir integrācijas risinājumam izveidot savu. Parasti Horizongrāmatveži ar integratoriem vienojas par dokumenta tipa kodu. REST interfeiss paredz iespējas lietot dokumentu tipus, zinot tikai tā kodu.

Ierakstu identifikatori Horizon interfeisā

REST interfeisā visas entītes tiek adresētas pēc tā primārās atslēgas vērtības. Lietderīga ir iespēja uzzināt katram ierakstam tā primārās atslēgasvērtību Horizon sarakstos. Pievienojot atslēgu -s un darbinot Horizon aplikāciju, ir pieejama iespēja sarakstu kolonnās ielikt lauku "Sistēmas ID".

FTG20.exe -s

Entīšu identifikatori

REST interfeisā katrs resurss tiek unikāli identificēts. Konkrētas entītes resursa adrese ir, piemēram, . Ieteicams/rest/TDdmCustomer/18938šo resursa identifikatoru visu kopā arī lietot, lai identificētu konkrētu entīti, nevis tikai primārās atslēgas vērtības daļu .18938

Atrast kolekcijas resursa kolonnu nosaukumusLai uzzinātu lauku nosaukumus tos vispirms jāatrod Horizon sarakstā - jāapskatās kā saucas lauks ar interesējošo vērtību un no kura zarahierarhiskajā kolonnu izskatā tas iekļauts.

Piemēram nomenklatūru grupas nosaukums iegūstams no "Nomenklatūru grupa" un lauks saucas "Nosaukums"

Page 116: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Jebkuram sarakstam iespējamos laukus var uzzināt atbilstošajā shēmas resursā. Piemēram, . Atrodam/rest/TNdmNomSar/TNdmNomSar.xsdkur pieminēts "Nomenklatūru grupa". Svarīgs ir tas ka grupas dati pieejami elementā ar kodu G

Page 117: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Lauki ir definēti namespace struktūrā . Skatāmies shēmas sākumā kur atrodama lietotā shēmaTNdmNomGr TNdmNomGrStructure

Tur minēta relatīvā atsauce uz resursu /rest/TNdmNomGr/TNdmNomGr.xsd

Atrodam lauku sarakstu struktūrā un redzam ka nosaukuma lauks saucās TNdmNomGrStructure NOSAUK

Page 118: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Papildinām rezultātā iekļaujamo kolonnu sarakstu ar , piemēram šādi G.NOSAUK /rest/TNdmNomSar/query?columns=N.KODS,N.NOSAUK,G.NOSAUK

Atlasītie dati ar iekļautu nomenklatūras grupu nosaukumu. Jebkura cita saraksta lauku nosaukumi meklējami šādā pat veidā.

Page 119: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Vienkāršas entītes (klienta adrese) izveidošana

Kompaktais insert est/TNdmAdr/) (POST uz /r

Page 120: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Kompaktās izveidošanas pieprasījumsPOST http://localhost:81/rest/TNdmAdr/ HTTP/1.1Accept-Encoding: gzip,deflateContent-Type: application/xml;charset=UTF-8Content-Length: 140Host: dino.fms.lan:81Connection: Keep-AliveUser-Agent: Apache-HttpClient/4.1.1 (java 1.5)Cookie: IDHTTPSESSIONID=84A213RxnFcscgVCookie2: $Version=1Authorization: Basic RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

<resource> <entity> <PK_KLIENTS>1</PK_KLIENTS> <ADRESE1>Glžšnis, Ršu iela 7</ADRESE1> </entity></resource>

Kompaktā izveidošanas atbildeHTTP/1.1 201 CreatedConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 129Date: Fri, 23 Jan 2015 07:10:51 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=UVzlXxx9tMTlkAU; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><result> <link> <href>/rest/TNdmAdr/1879</href> </link></result>

Insert pēc sagataves (POST uz /rest/TNdmAdr/template)

Tukšu (ar noklusētajām vērtībām) XML iegūst ar GET no tā paša resursa:

GET /rest/TNdmAdr/template HTTP/1.1

Page 121: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

AtbildeHTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/json; charset=UTF-8

 <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Jauna ieraksta sagatave</description> <entity xsi:schemaLocation="TNdmAdr.xsd TNdmAdr.xsd"xmlns="TNdmAdr.xsd"> <COUNTER/> <ADRESE/> <KONTAKTP/> <KONTAKTP_LNG1/> <KONTAKTP_LNG2/> <KONTAKTP_LNG3/> <LIC_NR/> <LIC_DAT/> <PIEZIMES/> <PK_ADRESE/> <PK_KLIENTS/> <STATUSS>1</STATUSS> <PK_REGIONS/> <PK_REISS/> <ADRESE1/> <ADRESE1_LNG1/> <ADRESE1_LNG2/> <ADRESE1_LNG3/> <ADRESE2/> <ADRESE2_LNG1/> <ADRESE2_LNG2/> <ADRESE2_LNG3/> <ADRESE3/> <ADRESE3_LNG1/> <ADRESE3_LNG2/> <ADRESE3_LNG3/> <PASTA_IND/> <PASTA_IND_LNG1/> <PASTA_IND_LNG2/> <PASTA_IND_LNG3/> <PK_VALSTS/> <LEG_ADR>2</LEG_ADR> <POST_ADR>2</POST_ADR> <KILOMETRI/> <PK_KLKPERS/> <PK_ADR2/> <KKUS_VIET_PK/> </entity></resource>

Page 122: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Aizpildot datus norādītas tikai 2 lauku PK_KLIENTS un ADRESE1 vērtības. Pārējo lauku vērtības atstātas nemainītas no sagataves.

Izveidošanas pieprasījumsPOST /rest/TNdmAdr/template HTTP/1.1Accept-Encoding: gzip,deflateContent-Type: application/xml;charset=UTF-8Content-Length: 1017Host: localhost:81Connection: Keep-AliveUser-Agent: Apache-HttpClient/4.1.1 (java 1.5)Cookie: IDHTTPSESSIONID=NoPWAFefPTZ5NsRCookie2: $Version=1Authorization: Basic RlRHQ0xJRU5UOmZ0Z2NsaWVudA==

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Jauna ieraksta sagatave</description> <entity xsi:schemaLocation="TNdmAdr.xsd TNdmAdr.xsd"xmlns="TNdmAdr.xsd"> <COUNTER/> <ADRESE/> <KONTAKTP/> <KONTAKTP_LNG1/> <KONTAKTP_LNG2/> <KONTAKTP_LNG3/> <LIC_NR/> <LIC_DAT/> <PIEZIMES/> <PK_ADRESE/> <PK_KLIENTS>1</PK_KLIENTS> <STATUSS>1</STATUSS> <PK_REGIONS/> <PK_REISS/> <ADRESE1>Glžšnis, Ršu iela 7</ADRESE1> <ADRESE1_LNG1/> <ADRESE1_LNG2/> <ADRESE1_LNG3/> <ADRESE2/> <ADRESE2_LNG1/> <ADRESE2_LNG2/> <ADRESE2_LNG3/> <ADRESE3/> <ADRESE3_LNG1/> <ADRESE3_LNG2/> <ADRESE3_LNG3/> <PASTA_IND/> <PASTA_IND_LNG1/> <PASTA_IND_LNG2/> <PASTA_IND_LNG3/> <PK_VALSTS/> <LEG_ADR>2</LEG_ADR> <POST_ADR>2</POST_ADR>

Page 123: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<KILOMETRI/> <PK_KLKPERS/> <PK_ADR2/>

Page 124: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

<KKUS_VIET_PK/> </entity></resource>

Izveidošanas atbildeHTTP/1.1 201 CreatedConnection: keep-aliveContent-Type: application/xml; charset=UTF-8Content-Length: 129Date: Fri, 23 Jan 2015 07:07:48 GMTOrganization: 2, "Programmas izstrade - MSSQL"Set-Cookie: IDHTTPSESSIONID=yJfzsm6cWbBPsSR; Path=/

<?xml version="1.0" encoding="UTF-8" standalone="no"?><result> <link> <href>/rest/TNdmAdr/1877</href> </link></result>

Lappušošana

Lappušošanu FTG serveris nenodrošina, taču līdzīgu uzvedību var nodrošināt sakārtojumu (sīkāk sadaļā DatuDarbs ar entīšu kolekcijas resursukārtošana ) pēc primārās atslēgas lauka kombinācijā ar filtrēšanu (sīkāk sadaļā Pamata filtrēšana) un ierakstuDarbs ar entīšu kolekcijas resursuskaita ierobežošanu (sīkāk sadaļā Atgriezto ierakstu skaita ierobežošana).Darbs ar entīšu kolekcijas resursu

Piemērs izgūt valstu (resurss ) klasifikatora datus (kods, nosaukums) lappusēs pa 3 ierakstiem./rest/TdmSLDValsts

Nepieciešamie metadati

Vispirms ir svarīgi noskaidrot valstu klasifikatoram lauka vārdu primārās atslēgas vērtībai. Veicot GET pieprasījumu uz valstu klasifikatora resursupieejami pamata metadati. Atbildes vērtība ir valstu klasifikatora primārās atslēgas elementa nosaukums /resource/keyfield DV.PK_VALST

. Resurss tiks izmantots datu izgūšanai.S /rest/TdmSLDValsts/query

470+

Page 125: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Atbilde GET /rest/TdmSLDValsts<resource> <description>Valstis</description> <keyfield>DV.PK_VALSTS</keyfield> <codefield>DV.KODS</codefield> <counterfield>DV.COUNTER</counterfield> <link> <href>/rest/TdmSLDValsts/query</href> <description>Veikt datu atlasi</description> </link></resource>

Interesējošās datu kolonnas ir DV.KODS un DV.NOSAUK (sīkāk par pieejamajām kolonnām sadaļā KolekcijuDarbs ar entīšu kolekcijas resursuXML datu struktūras). REST pieprasījums datu iegūšanai ./rest/TdmSLDValsts/query?columns=DV.KODS,DV.NOSAUK

Pirmā lappuse

Pirmās lappuses datu iegūšanai pieprasījums ir /rest/TdmSLDValsts/query?columns=DV.KODS,DV.NOSAUK&orderby=DV.PK_VALSTS&. Atšķirībā no vienkārša datu pieprasījuma tas papildināts ar parametriem un .limit=3 orderby limit

Pirmās lappuses datu pieprasījumsGEThttp://localhost:81/rest/TdmSLDValsts/query?columns=DV.KODS%2CDV.NOSAUK&orderby=DV.PK_VALSTS&limit=3 HTTP/1.1Accept: application/xmlCookie: IDHTTPSESSIONID=dL5Jrwcm7sp12BC

Pieprasījuma atbildē iegūti 3 ieraksti. Pazīme elementā liecina ka visi klasifikatoratrue /resource/collection/metadata/page/limiteddati vēl nav saņemti un jāveic pieprasījums nākamajai lappusei. Skaitlis 3 elementā rāda/resource/collection/metadata/page/countatbildē saņemto ierakstu skaitu.

Page 126: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

Pirmās lappuses latu pieprasījuma atbilde<resource> <collection> <metadata> <page> <count>3</count> <limited>true</limited> <message>Pardti pirmie 3 ieraksti, bet pc ievadtajiem kritrijiemdatu bz ir atrasti vairk. Ldzu, precizjiet atlases kritrijus!</message> </page> </metadata> <row> <DV> <PK_VALSTS> <href>/rest/TdmBLDValsts/3</href> </PK_VALSTS> <KODS>LV</KODS> <NOSAUK>Latvija</NOSAUK> <COUNTER>29</COUNTER> </DV> </row> <row> <DV> <PK_VALSTS> <href>/rest/TdmBLDValsts/97</href> </PK_VALSTS> <KODS>SE</KODS> <NOSAUK>SE</NOSAUK> <COUNTER>0</COUNTER> </DV> </row> <row> <DV> <PK_VALSTS> <href>/rest/TdmBLDValsts/304</href> </PK_VALSTS> <KODS>RU</KODS> <NOSAUK>Krievija</NOSAUK> <COUNTER>4</COUNTER> </DV> </row> </collection></resource>

Nākamā lappuse

Nākamās lappuses datu iegūšanai pieprasījumu jāpapildina ar nosacījumu atlasīt ierakstus, kuri ir pēc iepriekšējās lappuses beidzamā ieraksta,filtra nosacījums . Pirmās lappuses beidzamā ieraksta resursa identifikators ir filter=DV.PK_VALSTS gt /rest/TdmBLDValsts/304 /rest

(trešais xml elements ). XPath vaicājums trešā ieraksta entītes/TdmBLDValsts/304 /resource/collection/row/DV/PK_VALSTS/hrefidentifikatora iegūšanai ir

Page 127: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

/resource/*[name()='collection']/*[name()='row'][3]/*[name()='DV']/*[name()='PK_VALSTS']/*[name()='href']/text()

Nākamās lappuses datu pierasījumsGEThttp://localhost:81/rest/TdmSLDValsts/query?columns=DV.KODS%2CDV.NOSAUK&orderby=DV.PK_VALSTS&limit=3&filter=DV.PK_VALSTS%20gt%20%2Frest%2FTdmBLDValsts%2F304 HTTP/1.1Accept: application/xmlCookie: IDHTTPSESSIONID=dL5Jrwcm7sp12BC

Lappušu pieprasījumus atkārtot kamēr iegūti visi klasifikatora dati saņemti. Horizon entīšu primārās atslēgas vērtības vienmēr sākas ar 1, tāpēcarī pirmās lappuses datu pieprasījumā var iekļaut filtrējošo nosacījumu, bet piemērojot vērtību .0

REST nesavietojami risinājumi (iekšējai lietošanai)

Vienkāršu datu tipu vērtību serializācija/deserializācija BLu/SLu read*Data()metodēsreadCustomData() un cits kods BLos un SLos, kur tiek izsauktas TRemoteReader metodes, kas nolasa datus ar vienkāršo datu tipu metodēm- u.c. - nav savietojams ar REST. Pašlaik REST risinājums atbalsta tikai datu apmaiņureadString(), readInteger(), readBoolean()caur TDataset un no tā inheritētām klasēm.

Piemēram, ja lietotājs mēģinās rediģēt BLa datus, izmantojot REST interfeisu, tad sekojošais kods beigsies ar :EReadError

procedure TdmMyBL.readCustomData(reader: TRemoteReader; original: Integer);begin inherited; FSomeVar := reader.ReadInteger; // bs EReadErrorend;

Recalculate - onChange eventi[FTGPublished, FTGReadData(roRecalcOption)]

Izmaiņas datu struktūrās pa versijām.Lai uzzinātu, kuru Horizon versiju un versijas laidienu klients izmanto produkcijas un/vai testa vidēs, ieteicams izmantot vaicājumu rest/global/agentVersion.

GET metodes atbildē JSON fomātā veiktas izmaiņas - lai JSON root līmenī būtu tukšu tags, izņemts līmenis

resource: {

470+

Page 128: 1. Pamatnosacījumi un Atbalsta sniegšana 2 VH-260517-1516-54.pdf · Pamatnosacījumi un Atbalsta sniegšana Moduļa pielietojums Integrācijas platforma ir izveidota, lai Horizon

resource: {

POST metode turpinās strādāt abos veidos.

Ir izņemti arī attiecīgi "result" un "error" elementi, to saturu pārceļot līmeni augstāk.

GET metodes atbildē mainīta lauka DAT_GRP (grāmatošana datuma) struktūra, izveidojot apakšelementus:

<collection> <row> <KON> <PK_KONTS>362</PK_KONTS> <KONG> <G> <D> <DAT_DOK>2013-12-13</DAT_DOK> <DAT_GRP> <value>2013-12-13</value> <interim>00</interim> </DAT_GRP>

POST metodē DAT_GRP struktūra ir tada pati struktūra kā GET metodē. POST, veidojot jaunu dokumentu, DAT_GRP nav jāiesūta, tasaizpildīsies automātiski. Ja jāiesūta (ļoti speciālos gadījumos), tad interim vērtība jāsaglabā tāda, kā no template izgūta.

475+