Большинство организаций имеет много компьютерных систем, причем каждая предназначена для своей конкретной цели. Это могут быть: финансовая система, кадровая система, система управления заказами, система управления запасами, система обслуживания клиентов и т. д.
Эти приложения обслуживают конкретные бизнес-процессы. Однако большинству организаций необходимо отвязать эти бизнес-процессы от их приложений и использовать их как часть комплексного решения. Именно здесь помогают ориентированные на сервис решения. После предоставления бизнес-процесса в виде сервиса им могут воспользоваться многие клиенты.
Концепция многократного использования кода существует уже давно. Однако многократное использование ориентированного на сервис кода стало очень популярным только с появлением Web-сервисов. Вездесущий характер HTTP и порта 80 в сочетании с интерфейсами на базе XML позволяет получить новый уровень обмена между приложениями. Разработчики начали оформлять основные бизнес-функции в виде сервисов и вызывать их из разных клиентов.
Visual Studio 2008 и .NET Framework 3.5 представляют собой следующую стадию этой ориентированной на сервис парадигмы. При помощи этих инструментов вы можете создавать сервисы на базе Windows Communication Foundation. WCF является инфраструктурой, которая признает тот факт, что разработчикам нужно много уровней обмена (а не один только протокол SOAP поверх транспортного HTTP), им требуется сильная система безопасности, им часто нужна также поддержка транзакций, и они не хотят писать для этого весь код низкого уровня.
Вы создаете сервис WCF как библиотеку кода, как рабочий процесс или как приложение Web-сервиса. На рис. 1.38 показаны шаблоны новых проектов, перечисленные в типах проектов WCF. Здесь вы можете указать, что ваш Web-сервис содержит рабочий процесс (бизнес-процесс), или просто создать библиотеку сервиса, из которой будет вызываться ваш код.
Вы можете также (как и прежде) создать Web-сервис в asmx-файле (при помощи шаблонов Web-проектов). Эта же самая область шаблонов дает также доступ к новому шаблону WCF Service Application. С его помощью вы можете создать сервис WCF, который настраивается аналогично Web-сервису.
WCF полностью настраиваемая. Она освобождает вас от необходимости написания внутреннего кода сервиса. Вместо этого вы можете сосредоточиться на функциональности вашего сервиса. Например, вы можете добавить в ваш сервис оконечные точки (в зависимости от того, какой стек протоколов вы собираетесь поддерживать— HTTP, TCP/IP, MSMQ, именованные каналы и т. д.). На рис. 1.39 показан редактор конфигурирования WCF. Обра- тите внимание, что поддержка привязки для оконечной точки — это задача конфигурирования (а не программирования).
Примечание
Более подробное обсуждение инструментов для Windows Communication Foundation и
Web-сервисов см. в главе 19.