Loading…
This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own

“BUILD STUFF” is a Software Development Conference for people who actually build stuff. We bring world-class speakers, letting them share about the latest developments, trends and innovations, as well as new directions in software development. Since launching in 2012, it’s really caught on quickly.

Recognized by developers from all over Europe, international Software Development Conference Build Stuff’15 Lithuania will feature 3 days (18-20 Nov’15) of conference sessions and 2 days (21-22 Nov’15) of workshops.


View analytic
Wednesday, November 18 • 11:50 - 12:45
(SLIDES) Ali Kheyrollahi @aliostad - 5 Anti-Patterns in designing APIs

Sign up or log in to save this to your schedule and see who's attending!

This talks elaborates on the Client-Server tenet of REST which focuses on separation of concerns between the client and the server. In the first third of the talk, I will talk about what the ideal client and servers are and examples of how their responsibilities. I will touch on how the word Server has lost its meaning of "serving" and the client has been overshadowed by the focus to the API. I will also compare the API to a restaurant and how its menu is the API's REST resources.

In the rest of the talk, I look at some important anti-patterns commonly seen in the industry (each with at least one example):

1) Chauvinist Server: designing the API from server's perspective failing to hide its complexity behind its API (API designed from the server's perspective)
2) Demanding client: client enforcing its special need onto the signature of the API (certain client's limitation becomes server's default behaviour)
3) Transparent Server: server exposing its internal implementation to its clients (server's underlying or private domain bleeds into the public API)
4) Presumptuous Client: The client assuming the role of a server and engage in taking responsibilities that cannot guarantee
5) Assuming Server: Server that assumes the responsibility of tailoring the response based on what it assumes client is (e.g. browser sniffing)

Speakers
avatar for Ali Kheyrollahi

Ali Kheyrollahi

DISTRIBUTED SYSTEMS PRACTITIONER, @aliostad
A distributed systems pragmatist and machine learning enthusiast, Ali is a solution architect building web scale solutions, trying to marry scalability with performance. He loves HTTP, API design and business-modelling DDD-style. An Open Source author and blogger, he tries to give back to the community what he has gratefully taken from it. | | He is a blogger and has co-authored a book. An ex-Medical doctor, he also has a passion for... Read More →



Wednesday November 18, 2015 11:50 - 12:45
3. Lambda


Twitter Feed