Ново поколение Web

В това ревю ще разгледаме уеб услуги - интегриране на технологиите уеб-базирани приложения, които заместват традиционните уеб-базирани приложения. Ще започнем с кратка история за уеб разработка, а след това по-подробно се говори за ориентирана към услуги Web. След това, помислете за концепцията на уеб услуги като такива, то стандартите за такива услуги, - сапун, WSDL, и UDDI, инструменти за развитие на услуги в мрежата, както и да разберете как това понятие се поддържа в Microsoft Visual Studio.NET.







генезис на мрежата

Първоначално World Wide Web разполага с мрежа от документи. Уеб сървъри комуникират с клиентите през HTTP (Hypertext Transfer Protocol) и изпраща информация под формата на хипертекст документи, които са създадени с помощта на HTML (Hypertext Markup Language). Такива документи се показват в браузъра, и да съдържат връзки към други документи. Това беше достатъчно, за да се отговори на създателите на уеб заявки - учени, които са необходими средства за обмен на различни документи: резултатите от научни изследвания, лабораторни протоколи, отчети и т.н. По този начин, уеб очертава като документ ориентирана мрежа.

Основната разлика между прилагането на обичайните уеб-сървър на сървъра е, че последните не просто връщане на документа и може да обработва заявките на потребителите и съдържа код, който реализира бизнес логиката. Обикновено, сървъри за приложения генерират документи динамично, в зависимост от посочен от потребителя параметри. Трябва също да се отбележи, че използването на сървъри за приложения ви позволява да създавате мащабируеми решения, които могат да служат същевременно голям брой сделки.

Появата на различни мобилни устройства доведе до факта, че вместо традиционните браузъри, много търговски уеб-базирани приложения вече е в допълнение към помощта на HTTP протокол и протокол WAP на (протокол за безжично Access) и са в състояние да се върне на информация не само стандартен HTML, но в стандартите, които отговарят на потребителите, че достъпът услуги чрез мобилни устройства, - WML (Wireless Markup Language).

Естествено, електронна търговия, не може да бъде ограничен до една проста обработка на транзакции - следващата логична стъпка в развитието на мрежата е интеграцията на бизнес процесите на различни компании. По този начин в появява светлината на ориентирана към услуги Web. Тя се основава на два сравнително нови технологии - SOAP (Протокол изчислителна среда) и XML (Extensible Markup Language). При този сценарий Web се ​​състои от набор от сървъри за приложения, които обменят информация в XML формат, използвайки протокола SOAP.

Ориентирана към услуги Уеб е уеб-услуга - набор от логически свързани функции, които могат да бъдат причинени от софтуера чрез интернет. Информация относно това, което се отличава осигурява уеб-услуга, която се съдържа в WSDL документ (Web Service Description Language) в, и да открие съществуващите услуги в мрежата, се предвижда да се използват специалните регистри, които са съвместими с UDDI на спецификация (Universal Description, Discovery и интеграция).

Ориентирана към услуги Web

Web-услуги са технологиите интеграция приложение, което може да се използва в Интернет. Като пример, евентуалното използване на уеб услуги помисли планиране на пътувания. Обикновено в такава ситуация трябва: заповед за билет самолет, настаняване резервацията, коли под наем, а вероятно и на използването на услугите на местни компании, които организират екскурзии.

Традиционно, на използването на Интернет, трябва да посетите хотела или авиокомпания мрежа, сървър, сървър хотели, коли под наем компании и сървърът на компанията сървър, който е специализиран в организиране на екскурзии в избраното местоположение. Всички тези действия може да отнеме много време, преди да достигне целта си. И докато никой от участващите дружества няма да знаете какви са плановете ви са и, следователно, не е в състояние да се оптимизира времето си. Проблемът е, че фирмите, които са специализирани в отделни области - въздушни, хотелски, коли под наем и т.н. в повечето случаи те са затворени в себе си и използват свои собствени средства за съхранение на данни и представяне.

По-удобно би било да стартирате приложението, което ще отнеме от вас необходимата информация и отговарят на всички рутинни действия - резервация на билети, резервация за хотел и т.н. - автоматично, без намеса от ваша страна. За да стане това възможно, трябва да се използват за услуги в мрежата. Нека да погледнем какво ще се промени в този случай.

