43
WEBSPHERE MESSAGE BROKER

faqs

  • Upload
    -

  • View
    48

  • Download
    19

Embed Size (px)

DESCRIPTION

faq

Citation preview

Page 1: faqs

WEBSPHERE MESSAGE BROKER

Page 2: faqs

WebSphere Message Broker technical overview

WebSphere® Message Broker enables information packaged as messages to flow between different business applications, ranging from large traditional systems through to unmanned devices such as sensors on pipelines.

For an animated introduction to the basic concepts and features of WebSphere Message Broker shown in the diagram, run the Quick Tour.

WebSphere Message Broker processes messages in two ways: message routing and message transformation.

Message routingMessages can be routed from sender to recipient based on the content of the message. The message flows that you design control message routing. A message flow describes the operations to be performed on the incoming message, and the sequence in which they are carried out.Each message flow consists of the following parts:

A series of steps used to process a message; see Message flow nodes. Connections between the nodes, defining routes through the processing; see Message flow

connections.

IBM® supplies built-in nodes and samples for many common functions. If you require additional functions, you can write your own user-defined nodes; see User-defined extensions overview.

You create message flows in the WebSphere Message Broker Toolkit which is an integrated development and administration console, and is known as the WebSphere Message Broker Toolkit.

Message transformation

Page 3: faqs

Messages can be transformed before being delivered: They can be transformed from one format to another, perhaps to accommodate the different

requirements of the sender and the recipient. They can be transformed by modifying, combining, adding, or removing data fields, perhaps

involving the use of information stored in a database. Information can be mapped between messages and databases. More complex manipulation of message data can be achieved by writing code, for example in Extended SQL (ESQL) or Java™, within configurable nodes.

Transformations can be made by various nodes in a message flow. Before a message flow node can operate on an incoming message, it must understand the structure of that message.

Some messages contain a definition of their own structure and format. These messages are known as self-defining messages, which you can handle without the need for additional information about structure and format; see Predefined and self-defining elements and messages.

Other messages do not contain information about their structure and format. To process them, you must create a definition of their structure; see Message definition files.

The message definitions that you design are created within a message set which contains one or more message definitions. Message sets also categorize message definitions. The category facility, which you can extend using XSLT scripts, is used for generating Web Services Description Language (WSDL) and documentation; see Message categories.

Like message flows, you create message definitions in the WebSphere Message Broker Toolkit. They can contain two types of information:

The logical structure: the abstract arrangement and characteristics of the data, represented as a tree structure; see The message model.

One or more physical formats: the way the data is represented and delimited in the physical bit stream; see Physical formats in the MRM domain.

Create the broker environment

The work of routing and transforming messages takes place in a broker. Within the broker, you can define one or more execution groups, which are processes in which message flows run.

The mode in which your broker is working, can affect the number of execution groups and message flows that you can deploy, and the types of node that you can use. See Restrictions that apply in each operation mode.

You can install and create one or more brokers on one or more computers that are running a supported operating system. If you create multiple brokers, you can configure your environment to provide protection against failure, and you can separate work across different divisions in a business.

You administer the broker by using product commands, the WebSphere Message Broker Explorer, the Brokers view within the WebSphere Message Broker Toolkit, or the Administration API for WebSphere Message Broker (also known as the CMP API) in your own applications.

Develop applications

After your system administrator has created your brokers, your application developers can create and modify message flows and message definitions by using the WebSphere Message Broker Toolkit.

Page 4: faqs

Different perspectives in the WebSphere Message Broker Toolkit are used to develop message flows, message sets, and other related resources; see WebSphere Message Broker Toolkit.

You can use a repository to provide access control and version control of your development resources. A repository also allows multiple developers to work on the same resources in parallel; see Development repository.

Your applications can communicate with the broker by using a range of protocols that includes WebSphere MQ, JMS 1.1, HTTP and HTTPS, Web Services (SOAP and REST), File, Enterprise Information Systems (including SAP and Siebel), and TCP/IP. For more information about connecting applications, see Application connectivity.

Deploy applications to the runtime environment

When you have created and configured your message flows, message sets, and associated resources by using the Broker Application Development perspective of the WebSphere Message Broker Toolkit, you can deploy the executable data to one or more brokers; see Deployment overview.

You can deploy data in the following ways: From the Brokers view of the WebSphere Message Broker Toolkit From the stand-alone administrative interface, the WebSphere Message Broker Explorer From the Test Client environment in the WebSphere Message Broker Toolkit By using a command By creating applications that use the Administration API application programming interface

When you deploy message flows and message sets, they are compiled and enveloped in a broker archive (BAR) file, and sent to the target broker; see Deployment overview. The BAR file has configurable system properties. You can override properties such as queue and database names, without the need to change source files or redevelop the message flow. This configuration makes it easier to move definitions between systems.

The broker opens the BAR file, removes the contents, makes a record of the information that it has received, and discards the envelope. It retains the information in its local storage area within the computer file system, so that it can restore the application resources and restart messages flows if and when required.

Publish/Subscribe

Publish/subscribe is a style of messaging for which WebSphere Message Broker provides limited support; in Version 7.0 this support has transferred tp WebSphere MQ. If you have been connecting publish/subscribe applications to brokers in previous versions, see Migrating publish/subscribe information to WebSphere MQ Version 7.0.1.

A message flow is a sequence of processing steps that run in the broker when an input message is received.

A message flow node is a processing step in a message flow. It can be a built-in node, a user-defined node, or a subflow node.

A message flow node has a fixed number of input and output points known as terminals.

Page 5: faqs

Q. What is an ESB?"Enterprise Service Bus" Serves across different applications and across different message structures. If you assume that your program or application understands one type of input, and it has to communicate with other program which understands entirely different kind of input. E.S.B acts as a mediator and makes communication possible between those two Applications which speak Two different languages, in the truer sense, E.S.B is much of a translator.

As the above diagram demonstrates the consumers are consuming services from the service providers via E.S.B. Now to the big picture. Consumer-1 only understands ### and nothing else, thats the same case with Consumer-2 who understands  *** only. Now they have to consume services provided by Provider-1 who can communicate only in $$$ followed by Provider %%% and HHH . imagine this scenario without E.S.B in the middle!! The E.S.B acts as a translator it translates data coming from Consumer-1 into such format that it is compatible with Service-1. this looses the coupling between Service Consumer and Service Provider.

Page 6: faqs

WebSphere Message Broker Does the same. It translates routs & enriches the incoming message and propagates it to the output side.

A. An Enterprise Service Bus (ESB) is a flexible connectivity infrastructure for integrating applications and services. An ESB can power your Services Oriented Architecture (SOA) deployment by reducing the number, size, and complexity of interfaces between your applications and services. An ESB performs the following:

Matches and routes communications between services Converts between different transport protocols Transforms message formats between requestor and service Identifies and distributes business events from disparate sources

An ESB allows your organization to focus on your core business needs rather that the IT Infrastructure required to connect the programs together. An ESB allows you to add new services faster, and make changes to existing services, with little or no impact to existing services. As ESBs evolve into control and enforcement points for dynamic management, their new benefits include being able to:

Add new services both faster, and dynamically, and Invoke alternative services based on real-time needs.

Q. What are the IBM ESB offerings?A. IBM delivers the most complete IBM ESB solutions ranging from platform-based, platform-neutral and purpose-built hardware:

WebSphere ESB is a platform-based ESB and optimized with WebSphere Application server for an integrated SOA platform.

WebSphere Message Broker is a platform-independent based ESB and is built for universal connectivity and transformation in heterogeneous IT environments.

WebSphere DataPower Integration Appliance XI50 is an purpose-built hardware ESB and is built for

simplified deployment and hardened security.

Q. Why does IBM offer three ESBs?A. IBM's approach to ESB solutions reflects the realities of evolving IT architectures, which are heterogeneous. One size does NOT fit all when it comes to ESB solutions. Businesses should have the freedom to select ESBs that fit their needs, rather than shoehorn a solution that is not optimal in their environment.Q. When do I use WebSphere ESB, WebSphere Message Broker or WebSphere DataPower Integration Application XI50?A. When to Use WebSphere ESB?

You use WebSphere Application Server and/or your team has skills with WAS Administration and Java coding or

You are now or planning on developing business process using WebSphere Process Server (WebSphere ESB and WPS have common tooling, programming model, and runtime) or

You are integrating with ISV business applications hosted on WAS or 3rd party solutions which extend and support WAS or

Page 7: faqs

You are mainly focused on standards based interactions using XML, SOAP, Java, JEE, and WS or You want to mediate between Web services and existing systems using JMS, WebSphere MQ, and

WebSphere JCA Adapters or Reliability and extensive transactional support are key requirements or You want to minimize your server investment by co-hosting WebSphere services and ESB in one

application server

When to Use WebSphere Message Broker?

You are currently using WebSphere Message Broker but would like to extend existing application integration solutions to SOA and related standards or

Extend your web services support using WS-Security and WS-Addressing or You have extensive heterogeneous infrastructures, including both standard and non-standards-

based applications, protocols, and data formats or You have extensive MQ skills and infrastructure or You are implementing a wide range of advanced messaging and integration patterns including

complex event processing or You need extensive pre-built mediation support or You have very complex transformation needs or Reliability and extensive transactional support are key requirements or You have very large files to process or You need the deploy and interact with other ESBs as a remote host or You need to integrate with other applications via the WebSphere Adapters or To achieve very high-performance with horizontal and vertical scaling

When To Use WebSphere DataPower?

Ease of use is a primary consideration Simple experience of drop-in installation and admin-based configuration with no or minimal

development required or Security, policy and SLA management is required for web services management. Or You are transforming between XML-and-XML or XML-and-any other format Your interaction patterns are relatively simple or You are using XML-based or WS-Security extensively or You require use of advanced Web services standards or You need to minimize message latency when adding an ESB layer or You are doing extensive XML processing combined with high performance requirements Your ESB must be in production very quickly

Q. How do WebSphere ESB, WebSphere Message Broker, and WebSphere DataPower interoperate?

A. IBM's ESB portfolio enables a full range of interoperability scenarios using web services via SOAP/HTTP, JMS, and WebSphere MQ. WebSphere Message Broker and WebSphere DataPower Integration Appliance XI50 now have a single tool and security policy description for optimal security requirements. With a simple click within WebSphere Message Broker, WebSphere DataPower

Page 8: faqs

Integration Appliance XI50 will perform WS-Security processing. Applications and message flows will remain unchanged.

Q. What tools do you use with WebSphere Message Broker?A. WebSphere Message Broker includes the WebSphere Message Broker toolkit which is based on the Rational Software Development Platform which itself is built on Eclipse. The toolkit runs on either Windows or Linux on Intel, and enables the customer to configure the system, develop the message flows and manage deployed environments. The toolkit also provides visibility of adapters (remote or local) in a Broker message flow.

Q. What tools do you use with WebSphere ESB?A. WebSphere Integration Developer, or WID, is the tool for use with both WebSphere ESB and WebSphere Process Server. WID is designed to be an easy-to-use tool, targeted at the Integration Developer. WID is built on the Rational Software Development Platform which itself is built on Eclipse. WID does not require the user to be a Java developer in order to build and deploy mediations; however it is can be integrated with Rational Application Developer (RAD) for those customers who wish to write their own Java code. Besides WID, other tools available are DataPower tooling, native web UI for administration and configuration of service interactions, WebSphere Transform Extender, XSLT editor, and XSLT maps.

Q. Do I need WebSphere MQ if I have WebSphere Message Broker?A. Although WebSphere Message Broker is built on top of WebSphere MQ (and is included with Message Broker), WebSphere Message Broker and WebSphere MQ address different business needs. WebSphere MQ provides secure and reliable connectivity between application and systems, supported on more than 80 platform configurations. This provides the ability to move data unchanged between virtually all business environments likely to be deployed in a business infrastructure. WebSphere Message Broker is used as a transport for moving data between applications, but it is capable of performing additional tasks through understanding of data formats, allowing it to provide intelligent routing and transformation of XML data formats. Businesses will still see a need for WebSphere MQ to connect up the multiple different environments that make up the typical IT infrastructure deployed around an enterprise, but are likely to see a need for an ESB to add value in environments where it can act on the structured data being exchanged between standards-based applications.

Q. Are JCA Technology Adapters bundled in WebSphere Message Broker?A. The WebSphere Technology Adapters are a category, not a product. There are several -- JDBC, eMail, TCP/IP, Flat Files, etc. They are contrasted with the WebSphere Application Adapters such as for SAP, Siebel, PeopleSoft, etc. For WebSphere ESB and WebSphere Process Server, both types of adapters come "bundled" with WebSphere Information Developer. BUT this does not entitle the user to deploy them. The Application Adapters must still be licensed for use. The Technology Adapters, on the other hand, are can be used with WESB/WPS with no license, i.e., the license for their use comes effectively with your license of WESB/WPS. With WebSphere Message Broker 6.1, the Application Adapters are now packaged with the WebSphere Message Broker Toolkit and show up on the palette as Broker nodes. Like WESB/WPS, the customer still requires a license to deploy them. The WebSphere Technology Adapters do not come with WMBT and do not work with WMB, BUT that is OK because WMB comes with a set of nodes (JDBC, File, TCP/IP, eMail, etc) that provide equivalent function and no additional cost is required.

Q. Do I need WebSphere ESB if I already use WebSphere Application Server?

Page 9: faqs

A. Because WebSphere ESB is built on WebSphere Application Server, through their WebSphere ESB license; customers are able to utilize WebSphere Application Server function. In addition, WebSphere ESB also includes additional functions not supplied with WebSphere Application Server (WebSphere Application Server ND edition allows unrestricted use). WebSphere ESB is likely to appeal to many WebSphere Application Server customers who are looking to integrate applications running in their enterprise, who do not want to implement the integration required to link the applications by coding bespoke application logic, either within the application programs themselves or by coding additional adapter logic. WebSphere ESB will allow the integration of applications with minimal programming, with the integration logic being performed on the data 'in-flight' between applications.

Q. If WebSphere Process Server is powered by ESB technologies; do I need to buy WebSphere ESB as well?A. WebSphere Process Server is powered by the same technology available with WebSphere ESB. This capability is part of the underlying functionality of WebSphere Process Server and no additional license for WebSphere ESB is required for WebSphere Process Server to take advantage of these capabilities. However customers may choose to deploy additional standalone licenses of WebSphere ESB around their enterprise to extend the connectivity reach of the process integration solutions powered by WebSphere Process Server. For example, WebSphere ESB could be installed closer to an SAP application to host a WebSphere Adapter for SAP and to transform SAP messages before sending that information across the network to a business process choreographed by WebSphere Process Server.

whats the difference between Functional Testing and Unit Testing? 

Unit: testing with different test cases Functional: testing with the exact input

In remote queuing, if the queue on the target queue manager is full, then to which deadletter queue will the message propagate?Into the remote systems  Deadletter queue.

What is the difference between Environment and Local Environment?Environment variable’s scope is defined for the whole flow where as the Local Environment variable’s scope is defined for that node and can be passed on to the next node as well.

What happens if a message is sent to a local queue, which is filled, and a remote queue, which is filled? Any difference in them? 

No much difference in behavior, The message moves to the relevant default dead-letter queue.

What is SCHEMA of broker?  A broker schema is a symbol space that defines the scope of uniqueness of the names of resources defined within it. The resources are message flows, ESQL files, and mapping files.

What is User name Server and where it is defined? 

Page 10: faqs

The User Name Server is an optional runtime component that provides authentication of users and groups performing publish/subscribe operations.

What is PARSER and difference between PARSER and FORMAT? A Parser is defined as a program that interprets the bit stream of an incoming message and creates an internal representation of it in a tree structureEx: MRM parserA Format is a physical representation of a message.Ex: XML wire format.

How do you initilize the environment before starting the broker components?We must use  MQSISTART to start the broker component, this command will start the configured queue manager associated with the broker component if its not already running, no listeners or channels are started with it.

What Extra nodes Will you get if you upgrade from MB V7.0 TO Version: 7.0.0.2

We will look into each node properties and  a small description about them... in the next coming posts...

After finishing installation and starting the components, where do you check the logs to see the most recent events?In the Event log Of the Message Broker Toolkit. and in the Systems ControlPanel>AdministrativeTools>EventViewer>Application category .

What does mqsilist command do ?to list all the components installed on the system, all the execution groups defined to a specific broker, or all the message flows contained in a named execution group on a specific broker.

1 mqsilist

2?  -a 

3? BrokerName

Page 11: faqs

3.1?  -e  Egroup

How do you change ConfigurationTimeout and ConfigurationDelayTimeout for a given broker?Configuration timeout and deloay timeout can be changed by mqsichangebroker using these parameters

-k internalConfigurationTimeout (Optional): The maximum time (in seconds) that is allowed for an internal configuration change to be processed. For example, it defines the length of time taken within the broker to start an execution group. The response time of each execution group differs according to system load and the load of its own processes. The value must reflect the longest response time that any execution group takes to respond. If the value is too low, the broker returns a negative response, and might issue error messages to the local error log.Specify the value in seconds, in the range 10 to 3600. The default is 60.

-g configurationChangeTimeout (Optional): The maximum time (in seconds) that is allowed for a user configuration request to be processed. It defines the length of time taken within the broker to apply to an execution group a configuration change that you have initiated. For example, if you deploy a configuration from theworkbench, the broker must respond to the Configuration Manager within this time. A message flow cannot respond to a configuration change while it is processing an application message. An execution group that has been requested to change its configuration returns a negative response to the deployed configuration message if any one of its message flows does not finish processing an application message and apply the configuration change within this timeout. Specify the value in seconds, in the range 10 to 3600. The default is 300. For information about how to set the value for this timeout, see Setting configuration timeouts.on mqsicreatebroker command what does the parameter ‘-j’ specifies?

Page 12: faqs

-s unsQMgrName

(Optional) The name of the WebSphere MQ queue manager that is associated with the User Name Server.Specify this parameter if you require either authentication services orpublish/subscribe access control. If you do not specify this parameter, the broker assumes that no User Name Server is defined. To enablepublish/subscribe access control, specify the -s and -j parameters.

-j

(Optional) If you require publish/subscribe access control, specify this parameter. You must also specify the -s parameter.

What does ‘-s’ parameter specifies on mqsicreateconfigmgr command

1 mqsicreateconfigmgr ConfigmgrName  -i  ServiceUserID  -a  ServicePassword  -q  QueueManagerName

2?  -n  Db2DataBaseToMigrate

3?  -u  MigrationDataBaseUserID

4?  -p  MigrationDataBasePassword

5?  -s  UserNameServerQueueManagerName

6?  -w  Workpath

what happens, if you do not create the required ‘Q’s in MQ before running mqsicreate commands?Checks whether the specified WebSphere® MQ queue manager already exists: If it does not exist: If you run this command on z/OS, it reports an error and fails. If you run this command on Linux, UNIX, orWindows, this command creates a queue manager.

What are the 3 important parts of the odbc32.ini file ? There are four parts that can comprise an ODBC.INI file.The second and third sections are not

mandatory for operation. The sections of the ODBC.ini file are listed below. 

Sections of the ODBC.INI  ------------------------------------  A. ODBC data sources This section contains the name of each data source and the

driver name associated with  it.   B. Options that apply to all data sources These options are used for tracing and

debugging purposes.   C. Default data source section This section contains information about the default

data source. It will be a copy of one of the data sources listed by name later. It will have a single group in it , called "default." 

 D. Groups configured for each data source. This group has sections for each data source. All attributes for a particular data source are listed, one per line.

How do you create broker database in Windows/Linux (commands)

Page 13: faqs

We have the mqsicreatedb command for this, it takes 1 compulsory parameter, this is the minimum number of parameters you need to supply to create a broker database,You could just simply type in mqsicreatedb brtdb this will create a database with no port set to access it, on the current user profile you typed this command, or you could set the port while creating the database in the first place mqsicreatedb brtdb -p 1600, optionally you can also specify a workbench user Id and Password mqsicreatedb brtdb -i wbrkuid -a wbrkpw -e Derby -p 1527 this will create a Derby database.

         For creating a DB2 database login with administrative privileges and create a database using this command

Create Database brtdb this will create a database and you will have full privileges on it..... to grant privilages to other user you have to use GRANT ALL ON brtdb TO USER UserWITH GRANT OPTION

Message Broker's Architecture...Let’s look at the functional architecture of the Websphere Message Broker...

First let me make it clear that Message Flows Run in Execution Groups, and execution groups exist in Brokers, each broker has its own Database, Execution groups are more or less, like processes in which Flows run...as i previously said brokers have databases... they use these databases to store the information required to process a message at run-time.... Message flows handle messages, a series of nodes are wired to perform a specific transformation or routing or enrichment of a message.... to do all this transformation, the message should be well known to the integrator and the sender too, this is achieved by using a Message-Set. Configuration manager is like an agent between the toolkit and the Execution Set  of brokers, we need it to deploy flows and edit some configuration parameters....

QuickTip--When you get: AsyncRequest HTTP Error returned - 202 Ack expected  Text:CHARACTER:HTTP/1.1 500 Other Error

while using SOAP AsyncRequest node that means the service is not expecting to be handled asynchronously and has returned the response immediately instead of returning an ack and then later returning the response. 

Difference between Root and Output Root?

Root is used in the Database content changing  and in Filter node.

Output Root is used in the ESQL code for a Compute node that creates a new output message

based on the input message

 Is it possible to set Properties of node apart from right click and setting the properties?

Windows Show View Basic Properties

3) Which interface we have to implement when we are going to create an input custom node?

MbInputNodeInterface

Difference between RAD and ORDINARY deployment?

Page 14: faqs

Using Resource adapter deployment, we can reuse the deployment till the server is re-booted.

Define BROKER, BAR, EXECUTION GROUP, SCADA, and COMPONENTS OF BROKER,  

WORKBENCH, WORKSPACE, and CMM? 

BROKER: A broker is a set of execution processes that hosts one or more message flows to

route, transform, and enrich inflight messages. 

BAR: Flows and sets that are to be deployed are packed in it and sent to configuration manager

EXECUTION GROUP:An execution group is a named grouping of message flows that have

been assigned to a broker. The broker enforces a degree of isolation between message flows in

distinct execution groups by ensuring that they execute in separate address spaces, or as unique

processes

 SCADA: The SCADAInput node is used to receive messages from clients that connect to the

broker across the WebSphere MQ Telemetry Transport. SCADA device clients use the MQIsdp

protocol to send messages, which are converted by the SCADAInput node into a format recognized

by WebSphere Message Broker. The node also establishes the processing environment for these

messages.

COMPONENTS OF BROKER: Broker, Configmgr, User name service.

WORKBENCH:

WORKSPACE: 

What is PARSER and difference between PARSER and FORMAT?

A Parser is defined as a program that interprets the bit stream of an incoming message and creates

