sonyps4.ru

Wsdl описание веб сервиса. Описание Web Services на языке WSDL

В зависимости от контекста, рассматриваемый термин может относиться также и к исходным текстам программы.

В системном программировании существует более формальное определение программы как размещённых в оперативной памяти компьютера данных и машинных кодов , исполняемых процессором для достижения некоторой цели. Здесь подчёркиваются две особенности: нахождение программы в памяти и её исполнение процессором .

Процесс создания компьютерных программ носит название «программирование », а людей, занимающихся этим видом деятельности, называют программистами . При разработке программ в них часто проникают ошибки. Программа содержит ошибки, если для некоторых данных она даёт сбои, отказы или неправильные результаты.

Процесс поиска и исправления ошибок в программах называется отладкой. Количество ошибок в программах обычно заранее неизвестно. Поэтому заранее неизвестна продолжительность отладки программ. Программа (алгоритм) не содержит ошибок, если она даёт правильные результаты для всех допустимых данных.

Запись исходных текстов программ при помощи языков программирования облегчает понимание и редактирование человеком. Этому, в частности, помогают комментарии , допустимые в синтаксисе большинства языков. Для выполнения на компьютере готовый текст программы преобразуется (компилируется) в машинный код.

Программы с общедоступными исходными текстами называются открытыми. Компьютерные программы являются объектами авторского права. Авторы и правообладатели программ имеют право ограничивать доступ к исходным текстам программ, которые являются их интеллектуальной собственностью.

Некоторые языки программирования позволяют обходиться без предварительной компиляции программы и переводят её в инструкции машинного кода непосредственно во время исполнения. Этот процесс называется динамической компиляцией и он позволяет добиться большей переносимости программ между разными аппаратными и программными платформами при сохранении многих плюсов компиляции.

См. также

Wikimedia Foundation . 2010 .

Смотреть что такое "Программное приложение" в других словарях:

    программное обеспечение как услуга - Модель предложения программного обеспечения потребителю, при которой поставщик разрабатывает веб приложение, размещает его и управляет им (самостоятельно либо через третьих лиц) с целью и возможностью использования заказчиками через Интернет.… …

    Может значить: Прикладная компьютерная программа см. Прикладное программное обеспечение. Веб приложение клиент серверное приложение, в котором клиентом выступает браузер, а сервером веб сервер. Приложение (лингвистика) … … Википедия

    программное обеспечение для бизнеса - бизнес приложение [Интент] Тематики автоматизированные системы Синонимы бизнес приложение EN business software … Справочник технического переводчика

    приложение (в информационных технологиях) - приложение Программное обеспечение, предоставляющее функции, необходимые для предоставления ИТ услуги. Каждое Приложение может быть частью более чем одной ИТ услуги. Приложение может иметь одну или более серверных или клиентских частей. См. тж.… … Справочник технического переводчика

    В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия

    регулирование программное - 3.10.58 регулирование программное: Регулирование одной или нескольких величин, определяющих состояние объекта, по заранее заданным законам в виде функций времени или какого либо параметра системы. Пример Закалочная печь, температура в которой,… … Словарь-справочник терминов нормативно-технической документации

    Для улучшения этой статьи желательно?: Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное. Прикладная … Википедия

    Запрос «Software» перенаправляется сюда. Cм. также другие значения. Программное обеспечение (произношение обеспечение не рекомендуется, точнее, не рекомендовалось) наряду с аппаратными средствами, важнейшая составляющая информационных … Википедия

    Spyware (шпионское программное обеспечение) программа, которая скрытным образом устанавливается на компьютер с целью полного или частичного контроля за работой компьютера и пользователя без согласия последнего. В настоящий момент существует… … Википедия

    Системное программное обеспечение PlayStation®3 это официальная обновляемая прошивка для PlayStation 3. Управление осуществляется графическим интерфейсом XMB. Данные обновления обычно имеют размер 100 192 Мбайт в зависимости от содержимых… … Википедия

Книги

  • Access 4. Interactive Whiteboard Software. Intermediate. Программное приложение для интерактивной доски , Evans V.. Современный четырёхуровневый курс английского языка для учащихся 5–8–х классов, начинающих изучать английский язык в пятом классе. К каждой из 4 книг прилагается грамматический справочник,…

