SlideShare a Scribd company logo
Things you should know
Building a
Public API
}During
Before
After
@yonatanm
Outbrain
Outbrain
0.5B> 190B
Unique Visitors RecommendationS
per Month
“Boss, Boss
hi API i not RESTful”
* min {control on usage}
* max {responsibility}
* decisions.exist {_.takeAtDay1}
* min {control on usage}
* max {responsibility}
* decisions.exist {_.takeAtDay1}
Be Pragmatic
Make reasonable
compromise
Quiz #1
???
Product
API
Users
Answer
Developers
Product
API
Users
Quiz #2
???
Product
API
U.X.
Answer
Product
API Resources
&& URIS
U.X.
Be consistently
consistent
* HTTP methods
* HTTP codes
* Headers
* Authentication
No one likes surprises
Make your users feel at home
Use Standards:
Error handling
It is all about the
Expectations
GET
POST
PUT
/customers/{id}
/customers
/customers
REQUEST RESPONSE
customerGET
customercustomer
customercustomer*
200
201
200
To embed
GET /customers/1
GET /customer/1/orders
|| !to embed
GET /customers/1
Can we have both ?
To embed || !to embed ?
Simple
All you need in one request
Fewer transactions
Simple
All you need in one request
Fewer transactions
Fast
Building block
flexibility
Cacheable
Fast
Building block
flexibility
Cacheable
!to embed
to embed
and do it right ?
*
Yes We Can !
GET /customers/1
GET /customers/1?embed=orders
Yes We Can #2
GET /customers/1
Quiz #3
???
Product
API
U.I.
Answer
Documentation
Product
API
U.I.
Documentation
apiary.io
Swager
Mashape and More...
apiary.io
Swager
Mashape and More...
* Be consistent
* Focus on Resources
* Less > More
* Examples
* Be consistent
* Focus on Resources
* Less > More
* Examples
‫במקביל‬ ‫עבודה‬ "
”‫דביל‬ ‫לכל‬ ‫הצלחה‬ –
‫במקביל‬ ‫עבודה‬ "
”‫דביל‬ ‫לכל‬ ‫הצלחה‬ –
** Sand-box ? +1** Sand-box ? +1
Documentation
Documentation
Documentation
* UX – interactions
* UI – documentation
* Ideas to new features
* Bugs
Eat your own dog food
Tip #1
Tip #2
What's wrong with using DB IDs
as your entity IDs?
GET /customers/1
“Authorization”
“privacy” , your privacy
“Authorization”
“privacy” , your privacy
Bi Directional mapping using secret key-
HOW?
Tip #2
Add another column in the DB
27847321845691
Like a version
OR
/SUPPORT/multiple/VERSIONS/v2.5/
/SELL/your/soul/to/backwards/compatibility
URI should control
identity not presentation
http://bit.ly/1Mo0yXF
===>
GET /customer/1 HTTP/1.1
Accept: application/outbrain.customer-v2.5+json
===>
GET /customer/1 HTTP/1.1
Accept: application/outbrain.customer-v2.5+json
<===
HTTP/1.1 200 OK
Content-Type: application/outbrain.customer-v2.5+json
<===
HTTP/1.1 200 OK
Content-Type: application/outbrain.customer-v2.5+json
Like a version
– One ?
– Three ?
– Four ?
– One ?
– Three ?
– Four ?
Quiz #3
How many Types do you need ?
GET /customer/1
PUT /customer/1POST /customer/1
Clones ? Not Really !
!= Internal Model
Retrieve != Update != Create
JSON 2 Case Class [Scala]
http://json2caseclass.cleverapps.io/http://json2caseclass.cleverapps.io/
.json
.scala
3
Security
Tip #3
Translation
1
2
WebWeb
Business Logic (API)
4
5
6
Events
Cache
Much more to talk about
* Security
* Internal and Public API
* Rate Limit
* Testing
* Rest maturity model
* Security
* Internal and Public API
* Rate Limit
* Testing
* Rest maturity model
Q ? A !
Thank You

More Related Content

