Sun Java System Message Queue 4.1 Technical Overview

Preface

This book, the Sun Java System Message Queue 3.7 UR1Technical Overview, provides an introduction to the technology, concepts, architecture, capabilities, and features of the Message Queue messaging service.

As such, this book provides the foundation for other books within the Message Queue documentation set, and should be read first.

Who Should Use This Book

This guide is meant for application developers, administrators, and other parties who plan to use the Message Queue product or who wish to understand the technology, concepts, architecture, capabilities, and features of the product.

This book does not assume any knowledge of the Java Message Service (JMS) specification, which is implemented by the Message Queue service.

Before You Read This Book

There are no prerequisites to this book. You should read this book to gain an understanding of basic Message Queue concepts before reading the Message Queue developer and administration guides.

How This Book Is Organized

This guide is designed to be read from beginning to end; each chapter builds on information contained in earlier chapters. The following table briefly describes the contents of each chapter.

Table P–1 Book Contents and Organization

Chapter 

Description 

Chapter 1, Messaging Systems: An Introduction

Introduces messaging middleware technology, discusses the JMS standard, and describes the Message Queue service implementation of that standard. 

Chapter 2, Client Programming Model

Describes the JMS programming model and how you can use the Message Queue client runtime to create JMS clients. Describes runtime support for C++ clients and for the transport of SOAP messages. 

Chapter 3, Message Queue Service

Discusses administrative tasks and tools and describes broker services used to configure connections, routing, persistence, security, and monitoring. 

Chapter 4, Broker Clusters

Discusses the architecture and use of Message Queue broker clusters. 

Chapter 5, Message Queue and J2EE

Explores the ramifications of implementing JMS support in a J2EE platform environment 

Appendix A, Message Queue Implementation of Optional JMS Functionality

Describes how the Message Queue product handles JMS optional items 

Appendix B, Message Queue Features

Lists Message Queue features, summarizes steps needed to implement these, and provides reference for further information 

Glossary

Provides information about terms and concepts you might encounter while using Message Queue 

Related Documentation

The documents that comprise the Message Queue documentation set are listed in the following table in the order in which you would normally use them.

Table P–2 Message Queue Documentation Set

Document 

Audience 

Description 

Sun Java System Message Queue 4.1 Installation Guide

Developers and administrators 

Explains how to install Message Queue software on Solaris, Linux, and Windows platforms. 

Sun Java System Message Queue 4.1 Release Notes

Developers and administrators 

Includes descriptions of new features, limitations, and known bugs, as well as technical notes. 

Sun Java System Message Queue 4.1 Technical Overview

Developers and administrators 

Describes Message Queue concepts, features, and components. 

Sun Java System Message Queue 4.1 Developer’s Guide for Java Clients

Developers 

Provides a quick-start tutorial and programming information for developers of Java client programs using the Message Queue implementation of the JMS or SOAP/JAXM APIs. 

Sun Java System Message Queue 4.1 Administration Guide

Administrators, also recommended for developers 

Provides background and information needed to perform administration tasks using Message Queue administration tools. 

Sun Java System Message Queue 4.1 Developer’s Guide for C Clients

Developers 

Provides programming and reference documentation for developers of C client programs using the Message Queue C implementation of the JMS API (C-API). 

Online Help

Message Queue 4.1 includes command-line utilities for performing Message Queue message service administration tasks.

Message Queue 4.1 also includes a graphical user interface (GUI) administration tool, the Administration Console (imqadmin). Context-sensitive help is included in the Administration Console; see Administration Console Online Help in Sun Java System Message Queue 4.1 Administration Guide.

JavaDoc

JMS and Message Queue API documentation in JavaDoc format is provided at the following location:

Platform 

Location 

Solaris 

/usr/share/javadoc/imq/index.html

Linux 

/opt/sun/mq/javadoc/index.html

Windows 

IMQ_HOME/javadoc/index.html

This documentation can be viewed in any HTML browser. It includes standard JMS API documentation, as well as Message Queue-specific APIs for Message Queue administered objects, which are of value to developers of messaging applications.

Example Client Applications

Message Queue provides a number of example client applications to assist developers.

Example Java Client Applications

Example Java client applications are located in the following directories, depending on platform. See the README file located in these directories and in each of their subdirectories.

Platform 

Location 

Solaris 

/usr/demo/imq/

Linux 

/opt/sun/mq/examples

Windows 

IMQ_HOME/demo/

Example C Client Programs

Example C client applications are located in the following directories, depending on platform. See the README file located in these directories.

Platform 

Location 

Solaris 

/opt/SUNWimq/demo/C/

Linux 

/opt/sun/mq/examples/C/

Windows 

IMQ_HOME/demo/C/

The Java Message Service (JMS) Specification

The JMS specification can be found at the following location:

The specification includes sample client code.

Directory Variable Conventions

Message Queue makes use of three directory variables; how they are set varies from platform to platform. Table P–3 describes these variables and how they are used on the Solaris, Linux, and Windows platforms.


Note –

