Опубликован: 08.08.2007 | Доступ: свободный | Студентов: 1670 / 176 | Оценка: 3.86 / 3.76 | Длительность: 11:46:00
Специальности: Программист
Лекция 13:

Основные понятия Web-службы

< Лекция 12 || Лекция 13: 12345 || Лекция 14 >

Web-службы конкурирующих фирм-производителей

Microsoft - не единственный разработчик инструментов реализации web-служб. В настоящее время существуют инструменты создания web-служб для разнообразных языков и платформ. Некоторые из них перечислены ниже.

  • Компания IBM предоставляет набор средств разработки Web Service Developinent Kit, содержащий среду выполнения и многочисленные примеры.
  • Компания Oracle предлагает специальный язык для разработки web-служб Web Integration Development Language, а также собственные web-службы.
  • Компания Sun Microsystems предоставляет среду Sun ONE (Open Net Environment), поддерживающую web-службы, написанные на языке Java.
  • Набор SOAP Toolkit от Microsoft позволяет вызывать web-службы из программных продуктов, созданных в предыдущих версиях Microsoft Visual Studio (и написанных на таких языках, как Visual Basic и C++ ).
  • Программа Internet Explorer версии 5 и более поздних дает возможность вызывать web-службы с web-страниц посредством простого сценарного кода. Эта технология носит название WebService Behavior.
  • Язык Perl включает набор инструментов SOAP::Lite для работы с базовыми функциями SOAP.

Другие технологии

.NET MyServices

.NET MyServices (первоначальное название - Hailstorm) представляет собой ориентированный на пользователя набор web-служб, разработанных компанией Microsoft. MyServices находится на вершине структуры .NET Framework и предназначен для предоставления некоторых основных функций, к которым приложения будут получать доступ, чтобы совместно использовать пользовательскую информацию.

Службы .NET MyServices выполняют такие функции, как сопровождение информации, поддержка аутентификации, а также выдача уведомлений для отдельных пользователей. Хотя названные службы ориентированы на конечных пользователей, однако таковые не взаимодействуют с ними напрямую, как это происходит в случае обычных web-служб. К данным службам для получения базовой информации и высокоуровневых функций обращаются приложения. Большинство служб .NET MyServices являются стандартизированным интерфейсом web-служб онлайнового хранилища данных. К таким данным может относиться все что угодно, от бизнес- календаря с указанием дат встреч до финансовых отчетов.

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

В настоящее время самой известной (и наиболее важной) частью .NET MyServices является система аутентификации Passport, которая разрабатывалась для сервера Hotmail и предназначалась для проверки паролей доступа к электронной почте. Позднее Passport превратилась в полноценную web-службу и сегодня используется многими компаниями для аутентификации своих клиентов. Данная система также доступна для потребительских web-узлов через систему ASP .NET Framework и может использоваться в качестве простого средства для идентификации пользователей.

.NET Remoting

.NET Remoting - это технология распределенных компонентов, заменившая модель DCOM в среде .NET. Она остается идеальным средством во многих ситуациях, когда web-службы .NET оказываются неподходящими, в частности применяется при работе приложений, требующих совместного использования больших объемов информации либо при необходимости сокращения времени ответа. Однако в отличие от web-служб технология .NET Remoting разрабатывалась не с целью совместного использования и публикации служб (таких как DISCO -файлы и UDDI ) несколькими компаниями.

Сегодня .NET Remoting представляет собой расширяемую технологию, которая способна поддерживать различные протоколы передачи данных, в том числе HTTP и SOAP. Таким образом, данная технология могла бы составить конкуренцию web-службам, если бы не тот факт, что .NET Remoting не поддерживает UDDI и в ней используется специальный .NET -ориентированный формат сериализации.

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

XML-RPC

XML-RPC - это простой, но довольно распространенный протокол, который является предшественником протокола SOAP и web-служб .NET. Протокол RPC (Remote Procedure Call - вызов удаленной процедуры) обеспечивает вызовы удаленных процедур путем отправки запросов в виде XML-документов и получение ответа в другом XML-документе. Таким же образом работает и web-служба .NET, но для связи с ней необходим протокол SOAP.

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

Система обмена сообщениями

Microsoft, Sun и многие другие компании предоставляют системы обмена сообщениями, которые допускают коммуникацию типа "store-and-forward" (сохранение и отправка далее). Такая модель не подходит для ситуаций, когда требуется немедленный ответ, но применима в случае односторонней связи наподобие регистрации. Серверные программные средства обмена сообщениями, например MSMQ (Microsoft Message Queuing - организация очередей сообщений), обеспечивают богатый набор функций, включая транзакции, и оказываются скорее помощниками, чем конкурентами web-служб. Однако web-службы относятся к числу более распространенных технологий и могут рассматриваться в качестве более простой модели для реализации удаленных вызовов функций, а не только односторонних сообщений. Кроме того, web-службы поддерживают асинхронный режим работы.

Сервер BizTalk

Сервер BizTalk позволяет разработчикам наладить бизнес - связи как в отдельной организации, так и между деловыми партнерами. Хотя текущая версия сервера BizTalk построена на основе СОМ - технологии, существует множество способов расширить его возможности с помощью встроенных элементов .NET и интегрирования с web-службами .NET. Обзор подобных методов представлен в документах, доступных по адресу http://www.microsoft.com/biztalk/default.mspx.

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

< Лекция 12 || Лекция 13: 12345 || Лекция 14 >