Quotes

Wednesday, November 9, 2016

WMB IIB Interview Questions for


1. Brief Introduction

 They are expecting detailed introduction like the nodes used etc.


2.Diffrence and usage of XMLNSC and XMLNS domains


3. Imagine the input is 3000 bytes long and CWF format. inside which an xml is coming,  How do you access 5th field in XML.


4. Difference between Database and Compute node  and steps in accessing a DB.  


5. Trace commands 


6. Imagine 3000 messages are coming to the flow at a given interval and your flow is capable of handling 1000 messages, how do you increase message thruput.

      We can deploy additional instances to increase thruput, and teh maximum instances allowed is 256.

7. How do access second last child element in the xml.


  Field [<2] indicates last but one element.


8. If you are assigning InputRoot to OutputRoot ,where as the inputrootreferance is null, what will happen?

9. When you have a field and its attribute with the same, the target should require only the attribute value, how do you access it?

they mean to say for eg:  < Folder1 Item ='ABCDE'>
                        <Item> 12345 </Item>
                  </Folder1>


Inorder to access Attribute you should specify as

      SET AttrValue = InputRooot.XMLNSC.Folder1.(XMLNSC.Attribute) Item ;



10. How do you make a variable available across\multiple messages,.

      Variable scoping, use external variable, which will be availble across messages and to teh entire life of the flow.

11. If the failure terminal of teh compute node is connected to a queue, whre do you look for the error message.

12. For loop Syntax

13. when a HTTp and SOAP nodes are used ? (this sis specific to the project experience)

14. SAP Node flow and business scenario in which it is used (specific to project experience)

15. what is your scope in the project and how many flows you have developed

16. Difference between Propagate and propagate None statements

17. Diffrence between MQMD and RFH headers

18. If 100 requests are coming and 100 responses are getting inturn how do you match them 

Correlation Id.

19.  Most recent Experience you have that qualify you for this job 

20. How many LLd's you have prepared and what you felt difficult in preparing them.

21. How do you come out of  a loop. 

we can use LEAVE statement for this.

22. What are the available options with prapogatestatement.

23. Difference between Propagate delete none and propagate .which statement would you be using in a loop( for, while) and why.

24. What is difference and common thing between tag delimeter and tag delimeter with fixed length.

25. Explain a scenario where in the source system says they have sent the message where as the target system claims that it didn't receive.Explain the steps you take in this case.

26. how will you split the message

27. Expalin a scenario where in, you have used file o file, explain the business and the nodes used.

28. What will you do if a file is not received by the target.

29. Types of exceptions and how do you handle them

30. Broker log paths in unix and Windows

31. How do you access a field value , in a case where both the field name and attribute name is same. and which function you will use for the same.

32.when target system expects a null value for a field then what will you use.

33. When the ouputroot.xmlns.data = Inputroot.xmlns.data if InputRoot.xmlns.data returns null what will happen or what will be the value for output root.



1) What are the advantages of MQ CLUSTER?
2) How can we achieve High Availability/Failover by clustering Queue managers?
3) Should Message Flows be designed as stateless, what do you recommend while designing message flow?
4) What are Globally Coordinated Transactions, How do you achieve it?
 5) How can MQ Load balancing be achieved without using MQ Clusters?
6) What are the different levels of security that can be implemented on Web services, explain?
7) Please explain where can a message set be validated other than input nodes?
8) What are the different options to connect to Database from Message Broker?
9) How do you configure ODBC and JDBC connectivity to a Database from Message Broker?
10) What are the nodes that support JDBC Connectivity?
11) Can Database Retrieve node be used to call Stored Procedure using JDBC Connectivity?
12) which among the following would you prefer to use esql compute nodes or Java Compute nodes and why
13) Overview of Publish/Subscribe topology
14) Is it advisable to use Message Flow Transactions always?
15) How do you increase throughput of a message flow?
16) Which is recommended a) using additional instances of a message flow in the same execution group or b) allocating one copy of the message flow to each of many execution groups?