The information in Table P–3 applies only to the standalone installation of Message Queue. When Message Queue is installed and run as part of an Application Server installation, the values of the directory variables are set differently: IMQ_HOME is set to appServer_install_dir/imq (where appServer_install_dir is the Application Server installation directory), and IMQ_VARHOME is set to appServer_domainName_dir/imq (where appServer_domainName_dir is the domain directory for the domain starting the Message Queue broker).


Table P–3 Directory Variable Conventions

Variable 

Description 

IMQ_HOME

Used in Message Queue documentation to refer to the Message Queue base directory (root installation directory): 

  • On Solaris and Linux, there is no root Message Queue installation directory. Therefore IMQ_HOME is not used in Message Queue documentation to refer to file locations in Solaris and Linux.

  • On Windows, the root Message Queue installation directory is set to the directory in which you unzip the Message Queue bundle.

IMQ_VARHOME

The /var directory in which Message Queue temporary or dynamically-created configuration and data files are stored. It can be set as an environment variable to point to any directory.

  • On Solaris, IMQ_VARHOME defaults to the /var/imq directory.

  • On Solaris, for Sun Java System Application Server, Evaluation Edition, IMQ_VARHOME defaults to the IMQ_HOME/var directory.

  • On Linux, IMQ_VARHOME defaults to the /var/opt/sun/mq directory.

  • On Windows, IMQ_VARHOME defaults to the IMQ_HOME/var directory.

IMQ_JAVAHOME

An environment variable that points to the location of the Java runtime environment (JRE) required by Message Queue executables:

  • On Solaris, IMQ_JAVAHOME looks for the latest JDK, but a user can optionally set the value to wherever the preferred JRE resides.

  • On Linux, Message Queue first looks for the latest JDK, but a user can optionally set the value of IMQ_JAVAHOME to wherever the preferred JRE resides.

  • On Windows, IMQ_JAVAHOME will be set to point to an existing Java runtime if a supported version is found on the system. If a supported version is not found, one will be installed.

In this guide, IMQ_HOME, IMQ_VARHOME, and IMQ_JAVAHOME are shown without platform-specific environment variable notation or syntax (for example, $IMQ_HOME on UNIX). Path names generally use UNIX directory separator notation (/).

Typographic Conventions

The following table describes the typographic conventions that are used in this book.

Table P–4 Typographic Conventions

Typeface 

Meaning 

Example 

AaBbCc123

The names of commands, files, and directories, and onscreen computer output 

Edit your .login file.

Use ls -a to list all files.

machine_name% you have mail.

AaBbCc123

What you type, contrasted with onscreen computer output 

machine_name% su

Password:

aabbcc123

Placeholder: replace with a real name or value 

The command to remove a file is rm filename.

AaBbCc123

Book titles, new terms, and terms to be emphasized 

Read Chapter 6 in the User's Guide.

A cache is a copy that is stored locally.

Do not save the file.

Note: Some emphasized items appear bold online.

Shell Prompts in Command Examples

The following table shows the default UNIX® system prompt and superuser prompt for the C shell, Bourne shell, Korn shell, and Windows operating system.

Table P–5 Shell Prompts

Shell 

Prompt 

C shell 

machine_name%

C shell for superuser 

machine_name#

Bourne shell and Korn shell 

$

Bourne shell and Korn shell for superuser 

#

Windows 

C:\ 

Symbol Conventions

The following table explains symbols that might be used in this book.

Table P–6 Symbol Conventions

Symbol 

Description 

Example 

Meaning 

[ ]

Contains optional arguments and command options. 

ls [-l]

The -l option is not required.

{ | }

Contains a set of choices for a required command option. 

-d {y|n}

The -d option requires that you use either the y argument or the n argument.

${ }

Indicates a variable reference. 

${com.sun.javaRoot}

References the value of the com.sun.javaRoot variable.

Joins simultaneous multiple keystrokes. 

Control-A 

Press the Control key while you press the A key. 

Joins consecutive multiple keystrokes. 

Ctrl+A+N 

Press the Control key, release it, and then press the subsequent keys. 

-> 

Indicates menu item selection in a graphical user interface. 

File -> New -> Templates 

From the File menu, choose New. From the New submenu, choose Templates. 

Documentation, Support, and Training

The Sun web site provides information about the following additional resources:

Searching Sun Product Documentation

Besides searching Sun product documentation from the docs.sun.com web site, you can use a search engine by typing the following syntax in the search field:


search-term site:docs.sun.com

For example, to search for “broker,” type the following:


broker site:docs.sun.com

To include other Sun web sites in your search (for example, java.sun.com, www.sun.com, and developers.sun.com), use “sun.com” in place of “docs.sun.com” in the search field.

Third-Party Web Site References

Third-party URLs are referenced in this document and provide additional, related information.


Note –

Sun is not responsible for the availability of third-party web sites mentioned in this document. Sun does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Sun will not be responsible or liable for any actual or alleged damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods, or services that are available on or through such sites or resources.


Sun Welcomes Your Comments

Sun is interested in improving its documentation and welcomes your comments and suggestions. To share your comments, go to http://docs.sun.com and click Send Comments. In the online form, provide the full document title and part number. The part number is a 7-digit or 9-digit number that can be found on the book's title page or in the document's URL. For example, the part number of this book is 819-7759.