Up-leveling Brownfield Integration
Isuru Udana & Milinda Perera
WSO2 Integration Team
Agenda
• Brownfield Integration
• WSO2 Enterprise Integrator
• Brownfield Integration with WSO2 Enterprise
Integrator
2
Brownfield
Integration
3
Brownfield vs Greenfield
Source :
https://commons.wikimedia.org/wiki/File:Greenfield_Ca
lifornia.JPG
Source :
https://commons.wikimedia.org/wiki/File:A_classic_brownfi
eld_site_-_geograph.org.uk_-_728293.jpg
VS
4
Why is Brownfield Integration Important ?
• Reuse of existing systems
• Cutdown the time it takes for digital transformation
• Cut down cost
• Not all existing systems are replaceable
5
Types of Systems in Brownfield
• Systems based on standard protocols
• Systems based on non-standard or proprietary
protocols
• File based systems
• Systems that don’t provide any integration points
– Databases
6
Key Functionality Requirements
• Transformation
• Routing
• Orchestration
• Protocol Switching
• Parallel Processing
7
Transformation
New System Brownfield
Existing
System
8
Routing
New System Brownfield
Existing
System A
Existing
System B
9
Orchestration
New System Brownfield
Existing System
A
Existing System
B
Existing System
C
1
2
3
10
Protocol Switching
New System Brownfield
Existing
System
HTTP JMS
11
Parallel Processing
New System Brownfield
Existing
System A
Existing
System B
12
WSO2
Enterprise
Integrator
13
WSO2 Enterprise Integrator
14
WSO2 Enterprise Integrator
15
WSO2 Enterprise Integrator
Single integrated packaging of
• ESB and DSS as a single runtime
• Business Process Server
• Message Broker
• EI Analytics (primarily ESB analytics)
• Micro Integrator (New..!)
16
Service Integration - Integrator Runtime
A lightweight, high performance service bus
• Comprehensive REST, SOAP, and WS-* support
• SAP, FIX, and HL7 - Domain specific solutions
• Configuration driven
• Extensible and scalable
• 100% coverage of all EIPs
17
Data Integration - Integrator Runtime
Building service abstractions on top of disparate data
sources
SQL
SOAP/REST/OData
XML/JSON
18
Business Processes - BPS Runtime
• Define and execute business processes - WS-BPEL
2.0, BPEL4WS 1.1, BPMN 2.0, long running stateful
processes
• Define workflows interacting with people - BPMN
user tasks, WS-HumanTask 1.1, BPEL4People 1.1
• Graphical process modeling
19
Micro Integrator
• Startup time reduced
• Distribution size reduced
• Supports all key features
• Removed features that are not useful for MSA
• Container-friendly
20
Micro Integrator vs Integrator Profile
Integrator Micro Integrator
Startup Time 40s 5s
Distribution size 592 MB 224 MB
Mediation (ESB) Features ✅ ✅
Data Integration Features ✅ ✅
Built-in Clustering ✅ ❌
Tooling ✅ ✅
Management Console ✅ ❌
Dep-Sync ✅ ❌
Multitenancy ✅ ❌
CAR Deployment ✅ ✅
Hot deployment ✅ ❌
21
Brownfield
Integration
with
WSO2 Enterprise
Integrator
22
Implementation of Key Functionality
Requirements
• Transformation
• Routing
• Orchestration
• Protocol Switching
23
Transformation
New System Brownfield
Existing
System
• Ability to transform any format to any format
• Data mapping
• Enrich payload
• XSLT
Data Mapper,
Enrich,
Payload Factory,
XSLT Mediators
24
Transformation - Visual Data Mapping
25
Routing
New System Brownfield
Existing
System
A
Existing
System
B
Routing based on
• Content
• Headers
• A property of the message
• Environment
Switch, Filter
Mediators
26
Orchestration
New System Brownfield
Existing
System
A
Existing
System
B
Existing
System
C
1
2
3
Synchronous
service
invocations
with
underlying
Asynchronous
non-blocking
thread model
Call
Mediator
27
Protocol Switching
New System Brownfield
Existing
SystemHTTP
JMS
Receive over
any protocol
and
deliver over
any protocol
28
Extending the Functionality
• Extension points are available in each layer of the ESB
architecture
• Extensions can be written using Java and plugged into
the runtime
29
Extension Points
• Script mediator
• Connectors
• Custom/Class mediators
• API handlers
• Custom tasks
• Custom inbound endpoints
• Custom message
stores/processors
• Custom XPath functions
• Synapse handlers
• Axis2 handlers
• Axis2 modules
• Message builders and formatters
• Transport listeners and senders
30
Custom/Class mediators
• Most popular extension point
• Can build your own mediator easily to cater customized
message processing
• When to use Custom/Class mediators
31
Connectors
• Add-ons for ESB runtime
• Over 150 ready-made
connectors available in WSO2
store
• Can build your own connector
easily
- Using SDKs
- Using web APIs
32
Transport Listeners and Senders
• Custom transport listeners and senders allows to
communicate over custom protocols
33
Brownfield Integration with Different Types
of Systems
• Integration with systems that talk in standard protocols
• Integration with systems that talk in non-standard/
proprietary protocols
• Integration with file-based systems
• Integration with systems that use databases
34
Integration with Systems That Talk in
Standard Protocols
Support for wide range of
standard protocols
• HTTP/HTTPS
• JMS
• AMQP
• FTP/SFTP/FTPS/SMB
• SMTP/IMAP
• MQTT
• KAFKA
• And many more
SMTP
HTTP
JMS
FTP
Websocket
35
Integration with Systems That Talk in
Standard Protocols
HTTP/API
Public Private Organization
Existing
System
FTP
36
Integration with Systems That Talk in
Non-standard/ Proprietary Protocols
• Built in support for well-known proprietary protocols
E.g. SAP
• Easy to extend the functionality to introduce new
protocols
37
HTTP/API
Public Private Organization
Existing
System
Non Standard
Protocol
Connector
38
Integration with Systems That Talk in
Non-standard/ Proprietary Protocols Cont.
Example Scenario on Integration Over
Proprietary Protocol
TCP
Public Private Organization
Existing System
TCP
Protocol
39
Deprecate TCP EP
Service Provider
Problem
<request>message01</request>#<re
quest>message02</request># ……..
<response>message01</response>#
<response>message02</response>#
……..
Example Scenario on Integration Over
Proprietary Protocol Cont.
HTTP/S
Public Private Organization
Existing System
TCP
Protocol
Custom TCP
Listener / Sender
40
Service Provider
Solution
TCP
<request>mes
sage01</requ
est>
<response>m
essage01</re
sponse>#<res
ponse>messa
ge02</respon
se># ……..
<request>mes
sage01</requ
est>#<reques
t>message02
</request>#
……..
<response>m
essage01</re
sponse>
Integration with Files-based Systems
• A lot of legacy systems still use files as the medium to
integrate with other systems
• WSO2 Enterprise Integrator supports a wide range of
file transferring protocols such as FTP, SFTP, FTPS, and
SMB
41
File Handling Use Cases
Listen to a location, pick files, and invoke a web API using
the content of the files
File HTTP
Web API
Invocation
Existing Legacy
System
42
File Handling Use Cases
Expose a file-based system as an API over HTTP protocol
FileHTTP
Existing Legacy
System
43
Integration with Systems That Use Databases
Expose databases or other data sources as services
HTTP
44
Conclusion
We discussed:
• Brownfield integration
• WSO2 Enterprise Integrator
• How to do brownfield integration with WSO2 Enterprise
Integrator
45
THANK YOU
wso2.com
46

Up-leveling Brownfield Integration