Да предположим, че авиокомпания предлага уеб-услуга, която позволява на приложенията да извлечете списък на полети между двата града за определената дата. В този случай, вече няма нужда да се свържете с авиокомпанията, достъп до сайта и да посочите различни критерии за търсене - цялата налична необходимата информация в един XML-документ. Сега предполагам, че авиокомпанията, хотел и кола под наем агенция предоставяне на уеб-услуги, които позволяват на софтуер, за да си купят билети, резервации за хотели и коли под наем. В този случай, можете да комбинирате всички обаждания към тези услуги в един приложение, което може да извърши всички рутинната работа без намеса на потребителя.

Въпреки това, тази функционалност е нов клас на уеб-базирани приложения не свършва дотук. Нашата молба може, например, периодично достъп авиокомпании Web-услуги, за да се определи състоянието на полет в случай на забавяне уведомява хотелиерските услуги, отдаване под наем услуги и т.н. за удължаване на резервацията.

Освен очевидната подобри клиент използването на услугите на уеб услуги има много други предимства. Например, ако коли под наем агенция знае, че полетът ви закъснява, тя може да бъде по-гъвкава, за да се разпорежда с колите си. Тъй като броят на уеб услуги, които ще бъдат в състояние да се види по-сложни примери. Все пак трябва да се отбележи, че въвеждането на концепцията за услуги в мрежата изисква не само преразглеждане на много правила бизнес и модели на взаимодействие между различни отрасли и сектори на индустрията, но и подобряване на сигурността на обмена на данни.







След като разгледа практическото прилагане на Web-услуги, ние се обръщаме към стандартите, които лежат в основата на тези услуги.

Стандарти за уеб услуги

Както вече знаете, в уеб-базирани услуги са интернет-стандарти. Тези стандарти определят протоколите, а не на начини за тяхното изпълнение. Подобно изявление е ключът към успеха Интернет - нито едно дружество не може да повлияе на интернет-стандарти и да определят свои собствени правила на играта. Така например, стандартите за услуги в мрежата, разработени съвместно от компании като IBM, Microsoft, Ariba, както и някои други, и обсъдени комитет World Wide Web Consortium (W3C).

Web-услуги на базата на три основни уеб стандарти:

  • SOAP (Simple Object Access Protocol) - протокол, за да изпращате съобщения, HTTP и други интернет-протоколи;
  • WSDL (Web Services Description Language) - език за описание на софтуерните интерфейси Web-услуги;
  • UDDI (Universal Description, Discovery и интеграция) - в съответствие със стандарта за индексиране на уеб услуги.

Фиг. 1 показва как тези три стандартни взаимодействат един с друг.

Сървъри на приложения са хранилища на уеб-услуги и ги предоставят чрез протокола HTTP GET, POST HTTP и HTTP сапун.

В следващите секции ще разгледаме три основни уеб стандарти, които се основават на SOAP Web-услуги, WSDL и UDDI, по-подробно.

SOAP - Simple Object Access Protocol

SOAP - е стандарт за изпращане и получаване на съобщения по Интернет. Първоначално Протоколът е предложен от Microsoft като средство за отдалечено извикване на процедури (RPC, Remote Procedure Call) през HTTP, и спецификацията на SOAP 1.0 (UserLand, Microsoft, Developmentor) е тясно свързан с Component Object Model. , IBM и на други компании, включително Лотус, са допринесли за развитието на протокола и неговия стандарт се изпращат на Комитета за W3C.

Спецификацията на SOAP дефинира XML- «плик" за предаване на съобщения, метод за кодиране на структурите на програма за данни в XML формат, както и средствата за комуникация чрез HTTP.

SOAP-съобщения са два вида: искане (заявка) и отговор (отговор). Искането причинява метода на дистанционно обект, отговорът връща резултата на настоящия метод. Фиг. 2 и 3 са примери за запитване и отговор в SOAP формат.

спецификация SOAP дефинира формат за кодиране, което, от своя страна, определя как данните в XML-форматирани.

WSDL - Web Services Description Language

са предложени някои езици са да се опише тази информация. Един от тях е на езика на услугата Описание Language (SDL), разработен от Microsoft и е включена в първата версия на Microsoft SOAP Toolkit. IBM е преработен спецификацията и с помощта на спецификации Network достъпна услуга Спецификация Language (NASSL), издаден NASSL Toolkit като част SOAP4J. Идеи изпълняват в NASSL, повлияли на SOAP договор Език Спецификация език (SCL), предложен от Microsoft. В момента двете спецификации (NASSL и SDL / SCL), както и предложенията на другите компании се падат в спецификацията на WSDL. За описание на IBM и Microsoft бизнес логика работи на Web Services Flow Language (WSFL) език на спецификацията.

Фиг. 4 показва скелет услуга описание език WSDL.