61. How database operations are done in compute node? What is the use of Transaction property?
         Complete the following steps to use a Database Service with a Compute node:
  1. In the Application Development view, select the required Database Service .service file.
  2. Drag the selected Database Service onto a Compute node. Alternatively, right-click the Compute node, click Use Database Service, and select the required Database Service.
  3. Select the required database operations. This results in the following actions:
    • A compute module named DatabaseServiceName.esql is generated in the broker schema that is derived from the namespace of the service and port type of the database binding. This compute module contains one ESQL procedure for each database operation that you selected, and is located in the same library as your Database Service file.
                  Note: The port type name is the same as the operations group name that you created on the Service Operations panel of the Database Service  editor.
    • A PATH statement for the generated compute module is created so that the Database Service can be called. This PATH statement is located in the ESQL module that is associated with your Compute node.
  1. In your ESQL module, call the Database Service by supplying the required parameters.
·         The transaction mode for the node. Valid options are Automatic and Commit:
Automatic : If you choose Automatic, the ability to commit or roll back the action of theCompute node on the database depends on the success or failure of the entire message flow.
Commit :  To commit the action of the Compute node on the database, irrespective of the success or failure of the message flow as a whole, select Commit. The database update is committed even if the message flow itself fails.
62. What is the use of Transaction Mode in MQinput, MQOutput node?
      MQINPUT:
    This property controls whether the incoming message is received under sync point. Valid values are Automatic, Yes, and No.
  • If you select Automatic, the incoming message is received under sync point if it is marked persistent, otherwise it is not received under sync point. The transactionality of any derived messages that are sent later by an output node is determined by the incoming persistence property, unless the output node has overridden transactionality explicitly.
  • If you select Yes, the incoming message is received under sync point. Any derived messages that are sent later by an output node in the same instance of the message flow are sent transactionally, unless the output node has overridden transactionality explicitly.
  • If you select No, the incoming message is not received under sync point. Any derived messages that are sent later by an output node in the message flow are sent non-transactionally, unless the output node has specified that the messages must be put under sync point.
    MQOUTPUT:
         This property controls whether the message is put transactionally.
  • If you select Automatic (the default), the message transactionality is derived from the way that it was specified at the input node.
  • If you select Yes, the message is put transactionally.
  • If you select No, the message is put non-transactionally.

63. What is destination mode in MQOutput node?
  The queues to which the output message is sent.
  • If you select Queue Name (the default), the message is sent to the queue that is named in the Queue Name property. If you select this option, you must set the Queue Manager Name and Queue Name properties.
  • If you select Reply To Queue, the message is sent to the queue that is named in the ReplyToQ field in the MQMD.
                  When you select this value, the MQOutput node constructs a WebSphere MQ reply message. For more information about the settings that are used by                                 the MQOutput node and the Root.MQMD.
·         If you select Destination List, the message is sent to the list of queues that are named in the local environment that is associated with the message. The data that you have provided is used in the DestinationData subtree of the local environment. For more information about the DestinationData subtree.
64. If needed to use pub/sub over JMS which node is optimum?
65. How messages can be validated while sending to a flow or out from a flow?
     Validation applies only to messages that you have modeled and deployed to the broker. Specifically, the message domains that support validation                         are DFDL, MRM, XMLNSC, SOAP, and IDOC.
The broker does not provide any validation for self-defining messages. The DFDL,XMLNSC, and SOAP domains validate predefined messages directly against message model schema files. 
 By default, parsers perform some validity checking on a message, but only to ensure the integrity of the parsing operation. However, you can validate a message more stringently against the message model contained in the message set by specifying validation options on certain nodes in your message flow.
To validate input messages that are received on an input node, you can specify validation properties on the input node. The input message is then validated when the message bit stream is parsed to form the message tree.
To validate output messages that are created by a transformation node, specify validation properties either on the node itself, or on the output node that sends the message. The validation takes place when the message bit stream is created from the message tree by the output node.
66. Can we do Database operations in Filter node?
        YES , since the Filter node accepts ESQL statements in the same way as the Compute and Database nodes.
67. Difference between Transaction mode and Persistence mode?
     
68. What are the built in functions in ESQL?
      The following types of function are available:
69. What is use of propagate statement? How to retain the message body in case of another message?
   The PROPAGATE statement is used to generate multiple output messages in the Compute node. The output messages may have same or different message content. You can also send output messages to any alternate output terminals of the Compute node.

70. What is the advantage of ESQL over JAVA in WMB?



