
- •Лабораторна робота 3.
- •Xml messaging. Відповідає за формування та розбір повідомлень на базі xml. Включає протоколи xml-rpc та soap.
- •Базові технології
- •Створення служби «Hello, World» в середовищі Visual Studio .Net
- •Тестування служби
- •Атрибут WebService
- •Властивість EnableSession
- •Властивість CacheDuration
- •Властивість TransactionOption
- •Властивість BufferedResponse
- •Кешування
- •Просте кешування результатів
- •Кешування даних в Web - сервісах
- •Встановлення елементів в кеш
- •Установка Web сервера iis
- •Задача 1.2. Створення рівню dal.
- •Створюємо тестер.
- •Задача 2. Створення рівню сервіса.
- •3.Створення тестеру-клієнта .
Базові технології
Робота web-служб побудована на використовуванні різних відкритих стандартів, які описані в табл. 1.1.
WSDL є стандартом, розробленим тільки для web-служб .NET. З метою забезпечення сумісності з іншими платформами при створенні web-служб рекомендується використовувати формат SOAP, але допускається також застосовувати методи POST і GET протоколу HTTP. Специфікації DISCO і UDDI є необов'язковими розширеннями, які полегшують публікацію і пошук інформації про web-служби. Проте на сьогоднішній день найлогічнішим способом передачі інформації є HTTP-комунікація, і немає значення від неї відмовлятися.
До числа менш поширених стандартів, використовуваних при створенні web-служб, відноситься WS-Inspection - специфікація для пошуку документів, в яких перераховані групи web-служб і їх місцезнаходження. Ця специфікація була розроблена спільними зусиллями компаній Microsoft і IBM і призначалася для заміни протоколу DISCO. Проте поточна версія системи .NET продовжує функціонувати на основі старого стандарту DISCO.
Крім того, є конкуруючі специфікації, що служать для подолання деяких властивих web-службам обмежень, до яких можна віднести відсутність транзакцій, аутентифікації, ліцензування і шифрування. Жодна з подібних специфікацій не досягла рівня встановленого стандарту і не була включена в .NET, але, можливо, в майбутньому це відбудеться.
Специфікація WSDL
Протокол SOAP
Зв'язок між web-службами і їх клієнтами здійснюється за допомогою повідомлень у форматі XML. SOAP (Simple Object Access Protocol - простий протокол доступу до об'єктів) є протоколом повідомлень для вибору web-служб. Основна ідея стандарту SOAP полягає у тому, що повідомлення повинні бути закодовані в стандартизованому XML-форматі. Можна сказати, що формат SOAP ідеально підходить для технології RPC (Remote Procedure Call - виклик віддаленої процедури), оскільки SOAP-повідомлення містить параметри, що направляються клієнтом, або відіслану службою величину, що повертається. SOAP-повідомлення можуть використовуватися не тільки при передачі по протоколу HTTP, але також при пересилці через сокети, іменовані канали і навіть по протоколу SMTP електронної пошти.
Приведений нижче фрагмент коду містить просте SOAP-повідомлення - повідомлення-запит до web-служби GetlPForHostname. Його основна частина поміщена в спеціальний тег <soap.Envelope>. В даному випадку відсилається один параметр (hostName), значенням якого є рядок www.oreiny.com.
<?xml version="1.0" encoding-"utf-8"?>
<soap:Envelope mlns:xsi=http://www.w3.org/2001/XMLSchema- instance
xmlns:xsd=http://www.w3.org/2001/XMLSchema
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetIPForHostname xmlns-"http://www.bostontechni>.com/webservices?">
<hostName>www.oreilly.com</hostName>
</GetIPForHostname>
</soap:Body>
</soap:Envelope>
Окрім повідомлень SOAP, для обміну даними з web-службами .NET можна використовувати методи GET і POST протоколу HTTP. Теоретично при передачі інформації методом POST ви можете як і раніше застосовувати формат SOAP, але в цьому випадку дані простіше передавати у вигляді набору ім'я-значення без вказівки їх типу.