3. What is ‘Middleware’
Image courtesy : http://xpedium.com/images/Bridge.jpg
4. 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/
5. 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
7. 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
8. 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 Remote
Function
call(…)
1) Marshal args
2) Generate ID
3) Start timer 4) Unmarshal
5) Record ID
6) Marshal
7) Set timer
8) Unmarshal
9) Acknowledge
fun(…)
message
Middleware
9. 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
object
request
broker
/
object
manager
object
request
broker
/
object
manager
Middleware
10. 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
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 message
queues
Server App.
local message
queues
message
queues
Network Network Network
Message Servers
11. Transaction Processing Monitors
coordinating and monitoring applications in a distributed
environment
Leader election, failover
Tuxedo, IBM CICS, Apache Zookeeper, Hazelcast
12. Different middleware has different
advantages
A ‘super-middleware’ is unlikely.
Organizations can make their own decisions
Legacy systems may live forever.
13. Disparate systems (legacy, on-premise and cloud)
Diverse business requirements
18. Proprietary and heavyweight
Support specific vendor's subset of technology
Not standardized
Extensibility and scalability issues
Single point of integration
19. 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)
20. Each business functionality is implemented as a
Service and exposed via standard protocols.
Web services vs SOA?
Can SOA eliminate P2P Integration?
21. 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.
37. De facto standard for enterprise integration
http://www.eaipatterns.com/toc.html
38.
39. The Business of APIs
Grow revenues…
… W 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.”
41. 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
42.
43.
44. 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/
45.
46.
47.
48. 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
49.
50. 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