advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Reviews : Java Books : Java Message Service (JMS) for J2EE :


Title: Java Message Service (JMS) for J2EE
Author: Levent Erdogan
ISBN: 0735712557
US Price: $39.99
© New Riders

Java Message Service (JMS) for J2EE

From Publisher:
The authoritative guide to JMS for enterprise developers. JMS API is gaining important popularity for Enterprise applications and there is no adequate documentation for JMS for the J2EE platform. This book covers not only the concepts, but also present simple examples to explain the concepts and real sample applications to show how to use those concepts and techniques.

J2EE is commonly used for enterprise applications. The Java(tm) Message Service (JMS) API has been developed by Sun working in close cooperation with the leading enterprise messaging vendors. Enterprise messaging is now recognized as an essential tool for building enterprise applications. By combining Java technology with enterprise messaging, the JMS API provides a new, powerful tool for solving enterprise computing problems. Enterprise messaging provides a reliable, flexible service for the asynchronous exchange of critical business data and events throughout an enterprise. The JMS API adds to this a common API and provider framework that enables the development of portable, message based applications in the Java programming language.

Chapter 5: Concepts and Fundamentals of JMS Programming

In this chapter, you will learn the fundamentals and basic elements of Java Message Service (JMS) programming. In the next chapter, you will write three simple programs to help you understand how to develop a JMS application.

What Is a Messaging System or Service?

Messaging is a way or a mechanism that provides communication between software applications, programs, or objects on a distributed system. Remote Method Invocation (RMI) and socket programming are also types of messaging according to this definition. But, the focus of this book is on a message-based messaging system. As a simple definition, a message identifies the content transmitted between two or more applications or programs. One or more programs send a message, and the other one or more programs receive the message. You might think that a query from a SQL-based database using a graphical user interface (GUI) is a message. It is direct, one-to-one messaging, but a messaging system is more sophisticated than this simple example. It is more like using TCP/IP packets on a computer network. In a messaging system, there are clients that can send and receive messages. Each client connects to the messaging system, which provides a platform to create, send, and receive messages. A messaging system has three major features:

  • A messaging system is loosely coupled. This is the most important feature of a messaging system and might be an advantage compared to other systems such as RMI. An application or program, called a sender or publisher, sends a message to a destination, not directly to another client. Another application or program, called a receiver or subscriber, receives the message from a destination. Senders and receivers do not have to be aware of each other.

  • A messaging system isolates clients from each other. Neither sender nor receiver needs to know about each other. They only need to know the message format and destination.

  • A messaging system allows decoupling. A sender and receiver use the system at different times. They do not have to be up and running at the same time. A sender sends the message to a destination, and the receiver takes the messages whenever it is ready. A sender does not need to wait for a response. It can process another task without being blocked. I refer to this feature as asynchronous messaging in the remainder of the book, which generally means that clients are able to use the system at different times, and they do not have to know whether other clients in the system are up and running.

Some developers consider email a part of a messaging system. Although email is a way of communication between people, and sometimes between people and software applications, a messaging system is different. It is used for communication between software applications or objects.

A messaging system is based on message-oriented middleware (MOM), which was explained in the previous chapter. MOM defines the rule of messaging as:

  • How the message looks

  • How a sender application sends the message

  • How a receiver application receives the message

  • How a receiver application reads the message

Advantages and Disadvantages of a Messaging System

In the messaging service (or system), there is a server, and clients connect to this server to communicate with each other (see Figure 5.1).

Figure 5.1
The messaging service architecture.

The server provides some essential services such as message persistence, load balancing, and security. The server provides asynchronous communication and guaranteed delivery from senders to receivers.

A messaging service is a great way for applications to communicate with each other, but it has some disadvantages:

  • You have to send header and other information with the message content. Therefore, the total amount of information is larger than the message content itself, which might increase network traffic.

  • Every message goes to the receivers through a server, which makes communication slower than a direct connection.

  • Your messaging service provider (vendor) might not support all the JMS specifications defined by Sun Microsystems.

Before designing your JMS projects, you should compare the disadvantages such as network traffic, slower communication, and vendor-specific issues with the advantages such as loosely coupled or decoupled systems, portability, persistent messaging, and guaranteed delivery.

Briefly, if you only need to insert some new records into a local database and you have a very reliable network, you might not need to use a messaging system. Keep in mind that a messaging-based application consumes additional resources.

However, if you want to isolate networking problems in your client source code or if the database you want to access is in a different location, you might need to use a messaging service. A messaging service can ensure completion of transactions of an application properly such as manipulating data in a table of the database (for example, Insert, Delete, and Update statements), particularly if the database is unavailable (such as when using a laptop that is disconnected from the network). It will process the command (the message content) at a later time. Decoupling or loosely coupling is the best feature of a messaging service.

 

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs