IIB Development Interview Questions And Answers

1. Difference Between Root And Output Root?
Answer: 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.

2. What is the purpose or use of a compute node?
Answer: The compute node is used to:

Build a new message using a set of assignment statements Copy messages between parsers Convert messages from one code set to another Transform messages from one format to another.

3. What is the difference between the mapping node and Compute node transformation?
Answer: In Compute node you can transform the message by coding ESQL in the ESQL resource file attached. Whereas, In mapping node, you can use graphical maps to transform input message by associating an input message model such as a DFDL or XML schema, or an MRM Message Set and an output message model.

In compute node you can change the entire message even the header assemblies. But, In the mapping node, you can change the message assembly, message body, and properties.

4. Difference Between Mca And Mqi Channels?
Answer: 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.

5. About Resetcontentdescripter Node, Label Node?
Answer: 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. (E Learning Portal)

6. What are the default properties of the MQ Input node?
Answer: Message Domain, Message Set, Message Type, Message Format, Topic

7. Difference between Root and OutputRoot?
Answer: The root is used in the Database content changing and in Filter node. OutputRoot is used in the ESQL code for a Compute node that creates a new output message based on the input message.

8. Define Correlation names?
Answer: 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.

9. Musi Server, Mqsi Client Difference? How To Connect These Two Through Command Prompt?
Answer:
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: stream QMA
start runmqlsr -t TCP -m QMA -p 1414
runmqsc
start channel (QMA.QMB)
end

10. How Will We Use A Cobol Copybook In Mb?
Answer: 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.

11. Difference Between Mqconn And Mqconnx?
Answer :

MQCONN (MQSTATE, manager name): Connects to a queue manager, which is identified by manager name, a string of up to 48 characters. MQSeries sets the connection handle for use in subsequent calls.

MQCONNX (MQSTATE, manager name, MQCNO): Connects to a queue manager with options that control the way that the call works. The queue manager is identified by the manager name, a string of up to 48 characters. MQSeries sets the connection handle (MQSTATE.hconn) for use in subsequent calls.

12. Advantages Of Compute Node?
Answer:
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

13. What Is An Execution Group?
Answer: 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.

14. What is User name Server and where it is defined?
Answer: The User Name Server is an optional runtime component that provides authentication of users and groups performing publish/subscribe operations.

15. What Are The Perspectives We Have?
Answer:

  • Administration Perspective
  • Application Development Perspective
  • Debugging Perspective.
  • Java Perspective (MB 6.0).

16. Why is my DataFlowEngine memory usage not reducing on the UNIX systems?
Answer: DataFlowEngine acquires memory while processing messages through its message flows. The amount of memory required to process messages depends on the size of the messages. After some processing, the DataFlowEngine acquires enough memory that it can internally re-use the memory for all the subsequent messages that are processed through its message flows. The UNIX process holds on to the memory anticipating that it could be required for subsequent processing of messages and to avoid performance impact due to releasing and reacquiring memory. 

17. How do you set the limit of total memory consumed by the Data Flow Engine process?
Answer: There is no functionality within the Broker product to set a maximum memory limit on an execution group. Operating systems may offer such functionality and the user should look into the ways of doing this on HP-UX. However, it should be noted, if a DataFlowEngine limit is set to a value that it needs to exceed, then it will terminate when the request for storage is refused.

18. What Is The Use Of Commit For Connection To Databases?

Answer: 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.

19. How Will You Install And Configure Cvs & How Will You Use In Mb?

Answer :

  • Double-click the Windows event-2.0.5.exe file to launch the installer.
  • Displays CVS Setup window appears
  • Select the option to accept the license agreement and click Next.
  • Select Destination Directory screen, the default installation location is set to Workspacecvsnt. 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 checkboxes 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.

20. How Can You Interact With Database Using Compute Node?
Answer: Specify in Data Source the name by which the appropriate database is known on the system on which this message flow is to execute.

