Програмиране за платформата. Net web Services Стоян Йорданов Преглед



Дата16.04.2017
Размер34.48 Kb.
#19309
Програмиране за платформата .NET
Web Services

Стоян Йорданов
Преглед


  • Web service – програмна единица, достъпна до неограничен брой евентуално отдалечени системи чрез отворени Internet стандарти като например XML и HTTP.

  • Позволяват хетерогенни системи да работят като единно приложение.

  • Няма стремеж към междуплатформена преносимост, а по-скоро към лесен обмен на данни и взаимна работа на различни системи.

  • Има ясно разделяне между имплементацията и използването на уеб услуга. Не ни интересува точната (конкретна) реализация, за да я ползваме.


Сценарии на използване на уеб услуги


  • Прости услуги – предоставяне на определени услуги на клиентите. Например он-лайн магазин, или търсачка, достъпни чрез уеб услуги.

  • Интеграция на приложения – чрез уеб услуги лесно се интегрират различни приложения, без значение на каква платформа работят и как са реализирани.

  • Връзка между отделните компоненти на една система – например средният слой (бизнес логиката) на дадено приложение може да дава достъп до функционалността си на презентационния слой чрез уеб услуга.

  • Имат и други приложения (в по-сложни сценарии).


Инфраструктура


  • Уеб услугите трябва да:

    • са слабо свързани (loosely coupled) – трябва да се знае само протокола за използването им;

    • са широко достъпни – всеки има достъп до тях чрез Internet;

    • притежават универсален формат на данните;

  • С времето и с развитието на уеб услугите е изградена сложна инфраструктура, която да помага за постигането на горните цели. Тя се състои от четири елемента:

    • Directory

    • Discovery

    • Description

    • Wire format

Directory

  • Директориите са ресурси за намиране на някаква уеб услуга. Можем да търсим уеб услуги например по ключови думи или други признаци.

  • За целта е създадена спецификацията UDDI (Universal Description, Discovery and Integration), която предоставя стандартен механизъм за публикуване на информация за уеб услуги от създателите им и за намирането им от потребителите на уеб услуги.

  • Пример за директория е http://uddi.microsoft.com/, но има и други такива.

Discovery

  • Механизъм за откриване на описанието на някаква уеб услуга, т.е. на документите, които я описват.

  • Чрез discovery можем да разберем какви услуги се предлагат от някой. За целта се използват т.нар. “discovery” файлове – XML базирани файлове, които описват Web услугите, предлагащи се на някой сървър. Такъв файл може да бъде например http://www.blahblah.com/default.disco, който да описва всички уеб услуги на blahblah.com.

  • Не е задължително да ползваме discovery механизъма (или да има такъв), ако знаем пътя към уеб сървиса.

Description

  • Уеб услугите разчитат на модел, при който описанието на формата на заявките до тях, както и формата на връщаните данни, е публикуван публично.

  • За описание на уеб услуги (предлагани методи, параметри, връщани стойности, типовете им и т.н.) се използват специални XML-базирани документи, използващи езика WSDL (Web Services Description Language).

Wire Format

  • След като вече знаем, че някоя конкретна уеб услуга съществува (от directory), как да я открием (от discovery) и как да я ползваме (от description), остава просто да започнем да подаваме заявки към нея и да получаваме отговорите.

  • Wire format е форматът на самите заявки, които подаваме, както и на отговорите, които получаваме.

  • Най-широко използваният формат е SOAP (Simple Object Access Protocol) по протокол HTTP. SOAP е XML-базиран протокол. От тук идва и названието “XML Web Service”.

  • SOAP е направен да е максимално лек и лесен за използване, възможно най-прост е и има минимум функционалност, а освен това е и в текстов (XML) формат. Това го прави предпочитан протокол за Web услуги, защото по този начин те могат да бъдат използвани, независимо на каква платформа и/или език за програмиране е разработен клиентът.

  • Ето как си взаимодействат четирите инфраструктурни елемента, за да ни помогнат да открием и използваме някаква уеб услуга (източник на картинката: MSDN Library):



Уеб услуги при .NET Framework


  • Разработването и/или използването на уеб услуги при .NET Framework е направено възможно най-лесно.

  • За да създадем уеб услуга, необходимо е да дефинираме клас от тип System.Web.Services.WebService. За да обозначим, че някой негов метод трябва да бъде публикуван от уеб услугата, необходимо е просто да го маркираме с атрибута [WebMethod].

  • Възможно е методите на уеб услугата да използват Session и Application обекти за съхранение на сесийни данни / данни на приложението по същия начин, както това е възможно в обикновени уеб приложения.

  • За да получим WSDL документ, описващ уеб услуга, създадена с .NET Framework, достатъчно е просто да я извикаме с параметър WSDL. Например ако услугата е достъпна чрез MyService.asmx, трябва да я извикаме така: MyService.asmx?wsdl

Каталог: dotnet -> 2003 -> lectures
lectures -> Програмиране за платформата. Net взаимодействие между managed и unmanaged код Стоян Йорданов
lectures -> Потоци и файлове Георги Иванов
lectures -> Програмиране за платформата. Net работа с xml стоян Йорданов Какво е xml?
lectures -> Решение на проблема оператора delete
lectures -> Clr, създаване и инсталиране на. Net компоненти, типове данни Стоян Йорданов Common Language Runtime (clr)
lectures -> Serialization
lectures -> Решение на проблема оператора delete
lectures -> Програмиране за платформата. Net работа с xml стоян Йорданов Какво е xml?


Сподели с приятели:




©obuch.info 2022
отнасят до администрацията

    Начална страница