throbber
Business Integration
`Solutions with
`MQSeries Integrator
`
`Exploring the latest version of
`MQSeries Integrator
`
`Extending the functionality of
`MQSeries Integrator
`
`Providing a single
`customer view solution
`
`ibm.com/redbooks
`
`Geert Van de Putte
`Colin Brett
`Paul Sehorne
`Sharon Stubblebine
`
`HP_1027_0001
`
`

`

`HP_1027_0002
`
`HP_1027_0002
`
`

`

`International Technical Support Organization
`
`SG24-6154-00
`
`Business Integration Solutions with
`MQSeries Integrator
`
`August 2000
`
`HP_1027_0003
`
`

`

`Take Note!
`
`Before using this information and the product it supports, be sure to read the general information in
`Appendix D, “Special notices” on page 253.
`
`First Edition (August 2000)
`
`This edition applies to Version 2, Release 0 of MQSeries Integrator, Program Number 5639-F61 for use
`with the Windows NT Version 4 Operating System.
`
`Comments may be addressed to:
`IBM Corporation, International Technical Support Organization
`Dept. HZ8 Building 678
`P.O. Box 12195
`Research Triangle Park, NC 27709-2195
`
`When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the
`information in any way it believes appropriate without incurring any obligation to you.
`
`© Copyright International Business Machines Corporation 2000. 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_1027_0004
`
`

`

`Contents
`
`Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
`The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
`Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
`
`Part 1.
`
`Introduction to MQSeries Integrator V2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
`
`Chapter 1. Overview of MQSeries Integrator . . . . . . . . . . . . . . . . . . . . . 3
`1.1 Business integration and the MQSeries Family . . . . . . . . . . . . . . . . . . 3
`1.2 MQSeries Integrator at a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
`1.3 The Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
`1.4 The Control Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
`1.5 The message broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
`1.5.1 Persistent store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
`1.5.2 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
`1.5.3 Administrative agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
`1.5.4 Message flow execution engine . . . . . . . . . . . . . . . . . . . . . . . . . 14
`1.6 The User Name Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
`1.7 Security subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
`1.8 Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
`1.9 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
`1.10 Message domains, message sets, message types . . . . . . . . . . . . . . 18
`1.11 MQSeries Integrator applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
`
`Installation and configuration . . . . . . . . . . . . . . . . . . . . . . . 21
`Chapter 2.
`2.1 Installing MQSeries Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
`2.1.1 Check that prerequisites are installed . . . . . . . . . . . . . . . . . . . . . 21
`2.1.2 Insert CD and follow the Install Wizard . . . . . . . . . . . . . . . . . . . . 24
`2.2 Post-installation setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
`2.2.1 Set up security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
`2.2.2 Set up databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
`2.2.3 Create an MQSeries Queue Manager. . . . . . . . . . . . . . . . . . . . . 33
`2.2.4 Create a Configuration Manager. . . . . . . . . . . . . . . . . . . . . . . . . 36
`2.2.5 Create a broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
`2.2.6 Create a User Name Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
`2.3 Setting up the Control Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
`2.3.1 Starting the MQSeries Integrator Services . . . . . . . . . . . . . . . . . 45
`2.3.2 Start the Control Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
`2.3.3 Adding the Log tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
`2.3.4 Set up user roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
`2.3.5 Register (create) a broker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
`
`© Copyright IBM Corp. 2000
`
`iii
`
`HP_1027_0005
`
`

