Protokol je určen pro komunikaci mezi Tahiti a serverem DAMIS pro distribuci spisů k identifikaci a jejich následné předání na archivaci. Komunikace probíhá pomocí HTTP protokolu, všechny dotazy jsou z klienta na server přenášeny metodou POST.
Termín |
Vysvětlení |
DocumentSet |
Sada společně naskenovaných dokumentů |
Formát DocumentSet
DocumentSet je zazipovaný soubor, který obsahuje naskenované soubory a soubor docset.xml, který popisuje jejich atributy, příslušnost do dokumentů
Popis formátu docset.xml je dostupný zde: http://frnk.lightcomp.cz/lcdevel/SpecifikaceTahitiDamisUlozeniDat, část Popis spisu
Identifikace DocumentSetu
DocumentSet je identifikován názvem serveru a vlastním identifikátorem DocumentSetu ( id ) Oba identifikátory jsou ascii
Identifikator zámku (lockId) je textový retezec ASCII, ktery vraci server
Typická komunikace mezi Tahiti a Skenovacím serverem:
Tahiti dostane z dispu id DocumentSetu
Tahiti zamkne DocumentSet ( při této akci získá lockId)
Tahiti si vyžádá data DocumentSetu
Tahiti periodicky posílá oznámení, že má DocumentSet stále zamčen
Tahiti odešle zpracovaný DocumentSet
Funkce poskytované serverem:
Uzamknutí DocumentSetu
Oznámení, že DocumentSet byl zpracován a odeslání zpracovaného DocumentSetu ( zazipovaného )
Oznámení, že DocumentSet zpracovávat nebude ( odemkne ho )
Vyžádání DocumentSetu ( zazipované )
Oznámení, že vyžádaný DocumentSet je stále používán
Data jsou přenášena pomocí http/post s content-type=text/xml
Při odesílání zpracovaného DocumentSet je použit http/post s multipart obsahem
Uzamknutí DocumentSetu
Klient odesílá
identifikátor DocumentSetu
- uživatelské jméno
Vrátí OK, FAIL
Request <?xml?> <LockRequest id="" user=""/> Response <?xml?> <LockResponse status="LOCKED|RACE|FAIL" lockId=""/> LOCKED - DocumentSet je uzamcen, lockId obsahuje identifikator zamku RACE - DocumentSet ma jiz nekdo jiny uzamcen FAIL - chyba lockId obsahuje přidělený kód zámku ( status == LOCKED)
Oznámení, že DocumentSet byl zpracován
Zde se odesílá multipart zpráva složená ze dvou částí
- xml s níže popsaným příkazem, název "command"
zazipovaný DocumentSet, název "batch1.zip"
Odešle
identifikátor DocumentSetu
zámek DocumentSetu
- jméno uživatele
Request <?xml?> <ProcessedRequest id="" lockId="" user=""/> Response <?xml?> <ProcessedResponse status="OK|FAIL"/> OK - DocumentSet byl oznacen jako zpracovany FAIL - DocumentSet se nepodarilo oznacit jako zpracovany
Oznámení, že DocumentSet zpracovávat nebude
Odešle
identifikátor DocumentSetu
zámek DocumentSetu
- jméno uživatele
Request <?xml?> <UnlockRequest id="" lockId="" user=""/> Response <?xml?> <UnlockResponse status="OK|FAIL"/> OK - DocumentSet byl odemknut FAIL - DocumentSet se nepodarilo odemknout
Vyžádání DocumentSetu
Odešle
identifikátor DocumentSetu
zámek DocumentSetu
- jméno uživatele
Vrátí soubor se zazipovaným DocumentSetem
Request <?xml?> <DocumentSetRequest id="" lockId="" user=""/> Response zazipovany soubor (batch.zip) s DocumentSetem
Oznámení, že vyžádaný DocumentSet je stále používán
Odešle
- jméno uživatele
seznam DocumentSetu, ktere ma zamcene ( u každého DocumentSetu posílá id, lockId)
Vrátí seznam DocumentSetu, pro ktere to opravdu plati (vrati podmnozinu toho co jsem odeslal)
Request - poslu seznam DocumentSetu, ktere mam zamknute <?xml?> <NotifyRequest user=""> <LockedDocumentSet id="" lockId=""/> <LockedDocumentSet id="" lockId=""/> <NotifyRequest/> Response - vrati seznam DocumentSetu, pro ktere to stale plati <?xml?> <NotifyResponse> <LockedDocumentSet id="" lockId=""/> <LockedDocumentSet id="" lockId=""/> </NotifyResponse>