the middleware technology that connects the enterprise

Post on 23-Jan-2018

1.398 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Kasun IndrasiriSoftware 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 RemoteFunction

call(…)

1) Marshal args2) Generate ID3) Start timer 4) Unmarshal

5) Record ID

6) Marshal7) Set timer

8) Unmarshal9) 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

objectrequestbroker

/object

manager

objectrequestbroker

/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

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

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 RequestGET, 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

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.”

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

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

top related