04 Mar

ABN Techweek – What are the API architectural styles?

THE DIAGRAM BELOW SHOWS THE COMMON API ARCHITECTURAL STYLES IN ONE PICTURE.

🔹 1. REST

PROPOSED IN 2000, REST IS THE MOST USED STYLE. IT IS OFTEN USED BETWEEN FRONT-END CLIENTS AND BACK-END SERVICES. IT IS COMPLIANT WITH 6 ARCHITECTURAL CONSTRAINTS. THE PAYLOAD FORMAT CAN BE JSON, XML, HTML, OR PLAIN TEXT.

🔹 2. GRAPHQL

GRAPHQL WAS PROPOSED IN 2015 BY META. IT PROVIDES A SCHEMA AND TYPE SYSTEM, SUITABLE FOR COMPLEX SYSTEMS WHERE THE RELATIONSHIPS BETWEEN ENTITIES ARE GRAPH-LIKE. FOR EXAMPLE, IN THE DIAGRAM BELOW, GRAPHQL CAN RETRIEVE USER AND ORDER INFORMATION IN ONE CALL, WHILE IN REST THIS NEEDS MULTIPLE CALLS.

GRAPHQL IS NOT A REPLACEMENT FOR REST. IT CAN BE BUILT UPON EXISTING REST SERVICES.

🔹 3. WEB SOCKET

WEB SOCKET IS A PROTOCOL THAT PROVIDES FULL-DUPLEX COMMUNICATIONS OVER TCP. THE CLIENTS ESTABLISH WEB SOCKETS TO RECEIVE REAL-TIME UPDATES FROM THE BACK-END SERVICES. UNLIKE REST, WHICH ALWAYS “PULLS” DATA, WEB SOCKET ENABLES DATA TO BE “PUSHED”.

🔹 4. WEBHOOK

WEBHOOKS ARE USUALLY USED BY THIRD-PARTY ASYNCHRONOUS API CALLS. IN THE DIAGRAM BELOW, FOR EXAMPLE, WE USE STRIPE OR PAYPAL FOR PAYMENT CHANNELS AND REGISTER A WEBHOOK FOR PAYMENT RESULTS. WHEN A THIRD-PARTY PAYMENT SERVICE IS DONE, IT NOTIFIES THE PAYMENT SERVICE IF THE PAYMENT IS SUCCESSFUL OR FAILED. WEBHOOK CALLS ARE USUALLY PART OF THE SYSTEM’S STATE MACHINE.

🔹 5. GRPC

RELEASED IN 2016, GRPC IS USED FOR COMMUNICATIONS AMONG MICROSERVICES. GRPC LIBRARY HANDLES ENCODING/DECODING AND DATA TRANSMISSION.

🔹 6. SOAP

SOAP STANDS FOR SIMPLE OBJECT ACCESS PROTOCOL. ITS PAYLOAD IS XML ONLY, SUITABLE FOR COMMUNICATIONS BETWEEN INTERNAL SYSTEMS.

AbnAsia.org Software. Faster. Better. More Reliable. +84945924877 (Asia# Mobile, WhatsApp, Telegram, Viber, Zalo); +16699996606 (US# Mobile, WhatsApp, Telegram) [email protected]

Call Now Button