Ни для кого не секрет, что управление операционной системой осуществляется с помощью программ и приложений, которые имеют конкретную практическую направленность и обладают собственным функционалом. Ведь чистая оболочка не может служить пользователю для решения его повседневных задач, для которых, собственно, и нужен персональный компьютер. Поэтому сейчас нам предстоит разобраться с тем, что такое операционная система, каких видов она бывает, какие программы нужны для работы с ней.

Что такое операционная система?

Операционная система - это совокупность взаимосвязанных программ, с помощью которых осуществляется управление компьютером и взаимодействие пользователя с электронно-вычислительной машиной. Фактически место ОС в общей архитектуре персонального компьютера (собственно, как и в смартфонах, гаджетах и иных современных девайсах) находится между устройствами (к коим относятся процессор, оперативная память, видеокарта и тому подобные) и прикладными программами. В современных компьютерах она состоит из так называемых пакетов, каждый из которых отвечает за взаимодействие с определенным устройством и выполняет ту или иную функцию.

Многие путают пакеты программ и пакеты прикладных программ. Обработка графических файлов, создание и форматирование текстовой информации, запись и обработка звуковых файлов, обмен информацией на расстоянии между пользователями, программирование и многое другое… Все это невозможно осуществить, используя чистую операционную систему. Для полноценной работы необходимо наличие определенных прикладных программ и приложений. А вот пакеты операционной системы позволяют лишь функционировать компьютера, обеспечивать связь устройств и иных программ. Но все же операционная система сама по себе является упорядоченной совокупностью взаимосвязанных программ, которые обеспечивают обработку информации, и, как следствие, работу пользователя с персональным компьютером.

Какие существуют операционные системы?

В настоящее время, несмотря на обилие фирм, специализирующихся на создании программного обеспечения, системных и прикладных программ, разработкой операционных систем занимается ограниченное число компаний. В основном весь этот рынок занят двумя гигантами сферы IT: Microsoft и Apple. К относятся Microsoft Windows и Apple Mac OS. Ранее существовали иные проекты (и даже советские), однако по тем или иным причинам они прекратили свое существование.

Подавляющее преимущество находится на стороне фирмы Билла Гейтса: операционная система Microsoft Windows обеспечивает работу более чем 90% персональных компьютеров по всему миру. Во многом это сложилось благодаря относительно свободному распространению оболочки (ее могут использовать производители компьютеров, однако только при наличии лицензионной версии). Операционная система Windows 10 является последний на данный момент версией от Microsoft. Остальная доля рынка приходится на Mac OS, которая распространяется только на продукции Apple, за счет чего и проигрывает своему основному конкуренту.

Что не относится к операционным системам?

Полноценными комплексами программ, обеспечивающих взаимодействие пользователя с компьютером, ни в коем случае нельзя считать оболочки и среды для разработки программного обеспечения. К примеру, LPT, SDK и ряд других.

Многие считают, что к операционным системам не относится Linux, поскольку она является свободно разрабатываемой оболочкой. Правда это или нет, сложно сказать. Все зависит от того, с какой стороны подойти к рассмотрению данного вопроса. Если мы говорим о Linux как об основе для мобильных операционных систем по типу Android, Bada или BlackBerry, то речи о ней как о самостоятельном комплексе программ идти не может. Если же мы объединяем множество разработанных на этой основе самостоятельных систем под словом Linux, то будет логичным считать ее операционной системой.

Существует еще ряд спорных вопросов о принадлежности того или иного пакета программ к рассматриваемой нами категории. В первую очередь это касается DOS - дисковой операционной системы. Ссылаясь на то, что в самом названии содержатся эти заветные два слова, многие считают данную оболочку самостоятельной ОС. Но это заблуждение. DOS - интерфейс, позволяющий установить на компьютер Windows, не более. Следовательно, он к операционным системам не относится.

Что такое программное обеспечение?

Программное обеспечение - это определенная программа или пакет программ, с помощью которых осуществляется реализация той или иной функции, для выполнения которой предназначена операционная система. Данная категория является основной, поскольку без нее нет никакого смысла использовать персональный компьютер. Программное обеспечение бывает двух видов: системное и прикладное. Давать описание и находить различия между ними мы будем на примере наиболее популярной операционной системы - Microsoft Windows.

Системные программы

