SlideShare a Scribd company logo
RESTful HTTP
Patterns and Anti-Patterns
Jan Algermissen
prioconference 2010, Nürnberg
Jan Algermissen
“Applying the Web to Enterprise IT”
@algermissen
algermissen@acm.org
http://www.nordsc.com/blog
NORD Software Consulting
http://www.nordsc.com/
REST
REpresentational
State Transfer
An architectural style for
network-based software
architectures
HTTP
RESTful HTTP
The Web used correctly
1991
HTTP 0.9
HTTP 1.1
HTTP 1.0
Start HTTP 1.1bis
2000
REST
2007
1996
User
Use Case
Application
Application
Connectors
Components
User
Use Case
Data
Application
Architectural Elements
Components
Connectors
Data
Architectural Style
A set of constraints on
architectural elements.
To achieve certain system
properties.
Connectors
Components
User
Use Case
Application
Monolithic
User
Use Case
Application
Components
Connectors
Unix Command Line
Network-Based (ODBC)
User Use Case
Application
Components
Connector
User Use Case
Application
Connector Components
Network-Based (ODBC)
Application
User Agent Component
Server Component
Intermediary Component Connectors
Network-Based (HTTP)
User
Use Case
User
Use Case Application
User Agent Component
Server Component
Intermediary Component Connectors
Administrative Domain
Network-Based (HTTP)
Network
Trust
Federated
Change
Complexity
Unpredictable
Use
Evolvability
Issues of
network-based,
decentralized
systems
Performance
Simplicity
Scalability
Visibility
Evolvability
Performance
Simplicity
Scalability
Visibility
Properties of Key Interest
Manipulation of resources
through representations
Self-descriptive messages
Hypermedia as the engine of
application state
REST
Four core constraints
Identification of resources
Identification of resources
Manipulation of resources
through representations
Self-descriptive messages
Hypermedia as the engine of
application state
REST
http://sample.org/customers/5561
http://sample.org/customers/5561/address
http://sample.org/customers/high-potential
http://sample.org/orders/?status=payment-pending
http://sample.org/order-processor
http://weather.com/london/forecast
ftp://sample.org/
mailto:incidents@support.mycorp.com
geo:37.0625,-95.677068
Identification of resources
Manipulation of resources
through representations
Self-descriptive messages
Hypermedia as the engine of
application state
REST
getCatalog
getProductDetails
findProduct
placeOrder
changeOrder
cancelOrder
notifyOfPayment
showOrdersByMonth
listOrdersPendingPayment
RemoveAccount
updateOrderState
getCatalog
getProductDetails
findProduct
placeOrder
changeOrder
cancelOrder
notifyOfPayment
showOrdersByMonth
listOrdersPendingPayment
RemoveAccount
updateOrderState
GET
DELETE
PUT
POST
GET /catalog
GET /products/667
GET /products?search=lego
POST /orders/
PUT /orders/42
DELETE /orders/42
POST /payment-notifications/
GET /orders/2009/?month=June
GET /orders/payment-pending
DELETE /accounts/bob
PUT /orders/42/state
GET
DELETE
PUT
POST
Identification of resources
Manipulation of resources
through representations
Self-descriptive messages
Hypermedia as the engine of
application state
REST
GET /srv/orders/6651
HTTP/1.1 200 Ok
Date: Mon, 18 Oct 2010 21:40:29 GMT
Server: Apache/2
ETag: "12345"
Cache-Control: public, max-age=3600
Content-Type: application/vnd.oasis.ubl
<order>
<items> ... </items>
<total currency=”USD” amount=”52.77”/>
</order>
Self-Descriptive
Massages
Uniform Interface Stateless Server
Identification of resources
Manipulation of resources
through representations
Self-descriptive messages
Hypermedia as the engine of
application state
REST
GET /order-form.html
200 Ok
Content-Type: text/html
<html><body>
<form action=”/orders” method=”POST”>
<img src=”/img/dish-A.jpg”/>
<img src=”/img/dish-B.jpg”/>
<input type=”text” name=”dish”/>
<input type=”submit” value=”Order Now”/>
</form>
</body></html>
GET /srv/catalog
200 Ok
Content-Type: application/vnd.oasis.ubl
Link: </srv/about>;rel=”service”
<catalog href=”/srv/catalog”>
<order-processor href=”/srv/orders”
accept=”application/vnd.oasis.ubl”/>
<item href=”/srv/products/2213-21”>
<name> .... </name>
</item>
<item href=”/srv/products/2213-22”>
<name> .... </name>
</item>
</catalog>
Example System
CATALOG
UnRESTful HTTP
(Anti-Patterns)
RPC URI-Tunneling w/GET
GET /srv/?action=getCatalog
GET /srv/?action=getDetails&productID=2213-21
GET /srv/?action=placeOrder&itemIDs=23,455,12
GET /srv/?action=changeOrder&orderId=42&newiItemId=25
GET /srv/?action=cancelOrder&orderId=42
GET /srv/?action=notifyPayment&orderId=42
GET /srv/?action=getReport&year=2009&week=34
RPC URI-Tunneling
POST /srv/?action=getCatalog
POST /srv/?action=getDetails&productID=2213-21
POST /srv/?action=placeOrder&itemIDs=23,455,12
POST /srv/?action=changeOrder&orderId=42&newiItemId=25
POST /srv/?action=cancelOrder&orderId=42
POST /srv/?action=notifyPayment&orderId=42
POST /srv/?action=getReport&year=2009&week=34
Performance
Scalability
Simplicity
Visibility
Evolvability
POST /srv/?action=getDetails&productID=2213-21
POST /srv/?action=changeOrder&orderId=42&newiItemId=25
POST /srv/?action=notifyPayment&orderId=42
HTTP-Based Type I
GET /srv/catalog
GET /srv/products/2213-21
POST /srv/orders
PUT /srv/orders/42
DELETE /srv/orders/42
POST /srv/payment-notifications
GET /srv/reports/2009/34
Service Description:
•Fixed list of URIs
•WADL or equiv.
•Service specific XML
• Fixed, no content negotiation
GET /srv/products/2213-21
200 Ok
Content-Type: application/xml
<item xmlns=”...”>
<name>Lego Tower Bridge</name>
<description> ... </description>
<inStock>26</inStock>
<item>
Performance
Scalability
Simplicity
Visibility
Evolvability
GET /srv/catalog
GET /srv/products/2213-21
POST /srv/orders
PUT /srv/orders/42
DELETE /srv/orders/42
POST /srv/payment-notifications
HTTP-Based Type II
GET /srv/catalog
GET /srv/products/2213-21
POST /srv/orders
PUT /srv/orders/42
DELETE /srv/orders/42
POST /srv/payment-notifications
GET /srv/reports/2009/34
Service Description:
•Fixed list of URIs
•WADL or equiv.
•Use of ‘standard’ media types
• Fixed, no content negotiation
GET /srv/products/2213-21
200 Ok
Content-Type: application/vnd.oasis.ubl
<item xmlns=”...”>
<name>Lego Tower Bridge</name>
<description> ... </description>
<inStock>26</inStock>
<item>
Performance
Scalability
Simplicity
Visibility
Evolvability
GET /srv/catalog
GET /srv/products/2213-21
POST /srv/orders
PUT /srv/orders/42
DELETE /srv/orders/42
POST /srv/payment-notifications
RESTful HTTP
REST
GET /srv/catalog application/vnd.oasis.ubl
GET /srv/catalog
200 Ok
Content-Type: application/vnd.oasis.ubl
Link: </srv/about>;rel=”service”
<catalog href=”/srv/catalog”>
<order-processor href=”/srv/orders”
accept=”application/vnd.oasis.ubl”/>
<item href=”/srv/products/2213-21”>
<name> .... </name>
</item>
<item href=”/srv/products/2213-22”>
<name> .... </name>
</item>
</catalog>
GET /srv/about
200 Ok
Content-Type: application/atomsvc+xml
<service>
<workspace>
<collection href=” /srv/payment-notifications”/>
<category term=”oms:remittance-advice”/>
<accept>application/vnd.oasis.ubl</accept>
</collection>
<collection href=”/srv/reports/”/>
<category term=”oms:report”/>
<category term=”oms:weekly”/>
<accept/>
</collection>
</workspace>
</service>
Performance
Scalability
Simplicity
Visibility
Evolvability
GET /srv/catalog
Media Types (service independent)
Find transitions at runtime
Take Aways
•Network-based, decentralized creates issues.
•Constrain architectural elements to deal with issues.
•RPC URI tunneling is bad in all forms at no benefit
whatsoever.
•At least use HTTP Type I.
•HTTP Type I might be just what you need (but its not REST).
The Web and
Enterprise IT have a
very similar problem
space!
Thank you!
1991
HTTP 0.9
HTTP 1.1
HTTP 1.0
Start HTTP 1.1bis
2009
2000
“SOA Is Dead”
REST
REST vs. SOAP war
SOAP 1.1 SOAP 1.2
2007
1996
RESTful http_patterns_antipatterns

