SlideShare a Scribd company logo
INTEGRATION SUMMIT 2019
The Reconstitution of Middleware with APIs
Story of a Middleware Developer
Asanka Abeysinghe
Deputy CTO & VP, Architecture - CTO Office
WSO2, Inc
February 1997
First day at work
picture credit: https://www.richard-banks.org
First weeke at work
ISAM
DCom INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS rec-key1
ALTERNATE RECORD KEY IS rec-key2
March 1997
picture credit: http://www.levisstadium.com/getting-here/
picture credit: https://www.ronniestewartracing.com/events/2016/4/2/levi-stadium-supercross-race
picture credit: https://www.ninersnation.com
Platform to perform
Connecting an experience
Colin Kaepernick Eli Tomac Chris Martin
Middleware is computer software that provides services
to software applications beyond those available from the operating
system. It can be described as "software glue”.
Middleware makes it easier for software developers to implement
communication and input/output, so they can focus on the
specific purpose of their application.
Type of Middleware
Message Oriented Object Oriented
Remote Procedure Call Database
Transaction Portals
Embedded Content-centric
Same power in different forms
picture credit: https://www.thetimes.co.uk/article/asterix-exhibition-the-indomitable-gaul-who-restored-frances-postwar-pride-wpfcfqv2s
Fall 2008
Modular Middleware
May 2019
2019
1997 2003
Architect
2012
VP Solutions
Architecture
2001 2008
Director
Solutions
Architecture
Deputy CTO
Open Source
Distributed Computing
Programmer
COBOL
OLE, OLE2
COM, COM+
DCOM
CORBA
Java Developer
J2EE
MMS
286-DX4
Eventing
FIX
HL7
Committer
CONNECT-health
Global architecture team
500+ customers
Champions program
Chief
Architect2005
QSP
AR
Trusted advocate
Game hacker
C++ programmer
Age-16
Hedge fund tools
Ref. Architecture
Ref. Methodology
Evangelize
2018
Middleware Developer
In the long run
Middleware is disappearing
- in to code (simpler constructs, more power)
- in to infrastructure (scaling, management,
observability)
People
Full Stack Developer
Connected roles
Architecture Development Deployment
Architect Developer DevOps
Process
Step 1 Step 1
Step 1
Step 2 Step 2
Step 2
… …
…
Step n Step p
Step q
SGMM
SOA
Governance
Planning
Assessment
SOA
Governance
Capabilities
Heat Map
SOA
Governance
Transition
Plan
SOA
Governance
Assets Techniques, Checklist,
Guidance, Examples
Governance Process
Models
Complex processes
inturupt flow
App Logic
. . .
Scaling HA Resilience Observability
Scaling HA Resilience Observability
HA Resilience Observability
Compute Network Storage
Ops Infrastructure
Centralized

Dev Org
Middleware 

& Integration

CoE Teams
Ops

Team
HA Resilience ObservabilityScaling
INTEGRATION
HA Resilience ObservabilityScaling
MESSAGING
HA Resilience ObservabilityScaling
DATA
HA Resilience ObservabilityScaling
SECURITY
App LogicApp Logic
App 1 App 2 App (n)
Fast Waterfall
“Wagile”
Agile - Developer Flow
Agile Flow for
Development Teams
picture credit: https://www.formula1.com/en/teams/Red-Bull.html
Self-Organized teams
Technology
The wrong
technology stack
interrupts flow
COMPOSABLE ENTERPRISE WITH CLOUD NATIVE
Autonomous releases, CI/CD, self-organization, change-control authority
App (n)
App
Microservice
INTEGRATION
MESSAGING
DATA
SECURITY
App 1
INTEGRATION
MESSAGING
DATA
SECURITY
Microservices
App 2
App
Miniservices
INTEGRATION
MESSAGING
DATA
SECURITY
APIs
Self-

Organizing

Dev Teams
. . .
Ops

