
=head1 INTRODUCTION

This module implements a perl5 API for the IBM MQSeries / WebSphere MQ
messaging middleware product API (often referred to as the MQI), as
well as:

=over 

=item Object Oriented (OO) interface to the MQI

=item OO interface to the MQSeries administrative commands via PCF or MQSC

=item OO interface to the Publish/Subscribe subsystem

=item OO interface to the various configuration, log, and error files

=back

For more information on the MQSeries / WebSphere MQ product itself,
see the IBM website at: http://www.ibm.com/software/mqseries

=head1 PREREQUISITES

This release requires perl5.005 or later, and some release of the IBM
MQSeries product installed, either V5.1, V5.2 or V5.3.

The PubSub extensions, and the RulesFormat message support require
either V5.2 or V5.1.  MQSI is not supported.

=head1 PLATFORMS

This package has been known to build with the following combinations
of software.  Those marked with an asterix (*) are platforms the
maintainer can not test personally, so there is a remote possibility
that there may be new bugs in these platforms.  Please report problems
to the maintainer.

  Operating System	MQSeries Version	Perl Version	
  ================	================	============	
* SunOS 5.5.1	        5.0			5.00502
						5.00503
						5.6.1
* SunOS 5.6		5.0			5.00503
  SunOS 5.7		5.1			5.00503
                                                5.6.1
                                                5.8.0
  SunOS 5.7		5.2			Same as SunOS 5.7 / MQ 5.1
  SunOS 5.7		5.3			Same as SunOS 5.7 / MQ 5.1
  SunOS 5.8		5.1			Same as SunOS 5.7 / MQ 5.1
  SunOS 5.8		5.2			Same as SunOS 5.7 / MQ 5.1
  SunOS 5.8		5.3			Same as SunOS 5.7 / MQ 5.1
 *IRIX 6.5		2.x			Same as SunOS 5.5.1
 *IRIX 6.5		5.0			Same as SunOS 5.5.1	
 *HP-UX 11.0 32bit	5.1			5.00503
 *HP-UX 11.0 32bit	5.2			5.6.1
 *NT 4.0		5.0			AS build 521
 *NT 4.0		5.1			AS build 521
 *NT 4.0		5.1			AS build 617
 *NT 4.0		5.1			AS build 617
 *Windows 2000		5.2			??
 *Windows 2000 Pro SP1  5.2                     ActivePerl 5.8
                        5.3                     ActivePerl 5.8
 *Windows 2000 Pro SP2  5.2                     ActivePerl 5.8
                        5.3                     ActivePerl 5.8
 *Windows 2000 Pro SP3  5.2                     ActivePerl 5.8
                        5.3                     ActivePerl 5.8
 *AIX 4.3.3		5.1			5.00503
 *AIX 4.3.3		5.2			5.6.1
 *AIX 5.1L		5.2			5.6.1
 *SuSE Linux 6.3	5.1			5.00503
 *HP-UX 10.20		??			??
 *HP-UX 11		5.3			5.6.1
 *Redhat Linux 5.2	?? 			??
 *Redhat Linux 6.1	5.1 			5.00503
 *Redhat Linux 6.2	5.1			5.6.0
  Redhat Linux 7.x	5.2			5.00503
						5.6.1
                                                5.8.0
  Redhat Linux 8.x 	5.2			5.00503
						5.6.1
                                                5.8.0
  Redhat Linux 8.x 	5.3			Same as Red Hat 8 / MQ 5.2
  Red Hat AS 3.0 / IA32 5.3			5.00503
						5.6.1
						5.8.2
  Red Hat AS 3.0 / IA64 5.2			5.6.1
						5.8.2
 *SCO OpenServer 5.0.6	5.0			??

NOTE: The ?? indicates that I received reports of a successful test
suite run, but I never received confirmation of the MQSeries version.
if you have built in on these platforms, *PLEASE* help save the free
world by letting me know what version of MQSeries, compiler, perl,
etc. you built it with.

If you succeed in making this work on any other platform, please send
the changes (in the form of a context diff) to the author, so I can
integrate it.

=head1 INSTALLATION

This module installs much like anything else available on CPAN.

  perl Makefile.PL
  make
  make test
  make install
                                                                     
Before building the module, you need to edit the CONFIG file and
change, minimally, the name of the queue manager against which the
tests will run.  The rest of the defaults should be reasonable, but
you will have to customize this file to match your local environment.
The CONFIG file has comments which document each of the parameters, so
go read it for more information.

On some platforms (notably Linux and HP-UX), you need to link to
different libraries depending on whether your perl has been set up to
run multi-theaded or not.  The MQClient/Makefile.PL script tries to
figure this out automatically; if you run into issues, patches to that
script will be welcome.

You will obviously need to create the queue used for the test suite on
the queue manager you specified in the CONFIG file.

NOTE: If you do not support client channel table files, then you may
have to set the MQSERVER environment variable in order to allow the
client tests to work.

Any failure in the test suite should a cause for concern.  In order to
get more details from it, run it via:

  make test TEST_VERBOSE=1

If you can't figure out what broke, then send the author the output
from "perl -V", as well as the output from the verbose test run.
Please include as many details as possible about the operating system
and MQSeries software on both the host being used to compile this
extension, as well as the queue manager to which the test suite is
connecting.

The most common problem with this module is failure to connect to the
queue manager.  Before submitting a bug report for the
MQClient::MQSeries modules, make sure the IBM-supplied sample
utilities C<amqsgetc> and C<amqsputc> work.

=head1 RELEASE NOTES

The Changes.html file has a complete, historical list of all
user-visible (and some invisible) changes to this code.

=head1 DOCUMENTATION

The documentation will be installed as man pages by default, but the
location of them depends entirely on how you have perl built and
installed.  Watch the installation, and you will see where they get
installed.  Prepend that to your MANPATH environment variable, and
then, all of these man commands will work.

Personally, the author prefers the results of "pod2html", but the
perl5 Makefile.PL infrastructure won't do this for you automatically.

  man MQSeries

will provide the documentation for the core MQI interface, and,

  man MQSeries::QueueManager
  man MQSeries::Queue
  man MQSeries::Message

will provide the core documentation for the OO interface.  

The following man pages document the classes that handle various
special MQSeries message types:

  man MQSeries::Message::Event
  man MQSeries::Message::Storable
  man MQSeries::Message::XML-Dumper
  man MQSeries::Message::PCF
  man MQSeries::Message::RulesFormat
  man MQSeries::Message::DeadLetter

There is an OO interface to the Command Server:

  man MQSeries::Command
  man MQSeries::Command::Request
  man MQSeries::Command::Response

There is also an interface to the Publish/Subscribe system:

  man MQSeries::PubSub::Broker
  man MQSeries::PubSub::Stream
  man MQSeries::PubSub::Command
  man MQSeries::PubSub::Message
  man MQSeries::PubSub::AdminMessage

A number of utility classes have been created for parsing the various
file formats used by the MQSeries product:

  man MQSeries::Config::ChannelTable
  man MQSeries::Config::Machine
  man MQSeries::Config::QMgr
  man MQSeries::ErrorLog::Parser
  man MQSeries::ErrorLog::Tail
  man MQSeries::ErrorLog::Entry
  man MQSeries::FDC::Parser
  man MQSeries::FDC::Tail
  man MQSeries::FDC::Entry

=head1 AUTHORS

The code is currently maintained and supported by:

  Hildo Biersma <Hildo.Biersma@MorganStanley.com>

Most of the previous development, maintenance and support work was
done by:

  W. Phillip Moore <Phil.Moore@MorganStanley.com>

We also have to give credit to:

  Brian T. Shelden <shelden@shelden-associates.com>

for his help in porting and testing the code.

This module was originally developed as an IBM SupportPac, so credit
must also go to the original author:

  David J. Lennon <davidl@bristol.com>

Although, nothing remains of the original code.... (sorry, David :-)

=cut

#
# $Id: README,v 25.2 2004/01/14 19:10:33 biersma Exp $
#
# (c) 1999-2004 Morgan Stanley Dean Witter and Co.
# See ..../src/LICENSE for terms of distribution.
#
