apis - the pretty face of your microservice

19
APIs THE PRETTY FACE OF YOUR MICROSERVICE Andrea Stubbe Product Lead YaaS.io, SAP Hybris @andreastubbe

Upload: sap-hybris

Post on 16-Apr-2017

698 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APIs - The Pretty Face of Your Microservice

APIsTHE PRETTY FACE OF YOUR MICROSERVICEAndrea StubbeProduct Lead YaaS.io, SAP Hybris

@andreastubbe

Page 2: APIs - The Pretty Face of Your Microservice

YAAS.IO IS A MARKETPLACE FOR MICROSERVICES, EACH HAVING AN API

Page 3: APIs - The Pretty Face of Your Microservice

PROTO-PERSONAPROTO-PERSONA

LIKES NEW STUFF. BECAUSE IT’S NEW

WANTS TO TRY IT OUT, NOW! IN THE

MIDDLE OF THE NIGHT.

HAS HIS OWN IDEAS.

WANTS TO BUILD, NOT ONLY CONSUME.

DO IT FIRST, READ THE MANUAL LATER, INVENT SOMETHING ON THE WAY.

Page 4: APIs - The Pretty Face of Your Microservice

WHY IS GOOD UX IMPORTANT TO US

THE NEXT API IS JUST A CLICK AWAY!

IF YOU LIKE IT, YOU TALK ABOUT IT

FUNCTIONALITY SECURITY, PERFORMANCE – IT’S ALL THERE

THE FIRST IMPRESSION COUNTS

DO IT FIRST, READ THE MANUAL LATER, INVENT SOMETHING ON THE WAY.

WANTS TO TRY IT OUT, NOW! IN THE MIDDLE OF THE NIGHT

Page 5: APIs - The Pretty Face of Your Microservice

LOOK AT APIs AS A USER INTERFACE

Page 6: APIs - The Pretty Face of Your Microservice

APITHIS IS A USER INTERFACE

Page 7: APIs - The Pretty Face of Your Microservice

APPLY THESE NINE USER EXPERIENCE GUIDELINES TO MAKE YOUR APIS BETTER THAN EVER BEFORE!

Page 8: APIs - The Pretty Face of Your Microservice

#1 START WITH A REALLY GOOD IDEA

A FANCY API WON’T RESCUE

A USELESS MICROSERVICE

DON’T BE AFRAID TO THROW THINGS AWAY

Page 9: APIs - The Pretty Face of Your Microservice

#2 MATCH YOUR SYSTEM TO THE REALWORLD

EVERYBODY KNOWS THE

REAL WORLD

USE CONCEPTS THEY CAN RELATE TO

USE METHAPHORS WHEN THERE’S NO

REPRESENTATION IN THE WORLD

APPLY DOMAIN DRIVEN DESIGN

Page 10: APIs - The Pretty Face of Your Microservice

#3 DON’T REINVENT THE WHEEL

FOLLOW DE-FACTO

STANDARDS

FAMILIAR IS BETTER THAN ELEGANT

SHARE PATTERNS, TRAITS AND SHEMAS

Page 11: APIs - The Pretty Face of Your Microservice

#4 INTERNAL CONSISTENCY

THE SAME ACTION SHOULD

WORK THE SAME WAY. ALWAYS.

USE CONSISTENT ERROR CODES AND MESSAGES

HAVE NAMING GUIDELINES

USE A PATTERN LIBRARY

Page 12: APIs - The Pretty Face of Your Microservice

#5 BREAK THE RULES

WHEN REST AND USABILITY

DISAGREE, CHOOSE USABILITY

BREAK RULES ONLY AFTER YOU MASTERED THEM

BREAK RULES CONSISTENTLY

Page 13: APIs - The Pretty Face of Your Microservice

#6 HELP AND DOCUMENTATION

ENSURE REALITY IS THE SAME AS THE DOCUMENTATION

MAKE PEOPLE READ YOUR DOCUMENTATION

USE CORRECT RESPONSE CODES

ERROR MESSAGES EXPLAIN HOW TO RECOVER

Page 14: APIs - The Pretty Face of Your Microservice

#7 PREVENT ERRORS

MAKE IT VERY HARD TO MAKE

MISTAKES

CLEARLY STATE WHAT IS REQUIRED

PUT VALIDATION RULES IN THE API

DEFNITION

BE TOLERANT WHEN READING INPUT

Page 15: APIs - The Pretty Face of Your Microservice

#8 MINIMALIST DESIGN

LESS IS MORE. DON’T OVERLOAD

THE API

ONLY ASK FOR DATA THAT IS REALLY NEEDED

AVOID REDUNDANCIES

USE REFERENCES INSTEAD OF THE FULL DATA SET

Page 16: APIs - The Pretty Face of Your Microservice

#9 NEVER JUSTIFY YOUR DESIGN

IF YOUR USERS DON’T LIKE IT, THEY

WON’T USE IT.

IF THEY DON’T USE IT, YOUR API FAILED

DEFINE YOUR API TOGETHER WITH ITS CONSUMERS

Page 17: APIs - The Pretty Face of Your Microservice

HOW TO MAKE YOUR APIS PRETTY

#1 START WITH A REALLY GOOD IDEA#2 MATCH YOUR SYSTEM TO THE REAL WORLD#3 DON’T REINVENT THE WHEEL#4 INTERNAL CONSISTENCY#5 BREAK THE RULES#6 HELP AND DOCUMENTATION#7 PREVENT ERRORS#8 MINIMALIST DESIGN#9 DON’T JUSTIFY YOUR DESIGN

Page 18: APIs - The Pretty Face of Your Microservice

THESE NINE USER EXPERIENCE GUIDELINES WILL MAKE YOUR APIS BETTER THAN EVER BEFOREIF YOU TAKE CARE THEY ARE UNDERSTOOD AND LIKED

Page 19: APIs - The Pretty Face of Your Microservice

YAAS.IO