Team
Event-Based Hybrid Integration Platform
Scaling | HA | Resilience | Observability
Orchestration & High-Performance Data Store
Ops Infrastructure
Architecture Blocks Enable the Composable Enterprise
App Logic
. . .
Scaling HA Resilience Observability
Scaling HA Resilience Observability
HA Resilience Observability
Compute Network Storage
Ops Infrastructure
Centralized

Dev Org
Middleware 

& Integration

CoE Teams
Ops

Team
LAYERED ENTERPRISE WITH CENTER OF EXCELLENCE
Coordinated releases, organizational rigor, centralized change control
HA Resilience ObservabilityScaling
INTEGRATION
HA Resilience ObservabilityScaling
MESSAGING
HA Resilience ObservabilityScaling
DATA
HA Resilience ObservabilityScaling
SECURITY
App LogicApp Logic
App 1 App 2 App (n)
DevOps
Control Plane:
- Signaling of the network
- Makes decisions about the traffic flow
Data Plane:
- Forwards traffic between hops
- Takes data packets
picture credit: https://www.flickr.com/photos/teflon/
Management Plane:
- Configure
- Observeabiltty, Monitor
Intra and Inter communication
Architecture Blocks Architecture Blocks
Intra and Inter communication
Local-mesh
Global-mesh
Architecture Blocks Architecture Blocks
API-centric Architecture
Architecture Block Architecture Block
API-centric Architecture Pull APIs
- RESTful HTTP, gRPC
Push APIs
- Events JMS, AMQP, SMTP
- Streams Kafka, MQTT
Architecture Block Architecture Block
In the long run
Middleware is disappearing
- in to code
- in to infrastructure
Pragmatic Approach
Ballerina: middleware embedded into the code
Cellery: middleware embedded into the infrastructure
Cell-based Architecture: decentralized architecture
Agile Methodology: increase the flow efficiency
A cloud-native programming language for microservices and APIs
- A compiled, transactional, statically and
strongly typed programming language with
textual and graphical syntaxes. 

- Incorporates fundamental concepts of
distributed system integration

- Offers a type safe, concurrent environment
to implement microservices with
distributed transactions, reliable
messaging, stream processing, and
workflows

- Compiles into container images for
deployment on Kubernetes and Docker
https://ballerina.io/
Ballerina - code and visual syntax in sync
https://cellery.io/
Build, run, and
manage
code-first
composites
on
Kubernetes
Cellery - simple composition and graphical view
picture credit: https://www.medicalnewstoday.com/
https://github.com/wso2/reference-architecture
Cell-based Architecture
Cell: Units of Enterprise Architecture
A cell is a collection of
components, grouped from
design and implementation
into deployment. A cell is
independently deployable,
manageable, and observable.
The Reconstitution of Middleware with APIs
Cell Types
Cell Type Components
Logic Microservices, Functions, MicroGateways, lightweight storages
Integration MicroESB or other integration microservices, lightweight storage and/or cache
Legacy Existing systems, legacy services
External SaaS and partner systems
Data RDBMS, NoSQL, File, Message Broker*
Identity IDP, user stores
Channel Web Apps, IoT, mobile apps
picture credit: https://www.flickr.com/photos/vasile23/
Reference Methodology
https://github.com/wso2/reference-methodology
People, Process & Technology ++
The Reconstitution of Middleware with APIs
Cells and Podular Organizations
In the long run
Middleware is disappearing
- in to code
- in to infrastructure
picture credit: https://www.flickr.com/photos/infomatique/
APIs the glue of (µ) components
deployed in a decentralized
architecture
picture credit: https://www.flickr.com/photos/infomatique/
Invitation to consume and contribute
https://ballerina.io
https://cellery.io
https://github.com/wso2/reference-architecture
https://github.com/wso2/reference-methodology
INTEGRATION SUMMIT 2019
THANK YOU
wso2.com
@asankama

More Related Content

PDF
Integrating Apache Kafka Into Your Environment
PDF
Best Practices for API Management
PDF
OpenAPI 3.0, And What It Means for the Future of Swagger
PDF
Api observability
PDF
Graphql
PDF
Building an API Security Strategy
PPTX
Azure API Management
PDF
CDC patterns in Apache Kafka®
Integrating Apache Kafka Into Your Environment
Best Practices for API Management
OpenAPI 3.0, And What It Means for the Future of Swagger
Api observability
Graphql
Building an API Security Strategy
Azure API Management
CDC patterns in Apache Kafka®