26. What are the types of nodes toolkit is having?
Built-in node
A built-in node is a message flow node that is supplied by IBM® Integration Bus. The built-in nodes provide input and output, manipulation and transformation, decision making, collating requests, and error handling and reporting functions.
User-defined node
A user-defined node is an extension to the broker that provides a new message flow node in addition to the nodes that are supplied with the product. A user-defined node must be written to the user-defined node API provided by IBM Integration Busfor both C and Java™ languages. 
Subflow
A subflow is a directed graph that is composed of message flow nodes and connectors and is designed to be embedded in a message flow or in another subflow. To connect your subflow to other nodes in the main flow, you can add Inputand Output nodes to the subflow. You can define subflows in one of two resource types, either a .subflow file or a .msgflow file. A subflow that is defined in a.subflow file can be deployed as an individual resource. A subflow that is defined in a .msgflow file must be deployed with the main flow in which it is embedded.

27. What are the commands for using trace?
28. What is promoted properties?
29. What are external variables and shared variables?
30. What are the different headers of message tree of broker? What are the main fields in MQMD, Properties?

What is the use of MQRFH?

51. What is the use of  Local Environment?
Ans: LocalEnvironment tree may or may not live throughout the thread lifetime. That means there is a mechanism which decides whether or not to pass the LocalEnvironment trees throughout the flow.
          -The Lifetime of this tree structure is limited some nodes.
          -It is used to carry variables that need to be accessed in the next nodes in the flow.
            - Local Environment has some special use such as to set the message destinations.

52. How Aggregate, XSLT, Passthrough, Route To Label, Flow order node work?
Ans:     Aggregate: Aggregation is the generation and fan-out of related requests that are derived from a single input message, and the fan-in of the corresponding replies to produce a single aggregated reply message.

                XSLT: (Extensible StyleSheet Language)  the XSLTransform node to transform an XML message to another form of message, according to the rules provided by an XSL (Extensible Stylesheet Language) style sheet, and to set the Message domainMessage setMessage type, and Message formatfor the generated message.
Here we should provide the "stylesheet name".
                PassthroughUse the Passthrough node to enable version control of a subflow at run time.
                   Use the Passthrough node to add a label to your message flow or subflow. By combining this label with keyword replacement from your version control system, you can identify which version of a subflow is included in a deployed message flow. You can use this label for your own purposes.
                   The Passthrough node does not process the message in any way. The message that it propagates on its Out terminal is the same message that it received on its In terminal.
It has 1 In and 1 out terminal.

            Route To LabelUse the RouteToLabel node in combination with one or more Label nodes to dynamically determine the route that a message takes through the message flow, based on its content. 
                   Or
            It is jus used to route the message to the specified Label name.
Route to Label node in IIB/WMB can be used to dynamically route the message based on the message content. The combination of Route to Label and the Label node will do this dynamic routing. In order to use route to Label node, we need to set the destination list in the Localenvironment message tree using a compute node before passing the message to the route to label node. In the Basic tab of the route to Label node, there is the mode property specified and by default it is been selected as ‘Route to Last

                Flow Order: Controls the order in which the message is processed.
                The FlowOrder node propagates the input message to the first output terminal. If the message processing completes successfully, the FlowOrder node propagates the input message to the second output terminal.
It has 1 In terminal and 3 out terminal(failure, first, second).
53. What is the difference between HTTP and SOAP node?
Ans:           - HTTP nodes handle the HTTP protocol.
                    SOAP nodes handle SOAP messages.
            - We can use SOAP nodes with  SOAP message domain OR HTTP transport nodes with XMLNSC message domain to implement Web Services
Several advantages exist if we use SOAP nodes :
·                     Support for WS-Addressing, WS-Security and SOAP headers.
·                     A common SOAP logical tree format, independent of the bitstream format.
·                     Runtime checking against WSDL.
·                     Automatic processing of SOAP with Attachments (SwA). (Although the HTTP nodes can process SwA messages, we must use the MIME message domain)
·                     Automatic processing of Message Transmission Optimization Mechanism (MTOM).