`

`2.3.6 Save the work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
`2.4 The "Hello world" message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
`2.4.1 Building the message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
`2.4.2 Deploying the HelloWorld message flow . . . . . . . . . . . . . . . . . . . 60
`2.4.3 Testing the message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
`2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
`
`Introduction to XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
`Chapter 3.
`3.1 XML concepts and terminology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
`3.1.1 More terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
`3.2 The importance of XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
`3.2.1 Importance for the MQSeries Family. . . . . . . . . . . . . . . . . . . . . . 71
`3.2.2 Use of XML within MQSeries Integrator . . . . . . . . . . . . . . . . . . . 72
`
`Chapter 4. Advanced setup of MQSeries Integrator . . . . . . . . . . . . . . . 73
`4.1 Using a remote database for the Configuration Manager . . . . . . . . . . 73
`4.1.1 Preparing the AIX system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
`4.1.2 Configuring DB2 Client access . . . . . . . . . . . . . . . . . . . . . . . . . . 74
`4.2 Creating a multi-broker domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
`4.2.1 Overview of the MQSeries clustering feature . . . . . . . . . . . . . . . 76
`4.2.2 Creating the MQSeries Integrator Cluster . . . . . . . . . . . . . . . . . . 79
`4.2.3 Creating the Configuration Manager . . . . . . . . . . . . . . . . . . . . . . 85
`4.2.4 Creating the User Name Server . . . . . . . . . . . . . . . . . . . . . . . . . 86
`4.2.5 Creating the brokers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
`4.2.6 Using the Control Center to link everything together . . . . . . . . . . 89
`4.3 A multi-broker domain in action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
`4.3.1 Connecting the application queue managers . . . . . . . . . . . . . . . 92
`4.3.2 Test scenarios in the multi-broker domain . . . . . . . . . . . . . . . . . 94
`4.3.3 Multi-broker versus multiple execution groups . . . . . . . . . . . . . . 95
`4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
`
`Chapter 5. Example message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
`5.1 Overview of the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
`5.2 Using the Message Repository Manager . . . . . . . . . . . . . . . . . . . . . 102
`5.3 Creating and deploying the message flow . . . . . . . . . . . . . . . . . . . . 112
`5.4 Details of each node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
`5.4.1 MQInput node COMPLEX.XML. . . . . . . . . . . . . . . . . . . . . . . . . 113
`5.4.2 XML.PROCESSOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
`5.4.3 MQInput node COMPLEX.C . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
`5.4.4 Compute node CWFtoXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
`5.4.5 MQOutput nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
`
`Chapter 6. Exploring ESQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
`6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
`
`iv
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0006
`
`

`

`6.2 Field manipulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
`6.2.1 Removing a field from the output message . . . . . . . . . . . . . . . . 124
`6.2.2 Adding new fields in the output message . . . . . . . . . . . . . . . . . 125
`6.3 Database operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
`6.3.1 Qualifying table and column names . . . . . . . . . . . . . . . . . . . . . 126
`6.3.2 Usage of keywords THE and ITEM . . . . . . . . . . . . . . . . . . . . . . 127
`6.4 The complete ESQL used in testing the scenarios in this chapter. . . 128
`6.5 XML output message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
`
`Chapter 7. Developing your own plug-in. . . . . . . . . . . . . . . . . . . . . . . 137
`7.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
`7.2 Overview of the requirements for your plug-in . . . . . . . . . . . . . . . . . 137
`7.2.1 API requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
`7.2.2 Implementation requirements and restrictions. . . . . . . . . . . . . . 139
`7.3 Developing a Switch node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
`7.3.1 Design of the Switch node . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
`7.3.2 Making the plug-in available in the Control Center . . . . . . . . . . 141
`7.3.3 Implementation details of the Switch node . . . . . . . . . . . . . . . . 146
`7.4 Testing the plug-in during development . . . . . . . . . . . . . . . . . . . . . . 157
`7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
`
`Part 2. A Business Integration solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
`
`Chapter 8. Getting a single customer view with MQSeries . . . . . . . . 165
`8.1 Single customer view as an e-business pattern . . . . . . . . . . . . . . . . 166
`8.2 Outbound Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
`8.2.1 RB_SCV_1message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
`8.2.2 RB_SCV_Request_Endow message flow . . . . . . . . . . . . . . . . . 188
`8.2.3 RB_SCV_Request_House message flow . . . . . . . . . . . . . . . . . 210
`8.2.4 RB_SCV_Request_Motor message flow. . . . . . . . . . . . . . . . . . 213
`8.3 Inbound flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
`8.3.1 RB_SCV_Backend_Reply message flow . . . . . . . . . . . . . . . . . 219
`8.3.2 RB_SCV_Backend_Reply_House&Motor message flow . . . . . . 221
`
`Appendix A. Hardware and software specification. . . . . . . . . . . . . . . . 225
`A.1 Multi-broker setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
`A.2 Single customer view application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
`
`Appendix B. Source code for the SwitchNode plug-in. . . . . . . . . . . . . 227
`B.1 Header file SwitchNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
`B.2 Source file SwitchNode.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
`
`v
`
`HP_1027_0007
`
`

