Saturday, March 21, 2026

WSO2

Open Source
Enterprise Middleware

WSO2 is a leading open-source enterprise middleware provider, delivering software covering API management, integration, identity management, analytics, and IoT. Built for cloud-native deployments, WSO2 products run on-premise, in private clouds, and in hybrid environments.

Network connectivity visualization

Main WSO2 Products

01
WSO2 EI

Enterprise Integrator

Message brokering, visual tools, integration runtimes, business process modeling and analytics. Graphical drag-and-drop interface.

02
WSO2 ESB

Enterprise Service Bus

Addresses integration standards, supports all integration patterns, enables interoperability between heterogeneous business applications.

03
WSO2 IS

Identity Server

Access management solution — manage the identity, security and privacy of a digital business across all platforms.

04
WSO2 AM

API Manager

Full lifecycle API management (like Google Apigee / IBM App Connect). Kubernetes operator converts microservices into managed APIs. Runs anywhere — on-premise, private cloud, hybrid cloud.

05
WSO2 IoT

IoT Server

Connect and control various devices, create apps, secure devices and data, visualize sensor data and manage events.

06
WSO2 DAS

Data Analytics Server

Real-time business operations information. Geolocation capabilities and analysis of past and present processes.

WSO2 Enterprise
Service Bus

Server infrastructure

WSO2 ESB is the main integration engine of WSO2 Enterprise Integrator — a lightweight, component-oriented, Java-based enterprise service bus. It allows developers to integrate services and applications in an easy, efficient and productive manner.

The core concept of the ESB architecture is that you integrate different applications by putting a communication bus between them and then enable each application to talk to the bus. This decouples systems from each other, allowing them to communicate without dependency on or knowledge of other systems on the bus.

When an enterprise uses ESB, only the ESB needs to know how to talk to each application. The applications themselves do not need to be modified. This is far more efficient than point-to-point integration.

It also provides ease of connecting cloud applications using a wide array of cloud connectors ready to be used.

WSO2 Enterprise
Integrator

WSO2 Enterprise Integrator (Micro Integrator) is a cloud-native distribution that supports all integration use cases — from simple message routing to complex orchestration, event-driven architectures and streaming ETL.

🚌

ESB Profile

Core message mediation, routing and transformation engine

📨

Message Broker

Reliable asynchronous messaging, publish/subscribe patterns

⚙️

Business Process

BPEL and BPMN process execution and management

📊

Analytics Profile

Real-time monitoring, reporting and dashboards

Integration Studio

Integration Studio is the Eclipse-based visual development environment for building WSO2 integration artifacts — APIs, sequences, proxies, connectors and more.

  • Download Integration Studio from wso2.com/integration/integration-studio
  • Create a new project: File → New → Integration Project
  • Build a REST API: Right Click → New → REST API
  • Configure lanes: Default lane and Fault lane for error handling
  • Define flows: Multiple flows inside the same API with different contexts
  • Add mediators: Drag from Mediators & End-Points palette
  • Use connectors: Browse the WSO2 Connectors Store for 200+ pre-built connectors
  • Run & test: Deploy on local MI at https://127.0.0.1:9743/
IDE code editor

Mediators & Components

🔀

Filter Mediator

Evaluates XPath or JSONPath expressions to conditionally route messages along different mediation paths.

🗄️

DBLookup Mediator

Execute SQL queries against a data source. Example: read JSON from request → query DB → return enriched payload with ID and name.

Validate Mediator

Validates message payload against an XML Schema or JSON Schema before processing continues downstream.

Cache Mediator

Caches responses for repeated identical requests to reduce backend load and improve response times.

🔄

Iterate Mediator

Splits a message into multiple smaller messages for parallel processing; aggregates results afterward.

🗺️

Data Mapper Mediator

Visual data mapping tool for transforming message formats — JSON to XML, XML to CSV, and any combination.

🏷️

Property Mediator

Read, set or remove properties on the message context. Supports JSONPath (json-eval) and XPath expressions.

📤

Payload Factory

Construct a new message payload using a template with variable substitution from message context properties.

What You Can Build

WSO2 Micro Integrator supports a comprehensive range of enterprise integration patterns and use cases out of the box:

Message Routing and Transformation
Service Orchestration
Asynchronous Message Processing
SaaS and B2B Connectivity
Data Integration
Protocol Switching (JMS ↔ HTTP/S)
API Gateway
File Processing (MFT)
Periodic Execution / Task Scheduling
Converting JSON to SOAP
Publish/Subscribe Patterns
Integrating with SAP
Sending and Receiving Emails
Exposing RDBMS as REST API
Using Inbound Endpoints
Reusing Mediation Sequences

1

Simple Message Routing

Build and deploy a basic integration in Integration Studio

Build a simple service with WSO2 Integration Studio that routes an incoming HTTP request to a backend service. Use the ESB profile to define a REST API, add a Send mediator pointing to an endpoint, and deploy as a Carbon App.

2

CRUD RESTful API with Micro Integrator

Expose a database as a RESTful CRUD API

Using WSO2 Micro Integrator, create a full CRUD API backed by a relational database. Define data services with queries for read list, add city, and delete city. Create three resources that execute these queries, then expose them as RESTful endpoints (GET / POST / DELETE).

# Resources map to queries: GET /cities → readCitiesList query POST /cities → addCity query DELETE /cities/{id} → deleteCity query
3

Retry Logic — 10 Retries on API Failure

Resilient service invocation with retry policy