Рассматривая управление самой Windows, говорить нужно о системном ПО, поскольку именно оно и составляет операционную систему. Эта категория является самой важной, поскольку такое программное обеспечение служит для взаимодействия человека и электронно-вычислительной машины, то есть осуществляется работа с Windows. Набор таких программ зависит от того, какие технические характеристики имеет персональный компьютер, и какие составляющие находятся под крышкой корпуса. делится на два вида: базовое и служебное или сервисное.

Базовое ПО обеспечивает работу компьютера в принципе. К этой категории относятся операционная система как таковая (то есть как комплекс программ, необходимых для запуска машины) и операционная оболочка (он позволяет отображать интерфейс системы). Сервисные программы служат для непосредственной работы с системой в полноценном режиме. В этом плане к операционным системам относятся следующие программы:

1. Драйвера видеокарт. Это пакет программ, которые необходимы для того, чтобы видеокарта, которая находится в компьютере, осуществляла передачу изображения управляемых процессов системы на экран. Основными являются фирмы Nvidia и AMD, которые, соответственно, занимаются и разработкой драйверов для своей продукции.

2. Драйвера звуковых карт. Такие программы необходимы для выхода звуков, производимых при работе операционной системы. Пожалуй, единственным крупным поставщиком таких карт, а соответственно, и программного обеспечения к ним является Realtek.

3. Сетевые утилиты. Как уже видно из названия, они нужны для работы операционной системы с сетями, к которым подключен компьютер. как правило, встроены разработчиком и служат для подключения, настройки и работы с сетями. Обеспечивает сетевой доступ в Windows утилита Microsoft Net.

4. Программа установки и удаления программного обеспечения. Такой инструмент служит для управления в основном прикладными программами. С помощью нее можно удалять, изменять и устанавливать программы и обновления для компьютера.

5. Программы безопасности. Данная категория, пожалуй, самая обширная среди всего сервисного системного программного обеспечения. Объясняется это следующим. Во-первых, существует много различных программ для защиты информации пользователя от вирусов и кражи. К ним относятся брандмауэр (защита от сетевых атак и от проникновения вирусов через сети) и программы шифрования данных (кодирование информации для ее дальнейшего хранения и защиты).

6. Программы диагностики работы процессора и оперативной системы. Для наблюдения за тем, в каком состоянии находится память операционной системы, с какой частотой и производительностью работает процессор, наличие таких программ просто необходимо.

Прикладные программы

В начале нашего рассуждения мы немного затронули функции, для которых предназначено прикладное программное обеспечение. Но это был отнюдь не исчерпывающий список, который, пожалуй, составить и невозможно. Такие программы создаются для самых разных целей: от работы с базами данных до развлечения. Мы же рассмотрим только самые необходимые для повседневной работы.

Работа с текстовой информацией

Ввод, удаление, изменение, форматирование, передача, шифрование, сохранение - это далеко не полный перечень операций, которые пользователь может осуществлять с помощью такого рода программ. Наиболее популярным, удобным и знакомым всем набором программ для работы с текстовой информацией является пакет Microsoft Office. Долгое время приобретать данный пакет необходимо было отдельно от самого компьютера. Однако теперь к программам, прилагаемым непосредственно к операционным системам, относятся Word (классический текстовый редактор), Excel (работа с электронными таблицами), PowerPoint (совмещение текста и мультимедийных файлов в презентациях) и OneNote (текстовый редактор в форме заметок). Кроме того, в числе стандартных программ всех версий Windows присутствуют "Блокнот" и WordPad (упрощенный Word).

Работа с мультимедийной информацией

Графические файлы, аудио и видео, другие мультимедийные файлы создаются, редактируются и обрабатываются также с помощью дополнительного программного обеспечения. В отличие от предыдущей категории лидером среди разработчиков таких программ является не Microsoft, а Adobe. Пакеты, имеющие общее название Creative Suite, содержат в себе довольно широкий выбор для работы с мультимедиа. Среди них, безусловно, есть Photoshop, который является наиболее популярным графическим редактором. Помимо того, Adobe предлагает нам Illustrator (векторный графический редактор), After Effects (видеоредактор), Acrobat (электронные документы формата.pdf), Audition (аудиоредактор). Не входит в пакет, но также распространяется программа Adobe для воспроизведения веб-приложений Flash Player.

Что касается отдельных программ такого типа, существует великое множество самых разных продуктов, позволяющих работать с мультимедийными файлами. К примеру, встроенные в Windows графический редактор Paint и проигрыватель мультимедийных файлов или свободно распространяемый аудиоплеер AIMP.

