Что такое Web-службы?
Это непростой вопрос. Вне зависимости от моего ответа, едва ли я смогу дать полное и содержательное определение этой необыкновенной концепции. Начиная работать с Web-службами, я и представить себе не мог тот технологический потенциал, который скрывается в них.
Web-службы позволяют кардинально изменить манеру написания кода, особенно для распределенных приложений, которые должны работать на различных платформах. Web-службы - это, без сомнения, новый этап в развитии Internet.
Если вы решились на создание Web-служб и соответствующих клиентских приложений, наилучшей средой разработки, по моему мнению, будет Microsoft .NET, чему и посвящена данная книга. Боб Тейбор является ведущим специалистом по созданию Web-служб на платформе .NET.
Кэйт Беллинджер (Keith Ballinger),
руководитель проекта разработки XML Web-служб в корпорации Microsoft
Вступление
Если быть откровенным, то еще в 1997 году перспектива использования технологии XML выглядела маловероятной. С технической стороны эта технология казалась весьма привлекательной: самоописываемые данные, которые использовали дескрипторы формата HTML и легко переносились на различные платформы. Однако с коммерческой точки зрения не все было так гладко. В то время не существовало программы на XML, способной продемонстрировать все преимущества данной технологии. Язык XML просто считался наиболее оптимальным способом выполнения тех функций, для которых использовались данные, разделяемые запятыми и символами табуляции.
После того как в конце 1999 года я познакомился с протоколом SOAP, появилось и понимание истинных возможностей XML, особенно в контексте удаленного вызова процедур для обмена, как правило, невизуальными данными между разными платформами. Эта технология могла разрешить многие проблемы, возникавшие при обмене информацией. Нельзя сказать, что до появления SOAP дела были совсем уж плохи, однако для каждого проекта приходилось искать особые подходы. Благодаря протоколу SOAP появилась возможность все это осуществить в рамках единой концеп-ции. Кроме того, такие технологии, как Web Services Description Language (описатель-ный язык Web-служб), Discovery of Web Services (развитие Web-служб) и некоторые другие, позволили существенно расширить функции Web-служб.
Я абсолютно уверен в том, что, кроме решения чисто технических задач, эта новая технология и ее всевозможные реализации откроют новую страницу в сфере электронной коммерции, например при создании персональных служб Microsoft .NET и не только. Новые подходы приведут к появлению новых типов партнерства и построения коммерческих взаимоотношений. Появится необходимость в бесперебойном взаимодействии устройств различных типов и назначений. По сути, такие перспективы отражают лишь малую толику истинного потенциала Microsoft .NET.
Очевидно, что на сегодняшний день Internet только начинает показывать свои безграничные возможности. В конце концов, Internet - это всего лишь сеть, хотя и огромных масштабов. Некоторое время назад было очень модным ссылаться на Internet как на "информационную супермагистраль". До сих пор эта аналогия остается весьма удачной, так как в историческом аспекте экономическое становление любой страны невозможно без развитой системы дорожного сообщения. В Соединенных Штатах индустриальная революция стала возможна благодаря развитию железных дорог, а период небывалого экономического роста в 40-50-х годах прошлого века связан с инвестициями правительства США в транспортную инфраструктуру. Таким же образом Web-службы станут движущим фактором развития экономики в эпоху Internet, предоставляя компаниям уникальные возможности по обмену данными о клиентах, товарах и предоставляемых услугах. Кроме того, появится возможность весьма эффективно реализовывать обмен информацией, заключать партнерские контракты и договоры, что было невозможно всего несколько лет назад.
Технологии Microsoft .NET Framework и Visual Studio .NET позволят компаниям перенести львиную долю своего бизнеса в Internet. Как вы узнаете из этой книги, уже первая реализация технологии Microsoft .NET привела к тому, что XML, SOAP и Web-службы стали "первыми лицами государства" в среде разработки приложений. Один мой знакомый недавно создал Web-службу, позволяющую его компании осуществлять торговые операции с кредитной расчетной палатой гораздо эффективнее, чем раньше. Он никогда не работал с Visual Studio .NET и был крайне удивлен той легкости, с которой удалось создать искомую Web-службу.
Если все так замечательно, нужно ли читать целую книгу? Дело в том, что для создания приемлемой Web-службы действительно хватит базовых знаний в этой области. Однако для самосовершенствования нет пределов, ведь всегда можно расширить знания и доработать Web-службы таким образом, чтобы они наиболее оптимально соответствовали запросам клиентов. Книга преследует две цели: сформировать у читателя представление об основных концепциях Web-служб и представить некоторые более сложные и в то же время крайне необходимые подходы для создания конкурентоспособных Web-служб.
Следует иметь в виду, что представленные примеры программного кода созданы на основе пакета разработки Visual Studio .NET. Здесь сказалась моя твердая убежденность в том, что любой человек, хотя бы раз работавший с Visual Studio .NET, больше никогда не станет использовать Блокнот (или другой текстовый редактор) либо исключительно пакет .NET Framework. Большинство представленных в книге примеров можно изменить для применения только в .NET Framework, однако тема и концепция книги предполагают работу именно с Visual Studio .NET.
Для кого предназначена книга
Чтобы в полной мере освоить материал книги, читатель должен обладать основами работы с Visual Basic .NET или C#, что понадобится для лучшего понимания многих технических моментов. Как уже отмечалось, весьма желателен опыт работы с Visual Studio .NET. Кроме того, необходимо разбираться в протоколах Internet, таких, как HTTP, и хотя бы приблизительно представлять, как пишутся программы для использования в Internet и каковы основы использования технологии ASP (Active Service Page). И наконец, следует понимать принципы объектно-ориентированного программирования, на котором основаны языки VB.NET и С#.
Об авторе
Роберт Тейбор (Robert Tabor), будучи опытным специалистом по технологиям
Microsoft, вот уже более восьми лет является консультантом по вопросам программного обеспечения таких известных компаний, как Ernst&Young, KPMG, Cambridge Techno-logy Partners, American Heart Association и корпорация Mary Kay. Роберт закончил университет Лойола в Чикаго (Loyola University of Chicago) по специальности "Админист-ра-тор информационных систем" (Management Information Systems). Он занимается разработкой и продвижением на рынке технологий .NET, SOAP и Web-служб, о чем более подробно можно узнать по адресу: http://www.SOAPWebServices.com.
Благодарности
В первую очередь хочется поблагодарить Дэвида Финдли (David Findley), оказавшего неоценимую помощью в завершении этой книги. Ему принадлежат примеры программного кода некоторых глав, а также многочисленные технические рекомендации, которые помогли мне разобраться с технологиями .NET и Web-службами.
Я искренне благодарю Джэйсона Бентрума (Jason Bentrum), Барри Блума (Barry Bloom) и Джеймса Уотли (James Whatly) за их преданную дружбу и поддержку, а также всех сотрудников корпорации Mary Kay, всячески способствовавших процессу создания книги; среди них Роберт Пэнн (Robert Penn), Гари Хартли (Gary Hartley) и Билл Броун (Bill Broun). Огромное спасибо моим преданным друзьям Стиву Таркветту (Steve Turquette), Конраду Фигину (Conrad Feagin), Крису Армстронгу (Chris Armstrong) и Дану Старру (Dann Starr) за их неуемный энтузиазм в реализации данного проекта и постоянную моральную поддержку.
На протяжении всей моей жизни и карьеры мне помогали многие люди. Хочу выразить признательность Рэнди Поттеру (Randy Potter), который в свое время вдохновил меня на изучение Visual Basic и помог в 1995 году устроиться на работу в компанию Ernst&Young. Кроме того, я благодарю Майка Томаса за покровительство и дружбу, а также Джоржа Сантиллиана (George Santillian), Пола Гаррета (Paul Garret) и Кевина Кида (Kevin Kidd).
Особую благодарность следует высказать Крису Вебу (Chris Webb), сразу заинтересовавшемуся идеей книги о Web-службах, и Кейту Беллинджеру (Keith Ballinger),
руководителю проекта по разработке Web-служб .NET в компании Microsoft, за его неизменный интерес и поддержку в написании книги. Наконец, я признателен всей команде издательства Sams Publishing за те усилия, которые им пришлось приложить для превращения всего написанного мной в книгу, а особенно техническому редактору Джону Тимнею (John Timney), Лизе Лорд (Lisa Lord), сделавшей мою писанину понятной и вразумительной (за что ей отдельное спасибо), Натали Харрис (Natalie Harris) и Нэйлу Роу (Neil Row) за терпение, которое он проявил, ожидая завершения работы над книгой.