What's hot

WSO2Con EU 2015: Extending and Customizing WSO2 API Manager
WSO2Con EU 2015: Extending and Customizing WSO2 API ManagerWSO2Con EU 2015: Extending and Customizing WSO2 API Manager
WSO2Con EU 2015: Extending and Customizing WSO2 API Manager
WSO2
 
International Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOInternational Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEO
Steve Lock
 
Let's Build a Chatbot
Let's Build a ChatbotLet's Build a Chatbot
Let's Build a Chatbot
Tessa Mero
 
DNN Web API For Mobile
DNN Web API For MobileDNN Web API For Mobile
DNN Web API For Mobile
ashishpd
 
The very demanding client
The very demanding clientThe very demanding client
The very demanding client
Brent W Peterson
 
Magento 2 Best Practice MLUK17
Magento 2 Best Practice MLUK17Magento 2 Best Practice MLUK17
Magento 2 Best Practice MLUK17
Brent W Peterson
 
Build html 5 apps for mobile
Build html 5 apps for mobileBuild html 5 apps for mobile
Build html 5 apps for mobile
João Ferreira
 
Firebase.pptx
Firebase.pptxFirebase.pptx
Firebase.pptx
TanviBudhabaware
 
Firebase.pptx
Firebase.pptxFirebase.pptx
Firebase.pptx
siddhiiAgarwal
 
Angular 8 Services and Dependency Injection - William Liebenberg
Angular 8 Services and Dependency Injection - William LiebenbergAngular 8 Services and Dependency Injection - William Liebenberg
Angular 8 Services and Dependency Injection - William Liebenberg
William Liebenberg
 
Seek and ye shall find - 28.10.2016
Seek and ye shall find - 28.10.2016Seek and ye shall find - 28.10.2016
Seek and ye shall find - 28.10.2016
Sonja Riesterer
 
Developing your personal Twitter web application in 60 minustes
Developing your personal Twitter web application in 60 minustesDeveloping your personal Twitter web application in 60 minustes
Developing your personal Twitter web application in 60 minustesMitesh Sanghvi
 
Quickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLIQuickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLI
Keir Bowden
 
Cloud Based Enterprise Apps using Everlive
Cloud Based Enterprise Apps using EverliveCloud Based Enterprise Apps using Everlive
Cloud Based Enterprise Apps using Everlive
Dhananjay Kumar
 
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
Massimo Bonanni
 
WordPress, Schema & more
WordPress, Schema & moreWordPress, Schema & more
WordPress, Schema & more
Joost de Valk
 
One ASP.NET
One ASP.NETOne ASP.NET

What's hot (19)

WSO2Con EU 2015: Extending and Customizing WSO2 API Manager
WSO2Con EU 2015: Extending and Customizing WSO2 API ManagerWSO2Con EU 2015: Extending and Customizing WSO2 API Manager
WSO2Con EU 2015: Extending and Customizing WSO2 API Manager
 
International Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOInternational Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEO
 
Let's Build a Chatbot
Let's Build a ChatbotLet's Build a Chatbot
Let's Build a Chatbot
 
Getting to know magento
Getting to know magentoGetting to know magento
Getting to know magento
 
DNN Web API For Mobile
DNN Web API For MobileDNN Web API For Mobile
DNN Web API For Mobile
 
The very demanding client
The very demanding clientThe very demanding client
The very demanding client
 
Magento 2 Best Practice MLUK17
Magento 2 Best Practice MLUK17Magento 2 Best Practice MLUK17
Magento 2 Best Practice MLUK17
 
How to define an api
How to define an apiHow to define an api
How to define an api
 
Build html 5 apps for mobile
Build html 5 apps for mobileBuild html 5 apps for mobile
Build html 5 apps for mobile
 
Firebase.pptx
Firebase.pptxFirebase.pptx
Firebase.pptx
 
Firebase.pptx
Firebase.pptxFirebase.pptx
Firebase.pptx
 