Работа в сети

Вряд ли в наше время мало кто не знает об Интернете или не пользовался им ни разу в жизни. Но чтобы получить доступ к нему, недостаточно просто наличия сетевой карты, сетевых утилит и подключения. Начинать работу в сети в подавляющем большинстве случаев приходится через интернет-браузер, коих существует бесчисленное множество. Операционная система Windows 10 в качестве браузера по умолчанию предлагает Microsoft Edge, а его предшественником в более ранних версиях был Internet Explorer. Но пользуются им в силу не самого удобного интерфейса и слабой стабильности работы не очень охотно. Большинство интернет-пользователей предпочитают использовать "Яндекс.Браузер", Opera, Google Chrome или Mozilla Firefox. Здесь уже, как говорится, на вкус и цвет.

Кроме того, сейчас популярны облачные хранилища файлов, с помощью которых люди могут получать доступ к своим файлам из разных мест и с разных устройств. Стандартной службой Microsoft является OneDrive, который встроен в Windows 8, Windows 8.1 и Windows 10. Однако есть и другие сервисы, например, Dropbox, "Яндекс.Диск" и Google Drive.

Защита от вирусов

Простого брандмауэра и системы шифрования данных недостаточно, чтобы защитить вашу информацию от посягательства злоумышленников. Вирусы, которые проникают в операционную систему через различные источники (Интернет, зараженные флеш-карты), могут не только украсть ваши данные, но еще и вывести из строя весь компьютер. Благо антивирусов в наше время предостаточно. К компаниям, занимающимся разработкой программам безопасности к операционным системам, относятся Norton, Kaspersky, Dr.Web, Avast, Avira, а также десятки других. Стандартный защитник Windows, конечно, неплохо защищает систему, но антивирусные программы сторонних фирм все-таки обладают гораздо более широким функционалом.

Приложения в Design Language

В таких операционных системах, как Microsoft Windows 8, Windows 8.1 и Windows 10, которые разрабатываются в новом стиле, называемом Design Language, появилась новая категория программного обеспечения - приложения. Работа с ними осуществляется в другом графическом (плиточном) интерфейсе, хотя в «десятке» пользователь получил возможность совмещать обычные программы и новые. Приложения также могут быть как прикладными, так и системными. Последние, к сожалению, еще не до конца проработаны специалистами из Microsoft. К примеру, если сравнивать программу «Панель инструментов» и приложение «Параметры», то можно заметить некоторые отличия в пользу старой панели настроек, где функций по-прежнему больше. Но, тем не менее, уже смело можно говорить о том, что приложения теперь тоже относятся к операционным системам.

Подводя черту под рассуждениями

Работа операционных систем зависит от наличия программ и пакетов, которые необходимы для полноценного функционирования персонального компьютера. Пакеты системных приложений позволяют ему взаимодействовать с пользователем, осуществлять простейшие операции, принимать и выводить информацию на экран с помощью операционной оболочки. Для того чтобы операционная система работала, необходимо наличие пакета программ, которые взаимосвязанными процессами обеспечивают работу и управление ею. Но чтобы осуществлять более сложные действия, работать с информацией, нужно использовать прикладные программы. Их существует довольно много, поэтому каждый пользователь может найти себе именно ту программу или тот пакет, который позволит ему осуществлять задуманные действия.

Операционная система Microsoft Windows постоянно совершенствуется и обновляется, поэтому появляются все новые и новые способы работы с информацией. Универсальные приложения, написанные в стиле Design Language и работающие как на настольных компьютерах, так и на мобильных устройствах, начинают использоваться не меньше, чем и привычные программы, и в перспективе вовсе заместят предыдущее программное обеспечение. И это вполне логично, потому что мир постепенно переходит со стационарных компьютеров и ноутбуков к смартфонам и планшетах. Нам же остается лишь не запутаться в этом сложном мире современных информационных технологий.

Веб-сервисы представляют собой технологию интеграции приложений, которая может использоваться в Internet. В качестве примера возможного использования веб-сервисов рассмотрим планирование путешествий. Обычно в такой ситуации требуются: заказ билетов на самолет, бронирование мест в гостинице, аренда автомобиля и, возможно, использование услуг местных компаний, организующих экскурсии.

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

