Enviar búsqueda
Cargar
How to design good APIs
•
0 recomendaciones
•
493 vistas
André Vieira
Seguir
This is the presentation I did with my colleague Nuno Baptista for NextStep 2012
Leer menos
Leer más
Desarrollo personal
Tecnología
Empresariales
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 18
Recomendados
IBM i and digital transformation
IBM i and digital transformation
Gerard Suren
2829 liberty
2829 liberty
nick_garrod
CrossIdeas Roadshow IBM IAM Governance Andrea Rossi
CrossIdeas Roadshow IBM IAM Governance Andrea Rossi
IBM Sverige
CrossIdeas Roadshow IAM Governance IBM Marco Venuti
CrossIdeas Roadshow IAM Governance IBM Marco Venuti
IBM Sverige
Makalah aulia 1
Makalah aulia 1
elfachruz
Campus Connections (Fall 2014)
Campus Connections (Fall 2014)
Robb King
English work
English work
Bruno Costa
Родительское собрание
Родительское собрание
rivoi
Recomendados
IBM i and digital transformation
IBM i and digital transformation
Gerard Suren
2829 liberty
2829 liberty
nick_garrod
CrossIdeas Roadshow IBM IAM Governance Andrea Rossi
CrossIdeas Roadshow IBM IAM Governance Andrea Rossi
IBM Sverige
CrossIdeas Roadshow IAM Governance IBM Marco Venuti
CrossIdeas Roadshow IAM Governance IBM Marco Venuti
IBM Sverige
Makalah aulia 1
Makalah aulia 1
elfachruz
Campus Connections (Fall 2014)
Campus Connections (Fall 2014)
Robb King
English work
English work
Bruno Costa
Родительское собрание
Родительское собрание
rivoi
цели и программа протестного движения4
цели и программа протестного движения4
Primeries
Шашки
Шашки
rivoi
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Primeries
Kakovy tseli protestnogo dvizheniya?
Kakovy tseli protestnogo dvizheniya?
Primeries
Importance of staffing
Importance of staffing
Ashok Mahajan
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Primeries
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Primeries
Цели и программа протестного движения
Цели и программа протестного движения
Primeries
Презентация шашечный турнир
Презентация шашечный турнир
rivoi
Kisah pohon epal dgn budak lelaki
Kisah pohon epal dgn budak lelaki
Japri Kasran
Julius caesar
Julius caesar
Stefano1995
AYAN SAMADDAR - RESUME
AYAN SAMADDAR - RESUME
Ayan Samaddar
Smart data onboarding webinar oct 10 2013
Smart data onboarding webinar oct 10 2013
Marty Loughlin
Symantec I3 Presentation
Symantec I3 Presentation
sebastian.guerrero
Edwin Vd Sanden Composite Applications For Users
Edwin Vd Sanden Composite Applications For Users
SOA Symposium
Jobo 1 ims_tm_value_2012_q2
Jobo 1 ims_tm_value_2012_q2
Helene Lyon
Cloud Computing, Business Models, Geilo April 2009
Cloud Computing, Business Models, Geilo April 2009
Francis D'Silva
With over 1,000 business software applications available, how do you select t...
With over 1,000 business software applications available, how do you select t...
Softworld
Motadata - Unified Product Suite for IT Operations and Big Data Analytics
Motadata - Unified Product Suite for IT Operations and Big Data Analytics
novsela
Microsoft X
Microsoft X
Credera
JavaOne2012 _linkeddata_oslc
JavaOne2012 _linkeddata_oslc
Steve Speicher
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
Carl Tyler
Más contenido relacionado
Destacado
цели и программа протестного движения4
цели и программа протестного движения4
Primeries
Шашки
Шашки
rivoi
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Primeries
Kakovy tseli protestnogo dvizheniya?
Kakovy tseli protestnogo dvizheniya?
Primeries
Importance of staffing
Importance of staffing
Ashok Mahajan
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Primeries
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Primeries
Цели и программа протестного движения
Цели и программа протестного движения
Primeries
Презентация шашечный турнир
Презентация шашечный турнир
rivoi
Kisah pohon epal dgn budak lelaki
Kisah pohon epal dgn budak lelaki
Japri Kasran
Julius caesar
Julius caesar
Stefano1995
AYAN SAMADDAR - RESUME
AYAN SAMADDAR - RESUME
Ayan Samaddar
Destacado
(12)
цели и программа протестного движения4
цели и программа протестного движения4
Шашки
Шашки
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Kakovy tseli protestnogo dvizheniya?
Kakovy tseli protestnogo dvizheniya?
Importance of staffing
Importance of staffing
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Tseli i programma protestnogo dvizhenia
Цели и программа протестного движения
Цели и программа протестного движения
Презентация шашечный турнир
Презентация шашечный турнир
Kisah pohon epal dgn budak lelaki
Kisah pohon epal dgn budak lelaki
Julius caesar
Julius caesar
AYAN SAMADDAR - RESUME
AYAN SAMADDAR - RESUME
Similar a How to design good APIs
Smart data onboarding webinar oct 10 2013
Smart data onboarding webinar oct 10 2013
Marty Loughlin
Symantec I3 Presentation
Symantec I3 Presentation
sebastian.guerrero
Edwin Vd Sanden Composite Applications For Users
Edwin Vd Sanden Composite Applications For Users
SOA Symposium
Jobo 1 ims_tm_value_2012_q2
Jobo 1 ims_tm_value_2012_q2
Helene Lyon
Cloud Computing, Business Models, Geilo April 2009
Cloud Computing, Business Models, Geilo April 2009
Francis D'Silva
With over 1,000 business software applications available, how do you select t...
With over 1,000 business software applications available, how do you select t...
Softworld
Motadata - Unified Product Suite for IT Operations and Big Data Analytics
Motadata - Unified Product Suite for IT Operations and Big Data Analytics
novsela
Microsoft X
Microsoft X
Credera
JavaOne2012 _linkeddata_oslc
JavaOne2012 _linkeddata_oslc
Steve Speicher
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
Carl Tyler
How Boeing is Using AWS to Transform Commercial Aviation (ENT213) | AWS re:In...
How Boeing is Using AWS to Transform Commercial Aviation (ENT213) | AWS re:In...
Amazon Web Services
Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data Management
Inside Analysis
Are Your Applications Delivering What Your End-Users Expect?
Are Your Applications Delivering What Your End-Users Expect?
Compuware APM
Maximo differentiators
Maximo differentiators
Projetech
Pervasive PLM
Pervasive PLM
Aras
Apptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptx
Khazret Sapenov
Leveraging Identity to Manage Change and Complexity
Leveraging Identity to Manage Change and Complexity
NetIQ
zEnterpise integration of Linux and traditional workload
zEnterpise integration of Linux and traditional workload
IBM India Smarter Computing
Monitoring of Web Applications and GlassFish for Performance and Availability...
Monitoring of Web Applications and GlassFish for Performance and Availability...
SL Corporation
Composite Applications For Users
Composite Applications For Users
Michiel.Kemperman
Similar a How to design good APIs
(20)
Smart data onboarding webinar oct 10 2013
Smart data onboarding webinar oct 10 2013
Symantec I3 Presentation
Symantec I3 Presentation
Edwin Vd Sanden Composite Applications For Users
Edwin Vd Sanden Composite Applications For Users
Jobo 1 ims_tm_value_2012_q2
Jobo 1 ims_tm_value_2012_q2
Cloud Computing, Business Models, Geilo April 2009
Cloud Computing, Business Models, Geilo April 2009
With over 1,000 business software applications available, how do you select t...
With over 1,000 business software applications available, how do you select t...
Motadata - Unified Product Suite for IT Operations and Big Data Analytics
Motadata - Unified Product Suite for IT Operations and Big Data Analytics
Microsoft X
Microsoft X
JavaOne2012 _linkeddata_oslc
JavaOne2012 _linkeddata_oslc
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
How Boeing is Using AWS to Transform Commercial Aviation (ENT213) | AWS re:In...
How Boeing is Using AWS to Transform Commercial Aviation (ENT213) | AWS re:In...
Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data Management
Are Your Applications Delivering What Your End-Users Expect?
Are Your Applications Delivering What Your End-Users Expect?
Maximo differentiators
Maximo differentiators
Pervasive PLM
Pervasive PLM
Apptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptx
Leveraging Identity to Manage Change and Complexity
Leveraging Identity to Manage Change and Complexity
zEnterpise integration of Linux and traditional workload
zEnterpise integration of Linux and traditional workload
Monitoring of Web Applications and GlassFish for Performance and Availability...
Monitoring of Web Applications and GlassFish for Performance and Availability...
Composite Applications For Users
Composite Applications For Users
Último
南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证
kbdhl05e
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
Delhi Escorts Service
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan
Call Girls in Govindpuri Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Govindpuri Delhi 💯Call Us 🔝8264348440🔝
soniya singh
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
dollysharma2066
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
9953056974 Low Rate Call Girls In Saket, Delhi NCR
(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)
oannq
Call Girls In Dwarka Sub City ☎️7838079806 ✅ 💯Call Girls In Delhi
Call Girls In Dwarka Sub City ☎️7838079806 ✅ 💯Call Girls In Delhi
SoniyaSingh
E J Waggoner against Kellogg's Pantheism 8.pptx
E J Waggoner against Kellogg's Pantheism 8.pptx
JackieSparrow3
Inspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptx
Shubham Rawat
西伦敦大学毕业证学位证成绩单-怎么样做
西伦敦大学毕业证学位证成绩单-怎么样做
j5bzwet6
办理西悉尼大学毕业证成绩单、制作假文凭
办理西悉尼大学毕业证成绩单、制作假文凭
o8wvnojp
Último
(12)
南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Call Girls in Govindpuri Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Govindpuri Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)
Call Girls In Dwarka Sub City ☎️7838079806 ✅ 💯Call Girls In Delhi
Call Girls In Dwarka Sub City ☎️7838079806 ✅ 💯Call Girls In Delhi
E J Waggoner against Kellogg's Pantheism 8.pptx
E J Waggoner against Kellogg's Pantheism 8.pptx
Inspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptx
西伦敦大学毕业证学位证成绩单-怎么样做
西伦敦大学毕业证学位证成绩单-怎么样做
办理西悉尼大学毕业证成绩单、制作假文凭
办理西悉尼大学毕业证成绩单、制作假文凭
How to design good APIs
1.
How to Design
a Good API? 2012-05-11 www.outsystems.com Page 1 © 2012 OutSystems – all rights reserved
2.
What is a
Good API? Hard to Leads to misuse readable code Stable Easy to learn Complete and memorize www.outsystems.com Page 2 © 2012 OutSystems – all rights reserved
3.
What to consider? User
Stories Logging Naming Versioning Granularity Scalablility Error Handling Security www.outsystems.com Page 3 © 2012 OutSystems – all rights reserved
4.
User Stories • Who
will use the API? • How will they use it? • Where will they use it? • Put yourself in the developer’s shoes! Naming & Type • Meaningful & Readable • Consistent • Strongly typed www.outsystems.com Page 4 © 2012 OutSystems – all rights reserved
5.
Granularity
GetOrderDetail() CalculateTotalAmount() GetEmployeeName() 3 x GetOrderLine() www.outsystems.com Page 5 © 2012 OutSystems – all rights reserved
6.
Error Handling www.outsystems.com
Page 6 © 2012 OutSystems – all rights reserved
7.
Logging • Measure Usage •
Performance Monitoring • Troubleshoot • Service Center helps you out! Versioning • Go public means you have to version • No usage = deprecate old version • It’s costly so avoid it! www.outsystems.com Page 7 © 2012 OutSystems – all rights reserved
8.
Scalability • Use Partial
Response – Pagination – Filtering • agileplatform™ already scales! Security • Control access to API for internal • HTTPS/SSL for Public APIs • Token-based Authentication www.outsystems.com Page 8 © 2012 OutSystems – all rights reserved
9.
API is a
Product! www.outsystems.com Page 9 © 2012 OutSystems – all rights reserved
10.
Scenarios www.outsystems.com
Page 10 © 2012 OutSystems – all rights reserved
11.
Master data
Most companies want to centralize their master data. - Nouns and Verbs Naming Applications Composite Directory Performance - Read-only Entities Security Management -Throw Exception Error handling Core Business Components - TrueChange™ Versioning Employees www.outsystems.com Page 11 © 2012 OutSystems – all rights reserved
12.
Information Provider
Airport management company provides real time flights’ information to their clients 3rd Parties - Lifetime Token Security - Custom Audit Logging agileplatform™ Flight - Partial Response Scalablility Services - API Document Documentation Airports Flights - New WebService Versioning www.outsystems.com Page 12 © 2012 OutSystems – all rights reserved
13.
3-Tier Layer
Bank company wants a CRM application with a SOA approach. Security is critical. - Int. Auth, Int. Net. Security UI Layer 1 CRM HomeBank - Resource based User Stories Business Layer Account Customer - Cache Scalablility Services Services 2 - OutDoc Documentation Accounts Customers www.outsystems.com Page 13 © 2012 OutSystems – all rights reserved
14.
Extranet
Insurance company wants to scale out claim management through partners. Small Large Partners - Use reUse Granularity Partners - Return error Error Handling WebPortal - Application Log Logging agileplatform™ Claim Services - HTTPS + S.Token Security Claim Management www.outsystems.com Page 14 © 2012 OutSystems – all rights reserved
15.
What is a
Good API? Hard to Leads to misuse readable code Stable Easy to learn Complete and memorize www.outsystems.com Page 15 © 2012 OutSystems – all rights reserved
16.
Steve Jobs
17.
www.outsystems.com
Page 17 © 2012 OutSystems – all rights reserved
18.
andre.vieira@outsystems.com
nuno.baptista@outsystems.com www.outsystems.com Page 18 © 2012 OutSystems – all rights reserved