Кіріспе

Веб-қызметтерге арналған спецификациялар отбасы Флоридадағы радиостанция

Веб-қызметтер ресурстық шеңбері (WSRF) — OASIS ұйымы жариялаған веб-қызметтерге арналған спецификациялар отбасы. Басты үлес қосушылардың қатарында Globus Alliance және IBM компаниялары бар. Веб-қызмет өзі номиналды түрде күйсіз, яғни шақырулар арасында ешқандай дерек сақталмайды. Бұл веб-қызметтермен істелетін мүмкіндіктерді шектейді.

WSRF-ке дейін веб-қызметтер отбасының ешбір стандарты қашықтанғы ресурстармен күйлі өзара әрекеттесуді қалай жүзеге асыру керектігін нақты анықтамады. Бұл веб-қызметтер күйлі бола алмайды дегенді білдірмейді. Қажет болған жағдайда веб-қызмет деректер базасынан ақпаратты оқи алады немесе cookie файлдары немесе WS сессиясы арқылы сессия күйін пайдалана алады. WSRF веб-қызметтерге күйлі өзара әрекеттесуді іске асыру үшін қолданылатын операциялар жиынтығын ұсынады; веб-қызмет клиенттері деректерді сақтауға және алуға мүмкіндік беретін ресурстық қызметтермен байланысады. Клиенттер веб-қызметпен байланысқанда, сұраудың ішінде қолданылуы тиіс нақты ресурстың идентификаторын қосады, бұл WS адрестеу соңғы нүктесіне сілтеме арқылы беріледі. Бұл қарапайым URI мекенжайы немесе нақты ресурсты анықтауға немесе толық сипаттауға көмектесетін күрделі XML мазмұны болуы мүмкін. Ресурстың нақты сілтемесі түсінігімен қатар, ресурстың қасиеттерін алу/орнату үшін веб-қызмет операцияларының стандартталған жиынтығы да бар. Бұларды ресурс күйін оқу және, мүмкін, жазу үшін қолдануға болады, бұл әдістерімен қатар объектінің мүше айнымалыларына ұқсас. Мұндай модельдің басты пайдаланушылары – басқару құралдары, олар ресурстарды тізімдеп, көре алады, тіпті олар туралы басқа білімдері болмаса да. Бұл WSDM-нің негізі болып табылады.

WSRF-пен байланысты мәселелер

WSRF-де де дау-дамайлар жоқ емес. Ең негізгісі – архитектуралық: күйі мен операциялары бар бөлінген объектілер қашықтағы ресурстарды бейнелеудің ең жақсы жолы ма? Бұл – CORBA және DCOM мысалдары болатын бөлінген нысандар үлгісінің XML-ге түрлендірілуі. WSRF ресурсы бірнеше клиенттерде ресурстық сілтемелері бар күйлі объекті болуы мүмкін, ал WSRF спецификациясы оқшаулау және қолжетімділік сияқты мәселелерді қарастырмайды, оларды шешу үшін веб-қызмет спецификацияларының құрастырылатын сипатына жүгінеді. Көптеген WSRF жүйелері осы мәселелерді төмен қолжетімділікпен, WSRF ресурсына сілтемеден жергілікті объектінің мысалына 1:1 сәйкестік арқылы шешуге тырысады, бұл C++ және Java-да көбінесе мүлдем тұрақты емес (деректер базасына тұрақтылық механизмі арқылы байланыстыларды қоспағанда). Дегенмен, WSRF-тің тұрақтылықты, кластерлеуді және ресурстардың жоғары қолжетімділігін қолдайтын іске асырылымдары бар (мысалы, WebSphere Application Server). Желідегі бөлінген нысандар көрінісімен WSRF желідегі REST моделімен де келіспейді, онда барлығы ресурс болып табылады, бірақ барлық әрекеттер шектеулі және стандартталған операциялар жиынтығы арқылы іске асырылады. Бір жағынан, екі модель таза SOAP және REST-ке қарағанда жақын, өйткені олардың екеуінде де алыс шетте күйлі ресурстар бар. Алайда, HTTP-де іске асырылған REST ресурсты анықтау үшін URL жеткілікті дейді – WS Addressing ReferenceParameters-тің күрделілігі қажет емес. Қашықтағы мазмұнның өмір сүру мерзімін жаңаруға болатын жалдау арқылы басқару идеясы ерекше сынға ұшырайды. REST қауымдастығының архитектурасындағы тағы бір мәселе – WS Notification-да сипатталған кері шақырулар/хабарламалар өрт қабырғаларынан өтпейді. Сондықтан REST жобалары RSS және Atom (стандартты) ағындары сияқты сауалнамаларды артық көреді. WSRF SOAP-ты REST қауымдастығына көбірек қабылдауға көмектесу үшін ештеңе істемеді. WSRF-тің енгізілуі WS* әлемінде де бөлінулерге әкелді. Ол алғаш рет 2004 жылдың ақпан айында Global Grid Forum іс-шарасында Ашық Желілік Қызметтер Инфрақұрылымының ізбасары ретінде жарияланды. Оның негізгі WS-I архитектурасымен шектеулі үйлесімділігі Ұлыбритания желілік қауымдастығынан наразылық тудырды. Global Grid Forum ақырында олардың Ашық Желілік Қызметтер Архитектурасы үшін WSRF профиліне тәуелділігін бөліп шығарды. WSDM WSRF протоколдарын WSDM-де сипатталған басқарылатын ресурстармен өзара әрекеттесу құралы ретінде пайдаланды. Алайда, WS* әлемі веб-қызметтерді басқарудың бірыңғай стандартында бірікпеді, Microsoft, Sun және басқалары WS Management-ті таңдады, оның WS Transfer-ге тәуелділігі басқарылатын ресурстарды сипаттау құралы ретінде қолданылды.