Более удобно было бы запустить приложение, которое бы приняло от вас необходимую информацию и выполнило все рутинные действия - заказ билетов, бронирование гостиницы и т. п. - автоматически, без вашего участия. Чтобы это стало возможным, вы должны использовать веб-сервисы. Давайте рассмотрим, что изменится в этом случае.

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

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

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

Рассмотрев практическое применение веб-сервисов, обратимся к стандартам, лежащим в основе этих сервисов.

стандарты

Как мы уже знаем, в основе веб-сервисов лежат Internet-стандарты. Эти стандарты определяют протоколы, а не способы их реализации. Такое утверждение является залогом успеха Internet - ни одна компания не может влиять на Internet-стандарты и задавать собственные правила игры. Например, стандарты веб-сервисов разрабатываются совместно такими компаниями, как IBM, Microsoft, Ariba и некоторыми другими, и обсуждаются комитетом World Wide Web Consortium (W3C).

Веб-сервисы базируются на трех основных веб-стандартах:

SOAP (Simple Object Access Protocol) - протокол для посылки сообщений по протоколу HTTP и другим Internet-протоколам;

WSDL (Web Services Description Language) - язык для описания программных интерфейсов веб-сервисов;

UDDI (Universal Description, Discovery and Integration) - стандарт для индексации веб-сервисов.

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

Существующие веб-сервисы описываются в WSDL-документах, которые располагаются либо на сервере приложений, либо в специальных XML-хранилищах. WSDL-документ может ссылаться на другие WSDL-документы и документы XSD (XML Schema), в которых описаны типы данных, используемые веб-сервисами. XML-хранилища используются для управления WSDL-документами. Внутри WSDL-документа находится адрес (URL) веб-сервиса. Веб-сервисы описаны и проиндексированы в бизнес-реестре, содержащем адреса (URL) WSDL-документов.

В следующих разделах мы рассмотрим три основных веб-стандарта, на которых базируются веб-сервисы - SOAP, WSDL и UDDI - более подробно.

SOAP - Simple Object Access Protocol

SOAP - это стандарт для отсылки и получения сообщений по Internet. Изначально этот протокол был предложен фирмой Microsoft в качестве средства для удаленного вызова процедур (RPC, Remote Procedure Call) по протоколу HTTP, а спецификация SOAP 1.0 (Userland, Microsoft, Developmentor) была тесно связана с Component Object Model. Фирма IBM и ряд других компаний, в том числе Lotus, внесли определенный вклад в развитие этого протокола, и его спецификация была направлена на рассмотрение комитетом W3C.

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

SOAP-сообщения бывают двух типов: запрос (Request) и ответ (Response). Запрос вызывает метод удаленного объекта, ответ возвращает результат выполнения данного метода. Приведем пример запроса в формате SOAP:







HST


А вот ответ:



xmlns:SOAP-ENV="http:///envelope"
SOAP-ENV:encodingStyle="http:///encoding//"


48.6


Спецификация SOAP определяет формат кодирования, который, в свою очередь, задает способ представления данных в XML-формате.

WSDL - Web Services Description Language

Для того чтобы приложения могли использовать веб-сервисы, программные интерфейсы последних должны быть детально описаны - с этой точки зрения язык WSDL играет ту же роль, что и язык Interface Definition Language (IDL) в распределенных вычислениях. Описание может включать такую информацию, как протокол, адрес сервера, номер используемого порта, список доступных операций, формат запроса и ответа и т. п.

Для описания этой информации было предложено несколько языков. Одним из них был язык Service Description Language (SDL), разработанный Microsoft и входивший в первую версию Microsoft SOAP Toolkit. Компания IBM переработала спецификацию и, использовав спецификацию Network Accessible Service Specification Language (NASSL), выпустила NASSL Toolkit как часть SOAP4J. Идеи, реализованные в NASSL, повлияли на спецификацию языка SOAP Contract Language (SCL), предложенную Microsoft. В настоящее время обе спецификации (NASSL и SDL/SCL), а также предложения других фирм учтены в спецификации языка WSDL. Для описания бизнес-логики IBM и Microsoft работают над спецификацией языка Web Services Flow Language (WSFL). Вот пример скелета описания сервисов на языке WSDL:


xmlns:soap="http://(soaporg)/wsdl/soap"
xmlns="http://(soaporg)/wsdl/">

...

...
...


...
...


...

