GMH-7709 Centralizing Business Logic on the Server: How We Designed Presentation APIs | Devoxx

Devoxx Belgium 2018
from Monday 12 November to Friday 16 November 2018.

   Centralizing Business Logic on the Server: How We Designed Presentation APIs


Methodology & Culture
Methodology & Culture
Beginner & novice level
Room 6 Thursday from 13:20 til 13:35

One of the challenges in engineering a software product today is to minimize the amount of code that needs to be duplicated to support the app on multiple platforms. This challenge is partly due to APIs that expose data as opposed to business content. With data-driven APIs the app must embed large chunks of the business logic. First, it must transform the data into content to display. Second, it must transform it back into data to be processed by the API. While solutions exist to share this transformation logic between multiple app platforms, we decided to host this logic on the server.

This is achieved by exposing a presentation API containing use case specific endpoints. Its responses have the content matching the needs of what is displayed by the app. This decision of building the product around a presentation API has served us well in this project. Throughout the life of our project, we have had the opportunity to exploit the presentation layer in the backend. This allowed us to iterate faster with the product by displaying different things without having to ship any new code to the front end, while reducing the apps development time.

APIs   mobile app   data representation  
Subscribe to Devoxx on YouTube
Antoine Tollenaere
Antoine Tollenaere
From Blablacar

Software Engineer with 10 years of experience. I own two masters in computer science, from a french and a german university. I started my career working in the enterprise software division at HP, and then I moved to consumer apps. I worked for a few years at Twitter solving scalability issues in the infrastructure team. I am now working at Blablacar on the backend of a carpooling app for daily commute.

Ricardo Lage
Ricardo Lage
From BlaBlaCar

Ricardo Lage is a software engineer with over 5 years of experience working on mobile apps. Over these years he has worked on his own apps, at Citymapper and currently at BlaBlaCar, where he is leading the Android development of a new service.

Make sure to download the Android or iOS mobile schedule.