an internal representation of it in a tree structure

Ex: MRM parser

A Format is a physical representation of a message.

Ex: XML wire format 

What is ResetContentDescriptor node?

Use the RCD node to request that the message is reparsed by a different parser.

 What is User name Server and where it is defined?

The User Name Server is an optional runtime component that provides authentication of users and

groups performing publish/subscribe operations.

What is SCHEMA of broker?

A broker schema is a symbol space that defines the scope of uniqueness of the names of resources

defined within it. The resources are message flows, ESQL files, and mapping files. 

How can we see the error log files in broker?

The Windows Event Viewer is where WebSphere Message Broker writes records to the local

system.

Default properties of Mqinput node?

 

Page 15: faqs

Property M C Default Description

Message Domain No No The domain that will be used to parse the

incoming message.

Message Set No No The name or identifier of the message set

in which the incoming message is

defined.

Message Type No No The name of the incoming message.

Message Format No No The name of the physical format of the

incoming message.

Topic No Yes The default topic for the input message.

 Which node is used to change the message in the flow?

Compute Node, Filter Node and ResetContentDescriptor. 

 What is the use of commit for connection to Databases?

Any work that has been done using the respective data source in a message flow (including any

actions taken in the node) is committed regardless of the subsequent success or failure of the

message flow

Define Correlation names?

A correlation name is a field reference that identifies a well-defined starting point in the logical

message tree and is used in field references to describe a standard part of the tree format.

Functions of ESQL? 

MQInput node and INPUT node differences?

You must use an Input node to provide the in terminal to a subflow.

The Input node provides an in terminal for an embedded message flow (a subflow).

 

How many Builtin nodes are there? Categories them?

WebSphere Message Broker supplies built-in nodes that you can use to define your message flows.

For information about each of these nodes, follow the appropriate link below. The nodes listed here

are grouped according to the function that they provide.

Input and output

MQInput node, MQOptimizedFlow node, MQOutput node, MQGet node, MQReply node, Publication

node, MQeInput node, MQeOutput node, SCADAInput node, SCADAOutput node, HTTPInput node,

HTTPReply node, HTTPRequest node, Real-timeInput node, Real-timeOptimizedFlow node, Input

node, Output node, JMSInput node, JMSOutput node.

Message manipulation and transformation

Page 16: faqs

Compute node, Database node, DataDelete node, Datalnsert node, DataUpdate node, Extract node,

JavaCompute node, JMSMQTransform node, MQJMSTransform node, Mapping node, Warehouse

node, XMLTransformation node .

Collating requests

AggregateControl node, AggregateReply node, AggregateRequest node .

Decision making

Check node, Filter node, FlowOrder node, Label node, ResetContentDescriptor node, RouteToLabel

node, TimeoutControl node, TimeoutNotification node, Validate node.

Subflow identification

Passthrough node

Error handling and reporting

Throw node, Trace node, TryCatch node.

What are the perspectives we have?

Administration Perspective

Application Development Perspective

Debugging Perspective.

Java Perspective (MB 6).

In which perspective we deploy the flow? Administrator perspective

How to create Broker from Command prompt? Using mqsicreatebroker  command.

Use of Configmanager? To deploy the message flows onto the Broker.

What is the uniqueness of MB over ICS? Parallel processing

What is EAI? What are those tools?

Enterprise Application Integration refers to the integration of one or more applications and processes

together. Tools: WBI Message Broker, ICS, WebMethods and Tibco.

What is the Broker Domain?

Group of brokers that coordinate a single configuration manager constitute a Broker Domain 

What error is going to occur when we didn’t specify the queue name in the MQInput node?

The Error message is “Unset mandatory ‘Qname Name’ Property on node ‘MQInput’ “.

How to call the method or function in the coding?

Using the “CALL” keyword.

Performance monitoring tools?

WebSphere Application Server , Java Management Extensions (JMX), 

Functional Testing and Unit Testing?

Unità testing with different test cases

Functional à testing with the exact input 

How many objects are required for distribution queuing?

QueueManager, SenderChannel, ReceiverChannel, LocalQueue

MQ Objects?

Page 17: faqs

Queue manager , Send queue ,Receive queue , Administration queue ,Restart queue  ,Spill queue 

Triggering in MQ?

Application Triggering and Channel Triggering.

MQ-triggering, queues, initiation q, deadletter q, process definition, etc.? 

Distribution queuing?  

Unix Commands?

grep, find, sort…etc. 

Difference between MCA and MQI channels?

A message channel connects two queue managers via message channel agents (MCAs). Such a

channel is unidirectional. It comprises two message channel agents, a sender and a receiver, and a

communication protocol. An MCA is a program that transfers messages from a transmission queue

to a communication link, and from a communication link into the target queue.For bidirectional

communication you have to define two channel pairs consisting of a sender and a receiver.

A Message Queue Interface (MQI) channel connects an MQSeries client to a queue manager in its

server machine. Clients don’t have a queue manager of their own. An MQI channel is bidirectional.

How to configure MQ?

By using runmqsc <Qmanager> command. 

How will you Test your Flows?

Using Debugging Mode, Trace Node ..etc.. 

What workflow will do?

A message Flow is a sequence of processing steps that execute in the broker when an input

message is received. 

MQSI Server, MQSI Client difference? How to connect these two through command prompt?

MQSeries Client

A client workstation does not have a queue manager of its own. It shares a queue manager in a

server with other clients. All MQSeries objects, such as queues, are in the server.Since the

connection between client and server is synchronous, the application cannot work when the

communication is broken. You could refer to such workstations as “slim” clients.

MQSeries Server          

A workstation can be a client and a server. A server is an intermediate node between other nodes. It

serves clients that have no queue manager and manages the message flow between its clients,

itself and other servers. In addition to the server software you may install the client software, too.

This configuration is used in an application development environment 

Connection:      strmqm QMA

start runmqlsr -t tcp -m QMA -p 1414

runmqsc

start channel (QMA.QMB)

end

Page 18: faqs

How will you install and configure CVS & How will you use in MB?

Double-click the Windows cvsnt-2.0.5.exe file to launch the installer.

Displays CVS Setup  window appears

Select the option to accept the licence agreement and click Next.

Select Destination Directory screen, the default installation location is

set to Workspace\cvsnt. If you have enough space to install to this

location click Next.

The next screen asks you to choose the components that you wish to install,

Make your selections and click Next.

The Typical installation option already contained all of the components and

protocols that we needed.

The next screen asks where the program should appear on the Start menu.

Accept the default and click Next.

Ensure that both the check boxes to install the CVS services

The Ready to Install screen lists the options you have selected. Click Install

to start the installation. A progress bar appears while the files are copied.

Finally, click Finish when the completion window appears.

Reboot the system. The installation of the CVS server is now complete. 

Event Monitoring? (Performance monitoring–> Queue depth event)?

Q Depth High,Q Depth Low,Q Depth Full 

How will we use a Cobol copybook in MB?

You can populate your message set with message definitions by importing COBOL copybook files,

using either the New Message Definition File wizard or the mqsicreatemsgdefs command line utility.

Types of messages?

MRM, XML, XMLNS, XMLNSC, JMSMap, JMSStream, MIME, BLOB, IDOC. 

Deadletter queue cases?

Destination Q is full

Destination Q doesn’t exist

Msg too large

Sender is not authorized to use the destination Q 

How many types of clients in MQ?

Two Types: Fat Clients and Slim clients.

MQ commands?

CRTMQM, STRMQM, DLTMQM, ENDMQM.

To create Queues, listeners, and channels

DEFINE QUEUE / CHANNEL

DISPLY – To display the queue or channel status

 Difference between Circular logging and linear logging?

Page 19: faqs

Circular logging gives you restart recovery. Linear logging gives you both restart recovery and media

recovery.

Difference between MQCONN and MQCONNX?

 MQCONN (MQSTATE, qManagerName) : Connects to a queue manager, which is identified

by qManagerName, a string of up to 48 characters. MQSeries sets the connection

handle  (MQSTATE.hconn) for use in subsequent calls.

MQCONNX (MQSTATE, qManagerName, MQCNO): Connects to a queue manager with

options that control the way that the call works. The queue manager is identified by

qManagerName, a string of up to 48 characters. MQSeries sets the connection

handle (MQSTATE.hconn) for use in subsequent calls. 

Difference between MQPUT and MQPUT1?

MQPUT(MQSTATE, MQMD, MQPMO, BUFFER) : Adds a message to the queue. The buffer

             cannot be more that 32767 bytes, but that restriction does not apply if you are

using the EGL add statement.

MQPUT1(MQSTATE, MQOD, MQMD, MQPMO, BUFFER): Opens a queue, writes a single

message, and closes the queue 

Can we use MQPUT1 in java? Yes we can use. 

If we want to perform some operation at receiving application when it receives some

message, then what objects are required at the receiving application?

Target QM, Target Q, Receiver channel and Listener.

How to get the depth of a queue?

By using MQSC property CURDEPTH

What formats MB support?

XML, TDS, CWF, EDI, SWIFT 

Where do you place pass-thru node in message flow?

In the sub flows immediate to the input node. 

Features of Message Broker?

Routing,Transformation and Integration .

What is CVS (Concurrent Version System)?

It is a repository that will store the previous versions.

Difference between compute and mapping node?

In the compute node we can change the headers but in Mapping node we can’t change.

Types of Queues in MQ?

local queue

Remote queue

Transmission queue

Alias queue

Dead letter queue

Page 20: faqs

How do you test your message flows and design test case?

By using debugging perspective.

We can create the Test Case according to the client specification error codes. 

If new functionalities (new nodes) are added how will you implement in Interface?

How to configure Adapters? 

What are the different ways for giving input without using MQInput node?

Custom input nodes 

Why we are migrating from Web Methods to MB? 

Advantages of compute node?

To construct one or more new output messages.

To build a new message using a set of assignment statements.

To copy messages between parsers

To convert messages from one code set to another

To transform messages from one format to another 

How can you interact with Database using Compute node?

Specify in Data Source the name by which the appropriate database is known on the system on

which this message flow is to execute.

How will you handle errors in Message Flow?

By using Debugging perspective, and Trace node.

Explain about Pub-Sub? How do you implement MQ pub-sub? 

Difference between MQ pub-sub and MB pub-sub?

The differences in the publish/subscribe support provided by WebSphere MQ and WebSphere

Message Broker are described in the following topics:

Message formats, Streams, Stream authority, Topics Wildcard characters,

Default topic routing, Retained publications, Metatopics, Subscription points,

Content-based filtering and Throughput.

 Aggregate nodes?

Aggregation nodes are used in fan-out and fan-in process.

Fan-out: The initial request to the message flow , representing a collection of related requested

items, is split into  the appropriate number of individual requests to satisfy the subtasks of the initial

request. 

Fan-in:  Replies from the subtasks are combined and merged into a single reply that is returned to

the original requester (or another target application) to indicate the completion of the processing.

WebSphere Message Broker provides three message flow nodes that support aggregation:

AggregateControl, AggregateRequest, AggregateReply.

Filter node?

To route a message according to message content.

Database node?

Page 21: faqs

To interact with a database in the specified ODBC data source.

You can use specialized forms of this node to:

Update values within a database table (the Data Update node)

Insert rows into a database table (the Data Insert node)

Delete rows from a database table (the Data Delete node)

Store the message, or parts of the message, in a warehouse (the Warehouse node)

Logical Message Tree? Message Tree Structure?

The logical tree structure is the internal (broker) representation of a message.

The message tree is a part of the logical message tree in which the broker stores its internal

representation of the message body

Can we create multiple instances of a message flow?

Yes we can. One way is by adding multiple node. For ex.

A single message flow can handle DATA received across MQ and

Messages that are received across native IP connections.

About Resetcontentdescripter node, Label node?

Resetcontentdescripter Node: To request that the message is reparsed by a different parser.

Label Node:  use it  in combination with a RouteToLabel node to dynamically determine the route

that a message takes through the message flow, based on its content. The RouteToLabel node

interrogates the Local Environment of the message to determine the identifier of the Label node to

which the message must next be routed. 

What are the properties of TRACE Node?

The Description properties of the Trace node are described in the following table.

Property M C Defaul

t

Description

Destination Yes No User

Trace

The destination of the trace record written by the

node. Valid choices are User Trace, File, Local

Error Log, and None.

File Path No Ye

s

The fully-qualified file name of the file to which to

write records. Valid only if Destination is set to

File.

Pattern No No The data that is to be included in the trace

record.

Message Catalog No No The name of the message catalog from which

the error text for the error number of the

Page 22: faqs

Property M C Defaul

t

Description

exception is extracted. The default value (blank)

indicates that the message is taken from the

message catalog supplied with WebSphere

Message Broker.

Message Number No No 3051 The error number of the message that is written.

Short Description No No A brief description of the node.

Long Description No No Text that describes the purpose of the node in

the message flow.

 

What are the types of TRACES?

User trace, Service trace.

User: used for debugging your applications. It can trace brokers, execution groups, and

Deployed message flows.

Service: More comprehensive Broker tracing. It starts tracing for workbench, configuration

Manager, username server.

What is an Execution Group?

An execution group is a named grouping of message flows that have been assigned to a broker. The

broker enforces a degree of isolation between message flows in distinct execution groups by

ensuring that they execute in separate address spaces, or as unique processes 

What are the types of Trees?

Message Tree, Environment Tree, Local Environment Tree, Exception list Tree .

What is the difference between Environment and Local Environment?

The Environment tree is a part of the logical message tree in which you can store information

while the message passes through the message flow

What is the Role in your Project? 

Explain your role in the project 

How to connect Broker in MB?

From Broker domain, using ConfigMgr.

How to connect to database to the remote system?

By doing node catalog and the database catalog.

What is the role of configuration manager?

Connecting to the broker and to deploy the message flows. 

How to debug applications in message flow?

Page 23: faqs

Using Debugging perspective,   User traces

What is the content of the configuration manager Repository?

It contains the information of the Broker Domain it is related to.

Exception Handling in MB?

By using Compute node, email node and java compute node.

What is the difference between try catch node and throw node?

The message routes out from the out terminal of the Try catch node and if any exception is thrown

(say, by a throw node),then the try catch node catches it and sends the original message through

the catch terminal for error processing

In route to label node where we will gave label name, and syntax of the label name?

SET OutputLocalEnvironment.Destination.RouterList.DestinationData.labelname=’name of the label

to which the message is to be routed ’;

Assignment in processing node? 

How does Message Broker handle a 500 MB input message? 

What is the difference between hconn and hconnx?

Hconn is a handle used to connect to Queue manager in MQCONN and MQCONNX api calls. 

How will you separate (more number) database exceptions into a different queue?

(Mention 2 ways)

How will you accept an incoming message if its length and structure are not

defined?

How do you change a blob to a fixed structure? 

Using TDS, what properties will you set in the message set for the following input: 

abc,123|a*xyz,k,55 (i.e., an input message with different delimiters between different data types),

input might not be in the same manner every time. 

Are there any wire formats that MB support other than xml and cwf?

 

Which is good based on performance IF or CASE. Why?

CASE

In clustering, which queue manager will contain the default full repository?

We will be setting the properties at the time of creation of the Queue manager. 

We are getting 4 different inputs in 4 formats. How will you handle them using

single message set without using cwf format? 

In remote queuing, if the queue on the target queues manager is full, then to which