What's hot (20)

PPTX
Introduction to microservices
PDF
Databricks + Snowflake: Catalyzing Data and AI Initiatives
PDF
Api Gateway
PPTX
Introduction to APIs (Application Programming Interface)
PDF
Microservice Architecture
PDF
Automation with Tosca Tricentis
PPTX
API Design- Best Practices
PDF
Apache Airflow
PDF
Monoliths to microservices workshop
PDF
Apache Airflow
PDF
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
PPTX
Databricks for Dummies
PDF
Security in CI/CD Pipelines: Tips for DevOps Engineers
PDF
What is REST API? REST API Concepts and Examples | Edureka
PPTX
Pulsar in the Lakehouse: Apache Pulsar™ with Apache Spark™ and Delta Lake - P...
PDF
Kafka 101 and Developer Best Practices
PPTX
Breaking the Monolith
PDF
Introducing Apache Airflow and how we are using it
PPTX
Backstage at CNCF Madison.pptx
PDF
Microservices Design Patterns Explained | Edureka
Introduction to microservices
Databricks + Snowflake: Catalyzing Data and AI Initiatives
Api Gateway
Introduction to APIs (Application Programming Interface)
Microservice Architecture
Automation with Tosca Tricentis
API Design- Best Practices
Apache Airflow
Monoliths to microservices workshop
Apache Airflow
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
Databricks for Dummies
Security in CI/CD Pipelines: Tips for DevOps Engineers
What is REST API? REST API Concepts and Examples | Edureka
Pulsar in the Lakehouse: Apache Pulsar™ with Apache Spark™ and Delta Lake - P...
Kafka 101 and Developer Best Practices
Breaking the Monolith
Introducing Apache Airflow and how we are using it
Backstage at CNCF Madison.pptx
Microservices Design Patterns Explained | Edureka
Ad

Similar to The Reconstitution of Middleware with APIs (20)

PDF
apidays LIVE New York 2021 - The reconstitution of middleware with APIs by As...
PDF
The Reconstitution of Middleware with APIs V2
PDF
[WSO2Con Asia 2018] Integration is Sexy
PDF
[WSO2Con USA 2018] Integration is Sexy
PDF
Agile Integration Architecture: A Containerized and Decentralized Approach to...
PDF
Innovation and scale - drivers and pitfalls to building API driven business p...
PDF
Innovation at scale - key drivers and pitfalls to building API driven agile b...
PDF
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
DOC
BrownResearch_CV
PDF
Spring and Pivotal Application Service - SpringOne Tour Dallas
PDF
[WSO2 Summit Brazil 2018] The API-driven World
PDF
Convergence of Integration and Application Development
PPTX
AWS TechConnect 2018 - Container Adoption
PDF
Being cloud native with IBM cloud
PPTX
Microsoft Fabric by Udaiappa Ramachandran.pptx
PPTX
Spring on PAS - Fabio Marinelli
PDF
[WSO2 Summit New York 2018] Integration Agility
PDF
[WSO2 Summit Chicago 2018] Welcome Address: Integration Agility
PDF
CI and CD with Spinnaker
PPT
Rational Team Concertfor Power Customer Presentation02 09 10
apidays LIVE New York 2021 - The reconstitution of middleware with APIs by As...
The Reconstitution of Middleware with APIs V2
[WSO2Con Asia 2018] Integration is Sexy
[WSO2Con USA 2018] Integration is Sexy
Agile Integration Architecture: A Containerized and Decentralized Approach to...
Innovation and scale - drivers and pitfalls to building API driven business p...
Innovation at scale - key drivers and pitfalls to building API driven agile b...
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
BrownResearch_CV
Spring and Pivotal Application Service - SpringOne Tour Dallas
[WSO2 Summit Brazil 2018] The API-driven World
Convergence of Integration and Application Development
AWS TechConnect 2018 - Container Adoption
Being cloud native with IBM cloud
Microsoft Fabric by Udaiappa Ramachandran.pptx
Spring on PAS - Fabio Marinelli
[WSO2 Summit New York 2018] Integration Agility
[WSO2 Summit Chicago 2018] Welcome Address: Integration Agility
CI and CD with Spinnaker
Rational Team Concertfor Power Customer Presentation02 09 10
Ad