Както виждаме, описанието на услугите е XML-документ, състоящ се от няколко елемента, включително описанието на пространство от имена (пространството от имена), опишете вида и елементите, публикации, пристанища, както и възможните операции - заявките и отговорите.

Файлът съдържа и описание на услугите е доста изчерпателен документ, така че да се създаде следва да бъде възможно да се използват автоматични генератори, включени в инструментите за развитие.

UDDI - Universal Description, Discovery и интеграция

Задачата на UDDI - осигуряване на механизъм за откриване на уеб услуги. UDDI дефинира бизнес регистър, в който доставчиците на услуги в мрежата, могат да се регистрират услуги, както и разработчиците - да търсят услугите, които те имат нужда. , IBM, Microsoft и Ariba са създали свои собствени UDDI-регистри (скоро до тези регистри ще бъдат интегрирани в уеб-регистър), единият от които разработчиците могат да регистрират своите услуги в мрежата, след което данните ще бъдат автоматично копирани в други регистри (фиг. 5 ).

Бизнес план - клас от услуги в рамките на дадена индустрия или услуги. Всеки клон принадлежи към определен елемент от бизнес субект.

Заедно подвързване шаблони и технологии Модел определи уеб-услугата. Технология Модел съдържа абстрактно описание, но Свързването Шаблон - специфична спецификация услуга. Всеки елемент от свързването шаблон принадлежи към дадена елемент от бизнес услуги, но някои от елементите за свързване с шаблони могат да се отнасят до един елемент технологии Модел.

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

Инструменти за развитие

След като разгледа трите основни уеб стандарти, които са базирани на Web-услуги, - SOAP, WSDL, и UDDI, ние вече знаем, че те са достатъчно сложни, за да се създаде всичко необходимо, за да се опише Web-услуги XML-документи. Тази работа се извършва от специални инструменти за разработка, което позволява на разработчиците да се фокусират върху бизнес логиката създадени от услугата, а не данните за ниско ниво на неговото прилагане. Сред най-популярните в настоящите инструменти за развитие на времето за услуги в мрежата трябва да бъдат споменати Microsoft SOAP Toolkit и XML IBM и Web Services развитие на околната среда (WSDE).

По-долу ще разгледаме още един начин за създаване на уеб-услуги - Microsoft Visual Studio.NET, която скоро ще се превърне в основен инструмент за разработчици, създаващи решения за платформата на Microsoft .Net.

Web-услуги в Microsoft Visual Studio.NET

За създаване на инструменти за уеб-услуги на Microsoft Visual Studio.NET, направете следното:

  1. Започнете Visual Studio.NET 7.0.
  2. Изпълнява команда File | Нова | Проект (или изберете командата Create New Project от началната страница VS Home Page).
  3. Панелът Нови проекти, за да изберете Visual Basic проекти, в панела за шаблони, за да изберете Web Service (фиг. 6).
  4. Посъветвайте се с името на услугата и натиснете ОК.

В резултат на това, ние получаваме един скелет услуга (виж кода, натиснете десния бутон на мишката):

Microsoft Visual Studio.NET и създаване на SDL-файл, който ще съдържа описание на нашия уеб-услуги и ДИСКО-файл, за да бъде използван за регистрация и откриване на услуги.

Като пример, създаване на уеб-услуга, която изпълнява конвертирането на валута. изпълнение метод Usd2Rub - преобразуване на сумата в долари в размер в рубли - е показано по-долу:

В резултат на това ние се тестова страница, създадена от Visual Studio.NET (фиг. 7).

Тази страница съдържа описание на уеб-услуга, както и списък на изпълнени методи в него. Например, методът за описание Usd2Rub показано на фиг. 8.

С въвеждането в реда за въвеждане на някаква сума и щракнете върху бутона Invoke, което наричаме уеб услуга, нашият метод с посочените параметри и да получите на следващия резултат, документът за XML:

За да стартирате уеб-услугата на заявлението трябва да използвате следния адрес:

Имайте предвид също, че името на метода е уточнен след знакът "/" и настройка - като редовен опция URL кодирани низ.

заключение

В този преглед, ние погледна уеб-услуги - нова технология за интегриране на уеб-базирани приложения. Ние накратко говори за историята на интернет, запознати с ориентирана към услуги Web, обсъжда концепцията за стандартите за услуги в мрежата и описването им. Ние също така да са въвели инструменти за разработка на уеб-услуги и разглежда как концепция за услуги в мрежата се поддържа от Microsoft Visual Studio.NET.