Angular 8 Services and Dependency Injection - William Liebenberg
Angular 8 Services and Dependency Injection - William LiebenbergAngular 8 Services and Dependency Injection - William Liebenberg
Angular 8 Services and Dependency Injection - William Liebenberg
 
Seek and ye shall find - 28.10.2016
Seek and ye shall find - 28.10.2016Seek and ye shall find - 28.10.2016
Seek and ye shall find - 28.10.2016
 
Developing your personal Twitter web application in 60 minustes
Developing your personal Twitter web application in 60 minustesDeveloping your personal Twitter web application in 60 minustes
Developing your personal Twitter web application in 60 minustes
 
Quickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLIQuickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLI
 
Cloud Based Enterprise Apps using Everlive
Cloud Based Enterprise Apps using EverliveCloud Based Enterprise Apps using Everlive
Cloud Based Enterprise Apps using Everlive
 
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
 
WordPress, Schema & more
WordPress, Schema & moreWordPress, Schema & more
WordPress, Schema & more
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 

Viewers also liked

Spark war stories taboola
Spark war stories taboolaSpark war stories taboola
Spark war stories taboola
tsliwowicz
 
Spark meetup2 final (Taboola)
Spark meetup2 final (Taboola) Spark meetup2 final (Taboola)
Spark meetup2 final (Taboola)
tsliwowicz
 
Why to use Scala for building Public APIs
Why to use Scala for building Public APIsWhy to use Scala for building Public APIs
Why to use Scala for building Public APIs
Yonatan Maman
 
Taboola - Tips for Marketing Automation Implementation
Taboola - Tips for Marketing Automation ImplementationTaboola - Tips for Marketing Automation Implementation
Taboola - Tips for Marketing Automation Implementation
Marketo
 
From 400 bugs to 0 in 2 weeks Using FindBugs
From 400 bugs to 0 in 2 weeks Using FindBugsFrom 400 bugs to 0 in 2 weeks Using FindBugs
From 400 bugs to 0 in 2 weeks Using FindBugs
Yonatan Maman
 
Itai Hochman - Continuous Deployment in Outbrain - AgileIL11
Itai Hochman - Continuous Deployment in Outbrain - AgileIL11Itai Hochman - Continuous Deployment in Outbrain - AgileIL11
Itai Hochman - Continuous Deployment in Outbrain - AgileIL11AgileSparks
 
B2B CASE STUDIES TABOOLA
B2B CASE STUDIES TABOOLAB2B CASE STUDIES TABOOLA
B2B CASE STUDIES TABOOLA
Ziv Sheinfeld זיו שיינפלד
 
Big data and machine learning / Gil Chamiel
Big data and machine learning / Gil Chamiel   Big data and machine learning / Gil Chamiel
Big data and machine learning / Gil Chamiel
geektimecoil
 
How to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architectureHow to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architecture
Yonatan Maman
 
How to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architectureHow to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architecture
Yonatan Maman
 
MySQL DevOps at Outbrain
MySQL DevOps at OutbrainMySQL DevOps at Outbrain
MySQL DevOps at Outbrain
Shlomi Noach
 
Outbrain-Taboola
Outbrain-TaboolaOutbrain-Taboola
Outbrain-TaboolaMerjerz
 
Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...
Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...
Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...
Taboola
 
Taboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache SparkTaboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache Sparktsliwowicz
 
Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...
Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...
Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...
Taboola
 
Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...
Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...
Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...
DevOpsDays Tel Aviv
 
Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...
Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...
Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...
DevOpsDays Tel Aviv
 
Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016
Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016
Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016
DevOpsDays Tel Aviv
 
BDX 2016 - Tal sliwowicz @ taboola
BDX 2016 - Tal sliwowicz @ taboolaBDX 2016 - Tal sliwowicz @ taboola
BDX 2016 - Tal sliwowicz @ taboola
Ido Shilon
 
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
ScyllaDB
 

Viewers also liked (20)

Spark war stories taboola
Spark war stories taboolaSpark war stories taboola
Spark war stories taboola
 
Spark meetup2 final (Taboola)
Spark meetup2 final (Taboola) Spark meetup2 final (Taboola)
Spark meetup2 final (Taboola)
 