More from Asanka Abeysinghe (20)

PDF
Your Business, as APIs Leveraging Abstractions to Drive the Experience Economy
PDF
Inside and Outside the Mesh: Role of APIs in the Mesh Architecture
PDF
Creating a Seamless Access Experience with the Digital Double
PDF
Building a future-ready bank (whatever that future may be)
PDF
Securing the Digital Double - The Path to a Trusted Digital Ecosystem
PDF
Building an Integrated Supply Chain for APIs
PDF
A Decentralized Reference Architecture for Cloud-native Applications V2.0
PDF
Crossing the low-code and pro-code chasm: a platform approach
PDF
Architecting the Transformation (V1.2)
PDF
Architecting the Transformation
PDF
Building a Digital Enterprise: learning from experience V2
PDF
A Decentralized Reference Architecture for Cloud-native Applications
PDF
Achieving true Agility through Programmability
PDF
A Decentralized Reference Architecture for Cloud-native Applications
PDF
A Decentralized Reference Architecture for Cloud-native Applications
PDF
Cell-based Architecture: An Emerging Architecture Pattern for Agile Integrati...
PDF
Cell-based Architecture: OReilly Software Architecture Conference NY 2019
PDF
Cell-based Architecture : An Emerging Architecture Pattern for Agile Integration
PDF
Iterative Architecture: Your Path to on-time Delivery
PDF
The Role of Integration in Microservice Architecture (MSA)
Your Business, as APIs Leveraging Abstractions to Drive the Experience Economy
Inside and Outside the Mesh: Role of APIs in the Mesh Architecture
Creating a Seamless Access Experience with the Digital Double
Building a future-ready bank (whatever that future may be)
Securing the Digital Double - The Path to a Trusted Digital Ecosystem
Building an Integrated Supply Chain for APIs
A Decentralized Reference Architecture for Cloud-native Applications V2.0
Crossing the low-code and pro-code chasm: a platform approach
Architecting the Transformation (V1.2)
Architecting the Transformation
Building a Digital Enterprise: learning from experience V2
A Decentralized Reference Architecture for Cloud-native Applications
Achieving true Agility through Programmability
A Decentralized Reference Architecture for Cloud-native Applications
A Decentralized Reference Architecture for Cloud-native Applications
Cell-based Architecture: An Emerging Architecture Pattern for Agile Integrati...
Cell-based Architecture: OReilly Software Architecture Conference NY 2019
Cell-based Architecture : An Emerging Architecture Pattern for Agile Integration
Iterative Architecture: Your Path to on-time Delivery
The Role of Integration in Microservice Architecture (MSA)

Recently uploaded (20)

PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
The various Industrial Revolutions .pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Hybrid model detection and classification of lung cancer
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Modernising the Digital Integration Hub
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
Tartificialntelligence_presentation.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Hindi spoken digit analysis for native and non-native speakers
observCloud-Native Containerability and monitoring.pptx
The various Industrial Revolutions .pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
A novel scalable deep ensemble learning framework for big data classification...
Getting Started with Data Integration: FME Form 101
Hybrid model detection and classification of lung cancer
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Modernising the Digital Integration Hub
A comparative study of natural language inference in Swahili using monolingua...
Tartificialntelligence_presentation.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
What is a Computer? Input Devices /output devices
WOOl fibre morphology and structure.pdf for textiles
1 - Historical Antecedents, Social Consideration.pdf
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Enhancing emotion recognition model for a student engagement use case through...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Taming the Chaos: How to Turn Unstructured Data into Decisions
Assigned Numbers - 2025 - Bluetooth® Document
Hindi spoken digit analysis for native and non-native speakers

The Reconstitution of Middleware with APIs