INTERFACE, by apidays 2021 - It’s APIs all the way down
June 30, July 1 & 2, 2021
Crossing the low-code and pro-code chasm: a platform approach
Asanka Abeysinghe, Chief Technology Evangelist at WSO2
2. 2019
1997 2003
Architect
2012
VP Solutions
Architecture
2001 2008
Director
Solutions
Architecture
Deputy CTO
Open Source
Distributed Computing
Programmer
COBOL
OLE, OLE
2
COM, COM
+
DCO
M
CORBA
Java Developer
J2E
E
MMS
286-DX4
Eventin
g
FI
X
HL7
CONNECT-health
Global architecture tea
m
500+ customer
s
Champions program
Chief Architect
2005
QS
P
A
R
Trusted advocate
Game hacker
C++ programmer
Age-16
Hedge fund tools
Ref. Architectur
e
Ref. Methodolog
y
Evangelize
2018
Middleware Developer/Architect
Entrepreneur
Chief Technology
Evangelist
2020
Connecting humans & technolog
y
Architecting the transformation
3. Recap from day 1
Digital e xperience
Software
Build vs. buy die
Cloud-native engineering
Developers
6. Code is creative.
// This is the server implementation of the simple RPC scenario.
import ballerina/grpc;
@grpc:ServiceDescriptor {
descriptor: ROOT_DESCRIPT
OR,
descMap: getDescriptorMap()
}
service "HelloWorld" on new grpc:Listener(9090) {
remote function hello(string request) returns string|error {
// Reads the request message and sends a response.
return "Hello " + request;
}
}
// This is the client implementation of the simple RPC scenario.
import ballerina/io;
// Creates a gRPC client to interact with the remote server
.
HelloWorldClient e p = check new("http://localhost:9090");
public function main () returns error? {
// Executes a simple remote call.
string result = check e p->hello("WSO2");
// Prints the received result.
io:println(result);
}
9. Problems with low-code platforms
• For citizen and ad-hoc developers
• One way
• Software development lifecycle support
• Version control
• Testing and debugging
• Integration
• Vendor lock-in
Source: https://www.forbes.com/sites/forbestechcouncil/2021/03/11/optimizing-low-code-tools-for-enterprise-application-development/
10. Make low-code work
• For citizen and ad-hoc developers
• One way
• Software development lifecycle support
• Version control
• Testing and debugging
• Integration
• Vendor lock-in
• Democratizing development
• Graphical and textual parity
• Developer zone
• Single codebase
• Inbuilt or standard tooling
• Ecosystem, extensibility
• Open standards