Kasun Indrasiri
Software Architect, WSO2
September 2015
 Middleware
 Evolution of Middleware
 Rise of SOA/Web Services/ESB
 Beyond ESB
 WSO2 Middleware Platform
 QnA
 What is ‘Middleware’
Image courtesy : http://xpedium.com/images/Bridge.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/
 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
 Home grown middleware
 Remote Procedure Calls(RPC)
 Object Oriented Middleware
 MOM (Message Oriented Middleware)
 Transaction Processing Monitors
 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
 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
 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
 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
 Transaction Processing Monitors
 coordinating and monitoring applications in a distributed
environment
 Leader election, failover
 Tuxedo, IBM CICS, Apache Zookeeper, Hazelcast
 Different middleware has different
advantages
 A ‘super-middleware’ is unlikely.
 Organizations can make their own decisions
 Legacy systems may live forever.
 Disparate systems (legacy, on-premise and cloud)
 Diverse business requirements
 P2P/Spaghetti integration
 Replace the direct connections between
systems
 Hub and spoke architecture
 Each system needs only one interface to the
central EAI server
 EAI Hub/spoke
 Avoid P2P integration, centralized, single point of failure
 EAI Bus
 Proprietary and heavyweight
 Support specific vendor's subset of technology
 Not standardized
 Extensibility and scalability issues
 Single point of integration
 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)
 Each business functionality is implemented as a
Service and exposed via standard protocols.
 Web services vs SOA?
 Can SOA eliminate P2P Integration?
 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.
 A simple ESB use case.
 Routing
 Traffic Filtering
Foo
Bar
Bar
 Service Virtualization
 Service Orchestration
 Transformations
 Protocol and Message Format Switching
 HTTP->JMS
 SOAP -> FIX (Financial Information eXchange)
 Load Balancing/Failover
 QoS : Security, Throttling, Caching
 WS-Security / REST Security
 Throttling – concurrency/rate
 Caching – local/distributed
 Exposing/Invoking web services
 Exposing/Invoking RESTful interfaces
HTTP Request
GET, POST, PUT, DELETE
 Store and Forward
 Guaranteed Delivery
Message Store
 Integrate with proprietary systems/protocols
 Tasks Coordination
 Integrate with web APIs
 De facto standard for enterprise integration
 http://www.eaipatterns.com/toc.html
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.”
88 © 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
 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
 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/
 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
 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
 High volume – 6 billion transactions per day
 Hybrid Integration
 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
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise

The Middleware technology that connects the enterprise

  • 1.
  • 2.
     Middleware  Evolutionof Middleware  Rise of SOA/Web Services/ESB  Beyond ESB  WSO2 Middleware Platform  QnA
  • 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
  • 6.
     Home grownmiddleware  Remote Procedure Calls(RPC)  Object Oriented Middleware  MOM (Message Oriented Middleware)  Transaction Processing Monitors
  • 7.
     Home grownmiddleware  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 ProcedureCalls(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 OrientedMiddleware  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 (MessageOriented 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 ProcessingMonitors  coordinating and monitoring applications in a distributed environment  Leader election, failover  Tuxedo, IBM CICS, Apache Zookeeper, Hazelcast
  • 12.
     Different middlewarehas 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
  • 14.
  • 15.
     Replace thedirect connections between systems  Hub and spoke architecture  Each system needs only one interface to the central EAI server
  • 16.
     EAI Hub/spoke Avoid P2P integration, centralized, single point of failure
  • 17.
  • 18.
     Proprietary andheavyweight  Support specific vendor's subset of technology  Not standardized  Extensibility and scalability issues  Single point of integration
  • 19.
     The ideais to breaking up monolithic systems into basic services that can be flexibly orchestrated  Platform/programming language-neutral protocol and message format (XML)
  • 20.
     Each businessfunctionality is implemented as a Service and exposed via standard protocols.  Web services vs SOA?  Can SOA eliminate P2P Integration?
  • 21.
     An ESBis 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.
  • 22.
     A simpleESB use case.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
     Protocol andMessage Format Switching  HTTP->JMS  SOAP -> FIX (Financial Information eXchange)
  • 29.
  • 30.
     QoS :Security, Throttling, Caching  WS-Security / REST Security  Throttling – concurrency/rate  Caching – local/distributed
  • 31.
  • 32.
     Exposing/Invoking RESTfulinterfaces HTTP Request GET, POST, PUT, DELETE
  • 33.
     Store andForward  Guaranteed Delivery Message Store
  • 34.
     Integrate withproprietary systems/protocols
  • 35.
  • 36.
  • 37.
     De factostandard for enterprise integration  http://www.eaipatterns.com/toc.html
  • 39.
    The Business ofAPIs 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.”
  • 40.
    88 © 2013IBM 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
  • 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
  • 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/
  • 48.
     The heartof 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
  • 50.
     Only OpenSource 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
  • 51.
     High volume– 6 billion transactions per day
  • 52.
  • 54.
     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