SlideShare uma empresa Scribd logo
1 de 37
RESTful архитектура для масштабируемых систем Сергей Скворцов $Revision::   30   $ 2008-10-06
Содержание ,[object Object],[object Object],[object Object]
I .   REST  –  что это?
Re presentational  S tate  T ransfer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
REST:  история ,[object Object],[object Object],[object Object],[object Object],[object Object]
REST:  стиль ,[object Object],[object Object],[object Object],[object Object],[object Object]
Вот это НЕ  REST : ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Service s  –  два мира ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resource  is… ,[object Object],[object Object],[object Object],[object Object],[object Object]
Resource   - термины ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
State  is… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
State  и   Transfer   в  RE ST ,[object Object],[object Object],[object Object]
REST:  дизайн ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Примеры  ресурсов ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Пример  операций ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
REST vs.  SOAP POST   /generic_message_handler C ontent-type :  application/SOAP+XML <soap:envelope> <soap:body> <submit-purchase-order> <destination> accounting.mycompany.com </destination> <po>...</po> </submit-purchase-order> </soap:body> <soap:envelope> Это сокращённый вариант!
REST  vs. SOAP POST  /purchase_orders  HTTP/1.1 Host:  accounting.mycompany.com C ontent-type:   application/purchase-order+xml <po>...</po> Всё!
REST  vs.  WS-* ,[object Object],[object Object],[object Object],[object Object],[object Object]
Протокол  HTTP ,[object Object],[object Object],[object Object],[object Object]
Примеры  REST API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ваше  API?
II .   Масштабируемость и  RESTful  style
REST:  атрибуты качества ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Layers isolation ,[object Object],[object Object],[object Object]
URIs   вместо одной точки входа ( RPC) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web   - распределёная система ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],RFC 2616
Кэширование ,[object Object],[object Object],[object Object],[object Object],[object Object]
Отсутствие состояния ,[object Object],[object Object],[object Object],[object Object]
III .   REST  –  прочее
REST  и  web frameworks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Критерии хорошего  REST API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HTML 5   и  REST <form id=&quot;createUser&quot;  method =&quot; PUT &quot;  template =&quot; /user/{username} &quot;> <label>Username:</label> <input type=&quot;text&quot; name=&quot;username&quot; /> PUT   здесь – аналог  REPLACE  в  SQL В  method   может быть и  DELETE
REST  и  AJAX ,[object Object],[object Object],[object Object]
Кошерны ли  cookies ? ,[object Object],[object Object],[object Object],[object Object]
Нужен ли  WADL ? ,[object Object],[object Object],[object Object],[object Object],[object Object]
REST – Unix Way ,[object Object],[object Object],[object Object],[object Object],[object Object]
Вопросы? ( по теме доклада) Сергей Скворцов skv@ protey .ru
Библиография ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Реализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFРеализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFPavel Tsukanov
 
FPUG - t4t common
FPUG - t4t commonFPUG - t4t common
FPUG - t4t commonguest3dc074
 
Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)
Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)
Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)Ontico
 
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
 
Programming Java - Lection 05 - Software Design - Lavrentyev Fedor
Programming Java - Lection 05 - Software Design - Lavrentyev FedorProgramming Java - Lection 05 - Software Design - Lavrentyev Fedor
Programming Java - Lection 05 - Software Design - Lavrentyev FedorFedor Lavrentyev
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBТехнология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBFedor Malyshkin
 

Mais procurados (7)

Реализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFРеализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCF
 
FPUG - t4t common
FPUG - t4t commonFPUG - t4t common
FPUG - t4t common
 
Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)
Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)
Плагины MariaDB и MySQL - а мне-то что? (Сергей Голубчик)
 
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
 
Programming Java - Lection 05 - Software Design - Lavrentyev Fedor
Programming Java - Lection 05 - Software Design - Lavrentyev FedorProgramming Java - Lection 05 - Software Design - Lavrentyev Fedor
Programming Java - Lection 05 - Software Design - Lavrentyev Fedor
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXBТехнология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
 

Destaque

Технологии, позволяющие повысить эффективность сайта
Технологии, позволяющие повысить эффективность сайтаТехнологии, позволяющие повысить эффективность сайта
Технологии, позволяющие повысить эффективность сайтаDeliya Makhmutova
 
Ksan Intro Sending
Ksan Intro SendingKsan Intro Sending
Ksan Intro Sendingguest7ffc0f9
 
отчет об исполнении муниципального задания за 2013 год
отчет об исполнении муниципального задания за 2013 годотчет об исполнении муниципального задания за 2013 год
отчет об исполнении муниципального задания за 2013 годVasiliiiii
 
KATALOG TIANDE
KATALOG TIANDEKATALOG TIANDE
KATALOG TIANDEannatiande
 
LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)Sergey Skvortsov
 
Asn Outreach Jan 2010
Asn Outreach Jan 2010Asn Outreach Jan 2010
Asn Outreach Jan 2010Mr Hamilton
 
How many
How manyHow many
How manysubject
 
English1
English1English1
English1subject
 
Business Models (WhaleRider 2011)
Business Models (WhaleRider 2011)Business Models (WhaleRider 2011)
Business Models (WhaleRider 2011)Sergey Skvortsov
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)Sergey Skvortsov
 
How many
How manyHow many
How manysubject
 
English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)subject
 
English 1 tulhuur
English 1 tulhuurEnglish 1 tulhuur
English 1 tulhuursubject
 
