throbber

`
`
`
`MQSeries for Windows NT
`
`Quick Beginnings
`Version 5.1
`
`IBM
`
`GC34-5389-00
`
`
`
`HP_1026_0001
`
`

`

`
`
`
`
`HP_1026_0002HP_1026_0002
`
`HP_1026_0002
`
`

`

`MQSeries for Windows NT
`
`Quick Beginnings
`Version 5.1
`
`IBM
`
`GC34-5389-00
`
`
`
`HP_1026_0003
`
`

`

` Note
`
`Before using this document, read the general information under Appendix F, “Notices” on page 71.
`
`First edition (March 1999)
`
`This edition applies to Version 5.1 of MQSeries for Windows NT and to all subsequent releases and modifications until
`otherwise indicated in new editions or technical newsletters.
`
`Order publications through your IBM representative or the IBM branch office serving your locality. Publications are
`not stocked at the address below.
`
`IBM welcomes your comments. A form for readers' comments may be provided at the back of this publication.
`form has been removed, you may send your comments to the following address:
`
`If the
`
`
`
`IBM United Kingdom Laboratories,
`Information Development,
`Mail Point 095,
`Hursley Park,
`
` Winchester,
`
`Hampshire,
`
`England,
`
`SO21 2JN
`
`When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way
`it believes appropriate without incurring any obligation to you.
`
` Copyright International Business Machines Corporation 1996,1999. All rights reserved.
`Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is
`subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.
`
`HP_1026_0004
`
`

`

` Contents
`
`Contents
`
`Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`Welcome to MQSeries
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Conventions
` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`Chapter 1. About MQSeries . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Messages, queues, and queue managers
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`MQSeries configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`MQSeries capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Programming MQSeries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Managing MQSeries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`iv
`
` v
`v
`
`1
`1
` 2
`4
`7
`9
`10
`
`Chapter 2. What’s new in MQSeries for Windows NT Version 5.1
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
` 11
`
`Chapter 3. Planning to install MQSeries
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Server hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Server software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`MQSeries components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`The Windows NT client
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`Installing MQSeries . . . . . . . . . . . . . . . . . . . . . . . . .
`Chapter 4.
`Preparing for installation
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Setting up communications
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Verifying the installation
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Removing MQSeries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Installing maintenance updates .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`Chapter 5. Using MQSeries . . . . . . . . . . . . . . . . . . . . . . . . . . .
`MQSeries snap-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Web administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Sample programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`Chapter 6. Using MQSeries command sets
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Control commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`MQSeries (MQSC) commands
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`PCF commands
` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
` 13
`13
`13
`16
` 17
`17
`19
`
`21
` 21
`22
` 24
` 24
`28
` 28
`
`29
`29
`31
`34
`34
`
` 35
`35
` 38
`39
`
` Copyright IBM Corp. 1996,1999
`
`
`
`iii
`
`HP_1026_0005
`
`

`

`Tables
`
`Chapter 7. Using the MQSeries World Wide Web Interface
`Overview of MQSeries Internet Gateway .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`MQSeries Internet Gateway documentation
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`Chapter 8. Obtaining additional information
`The MQSeries library
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Viewing online information
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Printing and ordering books
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Available from the internet
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`
` 41
` 41
` 42
`
` 43
` 43
` 45
` 47
` 48
`
`Appendix A. Preparing to install from a LAN
`
`.
`
`.
`
`Appendix B. Unattended installation . . . . . . . . . . . . . . . . . . . . . .
`Installation response file format
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Installing on the remote machine .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`Appendix C. Removing MQSeries . . . . . . . . . . . . . . . . . . . . . . . .
`Attended removal
` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Unattended removal
` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`Appendix D. Using Microsoft System Management Server
`Creating SMS packages and jobs for MQSeries
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`Appendix E. Applying maintenance . . . . . . . . . . . . . . . . . . . . . . .
`Applying the maintenance information
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Restoring the previous backup version .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Querying the service level
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`Appendix F. Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
` 49
`
`51
` 52
` 57
`
`59
`59
`60
`
` 65
` 65
`
`67
` 67
` 68
` 69
`
`71
`73
`
`75
`
` Tables
`
`1. MQSeries control commands
`.
`.
`.
`.
`.
`2.
`The MQSeries library
`.
`.
`.
`.
`.
`.
`.
`.
`.
`3. MQSeries publications – PDF file names
`
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
` 36
` 43
` 47
`
`iv MQSeries for Windows NT V5.1 Quick Beginnings
`
`
`
`HP_1026_0006
`
`

`

`Conventions
`
`Welcome to MQSeries
`
`This book describes MQSeries and explains how to plan for, install, and use the
`MQSeries for Windows NT Version 5.1 product.
`
` Conventions
`
`Knowing the conventions used in this book will help you use it more efficiently.
`(cid:159) The term “MQSeries” is used to mean the MQSeries for Windows NT product.
`(cid:159) Boldface type indicates the name of an item you need to select or the name of a
`command.
`(cid:159) Italics type indicates new terms, book titles, or variable information that must be
`replaced by an actual value.
`(cid:159) Monospace type indicates an example (such as a fictitious path or file name) or text
`that is displayed on the screen.
`
` Copyright IBM Corp. 1996,1999
`
`
`
`v
`
`HP_1026_0007
`
`

`

`Conventions
`
`vi MQSeries for Windows NT V5.1 Quick Beginnings
`
`
`
`HP_1026_0008
`
`

`

`Introduction
`
` Chapter1. AboutMQSeries
`
`It describes its basic functions and its
`This chapter introduces IBM MQSeries.
`relationships with operating systems, applications, and other middleware products.
`
`The information in this chapter provides a high-level overview and does not cover many
`aspects of the function that MQSeries provides; a more detailed description is given in
`the MQSeries Planning Guide.
`
`You might also like to read the MQSeries: An Introduction to Messaging and Queuing
`book (GC33-0805) to learn about the concepts of MQSeries.
`
` Introduction
`
`MQSeries is a communications system that provides assured, asynchronous, once-only
`delivery of data across a broad range of hardware and software platforms.
`
`These characteristics make MQSeries the ideal infrastructure for
`application-to-application communication and make it an appropriate solution whether
`the applications run on the same machine or on different machines that are separated
`by one or more networks.
`
`MQSeries supports all the important communication protocols and even provides routes
`between networks that use different protocols. MQSeries bridges and gateway
`products allow easy access (with little or no programming) to many existing systems
`and application environments—for example, Lotus Notes, Web browsers, Java
`applets, and many others.
`
`The assured delivery capability reflects the many functions built in to MQSeries to
`ensure that data is not lost because of failures in the underlying system or network
`infrastructure. Assured delivery enables MQSeries to form the backbone of critical
`communication systems and to be entrusted with delivering high-value data. There are
`also options that allow you to select a less robust quality of service, where this is
`appropriate. For example, there might be circumstances where you might prefer faster
`delivery with less emphasis on assured delivery.
`
`The asynchronous processing support in MQSeries means that the exchange of data
`between the sending and receiving applications is time independent. This allows the
`sending and receiving applications to be decoupled so that the sender can continue
`processing, without having to wait for the receiver to acknowledge that it has received
`the data.
`In fact, the target application does not even have to be running when the
`
` Copyright IBM Corp. 1996,1999
`
`
`
`1
`
`HP_1026_0009
`
`

`

`Fundamentals
`
`data is sent. Likewise, the entire network path between the sender and receiver may
`not need to be available when the data is in transit.
`
`Once-only delivery of data is a vital consideration, particularly in financial and business
`applications where duplicate requests to move large sums of money from one account
`to another are precisely what you do not want to happen!
`
`Messages, queues, and queue managers
`
`The three fundamental concepts in MQSeries that you need to understand are:
` (cid:159) Messages
` (cid:159) Queues
` (cid:159) Queue managers
`
` Messages
`
`A message is a string of bytes that has meaning to the applications that use it.
`Messages are used for transferring data from one application to another (or to different
`parts of the same application). The applications can be running on the same platform,
`or on different platforms.
`
`MQSeries messages have two parts; the application data and a message descriptor.
`The content and structure of the application data is defined by the application programs
`that use the data. The message descriptor identifies the message and contains other
`control information, such as the type of message and the priority assigned to the
`message by the sending application.
`
` Queues
`
`A queue is a data structure in which messages are stored. The messages may be put
`on, or got from, the queue by applications or by a queue manager as part of its normal
`operation.
`
`Queues exist independently of the applications that use them. A queue can exist in
`main storage (if it is temporary), on disk or similar auxiliary storage (if it must be kept in
`case of recovery), or in both places (if it is currently being used, and must also be kept
`for recovery). Each queue belongs to a queue manager, which is responsible for
`maintaining it. The queue manager puts the messages it receives onto the appropriate
`queue.
`
`2 MQSeries for Windows NT V5.1 Quick Beginnings
`
`
`
`HP_1026_0010
`
`

`

`Fundamentals
`
`Queues can exist either in your local system, in which case they are called local
`queues, or at another queue manager, in which case they are called remote queues.
`
`Applications send to, and receive messages from, queues. For example, one
`application can put a message on a queue, and another application can get the
`message from the same queue.
`
`Each queue has queue attributes that determine what happens when applications
`reference the queue. The attributes indicate:
`(cid:159) Whether applications can retrieve messages from the queue (get enabled)
`(cid:159) Whether applications can put messages onto the queue (put enabled)
`(cid:159) Whether access to the queue is exclusive to one application or shared between
`applications
`(cid:159) The maximum number of messages that can be stored on the queue at the same
`time (maximum queue depth)
`(cid:159) The maximum size of messages that can be put on the queue (maximum message
`size)
`
` Queuemanagers
`
`A queue manager provides queuing services to applications, and manages the queues
`that belong to it.
`It ensures that:
`(cid:159) Object attributes are changed according to the details received.
`(cid:159) Special events (such as instrumentation events or triggering) are generated when
`the appropriate conditions are met.
`(cid:159) Messages are put on the correct queue, as requested by the application. The
`application is informed if this cannot be done, and an appropriate reason code is
`given.
`
`Each queue belongs to a single queue manager and is said to be a local queue to that
`queue manager. The queue manager to which an application is connected is said to
`be the local queue manager for that application. For the application, the queues that
`belong to its local queue manager are local queues. A remote queue is a queue that
`belongs to another queue manager. A remote queue manager is any queue manager
`other than the local queue manager. A remote queue manager may exist on a remote
`machine across the network or it may exist on the same machine as the local queue
`manager. MQSeries supports multiple queue managers on the same machine.
`
`
`
`Chapter 1. About MQSeries
`
`3
`
`HP_1026_0011
`
`

`

`MQSeries configurations
`
` MQSeriesconfigurations
`
`In the simplest configurations, MQSeries is installed on a machine and a single queue
`manager is created. This queue manager then allows you to define queues. Local
`applications can then use these queues to exchange messages.
`
`Communication by applications with queues managed by another queue manager
`It is not necessary to define a channel
`requires message channels to be defined.
`directly to the target queue manager and it is often appropriate to define one only to the
`next hop (that is, an intermediate queue manager). Message channels available from
`that queue manager will be used to deliver the message to the target queue manager
`(or even to a subsequent hop).
`
`More complex configurations can be created using a client-server structure. The
`MQSeries product can act as an MQSeries server to MQSeries clients. The clients and
`server do not need to be on the same platform. MQSeries supports a broad range of
`client platforms. The MQSeries product includes clients for all the varieties of the
`Windows platform (Windows 98, Windows 95, Windows 3.1, and Windows NT); other
`client platforms are widely available.
`
`In a client-server configuration, the MQSeries server provides messaging and queuing
`services to the clients, as well as to any local applications. The clients are connected
`to the server through dedicated channels (known as client channels) for clients. This is
`a cost-effective deployment method because a server can support hundreds of clients
`with only a single copy of the MQSeries server product. However, the client channel
`must be continuously available whenever the MQSeries applications on the client are
`running. This contrasts with the message channels, which need not be continuously
`available to support MQSeries applications running on the server.
`
`See “Channels” on page 5 for more information.
`
`MQSeries also supports the concept of clusters to simplify setup and operation. A
`cluster is a named collection of queue managers and any one queue manager can
`belong to none, one, or several such clusters. The queue managers in a cluster can
`exist on the same or different machines.
`
`The default configuration that is provided by the installation process for MQSeries can,
`if there is no other queue manager already defined, configure a queue manager that is
`joined to the local default cluster. The queue manager has a name that is based on
`the TCP/IP domain of the machine.
`
`Note: It is not advisable to use clustering in an environment where IP addresses
`change on an unpredictable basis, such as on machines where Dynamic Host
`Configuration (DHCP) is being used.
`
`4 MQSeries for Windows NT V5.1 Quick Beginnings
`
`
`
`HP_1026_0012
`
`

`

`Clients and servers
`
`There are two major benefits from the use of clusters:
`
`1. Communication between members of a cluster is greatly simplified, particularly
`because the channels required for exchanging messages are automatically defined
`and created as needed.
`
`2. Some or all of the queues of participating queue managers can be defined as
`being cluster queues, which has the effect of making them automatically known
`and available to all other queue managers in the cluster.
`
`See “Clusters” on page 6 for more information.
`
` Channels
`
`A channel provides a communication path to a queue manager. There are two types of
`channel: message channels and MQI channels.
`
`A message channel provides a communication path between two queue managers on
`the same, or different, platforms. The message channel is used for transmitting
`messages from one queue manager to another, and shields the application programs
`from the complexities of the underlying networking protocols. A message channel can
`transmit messages in one direction only. Two message channels are required if
`two-way communication is required between two queue managers.
`
`A client channel (also known as an MQI channel) connects an MQSeries client to a
`queue manager on a server machine and is bidirectional.
`
`If you want to read more information about channels and how MQSeries uses them to
`communicate across the systems in your network, see the MQSeries
`Intercommunication book.
`
`Clients and servers
`
`MQSeries supports client-server configurations for MQSeries applications.
`
`An MQSeries client is a part of the MQSeries product that is installed on a machine to
`accept MQSeries calls from applications and pass them to an MQSeries server
`machine. There they are processed by a queue manager. Typically, the client and
`server reside on different machines, but they can also exist on the same machine.
`
`An MQSeries server is a queue manager that provides queuing services to one or more
`clients. All the MQSeries objects (for example, queues) exist only on the queue
`manager machine (that is, on the MQSeries server machine). A server can support
`local MQSeries applications as well.
`
`
`
`Chapter 1. About MQSeries
`
`5
`
`HP_1026_0013
`
`

`

`Clusters
`
`The difference between an MQSeries server and an ordinary queue manager is that the
`MQSeries server can support MQSeries clients, and each MQSeries client application
`has a dedicated communication link with the MQSeries server.
`
`For more information about client support, see the MQSeries Clients book.
`
` Clusters
`
`A cluster is a named collection of queue managers.
`
`Clusters require that at least one of the queue managers in the cluster is defined as a
`repository (that is, a place where the shared cluster information can be held). More
`typically, two or more such repositories are usually designated to provide continued
`availability in the case of system failure. MQSeries makes sure that the information in
`the repositories is kept synchronized.
`
`When a queue is defined as a cluster queue, it can be regarded as a public queue in
`that it is freely available to other queue managers in the cluster. This contrasts with
`non-cluster queues because these are accessible only when a local definition of them is
`available. Thus, a non-cluster queue has the characteristics of a private queue,
`accessible only to those queue managers that have been configured to know about
`them.
`
`If a
`Public queues with the same name in the same cluster are regarded as equivalent.
`message is sent to that queue name, MQSeries (by default) sends it to any one of the
`instances, using a load-balancing algorithm.
`If you do not want this to happen, you can
`use the queue manager and queue name in the address, thus forcing the message to
`be delivered to a specific queue manager. Alternatively, you can replace the
`load-balancing routine with a different implementation. This is typical of MQSeries, in
`that there are many examples of where standard behavior can be changed by
`implementing user code in exits designed for this purpose.
`
`You can read a full explanation in the MQSeries Queue Manager Clusters book.
`
`Note: It is not advisable to use clusters in an environment where IP addresses change
`on an unpredictable basis, such as on machines where Dynamic Host
`Configuration (DHCP) is being used.
`
`6 MQSeries for Windows NT V5.1 Quick Beginnings
`
`
`
`HP_1026_0014
`
`

`

`Transactional support
`
` MQSeriescapabilities
`
`MQSeries can be used to create many different types of solutions. Some exploit the
`platform support, or the bridge and gateway capabilities, to connect existing systems in
`an integrated way or to allow new applications to extract information from, or
`interchange information with, existing systems. Other solutions support business
`application servers, where a central pool of MQSeries applications can manage work
`sent across networks. Complex routing of information for workflow scenarios can be
`supported. Publish/subscribe or “send and forget” are other application scenarios that
`use different message flows. Load balancing and hot-standby systems can be built
`using the power and flexibility of MQSeries, which includes specific functions to support
`many of these diverse scenarios.
`
`See Chapter 6, “Introducing the Message Queue Interface” in the MQSeries Application
`Programming Guide for more information about writing MQSeries applications.
`
` Transactionalsupport
`
`An application program may need to group a set of updates into a unit of work. Such
`updates are usually logically related and must all be successful for data integrity to be
`preserved. Data integrity would be lost if one update in the group succeeded while
`another failed. MQSeries supports transactional messaging.
`
`A unit of work commits when it completes successfully. At this point all updates made
`within that unit of work are made permanent and irreversible. Alternatively, all updates
`are backed out if the unit of work fails. Syncpoint coordination is the process by which
`a unit of work is either committed or backed out with integrity.
`
`A local unit of work is one in which the only resources updated are those of the
`MQSeries queue manager. Here, syncpoint coordination is provided by the queue
`manager itself, using a single-phase commit process.
`
`A global unit of work is one in which resources belonging to other resource managers,
`such as XA-compliant databases, are also updated. Here, a two-phase commit
`procedure must be used and the unit of work may be coordinated by the queue
`manager itself, or externally by another XA-compliant transaction manager such as IBM
`CICS, IBM Transaction Server, IBM TXSeries, Transarc Encina, or BEA Tuxedo.
`
`When the queue manager coordinates global units of work itself it becomes possible to
`integrate database updates within MQSeries units of work. That is, a mixed MQSeries
`and SQL application can be written, and commands can be used to commit or roll back
`the changes to the queues and databases together.
`
`The queue manager achieves this using a two-phase commit protocol. When a unit of
`work is to be committed, the queue manager first asks each participating database
`
`
`
`Chapter 1. About MQSeries
`
`7
`
`HP_1026_0015
`
`

`

`Instrumentation events
`
`manager whether it is prepared to commit its updates. Only if all of the participants,
`including the queue manager itself, are prepared to commit, are all of the queue and
`database updates committed.
`If any participant cannot prepare its updates, the unit of
`work is backed out instead.
`
`Full recovery support is provided if the queue manager loses contact with any of the
`database managers during the commit protocol.
`If a database manager becomes
`unavailable while it is in doubt (that is, it has been called to prepare but has yet to
`receive a commit or backout decision), the queue manager remembers the outcome of
`the unit of work until it has been successfully delivered. Similarly, if the queue manager
`terminates with incomplete commit operations outstanding, these are remembered
`when the queue manager restarts.
`
` Instrumentationevents
`
`You can use MQSeries instrumentation events to monitor the operation of queue
`managers.
`
`Instrumentation events cause special messages, called event messages, to be
`generated whenever the queue manager detects a predefined set of conditions. For
`example, the following condition gives rise to a Queue Full event. Queue Full events
`are enabled for a specified queue, and an application issues an MQPUT call to put a
`message on that queue, but the call fails because the queue is full.
`
`Other conditions that can give rise to instrumentation events include:
`(cid:159) A predefined limit for the number of messages on a queue being reached
`(cid:159) A queue not being serviced within a specified time
`(cid:159) A channel instance being started or stopped
`
`If you define your event queues as remote queues, you can put all the event queues on
`a single queue manager (for those nodes that support instrumentation events). You
`can then use the events generated to monitor a network of queue managers from a
`single node.
`
`MQSeries instrumentation events are categorized as follows:
`
`Queue manager events
`These are related to the definitions of resources within queue managers. For
`example, if an application attempts to open a queue but the associated user ID is
`not authorized to perform that operation, a queue manager event is generated.
`
`Performance events
`These are notifications that a threshold condition has been reached by a resource.
`For example, a queue depth limit has been reached or, following an MQGET
`request, a queue has not been serviced within a predefined period of time. You
`can use the Windows NT performance monitor to check and control certain aspects
`of your queues (for example, the queue depth, percentage queue depth, and how
`many messages have been enqueued and dequeued).
`
`8 MQSeries for Windows NT V5.1 Quick Beginnings
`
`
`
`HP_1026_0016
`
`

`

`MQSeries programming
`
`Channel events
`These are reported by channels as a result of conditions detected during their
`operation. For example, a channel event is generated when a channel instance is
`stopped.
`
` Message-drivenprocessing
`
`When they arrive on a queue, messages can automatically start an application, using a
`mechanism known as triggering.
`If necessary, the application can be stopped when the
`message or messages have been processed.
`
` ProgrammingMQSeries
`
`MQSeries applications can be developed using a variety of programming languages
`and styles. Procedural and object-oriented programming can be done under Visual
`Basic, C, C++, Java, and COBOL. Microsoft Windows NT ActiveX/COM technology is
`also supported.
`
`MQSeries function is logically divided into what is normally required by applications
`(such as putting messages on a queue) and what is necessary for administration (such
`as changing queue or queue manager definitions). Application function is known as the
`MQI (message queue interface). Administration function is known as the MQAI
`(message queuing administration interface). Applications can mix MQI and MQAI
`functionality, as required.
`
`The administration functions can be implemented in two ways:
`1. Most often, using MQAI language bindings or ActiveX classes
`2. Sending messages to administration queues to achieve the same results as above,
`using programmable command formats (PCFs)
`
`
`
`Chapter 1. About MQSeries
`
`9
`
`HP_1026_0017
`
`

`

`Managing MQSeries
`
` ManagingMQSeries
`
`MQSeries is tightly integrated into the Windows NT operating system. The
`management facilities are, therefore, normally to be found alongside their Windows NT
`equivalents and are accessible through a graphical user interface. For example,
`MQSeries events are written to the Windows NT event log and are accessed through
`the event manager. Likewise, performance monitoring or checking the status of queues
`is available through the Windows NT performance monitor.
`
`The operational side of MQSeries can be controlled through the Microsoft Management
`Console (MMC). The MQSeries Explorer, provided as an MMC snap-in, allows you to
`browse queues and change their properties. Both local and remote administration are
`available; thus, a single MQSeries installation on a Windows NT platform can be used
`to manage an entire MQSeries network.
`
`A second MMC snap-in, MQSeries Services, allows you to control the operation of
`MQSeries and its various subcomponents (such as stopping and starting facilities,
`default configurations, and other administration actions).
`
`For compatibility with previous levels of MQSeries, an alternative management method
`is available that uses programs and a command language known as MQSC. These
`can be accessed from a command prompt. Details of MQSC are given in the
`MQSeries Command Reference.
`
`You can also use a Web browser to manage MQSeries. MQSeries includes an
`optional Web server that supports secure management of an MQSeries network from a
`browser.
`It is only necessary to install the Web server on one MQSeries machine
`(although it can, optionally, be installed on many machines within a network). The
`MQSeries Web Administration facility provides a scripting capability that allows
`automatic generation of MQSC.
`
`10 MQSeries for Windows NT V5.1 Quick Beginnings
`
`
`
`HP_1026_0018
`
`

`

`What’s new
`
`Chapter 2. What’s new in MQSeries for
`Windows NT Version 5.1
`
`MQSeries for Windows NT Version 5.1 is an update to the MQSeries for Windows NT
`Version 5.0 product. The main areas of change are:
`(cid:159) Support for clusters (that is, named collections of queue managers). Provided the
`necessary infrastructure is in place, any queue manager can send a message to
`any other queue in the same cluster without the need for a transmission queue,
`channel definition, or remote queue definition. Clusters also simplify the
`implementation of hot-standby and load-balancing configurations.
`(cid:159) A default configuration that allows you to try out MQSeries as soon as you have
`finished installing the product.
`(cid:159) Close integration with Microsoft Windows NT Version 4.0, including exploitation of
`extra function provided by the Microsoft Management Console Version 1.1 and
`Active Directory Services Interface (ADSI) Version 2.0 system updates. The main
`highlights are:
`
`– Graphical tools and applications for managing, controlling, and exploring
`MQSeries:
`
`-
`
`-
`
`IBM MQSeries (also known as MQSeries Explorer)—a Microsoft
`management console (MMC) snap-in that allows you to query, change,
`and create the local, remote, and cluster objects across an MQSeries
`network.
`
`IBM MQSeries Services—an MMC snap-in that controls the operation of
`MQSeries components, either locally or remotely within the Windows NT
`domain.
`It monitors the operation of MQSeries servers and provides
`extensive error detection and recovery functions.
`
`- MQSeries API Exerciser—a graphical application for exploring the
`messaging and queuing programming functions that MQSeries provides.
`It can also be used in conjunction with the MQSeries Explorer to gain a
`deeper understanding of the effects of MQSeries operations on objects
`and messages.
`
`- MQSeries Postcard—a sample application that can be used to verify an
`MQSeries installation, for either local or remote messaging.
`
`– Support for the following features of Windows NT has been added:
`
`- Windows NT performance monitor—used to access and display MQSeries
`information, such as the current depth of a queue and the rate at which
`message data is put onto and taken off queues.
`
`- Active Directory—programmable access to MQSeries objects is available
`through the Active Directory Services Interface (ADSI).
`
` Copyright IBM Corp. 1996,1999
`
`
`
`11
`
`HP_1026_0019
`
`

`

`What’s ne

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket