Web-службы
Распределение функций приложений и возможность использования данных за пределами
предприятия, на котором они хранятся, — следующий шаг в развитии компонентной
технологии. Количество служб, которые разработчики могут интегрировать в свои
приложения, настолько велико, что не приходится даже мечтать о том, чтобы создать
их все самостоятельно. Рассмотренный нами конкретный пример, — система бронирования
Acme (Acme Reservation System), — представляет собой простую службу. Бюро путешествий
Acme (Acme Travel Agency), в состав которого входит система бронирования билетов
на авиарейсы и система бронирования мест в гостинице, предоставляет клиентам
более широкий спектр услуг.
Отдельному производителю не по силам создать для технологии распределенной обработки данных соответствующую инфраструктуру. Это означает, что и дальше будут сосуществовать, как минимум, миры Java, .NET, переносных компьютеров (ноутбуков) и традиционных (унаследованных) систем. К счастью, протоколы TCP/IP (Transmission Control Protocol/Internet Protocol — протокол управления передачей/протокол Internet) и HTTP (Hypertext Transfer Protocol — протокол передачи гипертекстовых файлов) приобрели статус сетевых стандартов. Они могут послужить базисом при попытке организовать взаимодействие неоднородных (гетерогенных) систем. Поскольку протокол передачи гипертекстовых файлов HTTP — протокол текстовый, то имеет смысл описывать взаимодействие таких систем на языке XML (extensible Markup Language — расширяемый язык разметки), который имеет статус промышленного стандарта. В Web-службах протоколы, основанные на языке XML и протоколе передачи гипертекстовых файлов HTTP, используются в качестве промышленных стандартов, которые обеспечивают взаимодействие разнообразных систем.
Web-службы — вторая часть истории распределенной обработки данных (распределенных
вычислений) на платформе .NET. Если все приложения и службы, которые должны
взаимодействовать, используют общеязыковую среду выполнения CLR (Common Language
Runtime), то для организации распределенной обработки данных можно воспользоваться
средствами дистанционной обработки, предусмотренными в платформе .NET. Преимущество
средств дистанционной обработки, предусмотренных в платформе .NET, состоит в
том, что с помощью удаленной сериализации (преобразования в последовательную
форму) объектов, можно получить доступ практически к любой структуре данных
.NET. В то же время среда, которая не поддерживает платформу .NET, не позволяет
обрабатывать все типы данных, имеющиеся в .NET. Следовательно, набор структур
данных, передаваемых Web-службами, значительно уже, чем тот, который может быть
описан с помощью протоколов, основанных на языке XML. Именно поэтому в Web-службах
часто используются протоколы, основанные на языке XML. Поэтому также в версии
протокола SOAP (Simple Object Access Protocol — простой протокол доступа к объектам),
которая используются Web-службами, и в версии, на базе которой организована
удаленная обработка данных в .NET, предусмотрены разные модели программирования.
Так, протокол SOAP, используемый в .NET, полностью совместим с общеязыковой
средой выполнения CLR (Common Language Runtime). На версию протокола SOAP, посредством
которого взаимодействуют Web-службы, накладывают некоторые ограничения стандарты,
определяющие способность к взаимодействию.
Как уже было сказано, Web-службы позволяют соединить неоднородные (гетерогенные) системы. Кроме этого, Web-службы позволяют деловым партнерам совместно использовать информацию. С помощью Web-служб можно объединить унаследованные (традиционные) системы с используемыми, не разрабатывая для их соединения специализированного промежуточного программного обеспечения. Использование Web-служб может оказаться полезным даже в пределах одного предприятия, поскольку с их помощью можно объединить информацию, полученную от внутренних и внешних источников. Однако для того, чтобы превратить Web-службы в нечто большее, чем средство разработки распределенных приложений, нужно разработать финансовую и правовую инфраструктуру, а также инфраструктуру, обеспечивающую надежность и безопасность передаваемых данных.
|