Как мы видим, описание сервисов представляет собой XML-документ, состоящий из нескольких элементов, в том числе из описания пространства имен (namespace), описания типов и элементов, сообщений, порта, а также возможных операций - запросов и ответов.

UDDI - Universal Description, Discovery and Integration

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

UDDI базируется на элементах четырех типов: Business Entity, Business Service, Binding Template и Technology Model.

Элемент Business Entity описывает индустрию, предоставляющую данный веб-сервис. Этот элемент может включать описания категорий для данной индустрии, облегчающие более детальный поиск сервисов.

Business Service - это класс сервисов в рамках определенной отрасли промышленности или услуг. Каждая отрасль принадлежит определенному элементу Business Entity.

Вместе Binding Template и Technology Model определяют веб-сервис. Technology Model содержит абстрактное описание, а Binding Template - конкретную спецификацию сервиса. Каждый элемент Binding Template принадлежит определенному элементу Business Service, но несколько элементов Binding Template могут ссылаться на один элемент Technology Model.

Бизнес-реестр UDDI сам является SOAP веб-сервисом. Он поддерживает операции создания, модификации, удаления и поиска элементов всех четырех рассмотренных выше типов.

Реферат слушателя ИКСИ, научный руководитель – Сергей Кунегин

Каждая web-служба предоставляет документ WSDL (Web Service Description Language - язык описания web-службы), в котором описывается все, что клиенту необходимо знать об этой службе. WSDL -документ служит тем же целям, что и файл IDL ( Interface Definition Language - язык определения интерфейса) для компонента CORBA или СОМ : он определяет интерфейс web-службы. Указанный документ, по сути, представляет собой контракт между клиентом и web-службой, где декларируется, что "если вы вызовете такой-то метод с такими-то параметрами, то в качестве возвращаемой величины получите такие-то данные".

Во многих отношениях web-службы даже проще, чем создаваемые для CORBA или СОМ компоненты. Например, в web-службах отсутствует возможность поддержки нескольких интерфейсов - каждый класс web-службы обеспечивает только один набор открытых (public ) методов. С другой стороны, документ WSDL немного сложнее своего IDL -эквивалента, поскольку он является платформонезависимым и поддерживает коммуникационные протоколы, отличные от SOAP и HTTP . Это означает, что каждый WSDL -файл для web-службы .NET содержит значительный объем стереотипного кода, служащего для обеспечения поддержки базового уровня коммуникации (в соответствии с протоколом SOAP или методами GET и POST протокола HTTP ).

ПРИМЕЧАНИЕ

В процессе .NET -программирования нет необходимости создавать свой собственный WSDL -документ. Каждая web-служба .NET генерирует такой документ автоматически. Его можно увидеть с помощью поддерживающего XML браузера.

Некоторые разработчики утверждают, что стандарт WSDL для web-служб не нужен, поскольку сообщения SOAP являются самодостаточными и точно специфицируют типы данных любых содержащихся в них величин. Однако WSDL -документ предоставляет простой и последовательный способ задания разработчиком синтаксиса вызова любого web-метода. Более того, этот документ позволяет использовать инструменты автоматического генерирования прокси-классов, подобные включенным в среды Visual Studio .NET и .NET Framework . Благодаря указанным средствам использование web-службы является таким же простым, как и применение локального класса.

WSDL -документ имеет основанный на XML формат, в соответствии с которым информация подразделяется на пять групп. Первые три группы представляют собой абстрактные определения, не зависящие от особенностей платформы, сети или языка, а оставшиеся две группы включают конкретные описания.

Протокол SOAP

Связь между web-службами и их клиентами осуществляется посредством сообщений в формате XML . SOAP (Simple Object Access Protocol - простой протокол доступа к объектам) представляет собой протокол сообщений для выбора web-служб. Использование слова Object в названии данного протокола является не совсем корректным, поскольку сообщения SOAP не направляются объектам. Основная идея стандарта SOAP заключается в том, что сообщения должны быть закодированы в стандартизированном XML -формате. Можно сказать, что формат SOAP идеально подходит для технологии RPC (Remote Procedure Call - вызов удаленной процедуры), так как SOAP -сообщение содержит направляемые клиентом параметры или отсылаемую службой возвращаемую величину. Нет ничего удивительного в том, что другие программные продукты (скажем, сервер BizTalk компании Microsoft) применяют протокол SOAP для передачи иных типов информации. Аналогично, SOAP -сообщения могут использоваться не только при передаче по протоколу HTTP , но также при пересылке через сокеты, именованные каналы и даже по протоколу SMTP электронной почты.

