На этом наш обзор ASP.NET завершается. Как уже подчеркивалось в главе 23, полное и исчерпывающее рассмотрение ASP.NET 2.0 требует отдельной и довольно объемной книги. Но я надеюсь, что теперь вы чувствуете себя достаточно уверенно в рамках соответствующей программной модели.
Замечание. Если вам требуется более глубоко изучить ASP.NET 2.0, обратитесь к книге Мэтью Мак-Дональда и Марио Шпушта, Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов (ИД "Вильямс", 2006 г.).
В завершение нашего путешествия в последней главе будет рассмотрена тема создания Web-сервисов XML в .NET 2.0.
Резюме
В этой главе вы имели возможность расширить свои знания в области ASP.NET, рассмотрев возможности использования типа HttpApplication. Вы могли убедиться в том, что этот тип предлагает целый ряд обработчиков событий уровня приложения и сеанса.
Значительная часть этой главы была посвящена рассмотрению различных подходов к управлению данными состояния. Напомним, что данные состояния представлений используются для автоматического обновления значений HTML-элементов при вторичных обращениях к Web-странице. Затем были выяснены различия между данными уровня приложения и сеанса, рассмотрены возможности управления данными cookie и изучен кэш приложения ASP.NET. Наконец, был рассмотрен набор элементов, которые могут присутствовать в файле Web.config.
ГЛАВА 25. Web-сервисы XML
Глава 18 информировала вас о слое удаленного взаимодействия .NET. Вы смогли убедиться в том, что эта технология позволяет любой группе компьютеров с поддержкой .NET осуществлять обмен информацией через границы машин. Это, конечно, прекрасно, но одним из ограничений слоя удаленного взаимодействия .NET оказывается то, что для каждой из участвующих в обмене сторон требуется установка .NET Framework, поддержка CTS и использование одинакового формата сетевого обмена (например, TCP).
Web-сервисы XML предлагают более гибкую альтернативу в деле построения распределенных приложений. Говоря простыми словами, Web-cepвuc XML - это единица программного кода, обслуживаемая Web-сервером и доступная в рамках стандартных промышленных технологий, например, таких как HTTP и XML. Вы, наверное, догадываетесь, что благодаря использованию "нейтральных" технологий Web-сервисы XML предлагают такой уровень совместимости и взаимодействия в отношении операционных систем, платформ и языков, который ранее был просто недоступен.
Из этой последней главы книга вы узнаете о том, как создаются Web-сервисы XML в рамках платформы .NET. В процессе обсуждения основной темы мы рассмотрим также ряд связанных вопросов, в частности службы поиска (UDDI и DISCO), язык WSDL и протокол SOAP. Выяснив, как строить Web-сервисы XML, мы рассмотрим различные возможности генерирования агентов клиента, способных вызывать "Web-методы" в синхронном и асинхронном режимах.
Роль Web-сервисов XML
С точки зрения самого высокого уровня вы можете определить Web-сервис XML, как единицу программного кода, доступную для вызова с помощью HTTP-запросов. Однако, в отличие от традиционного Web-приложения, Web-сервисы XML можно использовать не только для того, чтобы возвращать браузеру HTML-код с целью визуализации. Скорее наоборот, Web-сервис XML чаще всего предоставляет функциональные возможности, аналогичные возможностям стандартной библиотеки программного кода .NET (например, специальные вычисления, выборку данных из DataSet, чтение цен на акции и т.д.).
Преимущества Web-сервисов XML
На первый взгляд, Web-сервисы XML могут показаться просто очередной новой технологией удаленного взаимодействия. Это, конечно, так и есть, но давайте рассмотрим эту технологию чуть подробнее. Исторически для доступа к удаленным объектам всегда требовались специальные зависящие от платформы (a часто и от языка) протоколы (DCOM, Java RMI и т.д). Проблема такого подхода заключается не в лежащей в его основе технологии, а в том, что каждая из сторон замыкается в своем специфическом сетевом формате. Поэтому при попытке построения распределенной системы, в которой используется множество операционных систем, каждой машине приходится согласовывать формат пакета данных, протокол передачи и т.д. С целью упрощения ситуации Web-сервисы XML позволяют вызывать методы и свойства удаленного объекта с помощью стандартных HTTP-запросов. Из всех протоколов, существующих на сегодняшний день, HTTP является единственным сетевым протоколом, с которым "согласны" все платформы (в конце концов, HTTP – это основа World Wide Web).
Другой фундаментальной проблемой использования частных архитектур удаленного взаимодействия является то, что все они требуют, чтобы отправитель и получатель "понимали" одну и ту же систему базовых типов. Однако, и вы с этим должны согласиться, arrayList Java имеет мало общего с ArrayList .NET, и оба они не имеют ничего общего с массивом C++, Web-сервисы XML обеспечивают возможность гармоничного обмена информацией для несовместимых платформ, операционных систем и языков программирования. Вместо того чтобы вынуждать вызывающую сторону понимать специальную систему типов, информация между системами передается в виде XML-данных (которые на поверку оказываются "правильно" форматированными строками). Основным правилом здесь является следующее: если ваша операционная система позволяет оперативный доступ и анализ символьных данных, она способна взаимодействовать и с Web-сервисом XML.