- Windows Communication Foundation
- Хостинг
- Литература
- Windows Communication Foundation
- Хостинг
- Литература
- Сервисы контрактов WCF
- Сервисы контрактов WCF ( реферат , курсовая , диплом , контрольная )
- Windows Communication Foundation (WCF) служба
- Создание службы WCF
- Браузер
- Тестовый клиент WCF
- Консольный клиент для WCF
- Web клиент для WCF
- Нужно дополнить наш web.config
- Настройка applicationhost.config
- Итоги WCF
Windows Communication Foundation
Windows Communication Foundation (WCF) — программный фреймворк, используемый для обмена данными между приложениями входящими в состав .NET Framework. До своего выпуска в декабре 2006 года в составе .NET Framework 3.0, WCF был известен под кодовым именем Indigo.
WCF делает возможным построение безопасных и надёжных транзакционных систем через упрощённую унифицированную программную модель межплатформенного взаимодействия. Комбинируя функциональность существующих технологий .NET по разработке распределённых приложений (ASP.NET XML Web Services — ASMX, WSE 3.0, .NET Remoting, .NET Enterprise Services и System.Messaging), WCF предоставляет единую инфраструктуру разработки, при умелом применении повышающую производительность и снижающую затраты на создание безопасных, надёжных и транзакционных Web-служб нового поколения. Заложенные в неё принципы интероперабельности позволяют организовать работу с другими платформами, для чего используются технологии взаимодействия платформ, например WSIT [1] разрабатываемые на базе открытого исходного кода.
Хостинг
Класс службы WCF не может существовать самостоятельно. Каждая служба WCF должна находиться под управлением некоторого процесса Windows, называемого хостовым процессом. Существуют несколько вариантов хостинга:
- Автохостинг (т.е. хост-процессом является, к примеру, консольное или графическое Windows приложение)
- Хостинг в одной из служб Windows
- Хостинг с использованием IIS (Internet Information Server) или WAS (Windows Activation Services) (англ.)
Литература
- Пабло Сибраро, Курт Клайс, Фабио Коccолино, Йохан Грабнер WCF 4: Windows Communication Foundation и .NET 4 для профессионалов = Professional WCF 4: Windows Communication Foundation with .NET 4. — М .: «Диалектика», 2011. — С. 464. — ISBN 978-5-8459-1713-3
- Стив Резник, Ричард Крейн, Крис Боуэн Основы Windows Communication Foundation для .NET Framework 3.5 = Windows Communication Foundation for .NET Framework 3.5. — ДМК пресс, 2008. — ISBN 978-5-94074-465-8, 978-0-321-44006-8
- Джувел Лёве Создание служб WCF / П. Маннинен. — иллюстрированное. — Санкт-Петербург: ООО «Питер Пресс», 2008. — 592 с. — ISBN 978-5-91180-763-4
скачать
Данный реферат составлен на основе статьи из русской Википедии. Синхронизация выполнена 14.07.11 11:13:21
Похожие рефераты: Near Field Communication, Communication Breakdown, Kill Time Communication, Barash Communication Technologies, Power line communication, Inter-process communication, Production Ru Communication Group, Electronic Communication Network.
Windows Communication Foundation
Windows Communication Foundation (WCF) — программный фреймворк, используемый для обмена данными между приложениями входящими в состав .NET Framework. До своего выпуска в декабре 2006 года в составе .NET Framework 3.0, WCF был известен под кодовым именем Indigo.
WCF делает возможным построение безопасных и надёжных транзакционных систем через упрощённую унифицированную программную модель межплатформенного взаимодействия. Комбинируя функциональность существующих технологий .NET по разработке распределённых приложений (ASP.NET XML Web Services — ASMX, WSE 3.0, .NET Remoting, .NET Enterprise Services и System.Messaging), WCF предоставляет единую инфраструктуру разработки, при умелом применении повышающую производительность и снижающую затраты на создание безопасных, надёжных и транзакционных Web-служб нового поколения. Заложенные в неё принципы интероперабельности позволяют организовать работу с другими платформами, для чего используются технологии взаимодействия платформ, например WSIT [1] разрабатываемые на базе открытого исходного кода.
Хостинг
Класс службы WCF не может существовать самостоятельно. Каждая служба WCF должна находиться под управлением некоторого процесса Windows, называемого хостовым процессом. Существуют несколько вариантов хостинга:
- Автохостинг (т.е. хост-процессом является, к примеру, консольное или графическое Windows приложение)
- Хостинг в одной из служб Windows
- Хостинг с использованием IIS (Internet Information Server) или WAS (Windows Activation Services) (англ.)
Литература
- Пабло Сибраро, Курт Клайс, Фабио Коccолино, Йохан Грабнер WCF 4: Windows Communication Foundation и .NET 4 для профессионалов = Professional WCF 4: Windows Communication Foundation with .NET 4. — М .: «Диалектика», 2011. — С. 464. — ISBN 978-5-8459-1713-3
- Стив Резник, Ричард Крейн, Крис Боуэн Основы Windows Communication Foundation для .NET Framework 3.5 = Windows Communication Foundation for .NET Framework 3.5. — ДМК пресс, 2008. — ISBN 978-5-94074-465-8, 978-0-321-44006-8
- Джувел Лёве Создание служб WCF / П. Маннинен. — иллюстрированное. — Санкт-Петербург: ООО «Питер Пресс», 2008. — 592 с. — ISBN 978-5-91180-763-4
скачать
Данный реферат составлен на основе статьи из русской Википедии. Синхронизация выполнена 14.07.11 11:13:21
Похожие рефераты: Windows Presentation Foundation, Windows Driver Foundation, Windows Workflow Foundation, Near Field Communication, Communication Breakdown, Kill Time Communication, Barash Communication Technologies, Power line communication.
Сервисы контрактов WCF
Для построения распределенных средств как WCF или .Net Remoting используется принцип пирога из слоев, каждый слой которого отвечает за свой конкретный уровень абстракции и не знает ничего о нижележащих уровнях. То есть инфраструктура WCF состоит из двух главных уровней: Service Model Layer и Channel Layer. Первый уровень ближе к самому сервису клиента и обеспечивает превращение метода и его… Читать ещё >
- программная инженерия. парадигмы
- технологии и case-средства
Сервисы контрактов WCF ( реферат , курсовая , диплом , контрольная )
Windows Communication Foundation (WCF) — программный фреймворк, предназначенный для обмена данными между приложениями, которые входят в состав .NET Framework. Он является логическим развитием предыдущих технологий компании Майкрософт, в частности веб-сервисов, .Net Remoting и DCOM. WebSphere Integration Developer использует операцию интеграции для разработки на платформе Eclipse 3.0 SCA модулей и сервисный интерфейс при реализации.
В основе WCF лежит SOA, которая заключается в том, что на сервере работает некоторое количество сервисов, которые представляют собой группу операций, определенных в некотором интерфейсе для получения абстрактных входных/исходныз параметров. Все это описывается в языке WSDL (Web Service Description Language) и может быть выставлено вверх с помощью, так называемых mex-endpoints (Metadata Exchange Endpoints). Это позволяет получить «метаданные» сервиса. Подключаясь к интерфейсу, можно получить описание сервиса и всех его операций, а также сгенерировать соответствующий прокси-класс для заданного языка или платформы. Сервис описывается в языке WCF, а использовать его можно с Java/Python/Ruby и т. п. Клиенты в свою очередь имеют на стороне прокси-классы, которые содержат ссылку на соответствующие операции на стороне сервиса.
В пределах WCF MS.Net действует технология и фабрики программ для нескольких веб-служб, а также фабрика сервисов. Основу технологии составляют схемы, «рецепты «, методы и средства построения фабрик разного назначения.
Фабрика программ сервисного типа включает в себя набор потребных ресурсов, блоков кода, документации, образцов приложений, автоматизированных инструментов и патернов VSIP для создания на их основе разных пакетов. Группа р&р Microsofts создает рекомендации, схемы и методы, а также стандарты их выполнения разработчиками готовой продукции. Фабрика сервисов дает рекомендации для их использования при проектировании и конструировании, которые накапливаются в Global Bank. К ним относятся ASP.Net для применения в WCF.
Фабрики программ и сервисов базируются на готовом наборе программных элементов и разного рода сервисов в MS.Net. Функционирование WCF зависит от так называемых конечных точек (endpoint), что составляет связь «Address — Binding — Contract», «АВС». Каждая составляющая играет важную роль:
» Address» содержит в себе место расположения конечной точки по абсолютному или относительному адресу;
» Binding» задает привязку и определят транспорт, на основе которого будет происходить взаимодействие. В объектной модели WCF есть ряд классовпривязок (BasicHttpBinding за HTTP, NetTcpBinding) за транспортом TCP; операция «Contract» задает взаимодействие клиента и сервиса и устанавливает связь с соответствующими операциями сервиса, который строит класс-прокси на стороне клиента.
Как правило, на сервисной стороне задается множество конечных точек. Кроме того, можно разместить немного сервисов на сервисной стороне. В результате, сервисная сторона распределенного приложения будет выглядеть как совокупность конечных точек. В этом случае клиент осуществляет соединение с той конечной точкой, которая ему необходимо.
Для построения распределенных средств как WCF или .Net Remoting используется принцип пирога из слоев, каждый слой которого отвечает за свой конкретный уровень абстракции и не знает ничего о нижележащих уровнях. То есть инфраструктура WCF состоит из двух главных уровней: Service Model Layer и Channel Layer. Первый уровень ближе к самому сервису клиента и обеспечивает превращение метода и его параметров в сообщение для передачи более низкому канальному уровню. Канальный уровень (Channel Layer) икапсулируст в себе канал передачи данных, которых может быть множество: каналов, которые используют как транспорт TCP, Http, Named Pipes и т. д. Каждый из этих уровней содержит подуровни, и может включиться в любой из них (5, «https://referat.bookap.info»).
Контракты представляют собой описание сообщений, переданных конечными службами с возвратом. Конечная точка должна специфицироватся и может выполняться в формате ожидаемых данных. Совокупность этих спецификаций и является кон фактом.
WCF содержат три вида контрактов:
- 1) сервисов для описания функциональных операций, реализованных сервисом. Внутри контракта сервиса имеются контракты об операциях, как отдельные операции сервиса, оторые реализуют функции;
- 2) данных, определяющих формат данных, которыми будут обмениваться сервисы. Это относится как к запросу на сервис, так и к октету сервиса. Если используются примитивные типы — int, string и др., то контракт не нужен, потому что .Net понимается как сериализация и дисериализация типов. В случае применения комплексных типов — Customers, Order и др., н еобходимо указать принцип сериалиализации и дисериализаии этих объектов;
- 3) сообщений, как тип контракта, который используется для того, чтобы получить контроль над заглавном SOAP пакета.
Пример описания сообщения в языке XML.
Для обеспечения интероперабельности контрактов с широким диапазоном систем, используются языки WSDL и XSD, в этом случае программа работает с тинами CLR и необходимо отобразить одну систему типов на другую. Такая задача решается в три этапа.
Сначала при написании кода службы поставляется класс с определенными в WCF атрибутами [ServiceContract], [OperationContract], [FaultContract], [MessageContract] и [DataContract].
При написании клиентского кода в сервисе приводятся детали контракта посредством Visual Studio или утилиты svcutil. exe, которая вызывает инфраструктурную конечную точку сервиса для возврата данных, необходимых для генерации WSDL документа при получении их атрибутов.
На этапе выполнения клиента вызывается метод, определенный в интерфейсе сервиса, WCF сериализует типы CLR и вызов метода в формат XML и посылает сообщение в сеть для привязки и схемы кодировки, согласованной с WSDL. При этом участвуют четыре конструкции: две со стороны .NET и две со стороны XML. Со стороны .NET имеется тип CLR, который определяет структуры данных и функциональные возможности, но это делается лишь после того, как создан объект такого типа. Со стороны XML задается XSD-описание структуры данных, но сообщение осуществляется лишь после того, как будет создан экземпляр XML (XML Instance). Пример описания WCF сервиса подготовленный и апробированный студентом КНУ И. Радецьким в рамках магистровской диссертации (2012).
Windows Communication Foundation (WCF) служба
Windows Communication Foundation (WCF) — программный фреймворк, используемый для обмена данными между приложениями, входящий в состав .NET Framework. Другим словами, WCF – это программная платформа от Microsoft для создания, настройки и развертывания распределенных сетевых сервисов.
Давайте рассмотрим процесс создания и вызова службы WCF.
Создание службы WCF
Для начала необходимо создать новый проект WCF. Пусть наша Windows Communication Foundation служба будет возвращать количество оставшихся дней до нового года.
Visual studio создаст интерфейс и класс службы по умолчанию с именем IService1.cs и Service1.svc.
Нам необходимо переименовать их в соответствии с нашей предметной областью.
Давайте рассмотрим интерфейс INewYearService. Для начала нам необходимо в теле интерфейса объявить метод, который будет предоставлять служба для вызова. Для этого его необходимо пометить атрибутом [OperationContract].
Как вы видите данный метод возвращает экземпляр класса TimeToNewYear. Это вспомогательный класс, содержащий значения времени до нового года. Ниже приведена его структура. Для того, чтобы данный класс можно было использовать в качестве возвращаемого аргумента, его необходимо пометить атрибутом [DataContract], а свойства, доступные для чтения клиенту в возвращаемом значении помечаются атрибутом [DataMember].
Теперь нам остается реализовать интерфейс Windows Communication Foundation службы в классе NewYearService.svc.cs следующим образом:
Давайте проверим работу нашей службы wcf. Для этого нажмем кнопку Начать отладку. Обратите внимание, что возможные два варианта поведения системы. Если мы начнем отладку находясь в NewYearService.svc, от откроется отладчик службы. Во всех остальных случаях откроется окно браузера. Давайте рассмотрим каждый из вариантов подробнее.
Браузер
После запуска отладки отобразится браузер с файловой структурой нашей службы wcf.
Нам необходимо нажать на ссылку с именем нашей службы NewYearService.svc. Если все работает корректно, то мы увидим следующее окно, иначе будет показано сообщение с ошибкой.
Тестовый клиент WCF
В левой верхней части отладчика можно увидеть структура нашей службы wcf. Для проверки нашего метода выполним двойной щелчок левой кнопкой мыши по его имени. В правой части отладчика откроется форма запроса. Мы можем указать значение, которое будет передано в метод.
После установки передаваемых значений необходимо нажать кнопку Вызвать. Появится предупредительное сообщение. Можно смело ставить галочку Не выводить это сообщение в дальнейшем и нажимать кнопку ОК.
После этого в нижней правой части отладчика будет отображены значения возвращаемые нашей службой wcf.
Консольный клиент для WCF
Теперь нам необходимо создать клиент, который будет обращаться к нашей службе wcf. Для этого для начала создадим новое консольное приложение.
В созданном консольном приложении нам необходимо добавить ссылку на службу wcf.
В открывшимся окне службы необходимо указать имя службы wcf и ввести ее адрес.
Для простоты можно нажать кнопку Найти, тогда адрес службы wcf будет определен автоматически.
После этого необходимо развернуть дерево Windows Communication Foundation службы, чтобы удостоверится что выбран правильность выбора. В правой части должен быть отображен вызываемый метод.
Если настройка прошла корректно, то в обозревателе решения в консольном приложении отобразится ссылка на нашу службу wcf.
Теперь нам остается только обратиться к нашей службе, чтобы взывать метод и вывести результат на экран.
Перед началом отладки не забудьте установить консольное приложение автозагружаемым проектом. Получаем следующий результат.
Web клиент для WCF
Теперь рассмотрим, как нам обратиться к службе wcf из веб-приложения. Процесс подключения службы не отличается от подключения в консольном приложении. Давайте рассмотрим как можно настроить авторизацию с помощью Windows. Это потребует дополнительной настройки приложения. Для начала создадим проект нового MVC приложения.
Нажимаем кнопку ОК, и попадаем в меню настройки создания веб-приложения. Выберем MVC шаблон и изменим способ авторизации. Для этого нажмем на кнопку Изменить способ проверки подлинности.
Выбираем авторизацию с помощью Windows и нажимаем ОК в обоих окнах.
Теперь необходимо будет подождать кое-то время, чтобы создался проект и все библиотеки были загружены и подключены.
Для того, чтобы IISExpres перестала ругаться на нас за попытку создания windows-аутентификации нужно сделать ряд действий в наше службе.
Нужно дополнить наш web.config
Добавляем в любую точку раздела , если отсутствует раздел webServer или дополняем уже существующий.
Находим раздел и в нем вставляем следующее.
Далее нужно указать разделы биндинг и сервис
Раздел дополняем такой вот строчкой. В ней мы говорим, что именно такая схема аутентификации будет использоваться у нас.
На этом настройка web.config заканчивается. В итоге у нас должен получиться файл примерно следующего содержания.
Настройка applicationhost.config
Далее идем в папку vs нашего проекта (она скрыта по умолчанию). В ней ищем папку config, а уже в ней находим файл applicationhost.config, его то нам нужно будет поправить.
Находим вот такой раздел. Все Deny меняем на Allow, разрешая изменение установленного по умолчанию режима аутентификации.
Далее находим данную настройку. В ней false меняем на true, разрешая механизму работать.
И под конец находим вот эту настройку. Тут мы true меняем на false. Говоря нашему IISExpres, чтобы он не блокировал службу windows-аутентификации.
После этого сохраняем все конфигурационные файлы и пробуем сделать ссылку на службу wcf аналогично как при добавлении службы в консольное приложение.
Изменим контроллер главной страницы web-приложения, чтобы взывать нашу службу wcf.
Теперь нам осталось только изменить представление, чтобы вывести результат работы Windows Communication Foundation службы на экран пользователя.
Получаем следующий результат работы веб-приложения.
Итоги WCF
Исходный код приложения можно скачать из репозитория https://github.com/shwanoff/wcf.
Мы подробно рассмотрели процесс создания и настройки Windows Communication Foundation службы, а также продемонстрировали как можно подключится к wcf через консольное и веб-приложение. Также рекомендую прочитать статью Принципы SOLID C#. И не забудьте подписывайтесь на группу ВКонтакте, Telegram и YouTube-канал. Там еще больше полезного и интересного для программистов.