Введение в WCF
История технологий программирования для борьбы с повторением кода и для структурирования программ Функции, функциональное программирование Объектно-ориентированное программирование Компонентно-ориентированное программирование (Component Object Model) – каждый компонент в COM-объекте (ActiveX, DCOM, COM+, DirectX…), может использоваться во многих программах одновременно Сервис-ориентированное программирование (SOA, SСервис-ориентированное программирование (SOA, ServiceСервис-ориентированное программирование (SOA, Service OСервис-ориентированное программирование (SOA, Service Oriented Сервис-ориентированное программирование (SOA, Service Oriented AСервис-ориентированное программирование (SOA, Service Oriented Architecture) — модульный подход к разработке программного обеспечения, основанный на использовании сервисов (служб). Сервисы являются естественным результатом эволюции компонентов, как компоненты были естественным результатом эволюции объектов. Клиентом сервиса может быть всё, что угодно – класс Windows Forms, страница ASP.NET, другой сервис. В WCF все сообщения передаются в формате SOAP как в классических Web-сервисах. WCF предоставляет следующие транспортные схемы (Адреса): HTTP: http://localhost:8001/MyService (в глобальной сети) TCP: net.tcp://localhost:8002/MyService (в лок. сети) IPC (именованные каналы): net.pipe://localhost/MyService (на одном компьютере) MSMQ (механизм очередей): net.msmq://localhost/MyService Одноранговые сети: net.p2p: (например, узлы GRID) WAS: реализация не HTTP протоколов Именно WAS (Windows process Activation Service) при IIS 7 и выше поддерживает для WCF отличные от HTTP протоколы (net.tcp, net.pipe…). Он позволяет для не HTTP-запросов реализовать их обработку аналогично IIS: активировать WCF-сервисы по требованию, создавать для них пулы и запускать рабочие процессы, наблюдать за работоспособностью процесса, управлять приложениями, обеспечивать быструю защиту от сбоев. Web-служба IIS (Svchost.exe) сохраняет роль прослушивателя HTTP, но компоненты, ответственные за настройку и активацию процесса, были перенесены в WAS, которая имеет три части: диспетчер настройки, диспетчер обработки и интерфейс адаптера прослушивателя. Диспетчер настройки считывает настройки приложения и пула приложений из файла applicationhost.config. Диспетчер обработки сопоставляет пулы приложений существующим рабочим процессам w3wpw3wp.exe и запускает процессы. Интерфейс адаптера прослушивателя используется WCF для передачи принятых запросов на активацию по протоколам, отличным от HTTP.