Why to use Scala for building Public APIs
Why to use Scala for building Public APIsWhy to use Scala for building Public APIs
Why to use Scala for building Public APIs
 
Taboola - Tips for Marketing Automation Implementation
Taboola - Tips for Marketing Automation ImplementationTaboola - Tips for Marketing Automation Implementation
Taboola - Tips for Marketing Automation Implementation
 
From 400 bugs to 0 in 2 weeks Using FindBugs
From 400 bugs to 0 in 2 weeks Using FindBugsFrom 400 bugs to 0 in 2 weeks Using FindBugs
From 400 bugs to 0 in 2 weeks Using FindBugs
 
Itai Hochman - Continuous Deployment in Outbrain - AgileIL11
Itai Hochman - Continuous Deployment in Outbrain - AgileIL11Itai Hochman - Continuous Deployment in Outbrain - AgileIL11
Itai Hochman - Continuous Deployment in Outbrain - AgileIL11
 
B2B CASE STUDIES TABOOLA
B2B CASE STUDIES TABOOLAB2B CASE STUDIES TABOOLA
B2B CASE STUDIES TABOOLA
 
Big data and machine learning / Gil Chamiel
Big data and machine learning / Gil Chamiel   Big data and machine learning / Gil Chamiel
Big data and machine learning / Gil Chamiel
 
How to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architectureHow to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architecture
 
How to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architectureHow to slice your monolithic webapp using MicroApps architecture
How to slice your monolithic webapp using MicroApps architecture
 
MySQL DevOps at Outbrain
MySQL DevOps at OutbrainMySQL DevOps at Outbrain
MySQL DevOps at Outbrain
 
Outbrain-Taboola
Outbrain-TaboolaOutbrain-Taboola
Outbrain-Taboola
 
Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...
Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...
Solving the Mobile Mystery: Tips for Achieving Your Content Goals on an Evolv...
 
Taboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache SparkTaboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache Spark
 
Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...
Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...
Guiding the Consumer Through the Funnel: Steps for Email Acquisition and Nurt...
 
Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...
Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...
Clouds, Penguins and One Bad Cable - Alex Balk, Outbrain - DevOpsDays Tel Avi...
 
Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...
Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...
Culture Bottom Up: Culture Driven by Employees - Yaron Amir, Outbrain - DevOp...
 
Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016
Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016
Capacity Challenges at Outbrain - Nir Kriss, Outbrain - DevOpsDays Tel Aviv 2016
 
BDX 2016 - Tal sliwowicz @ taboola
BDX 2016 - Tal sliwowicz @ taboolaBDX 2016 - Tal sliwowicz @ taboola
BDX 2016 - Tal sliwowicz @ taboola
 
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
 

Similar to Developing a Public API -- at Reversim Summit 2015

Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
David Keener
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentesters
Inon Shkedy
 
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloakDevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
Hitachi, Ltd. OSS Solution Center.
 
Создание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружениеСоздание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружение
SQALab
 
Creating Engaging SAP User Interfaces with Adobe Flex
Creating Engaging SAP User Interfaces with Adobe FlexCreating Engaging SAP User Interfaces with Adobe Flex
Creating Engaging SAP User Interfaces with Adobe Flex
Matthias Zeller
 
Don't screw it up! How to build durable API
Don't screw it up! How to build durable API Don't screw it up! How to build durable API
Don't screw it up! How to build durable API
Alessandro Cinelli (cirpo)
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
Channa Ly
 
Moving away from legacy code with BDD
Moving away from legacy code with BDDMoving away from legacy code with BDD
Moving away from legacy code with BDD
Konstantin Kudryashov
 
Transforming IT for Digital : Agility for Digital world
Transforming IT for Digital : Agility for Digital worldTransforming IT for Digital : Agility for Digital world
Transforming IT for Digital : Agility for Digital world
Ekhlaque Bari
 
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & TricksFlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
Flexera
 
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypalapidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
apidays
 
