Soumettre la recherche
Mettre en ligne
REST и HATEOAS
•
5 j'aime
•
1,466 vues
Artem Bey
Suivre
Доклад об уровнях REST и принципе HATEOAS на KharkivJS 7 ноября 2015
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 48
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Антон Кириллов, Zeptolab (Москва) Доклад посвящен обзору ключевых технологий стека Typesafe и анализу ключевых преимуществ и недостатков на примере реального проекта: * Действительно ли Scala - “более лучшая” Java? Что следует знать, начиная внедрять Scala. * Play Framework: больше чем просто контейнер. Архитектура и возможности. * Доступ к базам данных: библиотеки и подходы, эволюция схемы БД во времени * Actors: безболезненная многопоточность! * Simple Build Tool: не совсем simple, но крайне функциональный инструмент автоматической сборки. Рассматриваемые технологии позволяют “из коробки” начать создавать прототипы веб-приложений за очень короткое время и в дальнейшем наращивать их функционал. Тем не менее, из-за молодости стека существует большое количество “граблей”, о которых следует знать, принимая решение об использовании данного набора технологий.
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Magneta AI
Выступление на конференции DUMP-2017
"Создание системы логирования" Литуненко Андрей, 2ГИС
"Создание системы логирования" Литуненко Андрей, 2ГИС
it-people
Выступление на конференции DUMP-2017
"Гибридное приложение: полгода после релиза" Легчилин Андрей, Парадеев Роман,...
"Гибридное приложение: полгода после релиза" Легчилин Андрей, Парадеев Роман,...
it-people
Talk about Spring Boot Internals * Spring Ripper retrospective * how to build spring boot project. Maven/Gradle plugins ** DependencyManagement in gradle and maven ** Executable artifacts (war or jar) ** War and Jar anatomy ** Embeded tomcat and standalone tomcat integration – SPI. WebApplicationInitializer and ServletContainerInitializer ** Tomcat in Tomcat like a Crank ** Executable jar anatomy ** Main Class and Start-Class. Java MANIFEST.MF anatomy ** Jar like a War, but Jar – JarCraft ** Runtime ClassPath in spring boot applications * SpringApplication.run ... ** Arguments ** Sources types ** Two general context type in spring boot app ** Starters and autoconfiguration ** spring.factories and SpringFactoriesLoader ** Merge app sources ** Environment and EnvironmentPostProcessor ** ConfigFileApplicationListener mistakes ** Spring Events vs Spring Boot Events ** Application Initializers ** Context prepare ** BeanDefinitionLoader * @SpringBootApplication anatomy ** @Import – Three types of arguments *** ImportSelector *** @Configuration *** ImportBeanDefinitionRegistrar ** Who is your boss starters? @EnableAutoConfiguration anatomy ** Ugly internal spring boot starter ** ConfigurationClassParser *** Configuration and Lite Configuration ** Conditional and shouldSkip in different context initialisation steps
Spring Boot Ripper
Spring Boot Ripper
Кирилл Толкачёв
Презентация с Highload2017 про эксплуатацию CSRF-уязвимостей в 2017.
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
Mikhail Egorov
PT MIFI Labxss
PT MIFI Labxss
Dmitry Evteev
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project Winterfell
Keith McFarlane
Modern apps require data services that your back-end infrastructure may lack.Discover how to build successful apps using the Apigee API Services toolkit. Learn how your developers can take advantage of Apigee's mBaaS solution to build and scale their apps without having to stand up an internal database. Deep dive into the API-enabled backend system that enables developers to build features like user management, push notifications, social graph, geo-location and more.
API Services: Building Apps That Stand Out
API Services: Building Apps That Stand Out
Apigee | Google Cloud
Recommandé
Антон Кириллов, Zeptolab (Москва) Доклад посвящен обзору ключевых технологий стека Typesafe и анализу ключевых преимуществ и недостатков на примере реального проекта: * Действительно ли Scala - “более лучшая” Java? Что следует знать, начиная внедрять Scala. * Play Framework: больше чем просто контейнер. Архитектура и возможности. * Доступ к базам данных: библиотеки и подходы, эволюция схемы БД во времени * Actors: безболезненная многопоточность! * Simple Build Tool: не совсем simple, но крайне функциональный инструмент автоматической сборки. Рассматриваемые технологии позволяют “из коробки” начать создавать прототипы веб-приложений за очень короткое время и в дальнейшем наращивать их функционал. Тем не менее, из-за молодости стека существует большое количество “граблей”, о которых следует знать, принимая решение об использовании данного набора технологий.
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Magneta AI
Выступление на конференции DUMP-2017
"Создание системы логирования" Литуненко Андрей, 2ГИС
"Создание системы логирования" Литуненко Андрей, 2ГИС
it-people
Выступление на конференции DUMP-2017
"Гибридное приложение: полгода после релиза" Легчилин Андрей, Парадеев Роман,...
"Гибридное приложение: полгода после релиза" Легчилин Андрей, Парадеев Роман,...
it-people
Talk about Spring Boot Internals * Spring Ripper retrospective * how to build spring boot project. Maven/Gradle plugins ** DependencyManagement in gradle and maven ** Executable artifacts (war or jar) ** War and Jar anatomy ** Embeded tomcat and standalone tomcat integration – SPI. WebApplicationInitializer and ServletContainerInitializer ** Tomcat in Tomcat like a Crank ** Executable jar anatomy ** Main Class and Start-Class. Java MANIFEST.MF anatomy ** Jar like a War, but Jar – JarCraft ** Runtime ClassPath in spring boot applications * SpringApplication.run ... ** Arguments ** Sources types ** Two general context type in spring boot app ** Starters and autoconfiguration ** spring.factories and SpringFactoriesLoader ** Merge app sources ** Environment and EnvironmentPostProcessor ** ConfigFileApplicationListener mistakes ** Spring Events vs Spring Boot Events ** Application Initializers ** Context prepare ** BeanDefinitionLoader * @SpringBootApplication anatomy ** @Import – Three types of arguments *** ImportSelector *** @Configuration *** ImportBeanDefinitionRegistrar ** Who is your boss starters? @EnableAutoConfiguration anatomy ** Ugly internal spring boot starter ** ConfigurationClassParser *** Configuration and Lite Configuration ** Conditional and shouldSkip in different context initialisation steps
Spring Boot Ripper
Spring Boot Ripper
Кирилл Толкачёв
Презентация с Highload2017 про эксплуатацию CSRF-уязвимостей в 2017.
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
Mikhail Egorov
PT MIFI Labxss
PT MIFI Labxss
Dmitry Evteev
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project Winterfell
Keith McFarlane
Modern apps require data services that your back-end infrastructure may lack.Discover how to build successful apps using the Apigee API Services toolkit. Learn how your developers can take advantage of Apigee's mBaaS solution to build and scale their apps without having to stand up an internal database. Deep dive into the API-enabled backend system that enables developers to build features like user management, push notifications, social graph, geo-location and more.
API Services: Building Apps That Stand Out
API Services: Building Apps That Stand Out
Apigee | Google Cloud
Securing your REST services with Spring HATEOAS and Hdiv, shown at Spring IO 16.
Securing RESTful services with Spring HATEOAS & Hdiv
Securing RESTful services with Spring HATEOAS & Hdiv
Hdiv Security
SpringOne Platform 2016 Speakers: Rob Bennett; Director, Development, Dish Networks; Chandra Nemalipuri; Principal Software Engineer, Dish Networks; Lax Rastogi; Senior Manager, Dish Networks Like many companies, Dish has a large number of SOA services that have been built using previous generations of technology. In this session we will discuss the challenges faced in converting legacy services to cloud native applications and the different approaches we considered for resolving the conflicts. We will then dive deeper into the approach that we chose to modernize our services and put us on a track towards a microservices based architecture running on Cloud Foundry.
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
VMware Tanzu
Hypermedia api (HATEOAS)
Hypermedia api (HATEOAS)
MitinPavel
http://www.hcltech.com/ - More on HCL Technologies According to industry estimates most of the business critical applications for not only midsize companies, but also many Fortune 500 corporations run on legacy systems, due to the system’s excellent performance and stability. CIO’s and IT managers handling these applications constantly face challenges such as: High cost of supporting and maintaining the expensive legacy applications. Inefficient, slow and less productive system compared to competition. Unmitigated risk associated with lack of skill availability in the resource market. Risk associated with running business critical application on unsupported platform. Higher time to market due to large, monolithic, complex and less productive systems. Integration with newer systems due to incompatibility with new and different technologies.
HCLT Whitepaper: Legacy Modernization
HCLT Whitepaper: Legacy Modernization
HCL Technologies
#BPM #SOA #ESB #API #PaaS # SaaS #cloud together
BPM for SOA+ESB+API and cloud
BPM for SOA+ESB+API and cloud
Alexander SAMARIN
ASAS 2016
How to become a Product Samurai - Chris Lukassen
How to become a Product Samurai - Chris Lukassen
Avisi B.V.
The API pattern was created in the 1970's when 'distributed architectures' didn't even exist and was established mainly for 'centralized architectures' as it bound the communication data/logic to the business logic. In a modern world, we have moved to distributed architectures where we now have to share the I/O... but that communication logic still remains bound in the application due to an old API pattern. This makes it so that the IO data and functionality related to a request/response cannot be shared with our edge services without duplication/entanglement. This in turn means the data/functionality in our services then cannot be synchronized. This leads to dropped threads, poor security, bad data, bad user experience, broken application, etc. This can ALL be fixed and improved and even lead to better speed, scalability and automation through a new API Pattern.
Apiworld
Apiworld
Owen Rubel
This live webinar goes through the steps of how MakeMyTrip.com engaged OSSCube to completely modernize their website and help them become one of the top online travel companies in the world. Zend Server and Zend Studio were used to expedite the entire project for what has now become arguably the largest Drupal implementation to date.
Legacy to industry leader: a modernization case study
Legacy to industry leader: a modernization case study
OSSCube
Rearchitecting the Twilio App for Scale
Twilio Signal 2016 API Architecture
Twilio Signal 2016 API Architecture
Twilio Inc
Slides of the talk given by Jeroen Visser and Elias Gomes at APINL Meetup
LeaseWeb API Architecture @ APINL Meetup
LeaseWeb API Architecture @ APINL Meetup
Rolph Haspers
SOA Pattern : Legacy Wrappers
SOA Pattern : Legacy Wrappers
WSO2
Most people associate the term “legacy system” with old code, but a true legacy system is any application that is difficult to update. A two-year-old app can already be in a legacy state if it’s unscalable. Many companies put off updating a legacy system, even when they accept its limitations. It can be a hard sell to replace functioning systems, but the longer it is put off, the more expensive it ultimately becomes. This deck outlines the financial reasons for updating a legacy system.
Updating Legacy Systems: Making the Financial Case for a Modernization Project
Updating Legacy Systems: Making the Financial Case for a Modernization Project
ILM Professional Services
The API pattern bind IO functionality to business functionality by binding IO state either through annotation (ie JAX) or by extending a RestfulController. As a result, the data associated IO State cannot be shared with the architectural instances because it is bound to the controller. This creates architectural cross cutting concerns not only with the functionality but also with the data. By abstracting the functionality, we can create a versioned data object for IO state that can be shared,cached,synced,reloaded on the fly for all architectural instances without having to restart any instance. This greatly improve automation, performance and flow of api applications and architecture.
IO State In Distributed API Architecture
IO State In Distributed API Architecture
Owen Rubel
API abstraction is the separation of cross cutting concerns related to the api to better enable externalization to architectural concerns. Not only does this enable easier externalization, synchronization and sharing of the environment with external architecture but this also enables us to reload the api configuration on the fly, have DRY'r code, easier batching, api chaining, reduced code, synchronized configuration/security, reduced throughput and much more. Video Available here : http://java.dzone.com/articles/springone2gx-2014-replay-api
Api Abstraction & Api Chaining
Api Abstraction & Api Chaining
Owen Rubel
Legacy modernization, cloud orchestration, api publishing by Mule ESB, Mule iON
Legacy modernization, cloud orchestration, api publishing
Legacy modernization, cloud orchestration, api publishing
kumar gaurav
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1OvXF7o. Yoni Goldberg discusses the many advantages that microservices can offer or has offered to the Gilt engineering team, as well as the challenges and how Gilt’s engineers have gone about resolving these challenges. Yoni also provides a deep-dive exploration of Gilt’s Ops strategy (Docker + AWS), approach to building APIs, monitoring practices, and datastore strategies. Filmed at qconlondon.com. Since 2010, Lead Software Engineer Yoni Goldberg has led the engineering behind several critical projects at Gilt--including personalization, the Gilt Insider loyalty program, SEO/optimization, and other customer-facing initiatives.
Building a Modern Microservices Architecture at Gilt: The Essentials
Building a Modern Microservices Architecture at Gilt: The Essentials
C4Media
Presentation w/ Zachary Seguin, Kartik Talwar, and Nate Vexler for ITANA (https://spaces.internet2.edu/display/itana/Home) API Group. Covers the University of Waterloo's development of API capabilities starting with a student led Open Data initiative.
ITANA 2016: API Architecture and Implementation
ITANA 2016: API Architecture and Implementation
Colin Bell
To view recording of this webinar please use below URL: In today’s society, digitization helps people find new and more effective ways to connect, collaborate and conduct business. This touches the core of all business functions and the way in which organizations are managed. Transforming existing legacy systems to support these new concepts is critical. The WSO2 API Management platform can help you achieve the goals and overcome the challenges of digital transformation. This webinar will discuss a few real world business use cases and how WSO2 API Manager, WSO2 Enterprise Service Bus, WSO2 Data Analytics Server and other products fit into this complete solution. In this session, we will go into more details on the following topics: Managing APIs exposed by other systems Easily achieving legacy system integration and modernization Getting more insight into APIs and data through big data analytics
Building an API Platform for Digital Transformation
Building an API Platform for Digital Transformation
WSO2
September DC API Meetup - MuleSoft Transform with API-led Connectivity
Dc meetup-pure-api-led-connectivity-16x9
Dc meetup-pure-api-led-connectivity-16x9
Bruce Schonk -PMP, MBA
Learn how the Eventbrite API evolved from a monolithic architecture to distributed services and what we're going to build next.
From a Monolithic to a Distributed API Architecture at Eventbrite - Presente...
From a Monolithic to a Distributed API Architecture at Eventbrite - Presente...
Renaud Visage
!2hl++2008 Restful Architechture
!2hl++2008 Restful Architechture
Ontico
RESTful архитектурадля масштабируемых систем
RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)
Sergey Skvortsov
Contenu connexe
En vedette
Securing your REST services with Spring HATEOAS and Hdiv, shown at Spring IO 16.
Securing RESTful services with Spring HATEOAS & Hdiv
Securing RESTful services with Spring HATEOAS & Hdiv
Hdiv Security
SpringOne Platform 2016 Speakers: Rob Bennett; Director, Development, Dish Networks; Chandra Nemalipuri; Principal Software Engineer, Dish Networks; Lax Rastogi; Senior Manager, Dish Networks Like many companies, Dish has a large number of SOA services that have been built using previous generations of technology. In this session we will discuss the challenges faced in converting legacy services to cloud native applications and the different approaches we considered for resolving the conflicts. We will then dive deeper into the approach that we chose to modernize our services and put us on a track towards a microservices based architecture running on Cloud Foundry.
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
VMware Tanzu
Hypermedia api (HATEOAS)
Hypermedia api (HATEOAS)
MitinPavel
http://www.hcltech.com/ - More on HCL Technologies According to industry estimates most of the business critical applications for not only midsize companies, but also many Fortune 500 corporations run on legacy systems, due to the system’s excellent performance and stability. CIO’s and IT managers handling these applications constantly face challenges such as: High cost of supporting and maintaining the expensive legacy applications. Inefficient, slow and less productive system compared to competition. Unmitigated risk associated with lack of skill availability in the resource market. Risk associated with running business critical application on unsupported platform. Higher time to market due to large, monolithic, complex and less productive systems. Integration with newer systems due to incompatibility with new and different technologies.
HCLT Whitepaper: Legacy Modernization
HCLT Whitepaper: Legacy Modernization
HCL Technologies
#BPM #SOA #ESB #API #PaaS # SaaS #cloud together
BPM for SOA+ESB+API and cloud
BPM for SOA+ESB+API and cloud
Alexander SAMARIN
ASAS 2016
How to become a Product Samurai - Chris Lukassen
How to become a Product Samurai - Chris Lukassen
Avisi B.V.
The API pattern was created in the 1970's when 'distributed architectures' didn't even exist and was established mainly for 'centralized architectures' as it bound the communication data/logic to the business logic. In a modern world, we have moved to distributed architectures where we now have to share the I/O... but that communication logic still remains bound in the application due to an old API pattern. This makes it so that the IO data and functionality related to a request/response cannot be shared with our edge services without duplication/entanglement. This in turn means the data/functionality in our services then cannot be synchronized. This leads to dropped threads, poor security, bad data, bad user experience, broken application, etc. This can ALL be fixed and improved and even lead to better speed, scalability and automation through a new API Pattern.
Apiworld
Apiworld
Owen Rubel
This live webinar goes through the steps of how MakeMyTrip.com engaged OSSCube to completely modernize their website and help them become one of the top online travel companies in the world. Zend Server and Zend Studio were used to expedite the entire project for what has now become arguably the largest Drupal implementation to date.
Legacy to industry leader: a modernization case study
Legacy to industry leader: a modernization case study
OSSCube
Rearchitecting the Twilio App for Scale
Twilio Signal 2016 API Architecture
Twilio Signal 2016 API Architecture
Twilio Inc
Slides of the talk given by Jeroen Visser and Elias Gomes at APINL Meetup
LeaseWeb API Architecture @ APINL Meetup
LeaseWeb API Architecture @ APINL Meetup
Rolph Haspers
SOA Pattern : Legacy Wrappers
SOA Pattern : Legacy Wrappers
WSO2
Most people associate the term “legacy system” with old code, but a true legacy system is any application that is difficult to update. A two-year-old app can already be in a legacy state if it’s unscalable. Many companies put off updating a legacy system, even when they accept its limitations. It can be a hard sell to replace functioning systems, but the longer it is put off, the more expensive it ultimately becomes. This deck outlines the financial reasons for updating a legacy system.
Updating Legacy Systems: Making the Financial Case for a Modernization Project
Updating Legacy Systems: Making the Financial Case for a Modernization Project
ILM Professional Services
The API pattern bind IO functionality to business functionality by binding IO state either through annotation (ie JAX) or by extending a RestfulController. As a result, the data associated IO State cannot be shared with the architectural instances because it is bound to the controller. This creates architectural cross cutting concerns not only with the functionality but also with the data. By abstracting the functionality, we can create a versioned data object for IO state that can be shared,cached,synced,reloaded on the fly for all architectural instances without having to restart any instance. This greatly improve automation, performance and flow of api applications and architecture.
IO State In Distributed API Architecture
IO State In Distributed API Architecture
Owen Rubel
API abstraction is the separation of cross cutting concerns related to the api to better enable externalization to architectural concerns. Not only does this enable easier externalization, synchronization and sharing of the environment with external architecture but this also enables us to reload the api configuration on the fly, have DRY'r code, easier batching, api chaining, reduced code, synchronized configuration/security, reduced throughput and much more. Video Available here : http://java.dzone.com/articles/springone2gx-2014-replay-api
Api Abstraction & Api Chaining
Api Abstraction & Api Chaining
Owen Rubel
Legacy modernization, cloud orchestration, api publishing by Mule ESB, Mule iON
Legacy modernization, cloud orchestration, api publishing
Legacy modernization, cloud orchestration, api publishing
kumar gaurav
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1OvXF7o. Yoni Goldberg discusses the many advantages that microservices can offer or has offered to the Gilt engineering team, as well as the challenges and how Gilt’s engineers have gone about resolving these challenges. Yoni also provides a deep-dive exploration of Gilt’s Ops strategy (Docker + AWS), approach to building APIs, monitoring practices, and datastore strategies. Filmed at qconlondon.com. Since 2010, Lead Software Engineer Yoni Goldberg has led the engineering behind several critical projects at Gilt--including personalization, the Gilt Insider loyalty program, SEO/optimization, and other customer-facing initiatives.
Building a Modern Microservices Architecture at Gilt: The Essentials
Building a Modern Microservices Architecture at Gilt: The Essentials
C4Media
Presentation w/ Zachary Seguin, Kartik Talwar, and Nate Vexler for ITANA (https://spaces.internet2.edu/display/itana/Home) API Group. Covers the University of Waterloo's development of API capabilities starting with a student led Open Data initiative.
ITANA 2016: API Architecture and Implementation
ITANA 2016: API Architecture and Implementation
Colin Bell
To view recording of this webinar please use below URL: In today’s society, digitization helps people find new and more effective ways to connect, collaborate and conduct business. This touches the core of all business functions and the way in which organizations are managed. Transforming existing legacy systems to support these new concepts is critical. The WSO2 API Management platform can help you achieve the goals and overcome the challenges of digital transformation. This webinar will discuss a few real world business use cases and how WSO2 API Manager, WSO2 Enterprise Service Bus, WSO2 Data Analytics Server and other products fit into this complete solution. In this session, we will go into more details on the following topics: Managing APIs exposed by other systems Easily achieving legacy system integration and modernization Getting more insight into APIs and data through big data analytics
Building an API Platform for Digital Transformation
Building an API Platform for Digital Transformation
WSO2
September DC API Meetup - MuleSoft Transform with API-led Connectivity
Dc meetup-pure-api-led-connectivity-16x9
Dc meetup-pure-api-led-connectivity-16x9
Bruce Schonk -PMP, MBA
Learn how the Eventbrite API evolved from a monolithic architecture to distributed services and what we're going to build next.
From a Monolithic to a Distributed API Architecture at Eventbrite - Presente...
From a Monolithic to a Distributed API Architecture at Eventbrite - Presente...
Renaud Visage
En vedette
(20)
Securing RESTful services with Spring HATEOAS & Hdiv
Securing RESTful services with Spring HATEOAS & Hdiv
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Hypermedia api (HATEOAS)
Hypermedia api (HATEOAS)
HCLT Whitepaper: Legacy Modernization
HCLT Whitepaper: Legacy Modernization
BPM for SOA+ESB+API and cloud
BPM for SOA+ESB+API and cloud
How to become a Product Samurai - Chris Lukassen
How to become a Product Samurai - Chris Lukassen
Apiworld
Apiworld
Legacy to industry leader: a modernization case study
Legacy to industry leader: a modernization case study
Twilio Signal 2016 API Architecture
Twilio Signal 2016 API Architecture
LeaseWeb API Architecture @ APINL Meetup
LeaseWeb API Architecture @ APINL Meetup
SOA Pattern : Legacy Wrappers
SOA Pattern : Legacy Wrappers
Updating Legacy Systems: Making the Financial Case for a Modernization Project
Updating Legacy Systems: Making the Financial Case for a Modernization Project
IO State In Distributed API Architecture
IO State In Distributed API Architecture
Api Abstraction & Api Chaining
Api Abstraction & Api Chaining
Legacy modernization, cloud orchestration, api publishing
Legacy modernization, cloud orchestration, api publishing
Building a Modern Microservices Architecture at Gilt: The Essentials
Building a Modern Microservices Architecture at Gilt: The Essentials
ITANA 2016: API Architecture and Implementation
ITANA 2016: API Architecture and Implementation
Building an API Platform for Digital Transformation
Building an API Platform for Digital Transformation
Dc meetup-pure-api-led-connectivity-16x9
Dc meetup-pure-api-led-connectivity-16x9
From a Monolithic to a Distributed API Architecture at Eventbrite - Presente...
From a Monolithic to a Distributed API Architecture at Eventbrite - Presente...
Similaire à REST и HATEOAS
!2hl++2008 Restful Architechture
!2hl++2008 Restful Architechture
Ontico
RESTful архитектурадля масштабируемых систем
RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)
Sergey Skvortsov
Database https://university.noveogroup.ru
Database (Lecture 14 – database)
Database (Lecture 14 – database)
Noveo
Доклад Михаила Кольцова на CocoaHeads Moscow
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
CocoaHeads
РИТ++ 2017, Backend Conf Зал Кейптаун, 5 июня, 14:00 Тезисы: http://backendconf.ru/2017/abstracts/2510.html Я расскажу об опыте разработки REST API сервиса одной рекрутинговой платформы. Стремясь найти простое и масштабируемое решение, мы выбираем PostgreSQL и Node.js, а вместо сессий используем JWT-токены. Избегая ORM, мы пишем большие и сложные, но эффективные SQL-запросы. На помощь приходят SQL-представления, триггеры и небольшая собственная JS-библиотека. ...
Консервативный Backend на Node.js / Дмитрий Ляпин (Recrumatic)
Консервативный Backend на Node.js / Дмитрий Ляпин (Recrumatic)
Ontico
Today REST is the most commonly used word when talk comes to web API. But how really good is the idea of RESTful APIs? Is this a silver bullet or a big lie? Come and join the session to take a deep dive and to find the answer.
Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"
Fwdays
Примеры кода приложений и конфигурации сервера с доступом к файлам, памяти, базам данных и параллельной асинхронной обработкой различных типов API запросов с состоянием и без состояния.
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Timur Shemsedinov
Web осень 2012 лекция 4
Web осень 2012 лекция 4
Technopark
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
Alexei Smolyanov
Слайды моего доклада на PHDays II
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Vladimir Kochetkov
webdriver php
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0
matroskin1980
Расскажу о небольшом исследовании, в котором мы думали о том, можем ли мы себе позволить использовать React для отдельных элементов на сайте, как устроен серверный рендеринг в VK; и получилось ли связать одно с другим. Упомяну о строковых шаблонизаторах, виртуальной DOM и LR-парсерах.
React со скоростью света: не совсем обычный серверный рендеринг
React со скоростью света: не совсем обычный серверный рендеринг
Timophy Chaptykov
Approach to web and mobile development for intersystems caché REST API, web application architecture, web sockets, JSON usage Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
InterSystems
Работа с соцсетями https://university.noveogroup.ru
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
Noveo
Лекция рассказывает о базовых возможностях WCF по построению Web-Service и REST (json) интерфейсов. Рассматриваются базовые возможности Apache AXIS2.
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
Dima Dzuba
Building corporate portals with liferay JEEConf 2011
Building corporate portals with liferay JEEConf 2011
Alexey Kakunin
Microsoft Azure, пожалуй, самый очевидный выбор для .NET разработчиков, когда они (или их клиенты) внезапно решают, что им нужен клауд. Но при этом мы все равно используем подходы и техники из до-облачного мира, иногда и не подозревая о тех сервисах и удобствах, которые нам дает Azure. На этом докладе Сергей покажет, как быстро и эффективно можно разрабатывать современное веб приложение. Мы затронем разные аспекты -- от организации кода до деплоя и мониторинга приложений, работающих в проде. Документация API, поддержка рабочих процессов, инициализация приложений, полезные инструменты и библиотеки -- все это, и не только, ждет вас на нашем докладе.
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
NETFest
Денис Коденцев Инженер-консультант, CCIE
Программируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EM
Cisco Russia
Mihail davidov js-ajax
Mihail davidov js-ajax
Yandex
Михаил Давыдов — Транспорт, Ajax
Михаил Давыдов — Транспорт, Ajax
Yandex
Similaire à REST и HATEOAS
(20)
!2hl++2008 Restful Architechture
!2hl++2008 Restful Architechture
RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)
Database (Lecture 14 – database)
Database (Lecture 14 – database)
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Консервативный Backend на Node.js / Дмитрий Ляпин (Recrumatic)
Консервативный Backend на Node.js / Дмитрий Ляпин (Recrumatic)
Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Web осень 2012 лекция 4
Web осень 2012 лекция 4
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0
React со скоростью света: не совсем обычный серверный рендеринг
React со скоростью света: не совсем обычный серверный рендеринг
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
Building corporate portals with liferay JEEConf 2011
Building corporate portals with liferay JEEConf 2011
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
Программируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EM
Mihail davidov js-ajax
Mihail davidov js-ajax
Михаил Давыдов — Транспорт, Ajax
Михаил Давыдов — Транспорт, Ajax
REST и HATEOAS
1.
REST и HATEOAS 1
2.
REST и HATEOAS 2 Доклад
не из будущего
3.
Артём Бей @defly_self Fullstack dev
в Trinity Mirror 3
4.
REST != HTTP
5.
Representational State Transfer "Architectural
Styles and the Design of Network-based Software Architectures” Roy Fielding 5
6.
REST — это
архитектурный стиль для распределенных гипермедиа систем. 6
7.
Ресурс http://…/resource <xml> <entity/> </xml> { entity: {…} } 7
8.
http://…/resource <xml> <entity/> </xml> { entity: {…} } представление представление ресурс идентификатор документ картинка процесс … 8
9.
Richardson Maturity Model 9
10.
REST уровня 0 POST /api { "do": "createOrder", "params": { "count": 2 } } POST /api { "do": "cancelOrder", "params": { "id": "34xzfha834flksd34" } } 200 OK { "success": true, "res": { "id": "f239sdk237sdf438" } } 200 OK { "success": false, "error": { "code": 666, "message": "because fk u thats why" } } /api 10
11.
REST уровня 1 POST /users {…} 200 OK { "success": true, "res": { "id": "f239sdk237sdf438" } } 200 OK { "success": false, "error": { "code": 40000, "message": "today is a bad day" } } /users POST /users/1 {…} POST /orders {…} /users/1 /orders 11
12.
Tesla Model S использует REST Level 1
13.
REST уровня 2 13
14.
REST уровня 2 Используем
HTTP по спецификации 14
15.
Методы GET POST PUT DELETE OPTIONS HEAD PATCH … 15
16.
16
17.
200 OK { "success": false, "error": { "code": 666, "message": "because fk u thats why" } 17
18.
400 Bad Request 401 Unauthorized 404 Not Found 402 Payment Required 409 Conflict … 18
19.
418 I’m a
teapot 19
20.
21.
22.
Forbidden Authorization: Bearer ToKeN @wice_
23.
/users /orders /profile … GET POST PUT DELETE OPTIONS HEAD PATCH … 200 201 … 300 301 … 400 401 … 500 501 … покроет все ваши
кейсы 23
24.
REST уровень 3 24
25.
Гипертекст 25
26.
HATEOAS Hypermedia As The
Engine Of Application State 26
27.
представление ресурса = данные + контролы 27
28.
GET /feed 200 OK { "data": [ { "title": "...", "links": { "details": "http://..." } }, .... ], "links": { "self": "http://...", "first": "http://...", "prev": "http://...", "next": "http://...", "last": "http://..." } } 28
29.
GET /feed?min_id=100500 200 OK { "data": [ { "title": "...", "links": { "details": “http://..." } }, .... ], "links": { "self": "http://...", "first": "http://...", "prev": "http://...", "next": "http://...", "last": "http://..." } } 29
30.
GET /films/themartian 200 OK { "data": { "title": "Марсианин", "description": "Как Мэт Дэймон выращивал картошку на Марсе", "duration": 140, "poster": "https://s3.amazon.com/buckets/23aGd23asdsf.png" }, "links": { "self": “http://.../themartian”, "booking": “http://.../themartian/bookings" } } 30
31.
GET /films/themartian 200 OK { "data": { "title": "Марсианин", "description": "Как Мэт Дэймон выращивал картошку на Марсе", "duration": 140, "poster": "https://s3.amazon.com/buckets/23aGd23asdsf.png" }, "links": { "self": “http://.../themartian”, "booking": “http://.../themartian/bookings" } } OPTIONS /films/themartian/bookings 204 No Content Allow: HEAD,GET,POST,OPTIONS 31
32.
POST /films/themartian/bookings { count: 3 } 201 Created Location: http://..../bookings/1 32
33.
GET /films/themartian/bookings/1 200 OK { "data": { "count": 3, "date": "Tue Nov 03 2015 21:45:55 GMT+0200 (EET)", "status": "waiting" }, "links": { "self": "http://..../bookings/1", "cancel": "http://..../bookings/1/cancel", "pay": "http://.../bookings/1/pay" } } 33
34.
Стейт-машина Переходим в новые
состояния по ссылке 34
35.
Некоторые приёмы • Безопасные
и идемпотентные операции • Кеширование неизменяемых ресурсов • X- заголовки • Вендорные типы данных ( application/vnd.myapi.basket.v1+json ) 35
36.
В чём профит? 36
37.
Делаем клиент тоньше,
не нужно больше хачить URL
38.
Распределённые приложения
39.
API могут использовать
роботы
40.
Самодокументирование
41.
Developer Experience
42.
Вопросы к HATEOAS 42
43.
В JSON нет
ссылок и форм. Есть спецификации: HAL, Siren, json:api 43
44.
Нужна ли теперь документация? Нужна.
REST для машин. 44
45.
Слишком академично или много
лишнего. Не нужно реализовывать спецификации в полном объёме. 45
46.
А Twitter, Facebook,
… не применяют HATEOAS. Run-time vs Design-time 46
47.
Почитать • https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm • http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hypertext-driven •
http://martinfowler.com/articles/richardsonMaturityModel.html • REST in Practice by Jim Webber, Savas Parastatidis, and Ian Robinson • http://www.jeffknupp.com/blog/2014/06/03/why-i-hate-hateoas • http://timelessrepo.com/haters-gonna-hateoas
48.
Спасибо, задавайте вопросы! 48
Télécharger maintenant