0% found this document useful (0 votes)
21 views18 pages

Java Messaging Service

JMS is a Java-based messaging standard that allows communication between applications or components. It uses message-oriented middleware to connect disparate systems and provide a unified way to access data across different platforms and programming languages. JMS supports two messaging models - point-to-point messaging using queues and publish/subscribe using topics. This allows for asynchronous communication between systems.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views18 pages

Java Messaging Service

JMS is a Java-based messaging standard that allows communication between applications or components. It uses message-oriented middleware to connect disparate systems and provide a unified way to access data across different platforms and programming languages. JMS supports two messaging models - point-to-point messaging using queues and publish/subscribe using topics. This allows for asynchronous communication between systems.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

JMS

Java Messaging Service

What is JMS?
JMS is a Java based Message-Oriented Middleware (MOM) MOM is type of Enterprise Application Integration (EIA)

What?!?

Lets take a step back and look at the issue we are trying to solve

Enterprise Application Integration

Disparate systems hold partial/duplicate sets of data

Islands of Isolation/ Information Silos

Lets take a store example

Stores Sales Data/Inventory Sales (SOLARIS/DB2)

We need to collect data from all systems to forecast correctly


Who has the Product? How Much? Supply Chain Management Vendor (SUSE Linux/MySQL)

Do we need more product? Who do we get the product from? Can we buy more product?

Do I have $ to make purchases Finance (MS Windows MSSQL)

Enterprise Application Integration

In the previous example we put the burden of interacting with these heterogeneous systems on the Supply Chain

Enterprise Application Integration


What if we need info between systems Multiple Systems to get the same data Changes in any system have impacts across multiple systems Development costs grow with every change and any new system added

Islands of Isolation/ Information Silos

Stores Sales Data/Inventory Sales (SOLARIS/DB2)

Who has the Product? How Much? Supply Chain Management Vendor (SUSE Linux/ MySQL)

Do I have $ to make purchases Finance (MS Windows MSSQL)

Enterprise Application Integration

Enter EAI

As per Gartner EAI attempts to allow unrestricted sharing of data and business processes among any connected application or data sources in the enterprise

Two main ways to accomplish this


Mediation Federation

Mediation

Each system stores the desired data.

EAI Notifies other Systems. Systems store their own data

Islands of Isolation/ Information Silos

When a change in one systems data happens the system notifies an EAI component EAI component synchronizes this data across all systems

EAI
I changed Something: Data Stored Local

Stores Sales Data/Inventory Sales (SOLARIS/DB2)

Who has the Product? How Much? Vendor (SUSE Linux/ MySQL) Supply Chain Management

Do I have $ to make purchases Finance (MS Windows MSSQL)

Federation

EAI acts as the Middle man on any data managed by any system. Performs all interactions on each system

EAI Notifies the System with the Master Record.

Islands of Isolation/ Information Silos

EAI
I changed Something: Tell someone

Stores Sales Data/Inventory Sales (SOLARIS/DB2)

Who has the Product? How Much? Vendor (SUSE Linux/ MySQL) Supply Chain Management

Do I have $ to make purchases Finance (MS Windows MSSQL)

Federation Between Islands

This can also be leveraged between the systems This now provides unified way to access the data from any system

EAI

2. How Much did we Sell Today?

Islands of Isolation/ Information Silos

Stores Sales Data/Inventory

Sales (SOLARIS/DB2)

Who has the Product? How Much?


1. How Much Did we Sell today?

3. We sold A Lot!

Vendor (SUSE Linux/ MySQL)

Do I have $ to make purchases Finance (MS Windows MSSQL) Supply Chain Management

EAI Conclusion
Why duplicate data and/or data access across an enterprise system Instead standardize and centralize

For further info :

http://en.wikipedia.org/wiki/Enterprise_application_integration

Message Oriented Middleware

This is an implementation of EAI that attempts to do the following

Insulate the developer from the disperate systems they may have to interface
Most MOMs have the ability interface with many intefaces (JDBC, WebServices, Other MOMs) Perform Routing, Transformation, and Storage functionality Replace Sockets, CORBA,RMI Allows for Asynch delivery

Message Oriented Middleware


Initially there was IBM MQ (MQSeries) Now there are many implementations

ActiveMQ JBoss MQ (and JBoss Messaging) OpenMQ

Java Messaging Service


A Java API for MOMs Defines how messages are sent between two or more clients

Java Messaging Service

Two Main Models


Queue (Point to Point) Publish Subscribe

Queue (PtoP)
A producer posts to a queue for a consumer Asynch

The consumer can be turned off when the producer sends to the queue The producer can be down when consumer retreives the message from the Queue

Publish and Subscribe


A producer creates one or more messages intended for one or more consumers Consumers interrogate Messages to determine if they want them

Message Driven POJO


Configuring JMS on JBoss

http://docs.jboss.org/jbossas/getting_started/v4/html/mdb.html

JBoss and Message Driven Beans(MDBs)

http://docs.jboss.org/jbossas/getting_started/v4/html/mdb.html

Spring Message Driven POJOs (MDPs)

http://static.springframework.org/spring/docs /2.5.x/reference/jms.html

You might also like