dead letter queue will the message propagate?

Target dead letter queue

What are the different configuration management tools?

Tivoli, Clear case.

Functionality of mapping node?

Page 24: faqs

Mapping node to construct one or more new messages and populate them with new information,

with modified information from the input message, or with information taken from a database. You

can modify elements of the message body data, its associated environment, and its exception list. 

If new functionalities (new nodes) are added how will you implement in Interface? 

How will you handle CWF and TDS format?

By developing message sets and using them in the message flow. 

How will you trace the errors through command prompt? 

Mqsiformatlog, Mqsilist, Mqsichangetrace, mqsireadlog and mqsireporttrace 

How can you validate the XML message in the flow?

Using a Message set with the required XML format or by using validate node.

How will you set headers in pub-sub?

By setting the MQRFH2 headers

E.g.:

SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2;

SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = ‘MQSTR’;

SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;

SET OutputRoot.MQRFH2.psc.Command = ‘RegSub’;

SET OutputRoot.MQRFH2.psc.Topic = “InputRoot”.”MRM”.”topel”;

SET OutputRoot.MQRFH2.psc.QMgrName= ‘DebugQM’;

SET OutputRoot.MQRFH2.psc.QName = ‘PUBOUT’;

SET OutputRoot.MQRFH2.psc.RegOpt= ‘PersAsPub’; 

 Explain about PROPAGATE and LAST MOVE?   

The PROPAGATE statement is used to generate multiple output messages in the Compute node.

The output messages that you generate can have the same or different content. You can also direct

output messages to any of the four alternate output terminals of the Compute node, or to a Label

node.

The LASTMOVE field function tells you whether the last MOVE function succeeded. 

Logical Message Tree? Message Tree Structure?

The logical tree structure is the internal (broker) representation of a message.

The message tree is a part of the logical message tree in which the broker stores its internal

representation of the message body 

Can we create multiple instances of a message flow?

Yes by deploying the message flow to different execution groups. 

How to import COBOLCOPY BOOK or C format?

By importing the COBOLCOPY BOOK or C file into the existing project and building a message

definition file from this imported structures. 

What are the properties MQMD and MQRFH2 Headers?

Page 25: faqs

MQMD are a must headers and are present from starting to end of the message flow but MQRFH2

are optional and are set according to the business need. 

What are the properties of TRACE Node?

Destination, File Path, Pattern, Message Catalog and Message Number 

What are the types of TRACES?

User trace, service trace, ODBC trace, WebSphere MQ Java Client trace, and Configuration

Manager Proxy trace.

What are the types of Trees?

The input node creates the logical tree, which consists of four sub trees:

Message tree, Environment tree, Local Environment tree, Exception List tree.

What is the difference between Environment and Local Environment?

Environment variable’s scope is defined for the whole flow where as the Local Environment

variable’s scope is defined for that node and can be passed on to the next node as well. 

How to connect Broker in MB?

Using configuration manager.

How to connect to database to the remote system?

By ODBC driver name.

Exception Handling in MB?

By using the following nodes Throw node, Trace node, Try Catch node.

What is the difference between try catch node and throw node?

Throw node throws an exception where as a try catch node is used to handle the error, which is

raised.

Difference between Root and Output Root?

Both are correlation names. Root is used in nodes which do not create a new output where as

Output Root is used in a node which can create a new output node.

In route to label node where we will gave label name, and syntax of the label

Name assignment in processing node?

By setting the Local Environment variable

Syntax:

LocalEnvironment.Destination.Routerlist.DestinationData = ‘Label name’; 

Will broker run on AIX system or not? Yes 

If the comments for CopyEntireMessage() and CopyMessageHeaders() functions

are not removed, then what will happen? 

Functionality of floworder node?

FlowOrder node to control the order in which a message is processed by a message flow. The input

message is propagated to the first output terminal and the sequence of nodes connected to this

terminal process the message. When that message processing is complete, control returns to the

FlowOrder node. If the message processing completes successfully, the input message is

Page 26: faqs

propagated to the second output terminal and the sequence of nodes connected to this terminal

processes the message.

Is there any alternative for MQ to use along with MB? No.

How to suspend a queue manager in a cluster?

In the Navigator view (in the Queue Manager Clusters folder), right-click the queue manager, the

click Suspend cluster membership…

What happens if a message is sent to a local queue, which is filled, and a remote

queue, which is filled? Any difference in them?

The message moves to the relevant default deadletter queue 

Can we give all the format types in a single message set, If so how?

YES.

 

How will you declare an array in MB and how will you retrieve the desired value

from an array?Two types of representationsDynamic ArraysStructure-field arrays. Dynamic Arrays:Syntax:myDataItem01 CHAR(30)[] { maxSize=5 };Structure-field arrays:record myRecord01Part10 name[3];20 firstOne CHAR(20);20 midOne CHAR(20);20 lastOne CHAR(20);end To retrieve Values:MyRecord01.name.lastOne[2]MyRecord01.lastOne [2]lastOne[2]

 

What are the properties of .bar file and when they are used?

The unit of deployment to the broker is the broker archive or bar file.The bar file is a zip-format file

which can contain a number of different files:

A .cmf file for each message flow. This is a compiled version of the message flow. You can have any

number of these files within your bar file.

A. dictionary file for each message set dictionary. You can have any number of these files within

your bar file.

A broker.xml file. This file is called the broker deployment descriptor. You can have only one of these

files within your bar file. This file, in XML format, resides in the META-INF folder of the zip file and

can be modified using a text editor or shell script.

Page 27: faqs

Any number of XML files(.xml) and style sheets (.xsl files) for use with the XMLTransformation node.

Any number of JAR files for use with the Java Compute node.

As a zip-format archive, the broker archive file can also contain any additional files you need. For

example, you might want to include Java source files for future reference.

 How will you handle an input message with different delimiters between the fields?

Using MRM domain

 What are the advantages of Message broker?

Comprehensive monitoring using predefined workspaces that provide statistical information such as

Current Message Rates, Current Average Message Time, and Sub-flow Statistics.

Comprehensive solution for complex WebSphere MQ environments that enables drill down to

problem components

Custom workspaces can be tailored for individual job functions. 

What happens when the queue name is not specified in the MQOutput node?

Message is backed out. 

what is the difference between catch terminal and failure terminal in MQInput node?

Catch terminal: The output terminal to which the message is routed if an exception

is thrown downstream and caught by this node.

Failure terminal: failure terminal detects an internal error, it propagates the message to that terminal.

The output terminal to which the message is routed if an error occurs. Even if the Validation property

is set, messages propagated to this terminal are not validated. 

What are the differences between MB 5.0 and 6.0?

Some additional nodes are added Like Java Compute node.

Configuration manager can be created with out referring database.

Can be installed and configured on Aix also.

 How to specify reference keyword in the esql and what is the use of it?

Declare ptr REFERENCE TO InputRoot.xml.emp.eno;

– Here, ptr refers to a specific field reference

About SAP connector? 

What is the need of transaction mode property in the compute node?

The transaction mode for the node. This can be Automatic or Commit. It is valid only if you have

selected a database table for input. 

What are the types of data formats that MB will support?

XML,TDS,CWF

 What is the difference between TDS and CWF?

The Tagged/Delimited String format (TDS) is the physical representation of a message that has a

number of data elements separated by tags and delimiters.

Custom Wire Format (CWF) is the physical representation of a message that is composed of a

number of fixed format data structures or elements, which are not separated by delimiters Command used to deploy?

Page 28: faqs

Using mqsideploy What should you do before creating the broker and the configuration manager?We have to create the data source name and Queue managerTypes of testing?Explain about web services nodes?

WebSphere MQ Web Services Transport connects Web services and clients that use the HTTP

protocol for messaging

