SlideShare a Scribd company logo
1 of 31
akireev@codemastersintl.com
Веб-сервис - это программно-аппаратная
система, доступная посредством сети и
использующая стандартизованный протокол
сообщений
Технологии для реализации веб-сервисов
Технологии для реализации веб-сервисов




               1998
Запрос




Ответ
Технологии для реализации веб-сервисов




               1998
Технологии для реализации веб-сервисов




               1998         1998
Технологии для реализации веб-сервисов




                                    SOAP 1.2
                                    Утвержден W3C

               1998         1998         2003
Simple object access protocol

              FTP
SMTP



                                         XML
       HTTP
расширяемый
Заголовок       предназначен всем
Используется для:
 -цифровой подпись
 -роутинга
 -поддерживания сессий



                предназначено
Тело            конечному узлу
Может быть зашифровано
WS-I – Web services interoperability organization. Специализируется на
разработке Best practices для улучшения совместимости веб-сервисов
W3C – World Wide Web Consortium. Разрабатывает и внедряет
технологические стандарты для всемирной паутины
    WS-* – рекомендации от W3C как использовать стандарты веб-
    сервисов чтобы улучшить совместимость.

    SOAP           Протокол для посылки сообщений

                   Язык для описания программных интерфейсов
   WSDL            веб-сервиса

    UDDI           Стандарт для индексации веб-сервисов.
svcutil.exe Contracts.dll




      WSDL – язык описания веб-сервисов
     Современные языки программирования
     позволяют автоматически генерировать
     клиентский код для доступа к сервисам.




                                     И позволяет генерировать WSDL по
                                     коду сервиса
Windows Communication Foundation – фреймворк на
платформе .Net для создание веб-сервисов.
WCF– поддерживает и опирается на стек протоколов WS-*.
Некоторые стандарты WS-* поддерживаемые WCF:
      WS-PolicyAttachment           WS-Addressing
          WS-Policy
  WS-MetadataExchang                        WS-Security
                                                             WSDL 1.1
                                       WS-Trust
                                                                  SOAP 1.2
WS-ReliableMessaging                 WS-SecureConversation   SOAP 1.1
             WS-AtomicTransaction
    WS-Coordination
В WCF каждый сервис может иметь одну или более точек привязки endpoint.
Каждый endpoint можно настроить с различными биндингами, которые задают набор
поддерживаемых WS-* стандартов

  basicHttpBinding              SOAP v1.1          WS Basic profile




   WSHttpBinding                SOAP v1.2          WS-Addressing
                                WS-Security        WS-AtomicTransaction
                                WS-Trust           WS-ReliableMessages




 WSFederationHttpBinding                    + WS-Federation
Технологии для реализации веб-сервисов




                                    SOAP 1.2
                                    Утвержден W3C

               1998         1998         2003
Технологии для реализации веб-сервисов




                                    SOAP 1.2
                                    Утвержден W3C

  2004         1998         1998         2003
REST - Representational State Transfer
   Основан на протоколе HTTP
   Различные представления JSON, XML (POX) …
   Любит принцип KISS – Keep it small and simple
   State Less – не хранит состояние
   Работает с ресурсами по принципу CRUD

RESTful web service - веб-сервис, созданный с использованием
протокола HTTP и принципов REST
GET - получает ресурсы. Никогда не изменяет объект
/chat/messages – получить все сообщения
/chat/messages/23 – получить сообщения с id равным 23
/chat/messages?user=vpupkin – получить сообщения Васи
/chat/users/vpupkin/messages – получить сообщения Васи


POST - создает ресурс.           PUT – обновляет ресурс.
POST /chat/messages               PUT /chat/messages/13




                  DELETE – удаляет ресурс
                  DELETE /chat/messages/13
«Нативные» технологии
  WCF 3.5 + WCF REST Starter Kit
  WCF 4 +
  ASP.Net Web API (ex WCF Web API) входит в MVC 4

Third Party технологии
   OpenRasta
   ServiceStack
Кто круче REST или SOAP?
Vs


      WS-* SOAP                          REST
Семейство протоколов и        Набор архитектурных решений
стандартов
Использует HTTP как
                              Базируется на протоколе HTTP
транспортный протокол
Работает с операциями         Работает с ресурсами

Стандарты                     Простота
Vs


      WS-* SOAP                              REST
Может работать поверх FTP,         Быстрее
SMTP, TCP
Генерация proxy по WSDL            Лучше масштабируется

Поддерживает фичи в виде
транзакций, сессий и прочее        Проще
Vs


      WS-* SOAP                            REST
Когда необходимы сложные        Когда нельзя сгенерировать
фичи вроде транзакций,          proxy клиента по WSDL (iOs,
роутинга и т.д.                 javascript...)
Когда возможны разные           Для CRUD архитектур
протоколы взаимодействия
                                Когда нужна высокая
Когда система состоит из        масштабируемость и
разнородных узлов               производительность
REST и SOAP. Одно другому не мешает!

More Related Content

What's hot

Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworksСтажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks7bits
 
Flex Data Access
Flex Data AccessFlex Data Access
Flex Data Accesssergiy
 
Мировые информационные ресурсы. Лекция 5
Мировые информационные ресурсы. Лекция 5Мировые информационные ресурсы. Лекция 5
Мировые информационные ресурсы. Лекция 5Dmitriy Krukov
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложенийYandex
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUISQALab
 
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"Yuriy Shepitko
 
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBТехнология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBFedor Malyshkin
 
RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)Sergey Skvortsov
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsLEDC 2016
 
Автоматизированное тестирование WEB сервисов
Автоматизированное тестирование WEB сервисовАвтоматизированное тестирование WEB сервисов
Автоматизированное тестирование WEB сервисовSQALab
 
Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Dmitriy Krukov
 
Браузерные API обмена данными: какие и зачем
Браузерные API обмена данными: какие и зачемБраузерные API обмена данными: какие и зачем
Браузерные API обмена данными: какие и зачемPavel Klimiankou
 
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)7bits
 
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...QAFest
 
Макс Волошин «Микросервисы на практике»
Макс Волошин «Микросервисы на практике»Макс Волошин «Микросервисы на практике»
Макс Волошин «Микросервисы на практике»DataArt
 
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...GeeksLab Odessa
 
Средства защиты в почтовом сервере Exchange 2003
Средства защиты в почтовом сервере Exchange 2003Средства защиты в почтовом сервере Exchange 2003
Средства защиты в почтовом сервере Exchange 2003kvz
 

What's hot (20)

Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworksСтажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
 
Flex Data Access
Flex Data AccessFlex Data Access
Flex Data Access
 
Мировые информационные ресурсы. Лекция 5
Мировые информационные ресурсы. Лекция 5Мировые информационные ресурсы. Лекция 5
Мировые информационные ресурсы. Лекция 5
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUI
 
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
 
Oracle Service Bus
Oracle Service BusOracle Service Bus
Oracle Service Bus
 
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBТехнология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
 
RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
 
Автоматизированное тестирование WEB сервисов
Автоматизированное тестирование WEB сервисовАвтоматизированное тестирование WEB сервисов
Автоматизированное тестирование WEB сервисов
 
Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4
 
Браузерные API обмена данными: какие и зачем
Браузерные API обмена данными: какие и зачемБраузерные API обмена данными: какие и зачем
Браузерные API обмена данными: какие и зачем
 
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
 
GreenHat и TIBCO EMS
GreenHat и TIBCO EMSGreenHat и TIBCO EMS
GreenHat и TIBCO EMS
 
Протокол HTTP
Протокол HTTPПротокол HTTP
Протокол HTTP
 
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
 
Макс Волошин «Микросервисы на практике»
Макс Волошин «Микросервисы на практике»Макс Волошин «Микросервисы на практике»
Макс Волошин «Микросервисы на практике»
 
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
 
Средства защиты в почтовом сервере Exchange 2003
Средства защиты в почтовом сервере Exchange 2003Средства защиты в почтовом сервере Exchange 2003
Средства защиты в почтовом сервере Exchange 2003
 

Viewers also liked

Web Chat Software Light Chat
Web Chat Software Light ChatWeb Chat Software Light Chat
Web Chat Software Light ChatБМС Софт
 
Фреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силамиФреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силамиSQALab
 
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...Pavel Tsukanov
 
Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Pavel Tsukanov
 
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Pavel Tsukanov
 
Thinking in parallel ab tuladev
Thinking in parallel ab tuladevThinking in parallel ab tuladev
Thinking in parallel ab tuladevPavel Tsukanov
 
Sql azure federations
Sql azure federations Sql azure federations
Sql azure federations Pavel Tsukanov
 
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИSIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИPavel Tsukanov
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMPavel Tsukanov
 
Введение в Knockout
Введение в Knockout Введение в Knockout
Введение в Knockout Pavel Tsukanov
 
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.Pavel Tsukanov
 
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++Pavel Tsukanov
 
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВРАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВPavel Tsukanov
 
Domain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийDomain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийCUSTIS
 
TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.Pavel Tsukanov
 
Автоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriverАвтоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriverPavel Tsukanov
 

Viewers also liked (20)

Web Chat Software Light Chat
Web Chat Software Light ChatWeb Chat Software Light Chat
Web Chat Software Light Chat
 
Фреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силамиФреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силами
 
Soap vs rest
Soap vs restSoap vs rest
Soap vs rest
 
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
 
Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)
 
RESPONSIVE WEB DESIGN
RESPONSIVE WEB DESIGNRESPONSIVE WEB DESIGN
RESPONSIVE WEB DESIGN
 
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
 
