webMethods Interview Questions

1.            What is abbreviation of ERP, SAP, CRM, XML, EDI, CAF, ESB and SOA?
·         ERP: Enterprise Resource planning; SAP: Systems application & products; CRM: Customer relationship management; XML: Extended markup language; CAF: Composite application framework; ESB: Enterprise service bus; SOA: Service oriented language.

2.            What is Web-service connector?
·          It invoked web services located on remote server. It sends HTTP or HTTPS to the webMethods IS that invoke a call to the web-service. The IS hosts packages that contains web-service and related files, authenticates clients and verifies that they are authorizes to executes the requested services.

3.            Name the command that invokes service in a Java service and in which package does it resides?
·          Services.doInvoke() methods used for calling in Java services. It resides in com.wm.app.b2b.server.

4.            What is adapter notification?
·          It enables an adapter to receive event data from the adapter resources. It is of two types: Polling notification & Listener notification.

5.            What do you mean by adapter service?
·           It connects to adapter resources and initiates an operation on the resources.

6.            What is default HTTP of webMethods server listener port?
·          5555

7.            What are flow steps available in ESB and describe any two?
·          Invoke, Map, Branch, Sequence, Loop, EXIT, Repeat and pipeline.
Branch: This step allows you to conditionally execute a step based on value of the variable at time.
o   Branch on switch value: Use variable to determine which step to be executed.
o   Branch on an expression: In this case evaluate label property of branch should be set as “true”.
Sequence: This is used to build a set of steps that you want to treat as a group. Step in-groups are executed in order, one after another.  Except the steps under branch condition. It is useful - To group a set of steps as a single alternative beneath a Branch step; To specify the condition under which the service will exit a sequence of steps without executing the entire set. 
8.        What is CentraSite?

·          It is kind of repository which facilitates create, browse and manage information or artifacts in the registry.

Publish and Subscribe Interview Questions?

1.            Where is document routed when broker is not available?
·         OUTBOUND document store.

2.            Name different storage type of publishable document?
·         Guaranteed and volatile.

3.            What is difference between storage type guaranteed and volatile?
·          This storage type helps Broker, how to store a doc. Guaranteed: It is stored on disk and also on memory. Volatile: The broker stores the document in memory only.

4.            How do broker routs the document to subscriber?
·         If the document was published as broadcast, the broker identifies subscriber and places a copy of the doc in the client queue for each subscriber. If the doc was delivered, the broker places the document in the queue for client specified in the delivery request.

5.            Name the element in webMethods that actually supervises the document transfer between IS and Broker?
·         Dispatcher.

6.            What happen if no subscriber type is specified in document?
·         The Broker returns the acknowledgement (ACK) to the publisher and then discard the document or in case of dead letter subscription, the broker deposit the doc in queue containing dead letter subscriber.

7.     During implementation of “Exactly Once” properties in trigger, what are the three elements helps in resolving document status?
·          1. Redelivery count; 2. Document History DB; 3. Document resolver service.

8.            What is the three status of duplicate detection in trigger for document status?
·           NEW, DUPLICATE, IN_DOUBT

What do you understand by state of a service?

There are two types of states: Stateful: If the IS receives requests from repeating clients then this state is useful. The client can be connected to IS and authenticated once and then issue many service invocations during the same session. Stateless: If clients typically send a single invocation requests to IS at a time then use stateless.  
Using a stateless services prevents the creation of session that will sit unused, taking up resources in IS.

/.+/ and /^ISA/ Explain Regular Expressions?

Using regular expressions can greatly simplify your BRANCH constructs. The regular expression appendix in the B2B Integrator Guide describes the syntax. The regular expression in a label must be surrounded with slashes. A couple of examples:

/.+/
Tests for one or more characters. Strings that are $null or are empty will not be selected by this label (e.g. the branch won't take this path)

/^ISA/
Tests that the string starts with the characters "ISA".

FLOW example:

BRANCH on '/tailOfAK5'
/.+/: MAP (tailOfAK5 has one or more chars)
$default: SEQUENCE (tailOfAK5 is empty or null)

How to Invoking a flow service through java client?

IData out= context.invoke("namespace", "service name", "input);
out : IData where does java store the output of the webMethods service.
namespace : The folder where do you store your service in the webMethods. (eg : "pub.flow")

service name : Service name which will you call from java code.

input : IData input of the service that want to be called.

WebMethods -1: Audit Explained

The Integration server (IS) has a feature, which helps to tracks the execution of services invoked in journey from starts to end in web-services call.

It is set at 2 level.


1.      IS level



It has 3 level

•         PerSvc: It indicated that Auditing is enabled and logging will be based on audit properties set in individual flows of the service.

•         Brief: - It indicated logging is always enabled. It is logged on error, success and start of the flows. It ignores the audit properties set on individual flows.

•         Verbose: It facilitates the complete functionality indicated brief. In addition it also includes pipeline for each flows logged.

2.      In individual flow of a service.



The Audit properties of flow have 3 parameter: -

•         Enable auditing
Never: Audit is turned off for current flow.
When top-level service only: If the flow is the entry point of a service invoke
Always: Audit is turned ON for current flow

•         Log on
Error only: flow is logged when only error/exception occurred/
Error and success: flow is logged in both success scenario & also during error/exception.
Error, Success and start: flow is logged in all scenarios.

•         Include pipeline
Never: Do include data structure when flow is logged.
On error only: Included data in flow only in case of error.
Always: Data in flow should be logged always when flow is logged.


Keys takeaways: -

•         Flows are logged in database, which is displayed on MyWebmethods server.
•         Flow logged with pipeline can be retrieved and used for debug of same flow or proceeding       flows.
•         Log wisely - Too much audit logging cost performance and no logging you end up blind in       case of error in production.
•         Audit logging gives indication of flows invokes when call is made to service.
•         There is more than 8 type of logging mechanism in Webmethods. All by default are                    logged to files. We need to configure in order to point the heavy logging to Database else        IS  will crash. See below




Name the command that invokes service in a Java service and in which package does it resides?

Services.doInvoke() methods used for calling in Java services. It resides in com.wm.app.b2b.server.

What happen if no subscriber type is specified in document?

The Broker returns the acknowledgement (ACK) to the publisher and then discard the document or in case of dead letter subscription, the broker deposit the doc in queue containing dead letter subscriber.