Application Security in ASP.NET Core
Application Security in ASP.NET CoreApplication Security in ASP.NET Core
Application Security in ASP.NET Core
NETUserGroupBern
 
How not to suck at Cyber Security
How not to suck at Cyber SecurityHow not to suck at Cyber Security
How not to suck at Cyber SecurityChris Watts
 
Sign in with Apple
Sign in with Apple Sign in with Apple
Sign in with Apple
Nov Matake
 
White Labeling Your Data Analytics
White Labeling Your Data AnalyticsWhite Labeling Your Data Analytics
White Labeling Your Data Analytics
Poojitha B
 
INTERFACE, by apidays - Lessons learned from implementing our custom ‘Big Da...
INTERFACE, by apidays  - Lessons learned from implementing our custom ‘Big Da...INTERFACE, by apidays  - Lessons learned from implementing our custom ‘Big Da...
INTERFACE, by apidays - Lessons learned from implementing our custom ‘Big Da...
apidays
 
AIR & API
AIR & APIAIR & API
AIR & API
Arie Prasetyo
 
Custom Automation Masterclass – Workshop 2: Email validation using kKckbox
Custom Automation Masterclass – Workshop 2: Email validation using kKckboxCustom Automation Masterclass – Workshop 2: Email validation using kKckbox
Custom Automation Masterclass – Workshop 2: Email validation using kKckbox
JanBogaert8
 
How Secure Is Your Secure API?
How Secure Is Your Secure API?How Secure Is Your Secure API?
How Secure Is Your Secure API?
Colin McGovern
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
connectwebex
 

Similar to Developing a Public API -- at Reversim Summit 2015 (20)

Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentesters
 
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloakDevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
 
Создание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружениеСоздание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружение
 
Creating Engaging SAP User Interfaces with Adobe Flex
Creating Engaging SAP User Interfaces with Adobe FlexCreating Engaging SAP User Interfaces with Adobe Flex
Creating Engaging SAP User Interfaces with Adobe Flex
 
Don't screw it up! How to build durable API
Don't screw it up! How to build durable API Don't screw it up! How to build durable API
Don't screw it up! How to build durable API
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
 
Moving away from legacy code with BDD
Moving away from legacy code with BDDMoving away from legacy code with BDD
Moving away from legacy code with BDD
 
Transforming IT for Digital : Agility for Digital world
Transforming IT for Digital : Agility for Digital worldTransforming IT for Digital : Agility for Digital world
Transforming IT for Digital : Agility for Digital world
 
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & TricksFlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
 
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypalapidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
 
Application Security in ASP.NET Core
Application Security in ASP.NET CoreApplication Security in ASP.NET Core
Application Security in ASP.NET Core
 
How not to suck at Cyber Security
How not to suck at Cyber SecurityHow not to suck at Cyber Security
How not to suck at Cyber Security
 
Sign in with Apple
Sign in with Apple Sign in with Apple
Sign in with Apple
 
White Labeling Your Data Analytics
White Labeling Your Data AnalyticsWhite Labeling Your Data Analytics
White Labeling Your Data Analytics
 
INTERFACE, by apidays - Lessons learned from implementing our custom ‘Big Da...
INTERFACE, by apidays  - Lessons learned from implementing our custom ‘Big Da...INTERFACE, by apidays  - Lessons learned from implementing our custom ‘Big Da...
INTERFACE, by apidays - Lessons learned from implementing our custom ‘Big Da...
 
AIR & API
AIR & APIAIR & API
AIR & API
 
Custom Automation Masterclass – Workshop 2: Email validation using kKckbox
Custom Automation Masterclass – Workshop 2: Email validation using kKckboxCustom Automation Masterclass – Workshop 2: Email validation using kKckbox
Custom Automation Masterclass – Workshop 2: Email validation using kKckbox
 
How Secure Is Your Secure API?
How Secure Is Your Secure API?How Secure Is Your Secure API?
How Secure Is Your Secure API?
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 

Recently uploaded

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 

Recently uploaded (20)

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 

Developing a Public API -- at Reversim Summit 2015