![Page 1: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/1.jpg)
Kasun IndrasiriSoftware Architect, WSO2
September 2015
![Page 2: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/2.jpg)
Middleware Evolution of Middleware Rise of SOA/Web Services/ESB Beyond ESB WSO2 Middleware Platform QnA
![Page 3: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/3.jpg)
What is ‘Middleware’
Image courtesy : http://xpedium.com/images/Bridge.jpg
![Page 4: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/4.jpg)
What is ‘Middleware’ software that allows organizations to share data between
disparate systems that do not communicate easily
“software glue” that ties different applications together
http://www.vita.virginia.gov/
![Page 5: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/5.jpg)
Why Middleware? Middleware enables applications running across multiple
platforms to communicate with each other .
Middleware shields the developer from dependencies on Network Protocols, OS and hardware platforms.
Image courtesy : http://www.technotec.com/images/middle.jpg
![Page 6: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/6.jpg)
Home grown middleware
Remote Procedure Calls(RPC)
Object Oriented Middleware
MOM (Message Oriented Middleware)
Transaction Processing Monitors
![Page 7: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/7.jpg)
Home grown middleware
Customized for specific needs
Extensibility, maintainability and scalability constrains
Image courtesy : http://r1.cygnuspub.com/files/cygnus/image/CGN/2013/JUN/640x360/efi-radius_10964116.jpg
![Page 8: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/8.jpg)
Remote Procedure Calls(RPC)
Function oriented, synchronous, location transparency
E.g: ONC RPC, DCE/RPC
Image courtesy : http://www.cl.cam.ac.uk/teaching/1011/CDSysII/12-middleware.pdf
5
Part I: Remote Procedure Call (RPC)
• Masks remote function calls as being local
• Client/server model
• Request/reply paradigm usually implemented with
message passing in RPC service
• Marshalling of function parameters and return value
Caller RPC Service RPC Service RemoteFunction
call(…)
1) Marshal args2) Generate ID3) Start timer 4) Unmarshal
5) Record ID
6) Marshal7) Set timer
8) Unmarshal9) Acknowledge
fun(…)
message
Middleware
![Page 9: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/9.jpg)
Object Oriented Middleware
Evolved from RPC, Language independent, sync/aync, IDL
Automated marshalling and unmarshalling,
CORBA, Java RMI
9
Part II: Object-Oriented Middleware (OOM)
• Objects can be local or remote
• Object references can be local or remote
• Remote objects have visible remote interfaces
• Masks remote objects as being local using proxy objects
• Remote method invocation
object A
proxy
object B
OOM OOM
skeleton
object B
object B
local remote
objectrequestbroker
/object
manager
objectrequestbroker
/object
manager
Middleware
![Page 10: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/10.jpg)
MOM (Message Oriented Middleware)
Data transmission through messages, asynchronous
Message, Queue / Message Queuing and Pub-Sub
Java Message Service (JMS)
IBM WebSphere MQ, Active MQ
18
Part III: Message-Oriented Middleware (MOM)
Communication using messages
Messages stored in message queues
message servers decouple client and server
Various assumptions about message content
Client App.
local messagequeues
Server App.
local messagequeues
messagequeues
Network Network Network
Message Servers
Middleware
![Page 11: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/11.jpg)
Transaction Processing Monitors
coordinating and monitoring applications in a distributed
environment
Leader election, failover
Tuxedo, IBM CICS, Apache Zookeeper, Hazelcast
![Page 12: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/12.jpg)
Different middleware has different advantages
A ‘super-middleware’ is unlikely. Organizations can make their own decisions Legacy systems may live forever.
![Page 13: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/13.jpg)
Disparate systems (legacy, on-premise and cloud) Diverse business requirements
![Page 14: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/14.jpg)
P2P/Spaghetti integration
![Page 15: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/15.jpg)
Replace the direct connections between systems
Hub and spoke architecture
Each system needs only one interface to the central EAI server
![Page 16: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/16.jpg)
EAI Hub/spoke Avoid P2P integration, centralized, single point of failure
![Page 17: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/17.jpg)
EAI Bus
![Page 18: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/18.jpg)
Proprietary and heavyweight Support specific vendor's subset of technology Not standardized Extensibility and scalability issues Single point of integration
![Page 19: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/19.jpg)
The idea is to breaking up monolithic systems into basic services that can be flexibly orchestrated
Platform/programming language-neutral protocol and message format (XML)
![Page 20: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/20.jpg)
Each business functionality is implemented as a Service and exposed via standard protocols.
Web services vs SOA? Can SOA eliminate P2P Integration?
![Page 21: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/21.jpg)
An ESB is a middleware solution that enables interoperability among heterogeneous environments based on SOA.
Stateless and Seamless Integration Standard Protocols – SOAP, REST, JSON etc. Transports – HTTP/S, JMS, TCP etc.
![Page 22: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/22.jpg)
A simple ESB use case.
![Page 23: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/23.jpg)
Routing
![Page 24: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/24.jpg)
Traffic Filtering
Foo
Bar
Bar
![Page 25: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/25.jpg)
Service Virtualization
![Page 26: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/26.jpg)
Service Orchestration
![Page 27: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/27.jpg)
Transformations
![Page 28: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/28.jpg)
Protocol and Message Format Switching
HTTP->JMS
SOAP -> FIX (Financial Information eXchange)
![Page 29: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/29.jpg)
Load Balancing/Failover
![Page 30: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/30.jpg)
QoS : Security, Throttling, Caching
WS-Security / REST Security
Throttling – concurrency/rate
Caching – local/distributed
![Page 31: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/31.jpg)
Exposing/Invoking web services
![Page 32: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/32.jpg)
Exposing/Invoking RESTful interfaces
HTTP RequestGET, POST, PUT, DELETE
![Page 33: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/33.jpg)
Store and Forward
Guaranteed Delivery
Message Store
![Page 34: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/34.jpg)
Integrate with proprietary systems/protocols
![Page 35: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/35.jpg)
Tasks Coordination
![Page 36: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/36.jpg)
Integrate with web APIs
![Page 37: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/37.jpg)
De facto standard for enterprise integration http://www.eaipatterns.com/toc.html
![Page 38: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/38.jpg)
![Page 39: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/39.jpg)
7 7 © 2013 IBM Corporation
The Business of APIs
Grow revenues…
… W
h
ile reducing overhead
“$7bn worth of items on eBay through APIs” Mark Carges (Ebay CTO)
The API which has easily 10 times more traffic then the website, has been really very important to us.” Biz Stone (Co-founder, Twitter)
“The adoption of Amazon’s Web services is currently driving more network activity then everything Amazon does through their traditional web sites.” Jeff Bar (Amazon evangelist) / Dion Hinchcliffe (Journalist)
source: SOA and Apis – Impact2013
“The API which has easily 10 times more traffic than the website, has been really very important to us.”
“The adoption of Amazon’s Web services is currently driving more network activity than everything Amazon does through their traditional web sites.”
![Page 40: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/40.jpg)
8 8 © 2013 IBM Corporation
Apps, APIs and API Mgmt…
Business Owner IT
Developer
Consumers
New business opportunities
• New markets
• Increase customers
• Enhance branding
• Competitive advantage
Extend development team
•Increase innovation
•Increase scale
Partner/supplier
alignment
Benefits
Challenges
Business strategy
Infrastructure
• Security
• Creation
• Scalability
Operational control
• Publish
• Analyze
• Monitor
source: SOA and Apis – Impact2013
![Page 41: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/41.jpg)
Managed, monitored, monetized and versioned business functionalities are exposed as APIs.
Exposing business functions to Internal and external parties (Open APIs, Internal APIs, Partner APIs)
Eg: https://dev.twitter.com/docs/api#88
![Page 42: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/42.jpg)
![Page 43: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/43.jpg)
![Page 44: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/44.jpg)
Building a ‘Connected Business’
Changing an organization to a connected organization
Internally and externally connected
Interactions through services, systems, APIs etc.
Image courtesy : http://www.mydrivingseat.com/the-blog/profound-practical-proven-system-of-business-agility/
![Page 45: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/45.jpg)
![Page 46: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/46.jpg)
![Page 47: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/47.jpg)
![Page 48: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/48.jpg)
The heart of the WSO2 Integration Platform A light weight, high performance ESB Comprehensive REST, SOAP, WS-* support Zero code/completely configuration driven 100% compliant with EIPs Extensible and Scalable
![Page 49: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/49.jpg)
![Page 50: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/50.jpg)
Only Open Source API Management Platform API Publisher
Starting point of API creation
Control API Lifecycle
Documentation, Versioning, Authorization, Throttling
API Store Store of published APIs
Enterprise API Store
API Gateway ( ESB Features + API-M Handlers) Runtime for API calls
Routing API Traffic
![Page 51: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/51.jpg)
High volume – 6 billion transactions per day
![Page 52: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/52.jpg)
Hybrid Integration
![Page 53: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/53.jpg)
![Page 54: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/54.jpg)
http://www.slideshare.net/ibmapimgmt/soa-and-apis http://www.omg.org/news/meetings/workshops/WebServEurope_Manu
al/01-1_Baker.pdf http://wso2.com/whitepapers/wso2-whitepaper-soa-and-api-
convergence-strategy-and-tactics/ http://www.omg.org/news/meetings/workshops/MDA-SOA-
WS_Manual/04-A1_Brown.pdf http://www.slideshare.net/udaysaikia/12-middleware Evolution of Integration http://wso2.com/whitepapers/the-evolution-of-
Integration-a-comprehensive-platform-for-a-connected-business
![Page 55: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/55.jpg)
![Page 56: The Middleware technology that connects the enterprise](https://reader033.vdocuments.net/reader033/viewer/2022050614/58836de51a28ab536b8b69f3/html5/thumbnails/56.jpg)