Кроме сообщений SOAP , для обмена данными с web-службами .NET можно использовать методы GET и POST протокола HTTP . Теоретически при передаче информации методом POST вы можете по-прежнему применять формат SOAP , но в этом случае данные проще передавать в виде набора имя-значение без указания их типа.

Давайте рассмотрим преимущества применения формата SOAP .

  • Более гибкие типы данных

    Кодировать в XML структуры данных и наборы DataSet с использованием SOAP так же легко, как и данные простых типов (скажем, целого или строкового).

  • Поддержка заголовков и расширений

    При использовании SOAP -сообщений предоставляются дополнительные инструменты, позволяющие легко добавлять, например, функции обеспечения безопасности или трассировки.

Истинная межплатформенность

Протокол SOAP лучше всего подходит для получения .NET -услуги на обычном клиенте. Имеются наборы инструментов SOAP для различных языков программирования (и даже для предыдущих версий Microsoft C++ и Visual Basic ). Чтобы обеспечить связь с web-службой посредством методов GET и POST протокола HTTP , придется, очевидно, вручную сконструировать строку запроса, а затем вручную провести синтаксический разбор ответа, что, согласитесь, является не самым элегантным решением.

Стандарт DISCO

Стандарт DISCO предоставляет простейший способ получения доступа к файлам манифестов, позволяющий группировать ссылки на web-службы. Поскольку основной целью web-служб является обеспечение В2В-взаимодействия, требуется такой инструмент, который давал бы возможность не только создавать полезные функции, но и использовать их совместно с другими организациями. Информация о коммуникации с единственной web-службой может быть достаточно простой, но если у вас имеется сложная комбинация web-служб, которые расположены в различных приложениях ASP .NET и предназначены для различных клиентов, намного сложнее уследить за тем, чтобы клиенты получили требуемую информацию.

Один из методов обеспечения связей с различными web-службами состоит в создании специальной HTML-страницы. Однако такой подход не стандартизирован, требует формирования базового пользовательского интерфейса и может сбить с толку потребителей, которые просматривают web-узел. Возможны другие способы обмена информацией, в частности посредством электронной почты или телефона, но такие методы неэффективны.

Технология DISCO позволяет избежать данных проблем. DISCO -файл - это не просто список web-служб и соответствующих связей, представленных в XML-формате. Такой файл может включать файлы различных web-серверов и поддерживает "динамический поиск" - автоматический поиск каталога файлов web-службы на сервере. Инструменты .NET , например Visual Studio .NET , содержат средства обработки файлов манифестов и предоставляют простой способ их просмотра, а также обеспечивают подключение группы связанных служб к клиенту.

Чтобы использовать web-службу, клиенту необходимо знать адрес web-узла соответствующей компании либо адрес URL файла манифеста. Файлы манифеста полезны тем, что объединяют множество web-служб в единственном списке, однако они не позволяют клиентам отыскивать web-службы определенного типа без указания наименования компании-разработчика.

Спецификация UDDI

Спецификация UDDI (Universal Description, Discovery, and Integration - универсальное описание, поиск и интеграция) позволяет избежать указанных проблем посредством использования специального хранилища (репозитория), где предприятия и организации могут размещать данные о предоставляемых ими web-службах. Инициаторами создания технологии UDDI стали более 100 компаний (полный список можно найти по адресу http://www.uddi.org/community.html), включая основных конкурентов - Sun и Microsoft. Объединив свои усилия, эти компании разработали проект спецификации UDDI , которая по истечении 18 месяцев была стандартизирована. Конечно, информация в подобном репозитории должна обновляться вручную. С этой целью некоторые "узловые операторы" хранят идентичные копии репозитория UDDI . Эти компании обеспечивают хранение указанного репозитория и бесплатный доступ к нему для популяризации web-служб. Кроме того, Microsoft включила версию UDDI в программное обеспечение сервера Windows .NET для использования в корпоративных сетях интранета.

В хранилище UDDI содержатся сведения о предприятиях, предоставляющих web-службы, о типе каждой службы и связях с информацией и спецификациями, относящимися к этим службам. Любопытным фактом является то, что интерфейс UDDI сам по себе представляет собой web-службу. Для регистрации или поиска службы следует отправить SOAP -сообщение.



Загрузка...