More Related Content

What's hot

Restful web services with java
Restful web services with javaRestful web services with java
Restful web services with javaVinay Gopinath
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSam Brannen
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Mario Cardinal
 
How to build a rest api.pptx
How to build a rest api.pptxHow to build a rest api.pptx
How to build a rest api.pptxHarry Potter
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding RESTNitin Pande
 
The Full Power of ASP.NET Web API
The Full Power of ASP.NET Web APIThe Full Power of ASP.NET Web API
The Full Power of ASP.NET Web APIEyal Vardi
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016Restlet
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webserviceDong Ngoc
 
RESTful Web Services with Spring MVC
RESTful Web Services with Spring MVCRESTful Web Services with Spring MVC
RESTful Web Services with Spring MVCdigitalsonic
 
Rest presentation
Rest  presentationRest  presentation
Rest presentationsrividhyau
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debateRestlet
 
RESTful services
RESTful servicesRESTful services
RESTful servicesgouthamrv
 
01. http basics v27
01. http basics v2701. http basics v27
01. http basics v27Eoin Keary
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web APIhabib_786
 

What's hot (19)

Restful web services with java
Restful web services with javaRestful web services with java
Restful web services with java
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 
ASP.NET WEB API Training
ASP.NET WEB API TrainingASP.NET WEB API Training
ASP.NET WEB API Training
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
How to build a rest api.pptx
How to build a rest api.pptxHow to build a rest api.pptx
How to build a rest api.pptx
 
Restful webservices
Restful webservicesRestful webservices
Restful webservices
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding REST
 
The Full Power of ASP.NET Web API
The Full Power of ASP.NET Web APIThe Full Power of ASP.NET Web API
The Full Power of ASP.NET Web API
 
Implementation advantages of rest
Implementation advantages of restImplementation advantages of rest
Implementation advantages of rest
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
ReST
ReSTReST
ReST
 
The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webservice
 
RESTful Web Services with Spring MVC
RESTful Web Services with Spring MVCRESTful Web Services with Spring MVC
RESTful Web Services with Spring MVC
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debate
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
01. http basics v27
01. http basics v2701. http basics v27
01. http basics v27
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 

Similar to RESTful http_patterns_antipatterns

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
Android App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web ServicesAndroid App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web ServicesAnuchit Chalothorn
 
Modularizing RESTful Web Service Management with Aspect Oriented Programming
Modularizing RESTful Web Service Management with Aspect Oriented ProgrammingModularizing RESTful Web Service Management with Aspect Oriented Programming
Modularizing RESTful Web Service Management with Aspect Oriented ProgrammingWidhian Bramantya
 
High Availability by Design
High Availability by DesignHigh Availability by Design
High Availability by DesignDavid Prinzing
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationAndrew Wesbecher
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at OracleEmiliano Pecis
 
Wcf data services
Wcf data servicesWcf data services
Wcf data servicesEyal Vardi
 
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful  Protocol BuffersJavaOne 2009 - TS-5276 - RESTful  Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful Protocol BuffersMatt O'Keefe
 
There is time for rest
There is time for rest There is time for rest
There is time for rest SoftServe
 
The semantic web an inside look at the creation of control loop foundation
The semantic web   an inside look at the creation of control loop foundationThe semantic web   an inside look at the creation of control loop foundation
The semantic web an inside look at the creation of control loop foundationEmerson Exchange
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVCJohn Lewis
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
Constraints Make You Sexy - What is Rest
Constraints Make You Sexy  - What is RestConstraints Make You Sexy  - What is Rest
Constraints Make You Sexy - What is Restanorqiu
 

Similar to RESTful http_patterns_antipatterns (20)

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Web api
Web apiWeb api
Web api
 
Android App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web ServicesAndroid App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web Services
 
Modularizing RESTful Web Service Management with Aspect Oriented Programming
Modularizing RESTful Web Service Management with Aspect Oriented ProgrammingModularizing RESTful Web Service Management with Aspect Oriented Programming
Modularizing RESTful Web Service Management with Aspect Oriented Programming
 
High Availability by Design
High Availability by DesignHigh Availability by Design
High Availability by Design
 
Getting Started with API Management
Getting Started with API ManagementGetting Started with API Management
Getting Started with API Management
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentation
 
Developing With Data Technologies
Developing With Data TechnologiesDeveloping With Data Technologies
Developing With Data Technologies
 
J2EE pattern 5
J2EE pattern 5J2EE pattern 5
J2EE pattern 5
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentation
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at Oracle
 
WebApp #3 : API
WebApp #3 : APIWebApp #3 : API
WebApp #3 : API
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful  Protocol BuffersJavaOne 2009 - TS-5276 - RESTful  Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
 
There is time for rest
There is time for rest There is time for rest
There is time for rest
 
The semantic web an inside look at the creation of control loop foundation
The semantic web   an inside look at the creation of control loop foundationThe semantic web   an inside look at the creation of control loop foundation
The semantic web an inside look at the creation of control loop foundation
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
Constraints Make You Sexy - What is Rest
Constraints Make You Sexy  - What is RestConstraints Make You Sexy  - What is Rest
Constraints Make You Sexy - What is Rest
 

Recently uploaded

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 

Recently uploaded (20)

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

RESTful http_patterns_antipatterns