`

`Appendix C. Using the additional material . . . . . . . . . . . . . . . . . . . . . . 249
`C.1 Locating the additional material on the Internet . . . . . . . . . . . . . . . . . . . 249
`C.2 Using the Web material
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
`C.2.1 System requirements for downloading the Web material . . . . . . . . 249
`C.2.2 How to use the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
`C.2.3 Material for the single customer view application . . . . . . . . . . . . . . 250
`
`Appendix D. Special notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
`
`Appendix E. Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
`E.1 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
`E.2 IBM Redbooks collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
`E.3 Referenced Web sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
`
`How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
`IBM Redbooks fax order form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
`
`Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
`
`Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
`
`Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
`
`IBM Redbooks review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
`
`vi
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0008
`
`

`

`Preface
`
`Very often information about a customer is stored in product-centric
`databases. You can imagine an insurance company that has one database for
`each type of insurance they sell. However, when customers want to obtain
`information about their current insurance contracts, they want to see a single
`view of that information, and not submit a query for each contract they might
`have. This IBM Redbook outlines the messaging techniques that one can
`implement to obtain a user-friendly single customer view, using MQSeries
`Integrator.
`
`This redbook explores the features and functionality of the new version of
`MQSeries Integrator for Windows NT and provides guidance on installation
`and configuration. A number of message flows are developed. These
`message flows are the implementation of business rules that need to be
`executed by the MQSeries Integrator broker. The redbook also explains how
`to extend the functionality of MQSeries Integrator with user-written plug-in
`nodes.
`
`The book also describes a Web-enabled single customer view solution. This
`solution uses WebSphere, DB2, MQSeries, and MQSeries Integrator to solve
`a common business integration problem: how do I get a single view of all my
`customer information when that information is distributed over a number of
`systems?
`
`The team that wrote this redbook
`
`This redbook was produced by a team of specialists from around the world
`working at the International Technical Support Organization, Raleigh Center.
`
`Geert Van de Putte is an IT Specialist at the International Technical Support
`Organization, Raleigh Center. He has five years of experience in the design
`and implementation of MQSeries-based solutions. Before joining the ITSO,
`Geert worked in IBM Global Services, Belgium.
`
`Colin Brett is a Systems Specialist in the United Kingdom. He has 10 years
`of experience as a CICS Systems Programmer, with four years as an
`MQSeries Systems Programmer and Support specialist. Colin provides
`support for both IBM internal systems and external customers.
`
`Paul Sehorne is an IBM Certified Solutions Expert - MQSeries. He is team
`leader of the MQSeries Advanced Technical Support Team at the IBM Dallas
`Systems Center in the United States. He does technical marketing support for
`
`© Copyright IBM Corp. 2000
`
`vii
`
`HP_1027_0009
`
`

`

`MQSeries and MQSeries Integrator including consulting, architectural design,
`and implementation. He has written or contributed to several white papers
`and the redbook MQSeriesBackupandRecovery, SG24-5222 and has been
`a speaker at the annual MQSeries Technical Conference.
`
`Sharon A. Stubblebine is a Senior IT Specialist in the United States. She
`has 22 years of experience in the IT field. For the last five years she has
`specialized in the MQSeries family of products.
`
`Comments welcome
`Your comments are important to us!
`
`We want our Redbooks to be as helpful as possible. Please send us your
`comments about this or other Redbooks in one of the following ways:
`
`(cid:127) Fax the evaluation form found in “IBM Redbooks review” on page 267 to
`the fax number shown on the form.
`
`(cid:127) Use the online evaluation form found at http://www.redbooks.ibm.com/
`
`(cid:127) Send your comments in an Internet note to redbook@us.ibm.com
`
`viii
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0010
`
`

`