Build a service that attempts to get data from a REST API and retries up to 10 times if the API is unavailable before returning a failure response. Use an Endpoint with a retry configuration and a Fault Sequence to handle ultimate failure gracefully.

4

Asynchronous Data Insertion

Message Store + Message Processor pattern

Insert data into an API asynchronously using the Message Store / Message Processor pattern. Define a Message Store (in-memory or JMS), a Message Processor that polls the store and forwards to the backend, and a Message Sequence to prepare the payload before storing.

Message Store → holds messages when backend is busy Message Processor → polls store, forwards to API Sequence → transforms payload before storing
5

Periodic Sequence Execution

Scheduled tasks with a Simple Trigger

Run a mediation sequence on a schedule using a Scheduled Task with a Simple Trigger. Define the CRON expression or interval, then point the task to the sequence that should execute. Useful for polling external systems, generating reports or batch processing.

Running Micro Integrator
with Docker

Micro Integrator is a cloud-native distribution of WSO2 Enterprise Integration (EI), designed for containerized environments.

# Start MI container $ docker run -it \ -p 8290:8290 -p 8253:8253 -p 9164:9164 \ --name micro-integrator \ wso2/wso2mi:4.0.0 # View logs $ docker logs micro-integrator # Access container shell $ docker exec -it micro-integrator sh
# Start MI Dashboard $ docker run -p 9743:9743 \ --name mi-dashboard -d \ wso2/wso2mi-dashboard:<tag> # Dashboard URL https://localhost:9743/login
# Build Docker from Integration Studio # Right click CompositeExporter → Generate Docker Image $ docker run -p 8290:8290 <IMAGE_ID> $ curl http://localhost:8290/HelloWorld

On-premise setup (Windows):

# deployment.toml [dashboard_config] dashboard_url = "https://localhost:9743/dashboard/api/" heartbeat_interval = 5 # Start services C:\WSO2\wso2mi-dashboard-4.2.0\bin\dashboard.bat C:\WSO2\wso2mi-4.2.0\bin\micro-integrator.bat # API endpoint http://localhost:8290/<API_Name>
Container infrastructure

WSO2 API Manager

API gateway architecture

Full lifecycle API management solution — similar to Google Apigee and IBM App Connect. Incorporates a Kubernetes operator that makes it easy to convert raw microservices into managed APIs. Runs anywhere: on-premise, private cloud, hybrid cloud.

# Start API Manager (All-in-One Docker — Ubuntu-based) $ docker run -it \ -p 8280:8280 -p 8243:8243 -p 9443:9443 \ --name api-manager \ wso2/wso2am:4.0.0 # Default credentials: admin / admin
HTTPS
{HOST}:9443/carbon

Carbon Management Console — server administration, user management, registry

HTTPS
{HOST}:9443/publisher

API Publisher — create, publish, version and manage APIs and API policies

HTTPS
{HOST}:9443/devportal

Developer Portal — discover APIs, subscribe, generate tokens and test

# Calling APIs with an access token Authorization: Bearer <Access Token>

WSO2 Streaming
Integrator

WSO2 Streaming Integrator enables streaming ETL, change data capture (CDC), large file processing, and real-time APIs. Connect and realize event-driven architectures with distributed streaming systems such as Kafka, Amazon SQS, and more.

Data streaming

Streaming ETL with CDC

Capture database changes in real-time and transform, enrich, aggregate and route data to downstream systems.

File processing

Large File Processing (MFT)

Process large files with Managed File Transfer capabilities — read, transform and write files efficiently at scale.

Event stream

Event Stream Integration

Connect to Kafka, Amazon SQS, RabbitMQ and more for event-driven, decoupled architectures.

Real-time API

Real-Time APIs

Expose streaming data via WebSocket and SSE endpoints for real-time dashboards and applications.

Visual tooling

Visual Tooling (SI Tooling)

GUI designer for building Siddhi applications visually — no need to write code for most streaming tasks.

Monitoring dashboard

Monitoring

Built-in dashboards to monitor streams, events, throughput, latency and processing metrics in real-time.

CDC Configuration

Change Data Capture enables capturing database changes (INSERT, UPDATE, DELETE) as events and streaming them to downstream systems in real-time.

SQL Server — Enable CDC

-- Enable CDC on database EXEC sys.sp_cdc_enable_db; -- Enable CDC on specific table EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'YourTable', @role_name = NULL; -- Disable CDC EXEC sys.sp_cdc_disable_db;

DB2 JDBC Connection

-- JDBC URL format jdbc:db2://localhost:50000/<DATABASE_NAME> -- Driver: jcc-11.5.7.0.jar -- Source: ibm.com/support/pages/db2-jdbc-driver-versions

SQL Server JDBC Connection

jdbc:sqlserver://127.0.0.1:1433; databaseName=xxx;user=sa;password=xxx

DB2 — CDC Setup Steps

  • Enable the CDC feature at the DB2 instance level
  • Enable CDC for the specific database
  • Create Capture Control Tables
  • Enable CDC on the specific tables to monitor

Stream Processing Pipeline

  • Extract — from databases, files, cloud storages, messaging systems
  • Cleanse — filter and clean incoming data
  • Transform — reshape data formats and structures
  • Enrich — augment with additional data from lookups
  • Aggregate — group, window, and summarize events
  • Correlate — detect patterns across event streams
  • Publish — write to DB, file, cloud storage or messaging system

Reference: ei.docs.wso2.com/en/latest/streaming-integrator/guides/use-cases/