[Testgrid] [Client-Server communication protocol]
Kuznetsov Alexey
jwarrior at ngs.ru
Sun Jan 22 16:21:40 NOVT 2006
Skipped content of type multipart/alternative-------------- next part --------------
нОХЯЮМХЕ ТНПЛЮРНБ ГЮОПНЯНБ Б ЯХЯРЕЛЕ, НЯМНБЮММНИ МЮ J2EE.
хЯРНПХЪ ХГЛЕМЕМХИ:
22 ЪМБ. 2006Ц. - ВЕПМНБХЙ. [Kuznetsov Alexey.]
=========================================== Auth ГЮОПНЯ. ===========================================
дЮММШИ ГЮОПНЯ НРОПЮБКЪЕРЯЪ ЙКХЕМРНЛ ЯЕПБЕПС Я ОНЛНЫЭЧ HTTP-ЛЕРНДЮ POST. рХО
ЯНДЕПФХЛНЦН - "text/auth-xml". х ОПЕДЯРЮБКЪЕР ЯНАНИ XML-ДНЙСЛЕМР ЯКЕДСЧЫЕЦН ТНПЛЮРЮ:
<?xml version="1.0" encoding="UTF-8"?>
<client>
<ver>SupportedProtocolVersion</ver>
<user_id>UID</user_id>
<password>*****</password>
<system>
.... [Client's system parameters here] ....
</system>
</client>
user_id - хДЕМРХТХЙЮРНП ОНКЭГНБЮРЕКЪ ЯХЯРЕЛШ. аНКЭЬНЕ ВХЯКН, ОНКСВЕММНЕ НР
ЯЕПБЕПЮ ОНЯКЕ ГЮОНКМЕМХЪ ТНПЛШ ПЕЦХЯРПЮЖХХ СВЮЯМХЙЮ.
password - оЮПНКЭ ОНКЭГНБЮРЕКЪ ЯХЯРЕЛШ.
system - дЮММШИ ПЮГДЕК НОХЯШБЮЕР ОЮПЮЛЕРПШ ЯХЯРЕЛШ ЙКХЕМРЮ. дЕРЮКЭМНЕ НОХЯЮМХЕ
АСДЕР ДЮМН ОНГФЕ.
ver - мНЛЕП БЕПЯХХ ОПНРНЙНКЮ.
нРБЕР ЯЕПБЕПЮ НОХЯЮМ Б ПЮГДЕКЕ "Auth НРБЕР".
====================================================================================================
============================================= Auth НРБЕР. ==========================================
дЮММШИ НРБЕР НРОПЮБКЪЕРЯЪ ЯЕПБЕПНЛ ЙКХЕМРС Б НРБЕР МЮ Auth ГЮОПНЯ. рХО ЯНДЕПФХЛНЦН -
"text/auth-xml". х ОПЕДЯРЮБКЪЕР ЯНАНИ XML-ДНЙСЛЕМР ЯКЕДСЧЫЕЦН ТНПЛЮРЮ:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<state>{Busy/Accepted/Refused/NotSubmitted}</state>
<id>Number</id>
<timeout>Time in millis</timeout>
<handler>HandlerURL</handler>
</client>
гМЮВЕМХЪ ОЮПЮЛЕРПЮ state:
"Busy" - ЯЕПБЕП ОЕПЕЦПСФЕМ.
"Accepted" - ЮБРНПХГЮЖХЪ СДЮКЮЯЭ. б ЩРНЛ ЯКСВЮЕ ОЮПЮЛЕРП id ДНКФЕМ ХЛЕРЭ
МЕМСКЕБНЕ ГМЮВЕМХЕ Х ЪБКЪРЭЯЪ ЙКЧВНЛ РЮАКХЖШ ад, Б ЙНРНПНИ
ЯНУПЮМЕМЮ ХМТНПЛЮЖХЪ Н ЙНМТХЦСПЮЖХХ ЯХЯРЕЛШ ЙКХЕМРЮ.
"Refused" - НРЙЮГЮМН Б ДНЯРСОЕ. оЮПЮЛЕРП id днкфем ХЛЕРЭ МСКЕБНЕ ГМЮВЕМХЕ.
"NotSubmitted" - ЮДЛХМХЯРПЮРНП ЯХЯРЕЛШ МЕ ОНДРБЕПДХК ОПЮБЮ ОНКЭГНБЮРЕКЪ.
оЮПЮЛЕРП id - ДНКФЕМ АШРЭ МЮГМЮВЕМ ЙКХЕМРС Б ЯКСВЮЕ СЯОЕЬМН ОПНИДЕММНИ ОПНЖЕДСПШ ЮБРНПХГЮЖХХ.
дНКФЕМ ОПЕДЯРЮБКЪРЭ ЯНАНИ ЙЮЙ ЛХМХЛСЛ 64-АХРМНЕ ВХЯКН, ОНКСВЕММНЕ ЙПХОРНЦПЮТХВЕЯЙХ ЯРНИЙХЛ
НАПЮГНЛ Х ДНКФЕМ ГЮЛЕМЪРЭЯЪ ОПХ ОНБРНПМНИ ЮБРНПХГЮЖХХ.
оЮПЮЛЕРП timeout НГМЮВЮЕР БПЕЛЪ Б ЛХКХЯЕЙСМДЮУ, Б РЕВЕМХЕ ЙНРНПНЦН ЙКХЕМР ДНКФЕМ ЯДЕКЮРЭ
ЙЮЙНИ-КХАН ЙНППЕЙРМШИ ГЮОПНЯ МЮ ЯЕПБЕП.
оЮПЮЛЕРП handler НГМЮВЮЕР URL ЯЕПБКЕРЮ-НАПЮАНРВХЙЮ, ЦНРНБНЦН НАПЮАЮРШБЮРЭ ГЮОПНЯШ ЙКХЕМРЮ. нМ
ЛНФЕР ХГЛЕМЪРЭЯЪ Б ГЮБХЯХЛНЯРХ НР БЕПЯХХ ОПНРНЙНКЮ.
====================================================================================================
====================================== Keep-alive ГЮОПНЯ. ==========================================
дЮММШИ ГЮОПНЯ НРОПЮБКЪЕРЯЪ ЙКХЕМРНЛ ЯЕПБЕПС Я ОНЛНЫЭЧ HTTP-ЛЕРНДЮ POST. URL ГЮОПНЯЮ ДНКФЕМ
ЯНБОЮДЮРЭ Я URL, ОНКСВЕММШЛ Б Auth НРБЕРЕ ЯЕПБЕПЮ. рХО ЯНДЕПФХЛНЦН - "text/keep-alive-xml".
Keep-alive ГЮОПНЯ НРОПЮБКЪЕРЯЪ ПЕГХДЕМРМШЛ ЛНДСКЕЛ МЮ ЙКХЕМРЯЙНИ ЛЮЬХМЕ ОНЯКЕ БШОНКМЕМХЪ
ОПНЖЕДСПШ ЮБРНПХГЮЖХХ МЮ ЯЕПБЕПЕ БМЕ ГЮБХЯХЛНЯРХ НР ЯБНЕЦН БМСРПЕММЕЦН ЯНЯРНЪМХЪ. яЕПБЕП, Б ЯБНЧ
НВЕПЕДЭ, днкфем НРБЕРХРЭ МЮ keep-alive ГЮОПНЯ XML-ДНЙСЛЕМРНЛ, НОХЯЮММШЛ Б ПЮГДЕКЕ "Keep-alive
НРБЕР." гЮОПНЯ ОПЕДЯРЮБКЪЕР ЯНАНИ XML-ДНЙСЛЕМР ЯКЕДСЧЫЕЦН ТНПЛЮРЮ:
<?xml version="1.0" encoding="UTF-8"?>
<client>
<state>{Waiting/Working/Stopped}</state>
<credit>Time in millis</credit>
<id>Number</id>
</client>
оЮПЮЛЕРП id - МНЛЕП ЙКХЕМРЮ, МЮГМЮВЕММШИ ЯЕПБЕПНЛ ОПХ ЮБРНПХГЮЖХХ ЙКХЕМРЮ.
гМЮВЕМХЪ ОЮПЮЛЕРПЮ state:
"Waiting" - ЙКХЕМР НФХДЮЕР ГЮДЮМХИ НР ЯЕПБЕПЮ
"Working" - ЙКХЕМР ХЯОНКМЪЕР ГЮДЮМХЕ Х МЕ ЛНФЕР ХЯОНКМЪРЭ ЯКЕДСЧЫЕЕ ГЮДЮМХЕ.
"Stopped" - ЙКХЕМР НЯРЮМНБКЕМ ОНКЭГНБЮРЕКЕЛ Х БПЕЛЕММН МЕ ОПХМХЛЮЕР ГЮДЮМХЪ.
оЮПЮЛЕРП credit днкфем ХЛЕРЭ МЕНРПХЖЮРЕКЭМНЕ ГМЮВЕМХЕ, ЕЯКХ ЙКХЕМР МЮУНДХРЯЪ Б ЯНЯРНЪМХХ
Waiting (гМЮВЕМХЕ ОЮПЮЛЕРПЮ state). нМ НГМЮВЮЕР БПЕЛЪ Б ЛХККХЯЕЙСМДЮУ, ЙНРНПНЕ ЛНФЕР АШРЭ
ГЮРПЮВЕМН ЙКХЕМРЯЙНИ ЛЮЬХМНИ МЮ БШОНКМЕМХЕ НВЕПЕДМНЦН ГЮДЮМХЪ.
====================================================================================================
======================================= Keep-alive НРБЕР. ==========================================
дЮММШИ НРБЕР днкфем НРОПЮБКЪРЭЯЪ ЯЕПБЕПНЛ ЙКХЕМРС Б НРБЕР МЮ Keep-alive ГЮОПНЯ. рХО
ЯНДЕПФХЛНЦН - "text/keep-alive-xml". х ОПЕДЯРЮБКЪЕР ЯНАНИ XML-ДНЙСЛЕМР ЯКЕДСЧЫЕЦН ТНПЛЮРЮ:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<state>{Busy/NoWork/WorkAvailable/ConnectionExpired}</state>
<timeout>Time in millis</timeout>
</server>
timeout - БПЕЛЪ Б ЛХККХЯЕЙСМДЮУ, ОН ХЯРЕВЕМХЕ ЙНРНПНЦН, ЙКХЕМР ДНКФЕМ ЯБЪГЮРЭЯЪ Я ЯЕПБЕПНЛ.
гМЮВЕМХЪ ОЮПЮЛЕРПЮ state:
"Busy" - ЯЕПБЕП ОЕПЕЦПСФЕМ.
"NoWork" - ЯЕПБЕП МЕ ХЛЕЕР ГЮДЮМХИ, ДНЯРСОМШУ ДКЪ ДЮММНЦН ЙКХЕМРЮ.
"WorkAvailable" - ЯЕПБЕП ЦНРНБ НРОПЮБХРЭ ГЮДЮМХЕ.
"ConnectionExpired" - РПЕАСЕРЯЪ ОНБРНПМЮЪ ЮБРНПХГЮЖХЪ МЮ ЯЕПБЕПЕ.
б ЯКСВЮЕ, ЕЯКХ ЙКХЕМР МЕ ОПНЬЕК ОПНЖЕДСПС ЮБРНПХГЮЖХХ ЯЕПБЕП днкфем НРОПЮБХРЭ НРБЕР,
ЯНДЕПФЮЫХИ ConnectionExpired. рЮЙНИ НРБЕР лнфер АШРЭ НРОПЮБКЕМ ЯЕПБЕПНЛ, ЕЯКХ ЯНЕДХМЕМХЕ
ОНДДЕПДХБЮЕРЯЪ Keep-alive-ЯННАЫЕМХЪЛХ ДНЯРЮРНВМН ДКХРЕКЭМНЕ БПЕЛЪ, КХАН ЙКХЕМР МЕ НРОПЮБХК
МХ НДМНЦН ГЮОПНЯЮ Б РЕВЕМХЕ РЮИЛЮСРЮ, СЯРЮМНБКЕММНЦН ЯЕПБЕПНЛ (ОЮПЮЛЕРП timeout), КХАН АШК
ОНКСВЕМ МЕ ЙНППЕЙРМШИ ГЮОПНЯ (МЮОПХЛЕП, МЕБЕПМНЕ ГМЮВЕМХЕ ОЮПЮЛЕРПЮ id).
====================================================================================================
======================================== WorkUnit ГЮОПНЯ. ==========================================
дЮММШИ НРБЕР НРОПЮБКЪЕРЯЪ ЙКХЕМРНЛ Б НРБЕР МЮ Keep-alive НРБЕР ЯЕПБЕПЮ, Б ЙНРНПНЛ ОЮПЮЛЕРП
state ХЛЕК ГМЮВЕМХЕ WorkAvailable. б ЯКСВЮЕ, ЕЯКХ ЙКХЕМР ЦНРНБ ХЯОНКМЪРЭ МНБШЕ РЕЯРШ. нРОПЮБЙЮ
ОПНХЯУНДХР Я ОНЛНЫЭЧ HTTP-ЛЕРНДЮ POST. рХО ЯНДЕПФХЛНЦН - "text/wu-xml". оПЕДЯРЮБКЪЕР
ЯНАНИ XML-ДНЙСЛЕМР ЯКЕДСЧЫЕЦН ТНПЛЮРЮ:
<?xml version="1.0" encoding="UTF-8"?>
<client>
<id>Number</id>
<exec-limit>Time in millis</exec-limit>
</client>
оЮПЮЛЕРП id - МНЛЕП ЙКХЕМРЮ, МЮГМЮВЕММШИ ЯЕПБЕПНЛ ОПХ ЮБРНПХГЮЖХХ ЙКХЕМРЮ.
оЮПЮЛЕРП exec-limit НГМЮВЮЕР ЛЮЙЯХЛЮКЭМНЕ БПЕЛЪ, ЙНРПНЕ ЙКХЕМРЯЙЮЪ ЯХЯРЕЛЮ ЦНРНБЮ ОНЯРПЮРХРЭ
МЮ ХЯОНКМЕМХЕ РЕЯРЮ. еЯКХ exec-limit ХЛЕЕР МСКЕБНЕ ГМЮВЕМХЕ, РН ЯЕПБЕП ЛНФЕР НРОПЮБХРЭ Б
НРБЕР ГЮДЮМХЕ Я КЧАШЛ ЛЮЙЯХЛЮКЭМШЛ БПЕЛЕЛ ХЯОНКМЕМХЪ.
б НРБЕР МЮ ДЮММНЕ ЯННАЫЕМХЕ, ЯЕПБЕП ЛНФЕР НРОПЮБХРЭ МЕЯЙНКЭЙН БХДНБ НРБЕРНБ:
1. Keep-alive НРБЕР ЯН ГМЮВЕМХЕЛ ОЮПЮЛЕРПЮ state: {Busy/NoWork/ConnectionExpired}
NoWork
пЮАНРЮ СФЕ ОЕПЕДЮМЮ ДПСЦНИ ЙКХЕМРЯЙНИ ЛЮЬХМЕ, КХАН МЕР ПЮАНРШ, ЙНРНПЮЪ ЛНФЕР АШРЭ
БШОНКМЕМЮ ГЮ БПЕЛЪ, МЕ ОПЕБШЬЮЧЫЕЕ exec-limit. б ЩРНЛ ЯКСВЮЕ ЙКХЕМРЯЙЮЪ ЛЮЬХМЮ ЛНФЕР
ОНБРНПХРЭ ГЮОПНЯ Я АНКЭЬХЛ ГМЮВЕМХЕЛ exec-limit, КХАН НРОПЮБКЪРЭ Keep-alive ГЮОПНЯШ.
2. WorkUnit НРБЕР, НОХЯЮММШИ МХФЕ, ЯНДЕПФЮЫХИ БЯЕ МЕНАУНДХЛНЕ ДКЪ ГЮОСЯЙЮ РЕЯРХПНБЮМХЪ.
====================================================================================================
========================================= WorkUnit НРБЕР. ==========================================
дЮММШИ НРБЕР днкфем НРОПЮБКЪРЭЯЪ ЯЕПБЕПНЛ ЙКХЕМРС Б НРБЕР МЮ WorkUnit ГЮОПНЯ. рХО
ЯНДЕПФХЛНЦН - "application/work-unit". х ОПЕДЯРЮБКЪЕР ЯНАНИ ДБНХВМШЕ ДЮММШЕ. оПЕДКЮЦЮЕРЯЪ
ХЯОНКЭГНБЮРЭ ZIP-ЮПУХБ, ЯНДЕПФЮЫХИ НОХЯЮМХЕ ГЮДЮМХЪ, ПЮАНВХЕ ЛНДСКХ Х РЕЯРХПСЕЛШЕ ЙНЛОНМЕМРШ.
====================================================================================================
====================================== WorkUnit results ГЮОПНЯ =====================================
дЮММШИ ГЮОПНЯ ОНЯШКЮЕРЯЪ ЙКХЕМРНЛ ЯЕПБЕПС ОНЯКЕ РНЦН, ЙЮЙ РЕЯР АШК БШОНКМЕМ. рХО ЯНДЕПФХЛНЦН -
"text/result-xml". оПЕДЯРЮБКЪЕР ЯНАНИ XML-ДНЙСЛЕМР ЯКЕДСЧЫЕЦН ТНПЛЮРЮ:
<?xml version="1.0" encoding="UTF-8"?>
<client>
<id>Number</id>
<time>Time in millis</time>
<result>{TimedOut/Succeed/Failed/Crushed}</result>
<code>Integer Code</code>
<out>BASE64_ENCODED_STDOUT</out>
<err>BASE64_ENCODED_STDERR</err>
</client>
====================================================================================================
More information about the Testgrid
mailing list