Middleware
Middlewareis computersoftwarethat provides services tosoftware applicationsbeyond
those available from theoperating system. It can be described as "software glue".
https://en.wikipedia.org/wiki/Middleware
Types of Middleware
https://en.wikipedia.org/wiki/Middleware_(distributed_applications)
Message-oriented middleware
Enterprise messaging system
Enterprise service bus
Intelligent middleware
Content-centric middleware
Remote procedure call
Object request broker
SQL-oriented data access
Embedded middleware
Other
Transaction processing monitors
Application servers
Message Oriented Middleware
Message Oriented Middleware is a specific class of middleware that supports the
exchange of general-purpose messages in a distributed application environment.
http://courses.ischool.berkeley.edu/i206/f97/GroupB/mom/what_is_mom.html
MOM –Integrated platforms / Languages
Java Ruby
C SOAP/REST
Message
Broker
Messaging -Communication
Introduction to Enterprise Service Bus ftp://ftp.oreilly.com/pub/summit/ch05.pdf
MOM –Reliable Communication
Introduction to Enterprise Service Bus ftp://ftp.oreilly.com/pub/summit/ch05.pdf
At most ONCE
Messages may be lost but
are never redelivered.
At least ONCE
Messages are never lost but
may be redelivered.
Exactly ONCE
Each message is delivered
once and only once.
Message Delivery Semantics
MOM –Reliable Communication
http://kafka.apache.org/documentation.html#semantics
MOM –Disconnected
MOM –Throttled
MOM –Scalability
MOM -need
??????
??????−1
2
MOM -need
Introduction to Enterprise Service Bus ftp://ftp.oreilly.com/pub/summit/ch05.pdf
MOM -need
MOM -need
Introduction to Enterprise Service Bus ftp://ftp.oreilly.com/pub/summit/ch05.pdf
MOM -need
MOM -concepts
Introduction to Enterprise Service Bus ftp://ftp.oreilly.com/pub/summit/ch05.pdf
MOM -concepts
Introduction to Enterprise Service Bus ftp://ftp.oreilly.com/pub/summit/ch05.pdf
MOM -concepts
Middleware -Providers
Case for JMS
The Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM)
API for sending messages between two or more clients.
Case for AMQP
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer
protocol for message-oriented middleware. The defining features of AMQP are message
orientation, queuing, routing (including point-to-point and publish-and-subscribe),
reliability and security.
Case for OpenMAMA
OpenMAMA is a high performance Middleware Agnostic Messaging API that provides a
consistent abstraction layer over a variety of message oriented middle wares.
Each middleware interfaces with OpenMAMA using an adapter known as a 'bridge', the
bridge then translates OpenMAMA function calls into the native functions of the
selected middleware/s allowing developers to code to a single, clean, simple and open
API.
MOM –the pitfalls
Extra Layer to worry about.
Mostly proprietary solutions.
Integration is not an easy exercise.
Time
Expertise
Async has it’s own issues.