English2 unit2 lesson1
English2 unit2 lesson1English2 unit2 lesson1
English2 unit2 lesson1subject
 
English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)subject
 
применение иктна уроках технологии статья
применение иктна уроках технологии статьяприменение иктна уроках технологии статья
применение иктна уроках технологии статьяСветлана Голубева
 

Destaque (20)

Технологии, позволяющие повысить эффективность сайта
Технологии, позволяющие повысить эффективность сайтаТехнологии, позволяющие повысить эффективность сайта
Технологии, позволяющие повысить эффективность сайта
 
Ksan Intro Sending
Ksan Intro SendingKsan Intro Sending
Ksan Intro Sending
 
отчет об исполнении муниципального задания за 2013 год
отчет об исполнении муниципального задания за 2013 годотчет об исполнении муниципального задания за 2013 год
отчет об исполнении муниципального задания за 2013 год
 
Presentation Dmexco AS 24092009 0.2
Presentation Dmexco AS 24092009 0.2Presentation Dmexco AS 24092009 0.2
Presentation Dmexco AS 24092009 0.2
 
KATALOG TIANDE
KATALOG TIANDEKATALOG TIANDE
KATALOG TIANDE
 
Eternal static (RIT 2011)
Eternal static (RIT 2011)Eternal static (RIT 2011)
Eternal static (RIT 2011)
 
Bank Loan
Bank LoanBank Loan
Bank Loan
 
LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)
 
Asn Outreach Jan 2010
Asn Outreach Jan 2010Asn Outreach Jan 2010
Asn Outreach Jan 2010
 
How many
How manyHow many
How many
 
English1
English1English1
English1
 
Business Models (WhaleRider 2011)
Business Models (WhaleRider 2011)Business Models (WhaleRider 2011)
Business Models (WhaleRider 2011)
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)
 
How many
How manyHow many
How many
 
Unur1
Unur1Unur1
Unur1
 
English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)
 
English 1 tulhuur
English 1 tulhuurEnglish 1 tulhuur
English 1 tulhuur
 
English2 unit2 lesson1
English2 unit2 lesson1English2 unit2 lesson1
English2 unit2 lesson1
 
English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)English2 unit2 lesson2 (хуулбар)
English2 unit2 lesson2 (хуулбар)
 
применение иктна уроках технологии статья
применение иктна уроках технологии статьяприменение иктна уроках технологии статья
применение иктна уроках технологии статья
 

Semelhante a RESTful Architechture (Highload++ 2008)

Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...CocoaHeads
 
Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"Fwdays
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web APIGetDev.NET
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Media Gorod
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложенийYandex
 
Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?IT61
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_rumcroitor
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)Sergey Skvortsov
 
REST и HATEOAS
REST и HATEOASREST и HATEOAS
REST и HATEOASArtem Bey
 
Создание Adobe AIR клиента для социальных сетей на примере Twitter
Создание Adobe AIR клиента для социальных сетей на примере TwitterСоздание Adobe AIR клиента для социальных сетей на примере Twitter
Создание Adobe AIR клиента для социальных сетей на примере TwitterRostyslav Siryk
 
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Timur Shemsedinov
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Ilya Kaznacheev
 
JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.Igor Shkulipa
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлетыalexey1991
 
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf Conference
 

Semelhante a RESTful Architechture (Highload++ 2008) (20)

Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
 
REST API JL.elama
REST API JL.elamaREST API JL.elama
REST API JL.elama
 
Протокол HTTP
Протокол HTTPПротокол HTTP
Протокол HTTP
 
Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"
 
REST
RESTREST
REST
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169
 
The Best Portlet
The Best PortletThe Best Portlet
The Best Portlet
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений
 
Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_ru
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)
 
REST и HATEOAS
REST и HATEOASREST и HATEOAS
REST и HATEOAS
 
Создание Adobe AIR клиента для социальных сетей на примере Twitter
Создание Adobe AIR клиента для социальных сетей на примере TwitterСоздание Adobe AIR клиента для социальных сетей на примере Twitter
Создание Adobe AIR клиента для социальных сетей на примере Twitter
 
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
 
Liferay
LiferayLiferay
Liferay
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
 
JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлеты
 
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
 

RESTful Architechture (Highload++ 2008)

  • 1. RESTful архитектура для масштабируемых систем Сергей Скворцов $Revision:: 30 $ 2008-10-06
  • 2.
  • 3. I . REST – что это?
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. REST vs. SOAP POST /generic_message_handler C ontent-type : application/SOAP+XML <soap:envelope> <soap:body> <submit-purchase-order> <destination> accounting.mycompany.com </destination> <po>...</po> </submit-purchase-order> </soap:body> <soap:envelope> Это сокращённый вариант!
  • 17. REST vs. SOAP POST /purchase_orders HTTP/1.1 Host: accounting.mycompany.com C ontent-type: application/purchase-order+xml <po>...</po> Всё!
  • 18.
  • 19.
  • 20.
  • 21. II . Масштабируемость и RESTful style
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. III . REST – прочее
  • 29.
  • 30.
  • 31. HTML 5 и REST <form id=&quot;createUser&quot; method =&quot; PUT &quot; template =&quot; /user/{username} &quot;> <label>Username:</label> <input type=&quot;text&quot; name=&quot;username&quot; /> PUT здесь – аналог REPLACE в SQL В method может быть и DELETE
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Вопросы? ( по теме доклада) Сергей Скворцов skv@ protey .ru
  • 37.