Cases where it might be better to use HTTP nodes include:
·                     Message flows that interact with Web services that use different standards, such as REST or XML-RPC. (We don't have a WSDL definition)
·                     Message flow that never use WS-Addressing, WS-Security, SwA, or MTOM.
OR
(SOAP nodes send and receive SOAP-based Web services messages, allowing a message flow to interact with Web service endpoints. The messages might be plain SOAP, SOAP with Attachments (SwA), or Message Transmission Optimization Mechanism (MTOM). The nodes are configured using Web Services Description Language (WSDL) and support WS-Security and WS-Addressing.
Nodes: SOAPInput and SOAPReply, SOAPRequest , SOAPAsyncRequest and SOAPAsyncResponse
Hypertext Transfer Protocol (HTTP) is a widely used standard protocol built on top of the TCP/IP stack for request/reply-based communications.  HTTP is simply a protocol for communication between an HTTP client and an HTTP server. It does not let you interact with non-HTTP-enabled services in your enterprise.

Nodes: HTTPInput node, HTTPReply node, HTTPRequest node, HTTPHeader, HTTPAsyncRequest, HTTPAsyncResponse node)


54. How timer nodes are used and which among them are stand alone?
Ans:
55. In case of rollback in Aggregation and Flow order node etc, how we should take care of complete roll back?
56. How Database nodes are used? What is the diffrence between Database and compute node?
Ans:       In DataBase node , some properties have to set i.e; DataSource name andconnection of the flow. And ESQL statements are used that specify the data from the input message, and perhaps transform it in some way.
Database Node fetches data from the database specified. It can store the messages. Database node to interact with a database in the specified ODBC data source.

Difference
          - Some of the V7 patterns use Database nodes in preference to Compute nodes, with the following reasoning in the description: "Note that database module is used even though no data source is being referenced. This node is used to enhance performance as no part of the message tree has to be copied."
            **- The actual difference between the Database node and the Compute node is NOT the accessing of databases as both nodes can do this, which does mean their names can be slightly confusing. The actual (and only) difference is that a ComputeNode always creates a new message (even if you never use it), whereas a Database node never creates a new message. You can obviously do more in a Compute node than in a DB node (like create a changed OutputRoot message which you can not do in a DB node). But if all you want to do in the node is access and/or change the Envrionment or LocalEnvrionment trees then you can do this in the Database node which is why the patterns used the DB node where they do as they are simply setting a flag in the LE. 
 57. What is filter node? How many terminal it has  and why are used? When are unknown terminals used?
FilterNode: Filter node to route a message according to message content. You define the route by coding the filter expression in ESQL.
Terminals: In: The input terminal that accepts a message for processing by the node
Failure: The output terminal to which the message is routed if a failure is detected during the computation.
 Unknown:
 False: The output terminal to which the message is routed if the specified filterexpression evaluates to false
 and True: The output terminal to which the message is routed if the specifiedfilter expression evaluates to true.
Is It possible to do transformation in filter node?
Ans: Yes, we can write Esql and use it as a transformation node.
 If value is a>50 true and a<50 False is set in the  code. If a=50, which terminal the message will go, False or unknown?
Ans: It goes to Unknown terminal.
58. Which are the default ports of HTTP nodes and SOAP nodes?
 The default SOAP node port numbers are 7800  and 7843 for HTTPS .
59. What is the internal working of JMSMQ Tranform node?
JMSMQTransform node to transform a message with a JMS message tree into a message that has a message tree structure that is compatible with the format of messages that are produced by the WebSphere® MQ JMS provider.
The JMS nodes can be used in both publish/subscribe and point-to-point messaging.
  • The JMSMQTransform node takes the output of the JMSInput or JMSReceive node, and produces a message that can be handled by an MQOutput node.




41.What are the differences between XML, XMLNS, and XMLNSC?
A:
XML Schema is an international standard that defines a language for describing the structure of XML documents. It is suited to describing the messages that flow between business applications, and it is widely used in the business community for this purpose. IBM Integration Bus uses models that are based on XML Schema to describe the structure of all kinds of message format, including message formats that are not XML.
When reading an XML message, the parser that is associated with the domain builds a message tree from the input bit stream. The input bit stream must be a well-formed XML document that conforms to the W3C XML Specification (version 1.0 or 1.1).
When writing a message, the parser creates an XML bit stream from a message tree.
XMLNSC domain
The XMLNSC domain is the preferred domain for parsing all general purpose XML messages, including those messages that use XML namespaces. This parser is the preferred parser for the following reasons:
·         The XMLNSC parser has an architecture that results in ultra-high performance when parsing all kinds of XML.
·         The XMLNSC parser reduces the amount of memory that is used by the logical message tree that is created from the parsed message. The default behavior of the parser is to discard non-significant white space and mixed content, comments, processing instructions, and embedded DTDs; however controls are provided to retain mixed content, comments, and processing instructions, if required.
·         The XMLNSC parser can operate as a model-driven parser, and can validate XML messages against XML Schemas generated from a message set, to ensure that your XML messages are correct.
XMLNS domain
If the XMLNSC domain does not meet your requirements, use the alternative namespace-aware domain and parser.
XML domain
The XML domain is not namespace-aware. It is deprecated and must not be used to develop new message flows.
The MRM domain also provides XML parsing and writing facilities. For guidance on when you might use MRM XML instead of one of the XML parsers, see Which XML parser should you use?.
By default, the three XML parsers are programmatic parsers and do not use a message set at run time when parsing and writing. However, the XMLNSC parser can operate as a model-driven parser and can validate XML messages for correctness against XML Schemas generated from a message set.
When you use the XMLNS or XML parsers, or the XMLNSC parser without a message set, it is good practice to create and use a message set in the IBM Integration Toolkit; this action simplifies the development of your message flow applications, even though the message set is not deployed to the broker run time.
For the advantages of creating a message set, see Why model messages?.
The XML parsers are on-demand parsers. For more information, see Parsing on demand.
The topics in this information center provide a summary of XML terminology, concepts, and message constructs. These aspects are important when you use XML messages in your message flows. 

XML parser
The XML domain is very similar to the XMLNS domain, but the XML domain has no support for XML namespaces or opaque parsing.
The XML domain is deprecated, but existing message flows that use the XML domain continue to work. Use the XMLNSC domain when developing new message flows.
The XML parser is not model-driven and does not use an XML Schema when parsing XML documents.
If you want the XML domain to parse a particular message, you must select Message Domain as XML on the appropriate node in the message flow.
Tip: The XMLNSC and XMLNS parsers both support XML messages that do not use namespaces, with no extra configuration.
Features of the XML parser
Feature
Present
Description
Namespace support
No

On-demand parsing 
Yes
Compact message tree
No

Opaque parsing
No

Ultra high performance
No

Validation
No

Inline DTD support
Yes
Inline DTDs are processed and retained in the message tree.
XML Data Model compliance
Yes
The resultant message tree conforms to the XML Data Model.



XMLNS parser
The XMLNS parser is a flexible, general-purpose XML parser.
The XMLNS parser is not model-driven and does not use an XML Schema when parsing XML documents.
Features of the XMLNS parser
Feature
Present
Description
Namespace support
Yes
Namespace information is used if it is present. No user configuration is required. See Namespace support.
On-demand parsing 
Yes
Compact message tree
No

Opaque parsing
Partial
Limited support from ESQL only for parsing a single element opaquely. See XMLNS opaque parsing.
Ultra high performance
No

Validation
No

Inline DTD support
Yes
Inline DTDs are processed and retained in the message tree. See XMLNS DTD support.
XML Data Model compliance
Yes
The resultant message tree conforms to the XML Data Model.




















42. What are the domains in broker?
A:


43.How CWF is working? How TDS is working?
A:  
 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.

MRM(Message Repository Manager ) TDS format

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. 
The TDS physical format is designed to model messages that consist of text strings, but it can also handle binary data. The TDS physical format allows a high degree of flexibility when defining message formats, and is not restricted to modeling specific industry standards; therefore, you can use the TDS format to model your own messages.

44.ls it possible to create a message set from XSD?
 A: You can use a Quick Start wizard to create a message set, a message set project, and other resource files that you need to create a new application using XML documents (general) for that you have to convert xsd to xml.

45.What is point to point and pub/sub? How pub/sub is implemented? Where we will specify topics?
A: 
Publish/Subscribe
Publish/subscribe is a style of messaging application in which the providers of information (publishers) have no direct link to specific consumers of that information (subscribers), but the interactions between publishers and subscribers are controlled by pub/sub brokers. 


46.What is the method of giving default values instead of using COALESCE for each field?
A:
47.How to make coordinated transaction?
A:
48.How to send more than 5 messages to different locations from compute node?
A:
49.If we need to retry messages which are failing in the input node, what is the solution?
A:
50.How to access local environment in next node?
A:

refer the link for more information..

No comments:

Post a Comment