Құралымның ерекшеліктері

WS ресурстары WS ресурсын ресурс пен оған қол жеткізуге мүмкіндік беретін веб-қызметтің біріктірілуі ретінде анықтайды. WS ResourceProperties – стандартты тәсілмен оқуға және өзгертуге болатын, типтелген мәндер жиынтығын WS ресурсымен байланыстыруға арналған интерфейсті сипаттайды. WS ResourceLifetime – WS ресурсының өмір сүру мерзімін басқару интерфейсін анықтайды. WS BaseFaults – бай SOAP қателіктері үшін кеңейтілген механизмді сипаттайды. WS ServiceGroup – WS ресурстарының жиынтықтарымен жұмыс істеуге арналған интерфейсті сипаттайды. Сондай-ақ, WS хабарламасы да маңызды, ол басқа веб-қызметтерге болып жатқан жағдай туралы ақпаратты қалай жіберу керектігін көрсетеді.

Қолданылу

WSRF ресурстарының get/set семантикасын іске асыру салыстырмалы түрде оңай. Ең қиын мәселе, спецификация талап ететін жерлерде қателерді WSRF базалық қателері ретінде қайтару болар, себебі SOAP стектері өздері SOAPFault қателерін тудыруға бейім. Ресурстың өмірлік циклін басқару да қиын, бірақ бұл міндетті емес, WS Notification сияқты, оны сынау да қиын. Globus Toolkit 4 нұсқасында WSRF-тің Java және C тіліндегі нұсқалары бар; көптеген басқа Globus құралдары WSRF негізінде қайта құрылды. WebSphere Application Server 6.1 нұсқасы қарапайым және кластерленген, жоғары қолжетімді WSRF соңғы нүктелерін қолдайтын WSRF ортасын ұсынады. Apache Foundation-ның Muse 2.0 жобасы WSRF, WS Notification және WSDM спецификацияларының Java негізіндегі іске асырылуы болып табылады. WSRF::Lite – бұл соңғы нүкте сілтемесінің Address элементін ғана пайдаланатын perl негізіндегі іске асыру, осылайша WS ресурстарын URI арқылы анықтауға мүмкіндік береді. Сонымен қатар, WSRF::Lite HTTP әрекеттерін WSRF операцияларымен байланыстырады, бұл WS ресурстарын REST архитектуралық стилінде пайдалануға мүмкіндік береді. WSRF.NET – Вирджиния университетінің зерттеу тобының WSRF спецификацияларына арналған .NET негізіндегі жобасы. UNICORE-дің соңғы 6.0 нұсқасы WS ResourceLifetime және WS Notification-ның ішінара іске асырылуын қоса алғанда, WSRF 1.2 стандартының Java-дағы іске асырылуы негізінде құрылған.