21. What are the perspectives there in MB Toolkit? In which perspective we deploy the flow?
Answer:
(i) Administration Perspective

(ii) Application Development Perspective

(iii)Debugging Perspective

(iv) Java Perspective.

We deploy flows in Administration Perspective.

22. What is the difference between Message Broker and MQ?
Answer: WebSphere MQ facilitates communication between applications by sending and receiving message data via messaging queues. WebSphere MQ provides a secure and reliable layer of transport for moving data unchanged in the form of messages between applications but it is not aware of the content of the messages.

WebSphere Message Broker is built to extend WebSphere MQ, and it is capable of understanding the content of each message that it moves through the Broker. Message Broker can do 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.

23. When we hit any backend where all queue or backend details are stored?
Answer: To hit or calling any backend system from message broker we need host Urls or Queues, and we store all these details in our database and at runtime, we retrieve those details to make a call to the Host System.

24. How to create an Asynchronous scenario in MB, which nodes you will use?
Answer: Asynchronous scenario: When we are making a request and not waiting for a reply or response, and proceed to make another request. In this case, our Message flow doesn’t wait for a response from the backend system and process other incoming requests.
We can achieve this by using MQ Nodes, like MQ output and MQGet nodes, so we can put messages in the output queue and process other incoming messages. (Company)

25. What is the difference between Environment and Local Environment tree?
Answer: The environment tree differs from the local environment tree in that a single instance of it is maintained throughout the message flow. If you include a Compute node, a Mapping node, or a Java Compute node in your message flow, you do not have to specify whether you want the environment tree to be included in the output message. The environment tree is included automatically, and the entire contents of the input environment tree are retained in the output environment tree. Any changes that you make are available to subsequent nodes in the message flow, and to previous nodes.

26. What is the difference between the SOAPRequest node and SOAPAsyncRequest node?
Answer: The SOAPA sync Request node sends a Web service request, but the node does not wait for the associated Web service response to be received. This asynchronous functionality enables multiple outbound requests to be made almost in parallel because the outbound request is not blocked waiting for the response.

Whereas, The SOAP Request node is the asynchronous request and response node, which blocks processing after sending the request until the response is received.

27. What are the benefits of using patterns?
Answer: Patterns provide the following benefits:

Give you guidance for the implementation of solutions Increase development efficiency, because resources are generated from a set of predefined templates
Result in higher quality solutions, through reuse of assets and common implementation of programming approaches, such as error handling and logging.

28. What functionality does ESQL provide?
Answer:

  • Through ESQL you can
  • Change the message content.
  • Modify an existing message
  • Create a new message
  • Add dynamic terminals
  • Route a message
  • Propagate a new request

29. What are the external variables, normal variables, or shared variables?
Answer:
External variables:

  • Also known as user-defined properties.
  • Exist for the entire lifetime of message flow and are visible to all messages passed through the flow.
  • Defined at module or schema level.
  • You have to assign an initial value at the time of declaring an external variable and then can modify the initial value at deployment time by using the BAR editor.

Normal Variables:

  • Have a lifetime of just one message pass through a node.
  • Visible to that message only in which it was defined.
  • To define, omit both EXTERNAL and SHARED keyword.

Shared variable:

  • Used to implement an in-memory cache in the message flow.
  • Have a long lifetime and are visible to multiple messages pass through the flow.
  • Exist for the lifetime of Execution group, a lifetime of flow or node, a lifetime of node’s ESQL that declares the variable.
  • Initialized when the first message passes through the node or flow after broker startup.

30. Define BROKER, BAR, EXECUTION GROUP, SCADA, and COMPONENTS OF BROKER, WORKBENCH, WORKSPACE, and CMM?
Answer: BROKER: A broker is a set of execution processes that hosts one or more message flows to route, transform, and enrich in-flight messages.

BAR: Flows and sets that are to be deployed are packed in it and sent to the 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, Configuration manager, User name service.
WORKBENCH:
WORKSPACE:

31. I see an abend with an out of memory error. What could be causing this failure?
Answer: An out of memory error in an abend file indicates the process has terminated as it could not acquire more memory to continue processing. The memory required for processing could be native memory or java heap memory. The investigation would be required to identify why the process was unable to acquire more memory. If using java compute nodes, it is a good practice to tune JVM Heap size for the environment. Refer to the questions below to gain a better understanding of this subject to be able to carry out the investigation. 

32. What Is Schema Of Broker?
Answer: 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.

33. How Do You Test Your Message Flows And Design Test Case?
Answer: By using the debugging perspective. We can create the Test Case according to the client specification error codes.

34. Exception Handling In Mb?
Answer: By using the Compute node, email node and java compute node.

35. Why do we require a message broker when we have MQ?
Answer: Both message broker and MQ work as middleware programs, that is to help to communicate different systems, but mq has a slight drawback that it cannot transform the messages. It can just send the message to another system.

36. What are the advantages of using Websphere message broker?
Answer:

  • Websphere message broker provides services, based on message brokers to allow you to:
  • Route a message to several destinations, using rules that act on the contents of one or more of the fields in the message or message header.
  • Transform a message, so that applications using different formats can exchange messages in their own formats.
  • Store a message, or part of a message, in a database.
  • Retrieve a message, or part of a message, from a database.
  • Modify the contents of a message; for example, by adding data extracted from a database.

37. What is User name Server?
Answer: The User Name Server is an optional runtime component that provides authentication of users and groups and gives an administrative control over who can publish and who can subscribe operations. 

38. What is the Role of Username server?
Answer: The User Name Server interfaces with operating system facilities to provide information about valid users and groups in a broker domain.

39. What is the difference between Input and MQInput node?
Answer: Use the Input node as an In terminal for an embedded message flow (a subflow). The MQInput node receives a message from a WebSphere MQ message queue that is defined on the queue manager of the broker. It is the first node of your message flow.

40. Difference between the try-catch node and throw node?

Answer: Include a Throw node to force an error path through the message flow if the content of the message contains unexpected data.

If a downstream node (which can be a Throw node) throws an exception, the TryCatch node catches it and routes the original message to its Catch terminal. Connect the Catch terminal to further nodes to provide error processing for the message after an exception.

41. What is ESQL?
Answer: Extended Structured Query Language (ESQL) is a programming language based on Structured Query Language (SQL), which is commonly used with relational databases such as DB2. SQL extends the constructs of the SQL language to provide support for you to work with both message and database content.

42. How do you ensure that messages do not lose?
Answer: For application and internal messages traveling across WebSphere MQ, two techniques protect against message loss:

Message persistence ­ If a message is persistent, WebSphere MQ ensures that it is not lost when a failure occurs, by copying it to disk. Sync point control ­ An application can request that a message is processed in a synchronized unit­of­work.

43. What is the difference between Input and MQ Input node?
Answer: Use the Input node as an in the terminal for an embedded message flow (a sub-flow). The MQ Input node receives a message from a WebSphere MQ message queue that is defined on the queue manager of the broker. It is the first node of your message flow.

44. How the interaction with Database does take place using Compute node?
Answer: In Data Source specify the name by which the appropriate database is known on the system on which this message flow is to execute.

45. What are the ways in which you can access databases from a message flow?
Answer: You can access a database from a message flow in two ways:

You can design a message flow that responds to events generated by the database.

46. What is the significance of nodes in message flows?
Answer: A message flow node receives a message, performs a set of actions against the message, passes the original message or the changed message, to the next node in the message flow.

47. What do you mean by an Execution Group?
Answer: 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.

Note: Browse latest  Websphere interview questions and Websphere tutorial. Here you can check  IBM Websphere Training details and Websphere training videos for self learning. Contact +91 988 502 2027 for more information.

Leave a Comment

Scroll to Top