Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Software Integration 101
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Raka
November 26, 2023
12
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Software Integration 101
My slides for DevFest Bali 2023
Raka
November 26, 2023
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
Why Our Code Smells
bkeepers
PRO
340
58k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Accessibility Awareness
sabderemane
1
250
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Deep Space Network (abreviated)
tonyrice
0
370
Navigating Team Friction
lara
192
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
The agentic SEO stack - context over prompts
schlessera
0
970
Abbi's Birthday
coloredviolet
4
10k
Transcript
Software Integration 101 Made Raka Software Engineer @ GovTech Procurement
Why this matters? 2 2
3 3
How does the integration take part? 4 4
5 5
6 6
7 7
Ensuring the integration reliable and secure 8 8
9 9
API contract Static-typed and documented Backward Compatible (BC) 10 10
API doc - Endpoint 11 11
API doc - Object contract (1) Example 12 12
API doc - Object contract (2) 13 13
API doc - Object contract (3) 14 14
API doc - API response example (4) 15 15
API doc - API response example (5) 16 16
Backward Compatibility (BC) BC is important since most software product
will be improved continously to align with business goals while the business never stops 17 17
BC - current API contract 18 18
BC - new API contract 19 19
20 20
BC in inter-service communication(1) 21 21
BC - Client is deployed in multiple machine 22 22
API doc tooling with Swagger 23 23
API contract in Swagger 24 24
API contract in Swagger 25 25
Code to generate swagger doc 26 26
Integration Styles 1. Synchronous Communication (RPC, HTTP call) 2. Asynchronous
Communication (Messaging) 27 27
Sync communication McDonald food restaurant Source : Tripadvisor 28 28
Async communication (1) McDonald self-service 29 29
Async communication (2) 30 30
Async comm - benefits 1. Good for long-running and heavy
process, able to reduce latency 2. Able to control the traffic load, to protect particular systems from being overwhelmed, i.e database, external API 31 31
Async - event contract 32 32
Event-driven pattern Notification event State changes event Generic event contract
33 33
Notification pattern 34 34
Generic event contract Adopting client-less principle Avoid custom event contract
for particular consumer 35 35
State changes pattern 36 36
Patterns 1. Error handling 2. Throttle 3. Idempotency 37 37
Error handling as API producer (1) 38 38
Error handling as API producer (2) Error code Desc 101
Entity couldn't be found 102 Unknown Error 103 Invalid request 401 Coupon is not eligible for the order 39 39
Error handling as API consumer 40 40
Throttle (or Rate-limit) 41 41
Idempotency 42 42
Security Infra-level, i.e VPC Application-level, i.e JWT, basic auth, oauth2
etc 43 43
Monitoring Error rate (5xx, 4xx) Latency Throughput 44 44
Monitoring Tools Centralized logs Instrumentation tools, i.e Datadog, Prometheus 45
45
Thanks 46 46