This document discusses the challenges of integrating low-code/no-code platforms with external APIs and proposes some patterns and solutions. It notes that real applications often need to connect to APIs for transactions, data, notifications etc. Directly connecting low-code products to many different APIs can create a poor developer experience. The document recommends using a facade pattern to abstract the APIs and define a single interface. It also suggests defensive coding practices like validation, retries and circuit breakers when working with unpredictable external APIs. Fully leveraging serverless architectures and functions is presented as enabling true DevOps for low-code products by handling data, APIs and events without requiring complex backend code.
4. What is
low-code / no-code
Accelerate app delivery
by reducing
the hand-coding
low-code no-code
5. A word about me
Alex-Adrien
AUGER
SOLUTIONS ARCHITECT
@AlexAdrienAuger
/in/alex-adrien
Great tech Great speed
What I bring
6. What’s the issue
with low-code / no-code Real apps have APIs
OPEN BANKING HEALTHCARE
TELECOMMUNICATIONS GOV
Transactions
management
Payment
Health data computing
Clinical results
Messages (SMS,
emails, …)
Notifications
Tax reports deposit
Rights management
9. How to plug low-code products
to APIs with a great DevX?
10. APIs are tough to plug into
as they are not uniform
low-code product
SOAP API Flat file
GraphQL
API
REST API
Low-code
Permissions
REST API
File
bucket
Bank
SOAP API
GET REPORT FILE
RESPONSE
ASK FOR
TRANSFER PERMISSION
RESPONSE
ORDER BANK TRANSFER
RESPONSE
1
11. I looked at design patterns
for help: the facade pattern
low-code product
SOAP API Flat file
GraphQL
API
REST API
Facade
Step 1
Define your need
Step 3
Write your facade
by writing business
logic code
01
03
Step 2
Develop first-level
API connectors
02
“I want to order a
transfer for my user,
but I need to check if it
is possible first”
- Download report file
- Make sure transfer is possible
- Ask permissions
- If permission granted: send order
To develop:
get FTP CSV file
GET /permission
<soapenv:Transfer />
1
12. The facade pattern drastically improves
the DevX of plugging into an API
Developer
Before
Low-code
API
API
API
API
After
Low-code
Dedicated
API
API
API
API
API
1
13. APIs are also unpredictable
API 1
API 2
API 3
Your app
Time
2
14. Defensive design is the key to a robust implementation of APIs
Data
validation
Retry
Dead letter
queue
Circuit
breaker
Data
validation
Data
validation
{
first_name: “Alex-Adrien”,
last_name: “Auger”
}
{
first_name: “Alex-Adrien”,
last_name: 1
}
Proceed
Connect
Max attempts reached ?
Wait
Abort
Down Half-open
Healthy
Request Request Request Request
Request Request Request
API requests
Dead letter queue
2
15. We clarified that in real life, we need
code. If we need code, we need a bunch
of other things.
low-code products
API
Cloud
deployment
Code
review
Tests
3
16. Serverless functions is the
north star of true DevOps
Store data
in DynamoDB
Expose API over
HTTPS on API Gateway
Trigger API on
CloudWatch Events
API code
is stored in
S3
Lambda
Serverless
3
17. Overall solution
Front-end
User action API
Services
Database
Data enrichment API
low-code
app
User action API :
Embed a link in the app
Add user features that require operations outside
of the low-code scope
How ?
User triggers the API
by clicking on the link
Data enrichment API :
Perform scheduled actions
Manipulate the low-code app data using
inputs from other services API
How ?
Trigger the API at
scheduled time
React to data manipulation
How ?
Trigger the API when an
event occurs