Сервисы трансформировали наше представление об Интернете и о том, как его использовать для создания программного обеспечения. До сервисов Интернет был в основном средством размещения кросс-платформенных пользовательских интерфейсов с низкой стоимостью развертывания. Конечно, это было большим достижением (и остается таким) как для интернет, так и для интранет-приложений. Сервисы имеют аналогичный потенциал в плане изменения способа построения наших приложений (как для Интернета, так и для локальных сетей).
По своей сути сервис представляет собой интерфейс (или набор методов), который является /'черным ящиком" доступа (при помощи обычных форматов и протоколов) к совместно используемым функциям. При таким определении сервис должен быть слабо связан со своими клиентами и работать с пересечением границ. Эти границы в течение длительного времени мешали применять возможности многократно используемых компонентов приложений (таких как сервисы). Работая с пересечением таких границ, как процессы, компьютеры, языки и операционные системы, сервисы могут использоваться многими потенциальными клиентами сегодняшнего и завтрашнего дня. Visual Studio 2008 и .NET Framework 3.5 позволяют разработчикам создавать ориентированные на сервис приложения без необходимости углубляться во внутренние подробности SOAP, HTTP, удаленного взаимодействия и WDSL. Вместо этого вы можете сосредоточиться на создании сервисов, которые решают ваши конкретные бизнес-проблемы. После этого вы можете позволить Framework позаботиться о ваших потребностях (в отношении форматов и протоколов).
В этой главе мы сначала опишем фундаментальные концепции основанных на сервисах приложений. Затем обсудим две основные технологии сервисов, которые встроены в Visual Studio: Web-сервисы ASP.NET и Windows Communication Foundation (WCF). Первая из них позволяет создавать стандартные Web-сервисы, работа которых обеспечивается ASP.NET. Последняя является новой сервисной инфраструктурой фирмы Microsoft, которая позволяет вам настраивать хостинг ваших сервисов и доступ к ним. Для каждой из них мы опишем и создание сервисов, и написание клиентов для их использования.