SOAP ҥшін алдын-ала барлық мҥмкін деген тег жəне деректердің
тҥрі анықталып қояды, сондықтан SOAP-қҧжаттар DTD-блокқа
тəуелді емес. Осындай серверлерді біріздендіру арқылы сатып
алушылар белгісіз тегпен келген қҧжаттардың синтаксистік талдауы
сияқты біршама кҥрделі рəсімдерден босайды.
SOAP хаттамасы — бҧл хатқа бағытталып, жаһандық желі бойынша
объектіні алыстағы шақыртуға негізделген əлсіз байланыстағы
механизм.
Оның жҧмыс принциптерін қарастырайық. URL біле тҧра сатып
алушы SDL (Service Description Language) сервисін сипаттау тілінде
серверден ол туралы ақпарат сҧрайды (келтірілген əдістер, параметрлер
жəне т.б.). Жауап ретінде сатып алушы керекті ақпараттары бар жəне
оған қандай əдістер ҧсынылып оларлы қалай қолдану керек екендігін
көрсететін ақпараты бар SDL-файл алады.
Әдістер HTTP-сҧрақтар мен жауаптардың көмегімен ҧсынылады.
Сҧранысқа ҥш бөлімнен тҧратын XML-мəтін енгізіледі:
•
хаттың қандай мазмҧнда екенін анықтайтын SOAP envelope
(пакет);
•
хат тақырыпаттарын анықтайтын SOAP атауы;
•
сҧраныс жəне оған берілген жауап туралы ақпаратты қамтитын
SOAP денесі.
Сҧраныстың өңдеу қорытындыларынан немесе қатенің кодынан
тҧратын жауап та XML тҥрде келеді.
Cache жаңа нҧсқасы — Cache 5 — платформасы барлары ҥшін
SOAP хаттамасын жҥзеге асырады. Осы орайда сырттағы
компаниялардың аралық қосымшаларын қолдану міндеттелмейді,
барлық қажетті функциялар Cache ДҚ жҥйелік класы тҥрінде жҥзеге
асқан.
Cache SOAP функциялардың кең спектріне келесілер жатады:
•
алшақтағы жҥйелерге ҧсынылған Web-əдістері бар, кластарды
анықтау арқылы Web-қызмет жасап шығару. Осы тҧста сатып алушы
мен сервердің арасындағы трафикті қысқартуға бағытталған
өндірушіліктің өсуіне əкеліп соғатын барлық əдістер ДҚ аумағына
ҥздіксіз шақыртылып отырады;
•
қолжетімді əдістердің автоматты тҥрде жасалуы мен
каталогтың жарық көруі (WSDL) .
Web-қызметтер мен каталог баспаларын жасап шығару ҥшін Cache
туралы ешқандай да қосымша білімінің қажеті жоқ. Қызметтерді Cache
объектік моделінің негізінде жҥзеге асырады. Осы тҧста қызметтерді
жасап шығару ҥшін алдымен %SOAP.WebService жҥйелік класының
ізін жалғаған класын анықтау керек. Сервердегі баспаларға жататын
əдістер WebMethod параметрлерімен сипатталады. Әдістің логикасын
жҥзеге асыратын код Cache класының əдісінің коды сияқты
.
CacheSOAPпредоставляет широкий спектр функций, который
включает в себя:
• создание Web-служб путем определения классов, содержащих
Cache Object Script, Cache Basic немесе Cache SQL қолдану арқылы
жҥзеге асуы мҥмкін. Деректердің кҥрделі тҥрін (кірістірілетін
объекттер, топтамалар, қарым-қатынастар жəне т.б.) жарияланған
əдістің аргументтері жəне мəні ретінде қолдануға болады. Сонда Cache
серверге қажетті сҧраныс тҥскен кезде автоматты тҥрде деректердің
кҥрделі тҥрлерінің қажетті объектілерін жасап шығарады.
Web-қызметке бір əдіспен мысал келтірейік:
Class MyApp.StockService Extends %SOAP.WebService
{
Parameter SERVICENAME = "MyStockService";
Parameter LOCATION = "http://localhost/csp/user";
Parameter NAMESPACE = "http://tempuri.org";
/// Әдіс ертеңге өз бағасын қайтарады
ClassMethod Forecast (StockName As %String) As %Integer
[WebMethod]
{
// кездейсоқ сандар генераторын қолданамыз Set price =
$Random(l000)
Quit price
Сонымен қатар, Cache автоматты тҥрде жасалған қызметтің дҧрыс
жҧмысын тексеру ҥшін қолдануға болатын əдістердің тесттік CSP-
парақшаларын жəне каталогтың CSP-парақшасын тҥрлендіреді. Осы
тҧста CSP- парақшалар қарапайым браузерлерге қарауға болатын
əдеттегі Web-қосымшалар тҥрінде ҧсынылады.
Cache SOAP Server келесі негізде жҧмыс жасайды:
•
əр Web Service-ке %S SOAP көмегімен ҧлғаятын жаңа Cache-
класс жасалады.WebService$;
•
бҧл класстың көмегімен Web Service əдісіне сай келетін бір
немесе
бірнеше
əдістер
анықталады.
Олардың
əрқайсысы
«WebMethod» кілт сөзі анықтамасына қосылған кезде WebMethod
ретінде анықталуы мҥмкін. Сҧранысты жариялап жəне «WebMethod»
кілт сөзін анықтамасына қосу арқылы объектілердің жиымын
қайтаратын Web-əдістерді анықтауға болады;
•
Web Service класы қҧрастырылады, жəне Cache компиляторы
автоматты тҥрде SOAP-сервисінің қҧрылымын сипаттайтын каталогты
ақпаратқа кіріктіріп, əрбір Web-əдіске арнап SOAP-интерфейс
қҧрайды. Web-əдіске арналған SOAP-интерфейс Cache XML-
технологияны қолдана отырып SOAP сҧранысын қайта жасайтын
тҥрленген класс болып есептеледі;
соңына Cache автоматты тҥрде əрбір Web-сервиске арнап
WSDL-қҧжат жасап шығарады. WSDL-қҧжат бар əдістердің тізімін,
сигнатураны жəне олар SOAP-сатып алушы көмегімен қалай
шақыртылатынын көрсететін XML-қҧжат болып табылады.
WSDL-қҧжат CSP қолданатын Web (HTTP)-сервер көмегімен
жасалады. WSDL-қҧжат динамикалық тҥрде жасалған жəне автоматты
тҥрде Web Service-класының кез-келген өзгерісін көрсететін болады;
•
Soap-сатып алушы өз кезегінде Cache- серверге сҧраныс
жіберетін WSDL-қҧжатты сҧрай отырып бар Web-сервисті ашады. Бҧл
ақпаратты WSDL-қҧжатта қолдана отырып, SOAP-сатып алушы
XML-хата жасап оны SOAP-серверге жіберу (HTTP) арқылы белгілі бір
əдісті жҥзеге асырады;
•
Cache SOAP-сервер Cache (CSP) HTTP Gateway көмегімен
SOAP шақыруын алады. Сервер хаттың орауын шешіп, оның
дҧрыстығын тексереді жəне белгілі бір Web-əдіс шақырады. Cache
Web-əдісті
шақырар алдында SOAP-сервер Cache-тің барлық
анықтамасына сай келетін кірме параметрлерді айырбастайды;
•
Web-əдіс өзінің кодын орындап жауап қайтарады. Бҧл жауап
тармақтық константа жағынан өте қарапайым болуы мҥмкін немесе
XML-объект не массив болуы да мҥмкін.
Cache SOAP хаттамасын қолдана отырып, Web-сервис шақыратын
SOAP client— класының пайда болу мҥмкіндігін қамтамасыз етеді.
Cache —SOAP қолданушысы келесі жолмен жҧмыс жасайды:
•
сіз шақырғыңыз келетін əрбір Web-service ҥшін (SOAP
байланысты
əдістер
жиынтығы),
Cache
кітапханасындағы
%SOAP.WebClient-тен
келген жаңа Cache класының жаңа
анықтамасын жасап шығару керек;
•
SOAP қолданушылар класы Web-service əдістеріне сəйкес
келетін бір немесе бірнеше класс əдістерінен тҧрады. Осы əдістердің
əрқайсысы «WebMethod» кілт сөзі анықтамасына қосылған кезде
WebMethod ретінде анықталған;
•
SOAP сатып алушы класын қҧрастырғанда Cache класс
трансляторы автоматты тҥрде каталогтағы ақпаратты, SOAP
қҧрылымының анықтамасын жеткізіп, əрбір Web-service-ке арнап
SOAP тҧтынушы интерфейсін жасап шығарады;
•
SOAP тҧтынушы интерфейсі Web-service ҥшін — объектті
XML форматына ауыстыру технологиясын қолдана отырып SOAP
сҧранысын қайта жасауды жҥзеге асыратын тҥрленген класс;
•
SOAP Client WSDL-қҧжат сҧранысының көмегімен өз кезегінде
бҧны Cache серверінен сҧрайтын Web-service тауып алады. Бҧл
ақпаратты WSDL-қҧжатында қолдана отырып, SOAP Client белгілі бір
əдіс шақырады. XML-хат жасай отырып оны (HTTP арқылы) SOAP
серверіне жібереді;
•
SOAP сервері SOAP сҧранысын алады жəне хаттың орауын
шешіп, дҧрыстығын тексеріп жəне көрсетілген операцияны шақырады.
Достарыңызбен бөлісу: |