Thinking in parallel ab tuladev
Thinking in parallel ab tuladevThinking in parallel ab tuladev
Thinking in parallel ab tuladev
 
Sql azure federations
Sql azure federations Sql azure federations
Sql azure federations
 
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИSIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
 
Введение в Knockout
Введение в Knockout Введение в Knockout
Введение в Knockout
 
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
 
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
 
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВРАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
 
Unit tests
Unit testsUnit tests
Unit tests
 
Domain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийDomain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требований
 
PaaS и SaaS
PaaS и SaaSPaaS и SaaS
PaaS и SaaS
 
TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.
 
Автоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriverАвтоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriver
 

Similar to Реализация REST и SOAP сервисов с помощью WCF

C# Web. Занятие 03.
C# Web. Занятие 03.C# Web. Занятие 03.
C# Web. Занятие 03.Igor Shkulipa
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundationKewpaN
 
SignalR
SignalRSignalR
SignalRmstDe3
 
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисовПавел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисовguestf673
 
Отечественные решения на базе SDN и NFV для телеком-операторов
Отечественные решения на базе SDN и NFV для телеком-операторовОтечественные решения на базе SDN и NFV для телеком-операторов
Отечественные решения на базе SDN и NFV для телеком-операторовARCCN
 
Лекция 1. Модель OSI.
Лекция 1. Модель OSI.Лекция 1. Модель OSI.
Лекция 1. Модель OSI.Alexey Furmanov
 
Windows communication foundation 4
Windows communication foundation 4Windows communication foundation 4
Windows communication foundation 4GetDev.NET
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukInterSystems
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSYandex
 
Обзор рекомендаций W3C
Обзор рекомендаций W3CОбзор рекомендаций W3C
Обзор рекомендаций W3CGetDev.NET
 
ащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpnащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpnOleg Boyko
 
Cisco web ex_meeting_server
Cisco web ex_meeting_serverCisco web ex_meeting_server
Cisco web ex_meeting_serverMichael Ganschuk
 
Windows Server 2008 семинар 15.05
Windows Server 2008   семинар 15.05Windows Server 2008   семинар 15.05
Windows Server 2008 семинар 15.05Alexander Babich
 

Similar to Реализация REST и SOAP сервисов с помощью WCF (20)

C# Web. Занятие 03.
C# Web. Занятие 03.C# Web. Занятие 03.
C# Web. Занятие 03.
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation
 
SignalR
SignalRSignalR
SignalR
 
Uws
UwsUws
Uws
 
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисовПавел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
 
REST API JL.elama
REST API JL.elamaREST API JL.elama
REST API JL.elama
 
Отечественные решения на базе SDN и NFV для телеком-операторов
Отечественные решения на базе SDN и NFV для телеком-операторовОтечественные решения на базе SDN и NFV для телеком-операторов
Отечественные решения на базе SDN и NFV для телеком-операторов
 
HTML5 WebSockets and WebWorkers
HTML5 WebSockets and WebWorkersHTML5 WebSockets and WebWorkers
HTML5 WebSockets and WebWorkers
 
интернет1
интернет1интернет1
интернет1
 
Лекция 1. Модель OSI.
Лекция 1. Модель OSI.Лекция 1. Модель OSI.
Лекция 1. Модель OSI.
 
Windows communication foundation 4
Windows communication foundation 4Windows communication foundation 4
Windows communication foundation 4
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
 
Web servers
Web servers Web servers
Web servers
 
Wcf Part 2
Wcf Part 2Wcf Part 2
Wcf Part 2
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPS
 
Обзор рекомендаций W3C
Обзор рекомендаций W3CОбзор рекомендаций W3C
Обзор рекомендаций W3C
 
ащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpnащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpn
 
Cisco web ex_meeting_server
Cisco web ex_meeting_serverCisco web ex_meeting_server
Cisco web ex_meeting_server
 
Windows Server 2008 семинар 15.05
Windows Server 2008   семинар 15.05Windows Server 2008   семинар 15.05
Windows Server 2008 семинар 15.05
 

More from Pavel Tsukanov

МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVPavel Tsukanov
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYPavel Tsukanov
 
СОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯСОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯPavel Tsukanov
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS Pavel Tsukanov
 
АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5Pavel Tsukanov
 
ХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫPavel Tsukanov
 
ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.Pavel Tsukanov
 
Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Pavel Tsukanov
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Как писать красивый код или основы SOLID
Как писать красивый код или основы SOLIDКак писать красивый код или основы SOLID
Как писать красивый код или основы SOLIDPavel Tsukanov
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода Pavel Tsukanov
 
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Pavel Tsukanov
 

More from Pavel Tsukanov (14)

Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
 
СОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯСОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯ
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
 
Лекция Android
Лекция AndroidЛекция Android
Лекция Android
 
АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5
 
ХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫ
 
ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.
 
Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Как писать красивый код или основы SOLID
Как писать красивый код или основы SOLIDКак писать красивый код или основы SOLID
Как писать красивый код или основы SOLID
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода
 
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
 

Реализация REST и SOAP сервисов с помощью WCF

  • 2. Веб-сервис - это программно-аппаратная система, доступная посредством сети и использующая стандартизованный протокол сообщений
  • 7. Технологии для реализации веб-сервисов 1998 1998
  • 8. Технологии для реализации веб-сервисов SOAP 1.2 Утвержден W3C 1998 1998 2003
  • 9. Simple object access protocol FTP SMTP XML HTTP
  • 10.
  • 11.
  • 12. расширяемый Заголовок предназначен всем Используется для: -цифровой подпись -роутинга -поддерживания сессий предназначено Тело конечному узлу Может быть зашифровано
  • 13.
  • 14. WS-I – Web services interoperability organization. Специализируется на разработке Best practices для улучшения совместимости веб-сервисов W3C – World Wide Web Consortium. Разрабатывает и внедряет технологические стандарты для всемирной паутины WS-* – рекомендации от W3C как использовать стандарты веб- сервисов чтобы улучшить совместимость. SOAP Протокол для посылки сообщений Язык для описания программных интерфейсов WSDL веб-сервиса UDDI Стандарт для индексации веб-сервисов.
  • 15.
  • 16. svcutil.exe Contracts.dll WSDL – язык описания веб-сервисов Современные языки программирования позволяют автоматически генерировать клиентский код для доступа к сервисам. И позволяет генерировать WSDL по коду сервиса
  • 17. Windows Communication Foundation – фреймворк на платформе .Net для создание веб-сервисов. WCF– поддерживает и опирается на стек протоколов WS-*. Некоторые стандарты WS-* поддерживаемые WCF: WS-PolicyAttachment WS-Addressing WS-Policy WS-MetadataExchang WS-Security WSDL 1.1 WS-Trust SOAP 1.2 WS-ReliableMessaging WS-SecureConversation SOAP 1.1 WS-AtomicTransaction WS-Coordination
  • 18. В WCF каждый сервис может иметь одну или более точек привязки endpoint. Каждый endpoint можно настроить с различными биндингами, которые задают набор поддерживаемых WS-* стандартов basicHttpBinding SOAP v1.1 WS Basic profile WSHttpBinding SOAP v1.2 WS-Addressing WS-Security WS-AtomicTransaction WS-Trust WS-ReliableMessages WSFederationHttpBinding + WS-Federation
  • 19. Технологии для реализации веб-сервисов SOAP 1.2 Утвержден W3C 1998 1998 2003
  • 20. Технологии для реализации веб-сервисов SOAP 1.2 Утвержден W3C 2004 1998 1998 2003
  • 21. REST - Representational State Transfer Основан на протоколе HTTP Различные представления JSON, XML (POX) … Любит принцип KISS – Keep it small and simple State Less – не хранит состояние Работает с ресурсами по принципу CRUD RESTful web service - веб-сервис, созданный с использованием протокола HTTP и принципов REST
  • 22. GET - получает ресурсы. Никогда не изменяет объект /chat/messages – получить все сообщения /chat/messages/23 – получить сообщения с id равным 23 /chat/messages?user=vpupkin – получить сообщения Васи /chat/users/vpupkin/messages – получить сообщения Васи POST - создает ресурс. PUT – обновляет ресурс. POST /chat/messages PUT /chat/messages/13 DELETE – удаляет ресурс DELETE /chat/messages/13
  • 23.
  • 24. «Нативные» технологии WCF 3.5 + WCF REST Starter Kit WCF 4 + ASP.Net Web API (ex WCF Web API) входит в MVC 4 Third Party технологии OpenRasta ServiceStack
  • 25. Кто круче REST или SOAP?
  • 26.
  • 27.
  • 28. Vs WS-* SOAP REST Семейство протоколов и Набор архитектурных решений стандартов Использует HTTP как Базируется на протоколе HTTP транспортный протокол Работает с операциями Работает с ресурсами Стандарты Простота
  • 29. Vs WS-* SOAP REST Может работать поверх FTP, Быстрее SMTP, TCP Генерация proxy по WSDL Лучше масштабируется Поддерживает фичи в виде транзакций, сессий и прочее Проще
  • 30. Vs WS-* SOAP REST Когда необходимы сложные Когда нельзя сгенерировать фичи вроде транзакций, proxy клиента по WSDL (iOs, роутинга и т.д. javascript...) Когда возможны разные Для CRUD архитектур протоколы взаимодействия Когда нужна высокая Когда система состоит из масштабируемость и разнородных узлов производительность
  • 31. REST и SOAP. Одно другому не мешает!