A WSDL definition for that service can be imported into a message set using the new WSDL

importer.

HTTPInput: node to receive Web service requests for processing by a message

                   flowUse the HTTPRequest node to interact with a Web service

SET OutputRoot.HTTPResponseHeader = NULL;

 

HTTPReply :node to return a response from the message flow to the Web service client.

Select the Ignore Transport Failures check box if you want transport-related failures to be ignored

(for example, if the client is disconnected). If you clear the check box, and a transport-related error

occurs, the input message is propagated to the failure terminal. If you clear the check box, you must

supply a value for Reply send timeout.

Set the Reply send timeout value if you are not ignoring transport failures. This is the length of time

that the node waits for an acknowledgment that the client has received the reply.

Explain about JMS nodes?

JMS Input Node: to receive messages from JMS destinations.

The JMSInput node receives and propagates messages with a JMS message tree. You can set the

properties of the JMSInput node to control the way that the JMS messages are received.

JMS Output Node: to send messages to JMS destinations.

 

Process of clustering and what are the advantages of clustering?

Grouping up of two or more Queue managers

Advantages : load balancing,reduces network traffic

Working of XML Transformation node?

Used to transform an XML message to another form of XML message, according to the rules

provided by an XSL (eXtensible Stylesheet Language) style sheet.

You can use node properties. This ensures that the transformation defined by this single style sheet

is applied to every message processed by this node.

You can use the content of the XML data within the message itself. This transforms the message

according to a style sheet that the message itself defines.This behavior is only available for XSL and

XML files that are located within a Message Flow project.

You can set a value within the LocalEnvironment folder associated with the message. This provides

a dynamic choice of style sheet, because you must set this value (in a Compute node) within the

Page 29: faqs

message flow after receipt of the message. You can therefore use a variety of inputs to determine

which style sheet to use for this message, such as the content of the message data or a value in a

database.

Configuration of HTTP Input Node?       

HTTP INPUT Node:

In URL Selector, put the path part of the URL from which this node receives Web service requests.

Do not give the full URL.

Enter the Maximum client wait time timeout interval, as a number of seconds. This is the length of

time that the TCP/IP listener that received the input message from the Web service client waits for a

response from the HTTPReply node in the message flow. If a response is received within this time,

the listener propagates the response to the client. If a response is not received in this time, the

listener sends a SOAP Fault message to the client that indicates that its timeout has expired.

Select the Fault Format as one of SOAP 1.1, SOAP 1.2 or HTML.

If the node is to accept secure HTTP, select the Use HTTPS check box.

Select Default in the properties dialog navigator and set values for the properties describing the

message domain, message set, message type, and message format that the node uses to

determine how to parse the incoming message.

In the Message Domain field, select the name of the parser that you are using from the drop-down

list. You can choose from:

MRM, XML, XMLNS, XMLNSC, JMSMap, JMSStream, IDOC, MIME, BLOB

If you are using the MRM or IDOC parser, select the correct message set from the drop-down list in

the Message Set field. This list is populated with available message sets when you select MRM or

IDOC as the domain.

Leave the Message Set field blank for XML, XMLNS, XMLNSC, JMS, MIME, and BLOB parsers.

If you are using the MRM parser, select the correct message from the drop-down list in Message

Type. This list is populated with messages that are defined in the message set that you have

selected.

Leave Message Type blank for XML, XMLNS, XMLNSC, JMS, IDOC, MIME, and BLOB parsers.

If you are using the MRM or IDOC parser, Select the format of the message from the drop-down list

in the Message Format field. This list includes all the physical formats that you have defined for this

message set.

Leave the Message Format field blank for XML, XMLNS, XMLNSC, JMS, MIME, and BLOB parsers.

Select Validation in the properties dialog navigator if you want the MRM parser to validate the body

of messages against the dictionary generated from the message set. (If a message is propagated to

the failure terminal of the node, it is not validated.)

Select General Message Options in the properties dialog navigator. Parse Timing is, by default, set

to On Demand. This causes validation to be delayed until it is parsed by partial parsing. If you

change this to Immediate, partial parsing is overridden and everything in the message is parsed and

Page 30: faqs

validated, except those complex types with a

Composition of Choice or Message that

cannot be resolved at the time. If you change

this to Complete, partial parsing is overridden

and everything in the message is parsed and

validated; complex types with a Composition

of Choice or Message that cannot be resolved

at the time cause a validation failure.

Select Description in the properties dialog navigator to enter a short description, a long description,

or both.

Click Apply to make the changes to the HTTPInput node without closing the properties dialog. Click

OK to apply the changes and close the properties dialog.

Click Cancel to close the dialog and discard all the changes that you have made to the properties.

What is message assembly, How do you create it?Message assembly is the collection of different trees such as MQMD Properties, Properties Body ...

Message assembly consists of Message Trees which inturn contain data... such as MQMD headers contain details about the Queue, Queue manager, Message ID Correlation ID... etc.. Message Assembly is already created for a message which comes in through a input node, If we intend to create a message assembly we should first figure out what is the end system if it’s a MQ we should generate MQ headers, if it’s a file output node no message headers are required... while creating a message header we must take care so that we won’t miss the Compulsory properties like MQMD headers should have Message ID and Correlation ID for sure... ignoring these details will lead to message failure...

What is the difference between 6.1 and 7.0?There are a lot of enhancements from Message Broker v6 to v7 a lot of new nodes have been added in v7 they are,

JDEdwardsInput node 

JDEdwardsRequest node 

FileRead node 

EmailInput node 

SCAAsyncRequest node

SCAAsyncResponse node

SCARequest node

Resequence node

Sequence node

SecurityPEP node

Lets look into each node briefly, lets start with JDEdwardsInput node,JDEdwardsRequest node.

Page 31: faqs

     JDEdwardsInput: This node is used to interact with JD Edwards EnterpriseOne applications. For

example, a JDEdwardsInput node monitors a JD Edwards EnterpriseOne application for a specified

event. When that event occurs, theJDEdwardsInput node generates a message tree that represents

the business object with the new event details. The message tree is propagated to the Out terminal

so that the rest of the message flow can use the data to update other systems, or audit the changes.

     JDEdwardsRequest node: This node is used to discover JD Edwards EnterpriseOne business

functions and XML lists. For example, a user might want to retrieve address details for a person

where the record exists on a JD Edwards server. The JDEdwardsRequest node can send and

receive business data.

   FileRead node: we can use the FileRead node to read one record, or the entire contents of a file,

from within the middle of a message flow, see Routing or enriching a message based on the

contents of a file. The FileRead node is like the FileInput node which reads a file from the start of a

message flow, except it is driven to read the file by an incoming message.Just like MQGet node.

    EmailInput node:The EmailInput node receives an email, with or without attachments, from an

email server that supports Post Office Protocol 3 (POP3) or Internet Message Access Protocol

(IMAP). The body of the email message, and any attachments, are propagated in the Multipurpose

Internet Mail Extensions (MIME) domain. All other information relating to the email is stored in

the Root.EmailInputHeader logical tree.

    SCAAsyncRequest node & SCAAsyncResponse node:The SCAAsyncRequest node sends a

request to a business process that is running on WebSphere Process Server, but the node does not

wait for the associated response to be received. However, the SCAAsyncRequest node does wait

for an acknowledgment before continuing with the message flow. The response to the Process

Server request is received by the SCAAsyncResponse node, which can be in the same message

flow or in a separate message flow. The

nodes are used as a pair, and correlate

responses against the original requests.

The SCAAsyncRequest node is the first

half of the asynchronous request and

response node pair. The

SCAAsyncRequest node sends a request

to a business process that is running on

WebSphere Process Server. The request

is sent by the SCAAsyncRequest node,

but the SCAAsyncRequest node does not

receive the response. The response is