`Part 1.
`
`Introduction to MQSeries Integrator V2.0
`
`The book is divided into two parts. In this first part, we look at the installation
`and functionality of MQSeries Integrator. We start with an overview of the
`product, followed by some installation and configuration issues. Also, a
`number of examples of ESQL and message flows are explained.
`
`Chapter 1, “Overview of MQSeries Integrator” on page 3 provides an
`overview of the new product and the key components. It positions the product
`in the line of products that constitute the MQSeries family.
`
`Chapter 2, “Installation and configuration” on page 21 gives some guidance
`for a standard installation of the product and base configuration.
`
`Given the importance of eXtensible Markup Language (XML) in general and
`in particular in this new version of MQSeries Integrator, Chapter 3,
`“Introduction to XML” on page 67 discusses XML, provides a glossary of
`terminology, and discusses the relationships between terms.
`
`Chapter 4, “Advanced setup of MQSeries Integrator” on page 73 discusses
`some advanced installation and configuration issues where MQSeries
`Integrator is installed on multiple machines. Also, it shows how the MQSeries
`clustering feature can be used to make the different components of the
`product work together.
`
`The three remaining chapters in this part discuss the use of some important
`features of the product. Chapter 5, “Example message flow” on page 99
`discusses a message flow that routes a message through the system.
`Chapter 6, “Exploring ESQL” on page 123 shows how to use ESQL to write
`simple scripts for the transformation of messages. Chapter 7, “Developing
`your own plug-in” on page 137 covers adding functionality to the product via
`user-written nodes.
`
`© Copyright IBM Corp. 2000
`
`1
`
`HP_1027_0011
`
`

`

`2
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0012
`
`

`

`Chapter 1. Overview of MQSeries Integrator
`
`In this chapter we introduce the major components of MQSeries Integrator
`and a number of concepts that are important to understand. We explain the
`building blocks of MQSeries Integrator: defining messages and organizing
`them in message sets and building message flows that translate business
`rules into logic that is executed by the broker.
`
`1.1 Business integration and the MQSeries Family
`The new version of MQSeries Integrator is part of the IBM product offering for
`business integration, based on the messaging transport layer.
`
`At the core of the MQSeries family is MQSeries itself. It provides assured
`once-only delivery of messages across more than 30 industry platforms using
`a variety of communications protocols.
`
`MQSeries provides support for applications with a number of application
`programming interfaces (MQI, AMI, JMS) in several programming languages
`and for a number of communication models (including point-to-point and
`publish/subscribe). MQSeries also provides a number of connectors and
`gateways to other products such as Lotus Domino, Microsoft Exchange,
`SAP/R3, CICS, and IMS.
`
`MQSeries Integrator extends the messaging capabilities of MQSeries by
`adding message broker functionality driven by business rules. It provides the
`intelligence to route and transform messages, the possibility to filter
`messages (topic-based or content-based), and database capabilities for
`enrichment of the messages or for warehousing the messages. Also, it
`provides a framework for extending the functionality with plug-ins to
`user-written or third-party solutions for specific requirements.
`
`MQSeries Workflow is the third component of IBM’s family of products for
`business integration. It is also based on the messaging technology offered by
`base MQSeries, but it adds a further dimension to the integration of
`applications. It’s not only about applications, but about integrating all
`resources in a business process. It ensures that the right information gets to
`the right target, either a person or application, at the right moment in the
`process flow.
`
`© Copyright IBM Corp. 2000
`
`3
`
`HP_1027_0013
`
`

`

`Family Traits
`
`Modular Set of Offerings
`
`MQSeries Foundation
`
`Common Look and Feel
`
`Management/Monitoring
`
`Messaging Tools
`
`Workflow, Process Flow
`Application Services
`Tools
`
`Xform, Rules, Routing
`API Framework
`Templates, Utilities
`
`MQSeries
`Workflow
`
`MQSeries
`Integrator
`
`Messaging Services
`Standard Formats
`Tools
`
`MQSeries
`
`Figure1. TheMQSeriesfamilyforbusinessintegration
`
`1.2 MQSeries Integrator at a glance
`The key components in an MQSeries Integrator environment include:
`
`(cid:127) Configuration Manager and configuration repository
`(cid:127) One or more brokers
`(cid:127) Control Center
`(cid:127) User Name Server
`(cid:127) MQSeries Queue Manager(s)
`(cid:127) Message Repository Manager (MRM)
`
`Using the Control Center, the MQSeries Integrator administrator defines
`messages in the message repository and message flows. A message flow is
`a series of operations and rules that a broker executes for a retrieved
`message. Message flows are grouped in an execution group. Execution
`groups are assigned to a broker.
`
`When a client application puts a message on an input queue of the broker,
`the broker will retrieve the message and parse it. From that point on, a
`message is stored in the common message interface, which is basically a tree
`structure representing all fields in that message. The broker then executes
`the actions that are configured in the message flow and eventually the
`
`4
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0014
`
`

`

`message arrives at an output queue, ready to be retrieved by another client
`application.
`
`Figure2. OverviewofMQSeriesIntegrator
`
`A message flow consists of a number of nodes, usually starting with an
`MQInput node and ending with one or more MQOutput nodes. An MQInput
`node is the encapsulation of a normal MQGET operation, while an MQOutput
`node is the encapsulation of a normal MQPUT operation. Between these two
`nodes, a message flow can contain other nodes that transform the message.
`A Filter node allows you to specify a Boolean expression for routing the
`message. In a Compute node you can specify a script to alter message fields.
`The script is written in the programming language ESQL, which is an
`extension of standard SQL. Another important type of node is a Database
`node. These nodes allow you to interact with an external database. You can
`use information from a database to enrich a message or to route a message.
`You can use the message to make updates in the table. It is also possible to
`store the message using the Warehouse node. A first example of a message
`flow is described in 2.4, “The "Hello world" message flow” on page 53. A more
`
`Chapter 1. Overview of MQSeries Integrator
`
`5
`
`HP_1027_0015
`
`

`

`complex message flow is described in Chapter 5, “Example message flow” on
`page 99 which also shows how to re-use a message flow within another
`message flow.
`
`Besides the standard nodes, called IBMPrimitives, you can extend the palette
`of nodes with user-written or third-party nodes that perform a specific
`function. Within such a user-written node, you have access to the message
`that flows in and you can create a new transformed message, just like you
`can with a Compute node.
`
`1.3 The Configuration Manager
`An MQSeries Integrator system is controlled by the Configuration Manager;
`the components and resources managed by the Configuration Manager make
`up the broker domain. The Configuration Manager maintains the broker
`domain configuration in the configuration repository. The Control Center is
`used to create and modify this configuration.
`
`The Configuration Manager is the main component of the MQSeries
`Integrator runtime environment, and serves three main functions:
`
`(cid:127) It maintains configuration details in the configuration repository. This is a
`set of database tables that provide a central record of the broker domain
`components.
`
`(cid:127) It manages both the initialization and deployment of the broker and
`message processing operations in response to functions performed using
`the Control Center.
`
`(cid:127) It checks the authorities of defined user IDs, for the authority to initiate
`those actions.
`
`The Configuration Manager provides services to the other broker domain
`components, providing configuration updates in response to Control Center
`actions.
`
`The Configuration Manager requires:
`
`(cid:127) A set of tables in a database, known as the configuration repository. This
`database must be created using DB2 Universal Database for Windows NT.
`The Configuration Manager uses a Java Database Connectivity (JDBC)
`connection to this database.
`
`(cid:127) A set of tables in a database, known as the messagerepository. This
`database must be created using DB2 Universal Database for Windows NT.
`
`6
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0016
`
`

`

`The Configuration Manager uses an Open Database Connectivity (ODBC)
`connection to this database.
`
`(cid:127) A set of fixed name queues defined on the MQSeries Queue Manager that
`hosts the Configuration Manager. This MQSeries Queue Manager must
`exist on the same physical system as the Configuration Manager, and is
`identified at the time the Configuration Manager is created.
`
`These queues are created when the mqsicreateconfigmgr (including
`associated variables) command is executed through either the GUI or the
`command prompt. No actions are required by the administrator to add the
`required definitions.
`
`(cid:127) A server connection, defined to the MQSeries Queue Manager that hosts
`the Configuration Manager. This connection is used by all instances of the
`Control Center that communicate with the Configuration Manager.
`
`(cid:127) Sender and receiver channels to each broker in the broker domain except
`for a broker that would share its queue manager with the Configuration
`Manager.
`
`1.4 The Control Center
`The Control Center is used to configure and control the broker domain. This
`works in association with the Configuration Manager, passing messages back
`and forth as information is requested and making updates to the components.
`
`Chapter 1. Overview of MQSeries Integrator
`
`7
`
`HP_1027_0017
`
`

`

`JDBC
`connection
`
`ODBC
`connection
`
`Configuration
`Manager
`
`Queue Manager
`
`Configuration
`repository
`(shared/deployed data)
`
`Message
`repository
`
`TCP/IP connection
`
`MQSeries Client for Java
`
`Local configuration data
`
`Control Center
`
`Figure3. RelationshipbetweentheControlCenterandtheConfigurationManager
`
`Any number of Control Center instances can be installed and invoked. The
`Control Center depends on MQSeries for Java for its connection with the
`Configuration Manager. The Control Center may be installed on the same
`physical system as the Configuration Manager or on any system that can
`connect to the Configuration Manager. The Control Center dynamically
`creates a client connection to connect to the Configuration Manager’s queue
`manager using the information provided at invocation.
`
`The Control Center is structured to provide a series of views on the
`configuration and message repositories. Views are selected by choosing one
`of five roles; “All Roles” shows every view. Other roles include message flow
`and message set developer, message flow and message set assigner,
`operational domain controller, and topic security administrator.
`
`The Control Center is the business administration tool used to define
`message flows for applications and to access the databases and resources
`used by MQSeries Integrator. This interface allows the manipulation of the
`following resources:
`
`8
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0018
`
`

`

`(cid:127) Message flows
`(cid:127) Message sets
`(cid:127) Brokers
`(cid:127) Collectives
`(cid:127) Principals
`
`These resources are stored in the configuration repository database and in
`the message repository database.
`
`The Control Center can be used to:
`
`(cid:127) Develop, modify, assign, and deploy message flows.
`
`(cid:127) Develop, modify, assign, and deploy message sets.
`
`(cid:127) Define the broker domain topology and create collectives.
`
`(cid:127) Create and modify access control lists (ACLs) to control publish/subscribe
`security.
`
`(cid:127) View status information.
`
`The Control Center manages the configuration data for a particular
`workspace. There are three different versions of this data. When the Control
`Center is started, the localversionof the configuration data is presented. The
`three presentations are:
`Local
`
`A copy of configuration data on which a user is working. To
`obtain a local copy of configuration data, you need to checkout
`the resources from the shared copy. While checkedout, other
`users are prevented from updating the resource.
`
`Shared
`
`Any changes made to a local version will not be visible to other
`users until the status of the resource is changed by checkingin
`the resource.
`
`A version of the configuration data that is shared by all the users
`of the Control Center. Once resources are checked out to the
`local workspace, they can be modified, and once modified
`checked in.
`
`Deployed
`
`This is the active version of configuration data that is operational
`at the broker.
`
`Chapter 1. Overview of MQSeries Integrator
`
`9
`
`HP_1027_0019
`
`

`

`1.5 The message broker
`
`Broker
`
`Execution group
`
`Message flow
`Message flow
`
`ODBC
`connection
`
`Message dictionary
`
`Queue Manager
`
`Figure4. Overviewofabroker
`
`Broker database
`
`The message broker consists of a number of processes. For each execution
`group assigned to a broker, the broker creates an additional data flow engine.
`As explained before, an execution group is a way of grouping message flows.
`
`Any number of brokers can be added within a broker domain. More than one
`broker may reside on a physical system. Each broker defined will require a
`unique MQSeries Queue Manager. A single broker can share the MQSeries
`Queue Manager of either or both the Configuration Manager or User Name
`Server.
`
`The broker is made up by a number of other components:
`
`(cid:127) Controller
`
`(cid:127) Message Format Services. These support definitions of metadata that
`describe the data format within messages.
`
`(cid:127) Persistent State Datastore. The broker has a mandatory database to hold
`all persistent state data needed by the broker. This includes for example:
`
`- The deployed message flow definitions
`- Persistent subscriptions
`- Publish/subscribe neighbors
`
`10
`
`Business Integration Solutions with MQSeries Integrator
`
`HP_1027_0020
`
`

`

`Each broker requires:
`
`(cid:127) A set of tables in a database to hold the broker’s local data. This is
`accessed using the ODBC connection. These tables are also referred to
`as the broker’s localpersistentstore.
`
`(cid:127) A set of named queues on the queue manager associated with the broker
`domain.
`
`- Again no actions are required by the administrator to add these
`definitions. They are added during execution of the mqsicreatebroker
`command.
`
`(cid:127) Each broker needs its own queue manager. It can share the queue
`manager hosting either or both the Configuration Manager and optional
`User Name Server.
`
`- Since the broker uses a set of predetermined queue names, this
`creates the dependency of an MQSeries Queue Manager per broker.
`
`Creating the broker on the system on which the broker component is installed
`is not automatically recorded in the configuration repository. The Control
`Center must be used to create the reference. Creating a reference does the
`following:
`
`(cid:127) Stores the broker information in the configuration repository.
`
`(cid:127) Defines a default execution group on this broker. Fur

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