received by a SCAAsyncResponse node

that is running on a different thread. The

SCAAsyncResponse node is typically at the beginning of a different message flow; however, it must

be in the same execution group as the SCAAsyncRequest node.

    Resequence node & Sequence node:

Page 32: faqs

The Sequence node: enables us to receive groups of messages from an input source, and preserve the order in which the messages in each group arrived.

Use a Sequence node to generate a monotonically increasing sequence number for each sequence

group. As each message in the group arrives at the Sequencenode, the sequence number for the

group is incremented and stored with the message in a location specified by the node property Path

to store sequence number (for example, LocalEnvironment, MQRFH2 header, message body).

The sequencing applies to messages within the same sequence group only. You can use properties

in the Sequence node to organize messages into groups according to a specified condition; for

example, grouping all messages with the same value in a customer number field in the message. If

no sequence group is specified, a single default group is used for all messages.

The Resequence node: controls the sequence in which a group (or groups) of incoming messages

are propagated through the node in a message flow.

You can use a Resequence node to rearrange groups of messages into sequential order according

to a sequence number in the message. Each message must contain a sequence number, which can

be any positive or negative integer. The sequence number is calculated by an XPath expression

defined in the Path to sequence number property on the node, and it can be one that was added to

the message by a Sequence node.

The Resequence node can reorder multiple sequence groups independently of each other, but it

cannot reorder messages between sequence groups. The group to which a message belongs is

determined by the properties of the Resequencenode.

SecurityPEP node:

The SecurityPEP node enables us to invoke the message flow security manager at any point in the

message flow between an input node and an output (or request) node.

Message flow security enables the broker to perform end-to-end processing of an identity or security

token carried in a message through a message flow. This capability enables you to configure

security for a message flow, allowing you to control access based on the identity or security token

associated with the message and providing a security mechanism that is independent of both

transport type and message format.

The SecurityPEP node enables you to invoke the security manager even if your message flow input

nodes do not support message flow security (for example,TCPIPClientInput or SAPInput nodes). If

you use input nodes that do not support message flow security, or you require some processing or

routing of the message before the required security operation can be identified, you can use

theSecurityPEP node to invoke the message flow security.

Page 33: faqs

Other Changes in Message broker v7:

Brokers does not require a DB

Configuration Manager component no longer exists.

User Name Sever component is removed:User Name Server are no longer required, Tools now connect directly to the broker, and do not use a

configuration manager. This change reduces the number of steps required for administrative tasks. and

gives the tools direct access to more configuration information.

Pub/Sub Enhancements:Message Broker V7 uses WebSphere MQ V7.0.1 to handle publish/subscribe (pub/sub) requests, which

means that there is a single topic space and configuration for both products. WebSphere MQ now

handles all topic based publish / subscribe support. Applications use a single topic space that is managed

by WebSphere MQ. Access control is handled by the queue manager. Broker Domains no longer exist.

Default execution groups, which previous versions of Message Broker required in order to run the

pub/sub engine, are no longer used.

WebSphere Process Server Support:WMB7 makes it easier for application connectivity logic to interact with WebSphere Process Server using

5 newly introduced nodes. SCA Nodes – Provide improved interaction between WMB and WPS v6.2

using SOAP/HTTP or MQ Bindings.

WebSphere Adapters Node : Discussed in post below.

Generic Idoc Routing:By using the SAPInput node in passthrough mode, WebSphere® Message Brokercan receive any IDoc and route it according to IDoc type.The message set for a generic IDoc in ALE passthrough mode contains four fields. Three of these fields are control information: The transaction ID The queue name (if qRFC is used) The name of the IDoc type

  The fourth field is a hexBinary field that contains the entire IDoc in a raw, unparsed format. You can use the DataObject parser to parse this raw format to a full logical structure of a specific IDoc if you provide a message set that contains the definition for that IDoc type. To parse raw IDocs, you must use an MQInputnode with the Message domain property set to DataObject, and the Message format property set to SAP ALE IDoc.

Publish Subscribe In Detail.Ever Wonder what a pub sub is?! Its an application publishing and Many others subscribing or vice versa or many publishing and many subscribing.....whatever....

Page 34: faqs

To do a pub sub Scenario in Message Broker first we should start by creating  3 flows, Publish_Flow, Registration_Flow, Subscribe_flow. Publish flow is the flow which Sets the topic and publishes the data. Registration flow is the flow which registers a WMQ Queue for a topic, which is also known as subscriptionThe Subscription Flow starts with this Registered Queue,and hears all the data published by the Publish Flow as long as it is Subscribed.To be subscribed to a topic is pretty simple all we have to do is to set the MQRFH2.psc details such as,

                 SET OutputRoot.MQMD.MQRFH2.psc.Command='RegSub';                 SET OutputRoot.MQMD.MQRFH2.psc.Topic='Dexter';

And Publishing is way too easier too... Just set the topic, set the command, attach the data, and ram it into a publish node..              SET OutputRoot.MQRFH2.psc.Topic = 'Dexter';               SET OutputRoot.MQRFH2.psc.Command = 'Publish';               --data to be published                SET OutputRoot."BLOB"."BLOB" =BITSTREAM(InputRoot.XMLNSC.Publish.data);

This is just the over view of whats happening in Publish Subscribe. The complete code for publish will look like this

--setting output headder SET OutputRoot.MQMD.ReplyToQ = 'RTQ'; SET OutputRoot.MQMD.Format = MQFMT_RF_HEADER_2; --setting properties SET

OutputRoot.MQRFH2.

(MQRFH2.Field)Version = 2; SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR'; SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCISD = 1208; --setting topic and command SET OutputRoot.MQRFH2.psc.Topic = 'Dexter'; SET OutputRoot.MQRFH2.psc.Command = 'Publish'; --data to be published SET OutputRoot."BLOB"."BLOB" =BITSTREAM(InputRoot.XMLNSC.Publish.data);

this is the code for Register flow...

Page 35: faqs

  SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2;  SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR';  SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;    SET OutputRoot.MQRFH2.psc.Command='RegSub';        SET OutputRoot.MQRFH2.psc.Topic = InputRoot.XMLNSC.SubsData.Topic;  SET OutputRoot.MQRFH2.psc.QmgrName = InputRoot.XMLNSC.SubsData.QMGR;  SET OutputRoot.MQRFH2.psc.QName = InputRoot.XMLNSC.SubsData.Qname;

What the register flow does is, it takes three parameters Queue name, Queue manager name, and The most important one TOPIC, just imagine a table with three columns the first one topic, the second one queue name and, the third one queue manager name, this table is populated every time a valid subscription request is made, the publication node checks this table and puts the data in the q name specified in the table, this is the blurred picture of whats happening inside a pub sub....

now coming to the subscribe flow... this is just a normal flow which has mq input and mq output and all the regular stuff... this is just to assure that the message indeed reached our flow...

when these three flows run on the broker, the first message we put, will be into the register flows input node, then into the publish flows input node then we can see the message passing through the subscribe flow, if the debugging is switched on....

IF you ever wonder how to unsubscribe a topic its pretty simple too u just have to DeregSub all you have to do is to write is              SET OutputRoot.MQRFH2.psc.Command='DeregSub';instead of RegSub in the registration flow, you will be unsubscribed off the topic....

Sample Inputs..

Register Flow Input Data:<SubsData> <Topic>Dexter</Topic> <QMGR>WBRK61_DEFAULT_QUEUE_MANAGER</QMGR> <Qname>REGQ1</Qname></SubsData>

Publish Flow Input Data: <Publish><data>I <3 DEXTER</data></Publish>

Page 36: faqs

What Is BIP?Behavior Intervention Plan is abbreviated as BIP. its a prefix used to differentiate Broker errors from  AMQ errors or CSQ errors