Webmethods - Interview Questions
Webmethods - Interview Questions
Answer:
1) Designer
2) Developer
3) MWS
4) Native Brokers
5) PubSub Models
6) Integration Server
The pipeline is the general term used to refer to the data structure in which
input, and output values are maintained for a flow service. It allows services in
the flow to share data.
Answer:
An adapter notification monitors a specified database table for changes, such
as an insert, update, or delete operation, so that the appropriate Java or flow
PUBLIC
services can make use of the data, such as sending an invoice or publishing it
to the Integration Server.
JDBC Adapter notifications are polling-based. That is, the Integration Server
will invoke the notification periodically based on the polling interval that you
specify when you schedule the notification.
Notification Notification
Description
Type Template
PUBLIC
Most adapter notifications, such as Insert Notifications and Update
Notifications, can use the Exactly Once notification feature. This feature
ensures that notification data will not be duplicated even if a failure occurs
during processing. This is achieved by assigning unique IDs for each
publishable document. After a processing failure, the Integration Server
checks for duplicate records in storage and ignores any duplicate IDs.
Notification Types
There are six types of notifications: Insert, Update, Delete, Basic, Stored
Procedure, and Ordered Notifications. They vary in how they are structured
and operate, as described in the following sections.
Insert Notifications, Update Notifications, and Delete Notifications use a
combination of triggers and buffer tables to capture events that happen on
specific tables in a database. You configure the triggers and buffer tables
when you configure the notifications.
These types of notifications operate similarly, with the exception of the type of
SQL operation (insert, update, or delete) that they monitor. The adapter
creates the trigger and buffer table when you enable a notification. The buffer
table, which you specified when you configured the notification, holds the data
selected by the trigger. There are no special size constraints for the buffer
tables. The trigger monitors the database table you specified when you
configured the notification and inserts data into the buffer table. When you
disable a notification, the adapter drops the trigger and buffer table.When you
enable a notification, the database trigger monitors the table and inserts the
data into the buffer table. When the Integration Server invokes the notification,
it retrieves the rows of data from the buffer table, publishes each row in the
notifications publishable document, and then removes this row from the buffer
table.After you enable these types of notifications, the trigger and buffer table
remain in the database table when you: Shut down the Integration Server
Disable the package containing the enabled notification Reload the package
containing the enabled notification Suspend the notification.
Answer:
Local Transaction,
No Transaction,
XA Transaction.
PUBLIC
Answer:
Answer:
2) Symbol
Answer:
SOAP REST
3) Invoking service by calling RPC methods. SImply call service via URL path.
4) Does not return human readable format. Result is readable, which is just plain XML or
PUBLIC
SOAP REST
JSON.
Note the process ID number of the Java process (e.g. using top, a grep on ps
-axw, etc.)
Send a QUIT signal to the process with the kill -QUIT or kill -3 command.
PUBLIC
system, If for some reason
the target system is down.
What you would be assure
that no data is lost.
Answer:
JMS triggers
Answer:
4) Pub-Sub Messaging
5) Point-to-Point Messaging
PUBLIC
message queue is implemented as a guaranteed Broker client with the same
name.
6)Durable Subscribers
What is durable
subscription?
Answer:
PUBLIC
To ensure that a pub/sub application receives all published messages, use
PERSISTENT delivery mode for the publishers. In addition, use durable
subscriptions for the subscribers.
A durable subscriber registers a durable subscription by specifying a unique
identity that is retained by the JMS provider. Subsequent subscriber objects
that have the same identity resume the subscription in the state in which it
was left by the preceding subscriber. If a durable subscription has no active
subscriber, the JMS provider retains the subscription’s messages until
they are received by the subscription or until they expire.
1) Jar File..
PUBLIC
2) Internal DB (Scheduler missed or next run time is not visible)
3) Thread Hung
PUBLIC
The REPEAT step’s Count property specifies the maximum number of times
the server re-executes the child steps in the REPEAT step.
If you set “Count” to The REPEAT step:
0 Does not re-execute children.
Any value > 0 Re-executes children up to this number of times.
-1 or blank Re-executes children as long as the specified Repeat on condition
is true.
The flow service is saved as xml on disk i.e when not in used or if you want a
local copy.
1) In Administrator Page
2) Top Command
PUBLIC
Explain in and out how does
Trading Network works
whe n an transaction is
submitted
Answer:
Trading Networks uses the information you specify at design time to process a
document at run time. It uses:
DESIGN TIME
* TN document types to recognise the type of document that was sent and to
determine document attributes to associate with the document
PUBLIC
* Processing rule selection, which is determining the processing rule to use for
the inbound document based on the criteria that you defined in processing
rules.
Processing Action – Execute a Service, Send an alert e-mail, Change the user
status, Deliver the document to Receiver, Respond with a message.
Trading Networks can deliver documents using one of the following delivery
options that you specify with the Deliver Document By processing action in a
processing rule:
returns all the documents in the queue for which that partner is the receiver.
PUBLIC
What are public queues
Answer:
A queue that you define to schedule the delivery of documents that are aimed
at multiple different receiving partners. When you define a public queue, the
name of the public queue is added to the list of queues you can select when
specifying a scheduled delivery method with the Deliver Document By
processing action.
http://servername:port/invoke/folder.subFolder.subsubFolder/serviceName
PUBLIC
i) We can associate a condition before linking 2 variables in the pipeline tab of
the map steps. (Generally used in Branch Step)
If the condition is true then only the variable value will be copied into the other
variable otherwise it won’t be copied.
To accomplish this, we need to set the “copy condition” property to TRUE and
write the condition you want to check in the copy condition text box in the
property panel.
ii) Copy condition allows linking two different input variables to one single
output variable.The selection of the value for output variable is based on the
condition matching the criteria being set in the copy condition property.When a
copy condition is set, the link appears to be blue in the pipeline.
Data Error – An error that arises due to invalid data, illegal character or
invalid data format.
Transient Error – an error that arises from a condition that might be resolved
quickly, such as the unavailability of a resource due to network issues or
failure to connect to a database. You can use webMethods Monitor to find and
resubmit documents with a status of FAILED.
Ex. java.net.SocketTimeoutException.
What Is a Startup
Service?
Answer:
PUBLIC
A startup service is one that Integration Server automatically executes when it
loads a package into memory.
(i) Stateless – If one server in cluster goes down during request process. the
data will be lost.
(ii) Stateful – No data loss. It required below for clustering.
Same OS, Database, Port, adapters, Time Zone, messaging, connection,
prefix.
PUBLIC
What is the difference
between drop and delete
pipeline variable?
Answer:
You can use the lexical relational operators to create filters that compare
string values.
How to Publish a
Documents to the Broker?
PUBLIC
Answer:
the document against its publishable document type. If the document is not
valid, the service returns an exception specifying the validation error.
Step 2: The dispatcher obtains a connection from the connection pool. The
connection pool is a reserved set of connections that the Integration Server
uses to publish documents to the Broker. To publish a document to the
Broker, the Integration Server uses a connection for the default client.
Step 4: The Broker examines the storage type for the document to determine
how to store the document.
and on disk.
Step 5: The Broker routes the document to subscribers by doing one of the
following:
* If the document was delivered, the Broker places the document in the queue
for the client specified in the delivery request.
PUBLIC
of the document. The
Step 7: The Integration Server returns control to the publishing service, which
executes the next step.
It is possible that a
document could match
more than one condition in
a trigger.However, the
Integration Server
executes only the service
associated with the first
matched condition.
Answer:
IS sorts by trigger conditions but when 2 or more condition are same, it can’t
decide which one to choose from. So by default it uses the first condition.
PUBLIC
Trigger service processing
mode (Serial or
Concurrent)
Answer:
The processing mode for a trigger determines whether the Integration Server
processes documents in a trigger queue serially or concurrently. In serial
processing,the Integration Server processes the documents one at a time in
the order in which the documents were placed in the trigger queue. In
concurrent processing, the Integration Server processes as many documents
as it can at one time, but not necessarily in the same order in which the
documents were placed in the queue.
=> the publishing flow service stops executing while it waits for a response.
When the service receives a reply document from the specified client, the
service resumes execution
PUBLIC
What is Subscribe path for
documents delivered to the
default client?
Answer:
Note: The default client is the Broker client created for the Integration
Server.The Broker places documents in the default client’s Broker queue
only if the publisher delivered the document to the Integration Server’s
client ID.
Step 5: The Integration Server removes the copy of the document from the
default document store and, if the document is guaranteed, returns an
acknowledgement to the Broker. The Broker removes the document from the
trigger client queue.
Step 6: The dispatcher obtains a thread from the server thread pool, pulls the
document from the trigger queue, and evaluates the document against the
conditions in the trigger.
PUBLIC
processed by the trigger. The Integration Server continues processing the
document only if the document is new.
* If a service exception occurs, the trigger service ends in the error and the
Integration Server rejects the document, removes the document from the
trigger queue, returns the server thread to the thread pool, and sends an error
document to indicate that an error has occurred. If the document is
guaranteed, the Integration Server returns an acknowledgement to the trigger
queue. The trigger queue removes its copy of the guaranteed document from
storage.
* If a transient error occurs during trigger service execution and the service
catches the error, wraps it and re-throws it as a run-time exception, then the
Integration Server waits for the length of the retry interval and re-executes the
service using the original document as input. If the Integration Server reaches
the maximum number of retries and the trigger service still fails because of a
transient error, the Integration Server treats the last failure as a service error.
PUBLIC
the document should be published locally or when the Integration Server is not
configured to connect to a Broker.
Note: If the dispatcher detects that the document is a duplicate of one already
in the trigger queue, the dispatcher discards the document. The dispatcher
detects duplicate documents using the universally unique identifier (UUID) for
the document.
What is Publishable
Document Type?
Answer:
What is Adapter
notifications?
Answer:
PUBLIC
What is Time-to-live for a
publishable document?
Answer:
The time-to-live value for a publishable document type determines how long
instances of that document type remain on the Broker. The time-to-live
commences when the Broker receives a document from a publishing
Integration Server. If the time-to-live expires before the Broker delivers the
document and receives an acknowledgement of document receipt, the Broker
discards the document. This happens for volatile as well as guaranteed
documents.
What is Publishing
Services?
Answer:
Using the publishing services, you can create services that publish or deliver
documents locally or to the Broker. The publishing services are located in the
WmPublic package.
Service Description
PUBLIC
Publishes a document locally or to a configured Broker and waits for a
pub.publish:publishAndWai
response. Any clients (triggers) with subscriptions for the published
t
document will receive the document.
When you create a join condition (a condition with two or more publishable
document types), you need to specify a join time-out. A join time-out specifies
how long the Integration Server waits for the other documents in the join
condition. The Integration Server uses the join time-out period to avoid
PUBLIC
deadlock situations (such as waiting for a document that never arrives) and to
avoid duplicate service invocation.The Integration Server starts the join time-
out period when it pulls the first document that satisfies the join condition from
the trigger queue.
In the Properties panel, under Trigger queue, in the Capacity property, type
the maximum number of documents that the trigger queue can contain. The
default is 10.3 In the Refill level property, type the number of unprocessed
documents that must remain in this trigger queue before the Integration Server
retrieves more documents for the queue from the Broker. The default is 4. The
Refill level value must be less than or equal to the Capacity value.
PUBLIC
what is a Trigger Service
Retry Limit, how to
implement?
Answer:
When building a trigger, you can specify a retry limit for the trigger service.
The retry limit indicates the maximum number of times the Integration Server
re-executes the trigger service when the trigger service fails because of a run-
time exception. A run-time exception (specifically, an ISRuntimeException)
occurs when the trigger service catches, and wraps a transient error and
rethrows it as a run-time exception.
What Is Document
Processing?
Answer:
PUBLIC
* Exactly-once processing indicates that a trigger processes a document once
and only once. The trigger does not process duplicates of the document. The
Integration Server provides exactly-once processing for guaranteed
documents received by triggers for which exactly-once properties are
configured.
The following section provides more information about how the Integration
Server ensures exactly-once processing.
The redelivery count indicates the number of times the transport (the Broker
or, for a local publish, the transient store) has redelivered a document to the
trigger. The transport that delivers the document to the trigger maintains the
document redelivery count. The transport updates the redelivery count
immediately after the trigger receives the document. A redelivery count other
than zero indicates that the trigger might have received and processed (or
partially processed) the document before.
(i) Direct invocation only use get methods other http method not possible. In
REST service all http methods get, put, post and delete can be used.
(ii) Cannot pass input such as document, XMl, JSON or Java script. In REST
service all type of input variable can be passed.
* Trigger ID. Universally unique identifier for the trigger processing the
document.
* Time. The time the trigger service began executing. The document history
PUBLIC
database uses the same time for both entries it makes for a document. This
allows the Integration Server to remove both entries for a specific document at
the same time.
Join conditions are conditions that associate two or more document types with
a single trigger service. Typically, join conditions are used to combine data
published by different sources and process it with one service.
The join type that you specify for a join condition determines whether the
Integration Server needs to receive all, any, or only one of the documents to
execute the trigger service. The following table describes the join types that
you can specify for a condition.
All (AND) The Integration Server invokes the associated trigger service when
the server receives an instance of each specified publishable document type
within the join time-out period. The instance documents must have the same
activation ID. This is the default join type.For example, suppose that a join
condition specifies document types A and B and C. Instances of all the
document types must be received to satisfy the join condition. Additionally, all
documents must have the same activation ID and must be received before the
specified join time-out elapses.
Any (OR) The Integration Server invokes the associated trigger service when
it receives an instance of any one of the specified publishable document
types.
For example, suppose that the join condition specifies document types A or B
or C. Only one of these documents is required to satisfy the join condition. The
PUBLIC
Integration Server invokes the associated trigger service every time it receives
a document of type A, B, or C. The activation ID does not matter. No time-out
is
necessary.
Only one (XOR) The Integration Server invokes the associated trigger service
when it receives an instance of any of the specified document types. For the
duration of the join time-out period, the Integration Server discards (blocks)
any instances of the specified publishable document types with the same
activation ID. For example, suppose that the join condition specifies document
types A or B or C. Only one of these documents is required to satisfy the join
condition. It does not matter which one. The Integration Server invokes the
associated trigger service after it receives an instance of one of the specified
document types. The integration Server continues to discard
s of any qualified document types with the same activation ID until the
specified join time-out elapses.
The try-catch block works the same way as Java. It is 3 sequence step Main,
Try and Catch block. You execute a sequence of steps, if you faced
unexpected exception/error you skip the processing and execute the catch
block.
Go to the properties of each sequence and configure the ‘exit on’ as follows:
PUBLIC
* ‘Success’ for the ‘Main’ sequence.
*’Failure’ for the ‘try’ sequence.
* ‘Done’ for the catch sequence.
The main sequence has the try, and Catch sequences. So by defining the ‘exit
on’ parameter of for the main to ‘Success’, this means that if the first
sequence (Try) finished successfully then exit the sequence ‘Main’ and the
‘Catch’ Block/sequence will not be executed.
The ‘Try’ sequence is configured to ‘exit on’ = ‘failure’, which means if one
step failed, all the steps following the failed step in the ‘Try’ block will not be
executed, and the code will jump to execute the ‘Catch’ block/sequence.
The ‘Catch’ block is configured to ‘exit on’ = ‘done’ which means that each
step in the ‘Catch’ block must be executed regardless of the result of each
step.
We can loop over the flatfilename/recordWithNoId and map each of the fields
to the insert adapter.
EAI – When you want to communicate with any application in one company
(XYZ Ltd), that time you go with EAI
PUBLIC
B2B – When the company (XYZ Ltd) want to communicate with other
company(ABC Ltd), that time you go with B2B
PUBLIC
Type of transaction?
Local ,XA,No transaction
Explain?
Answer:
2. LOCAL_TXN: For Adapter Services which use any connection that was
configured with LOCAL_TXN as TXN Type, then the developer has to use the
pub.art.transaction.commit & pub.art.transaction.rollback explicitly in his code;
which means the transactions are not auto committed and needs explicit
transaction control.
Also, all the DB Interactions within the transaction boundary are committed or
rolled back together. Txn boundary is when you start a TXN using
pub.art.startTransaction ; You can write as many Adapter Services as you
want here and then endTransaction;as you are using LOCAL_TXN all these
adapter Services will be committed or rolled back together.
Note: in LOCAL_TXN the entire adapter Services you write between start and
end txns should be talking to same database (can talk to multiple tables,
though)
3. XA_TXN: Same as Local txn; but the adapter services you write in between
start and end can talk to Different Databases; which means XA_TXN supports
multiphase transactions. A transaction will be used when you want to say,
insert content into 2 Diff DBs, one after the other; If the insert in 2nd DB fails
then if you want to rollback in the 1st DB as well, then use XA txn.
No transaction — means the DB manages the transaction (not IS); this is
“auto-commit”
Local transaction — means IS manages the transaction; can only involve one
Local transaction connection and 0 or more “No transaction” connections
XA transaction — means IS manages the transaction and can handle
distributed transactions (operation over more than 1 database)
Local transaction means in a single transaction we can do multiple operations
on a single database. To be more clear all these multiple operations use the
PUBLIC
same Adapter connection.
XA transaction means in a single transaction we can do multiple operations on
different databases.
To be more clear all these multiple operations use different Adapter
connection.
Use no transaction for select and local transaction for any DML (insert, delete,
and update) operations to handle the transaction boundary (via start, commit
and rollback).
In Custom SQL, you can pass inputs to your SQL query at runtime. With
DynamicSQL, you can pass your entire SQL statement, or part of your
SQL statement can be passed at runtime; along with inputs to it. So
basically you can build your SQL dynamically at runtime.
You use Custom SQL when SQL query is fixed with input variable that are
passed to the custom adapter service. You use dynamic SQL, if SQL
query changes during the runtime; in this cases you prepare the sql query
and pass it to dynamic adapter service in the runtime.
Custom SQL and Dynamic SQL we have to write the queries explicitly.
The main difference between Custom SQL and Dynamic SQL is; in
Custom SQL we can give the input values at design time. In Dynamic
SQL we can give the input values at run time.
Custom SQL is faster than the Dynamic SQL because Custom SQL is
pre-compiled (at design time) but dynamic SQL is not pre-compiled
(compiled at runtime).
Dynamic SQL is more versatile than the Custom SQL.
Explain type of
Notification? Basic
Notification?
Answer:
PUBLIC
There are seven types of notifications: Insert, Update, Delete, Basic, Stored
Procedure, StoredProcedureNotificationWithSignature, and Ordered
Notifications. They vary in how they are structured and operate,
PUBLIC
sure that you need to give the gateway service to the whoever is interested to
send this type of flat file to TN in order to process the file in TN.
PUBLIC
How to configure schedule
queue in TN? wht is
public,private?
Answer:
Private Queue – are queues that contains only delivery tasks that correspond
to documents aimed for a specific receiving partner. You define private
queues in the profile of the receiving partner.
Private Queue – are queues that contains only delivery tasks that correspond
to documents aimed for a specific receiving partner. You define private
queues in the profile of the receiving partner.
PUBLIC
What type of protocol use
in TN? wht is delivery
service?
Answer:
Processing Action – Execute a Service, Send an alert email, Change the user
status, Deliver the document to Receiver, Respond with a message.
PUBLIC
Trading Partner Agreement (TPA) – you can define trading partner
agreements for pairs of partners. Each TPA contains specific information for
two trading partners, where one partner represents a sender and the other
represents the receiver. You can create applications that use TPA information
to tailor how documents are exchanged. Other webMethods components
(e.g., webMethods EDI Module) use TPAs to perform processing.
you can use start and commit transaction to control JDBC manually such as
use Local Transaction that will let you control DB by put inside your service
start transaction when service start and when it done will invoke commit or
rollback in case there is an error
you can use start and commit transaction to control JDBC manually such as
use Local Transaction that will let you control DB by put inside your service
PUBLIC
start transaction when service start and when it done will invoke commit or
rollback in case there is an error
Broker Server – The server which host broker instance is called broker
server.
PUBLIC
The INVOKE Step
LOOP – The LOOP step repeats a sequence of child steps once for each
element in an array that you specify. For example, if your pipeline contains an
array of purchaseâ€order line items, you could use a LOOP step to process
each line item in the array. To specify the sequence of steps that make up the
body of the loop (that is, the set of steps you want the LOOP to repeat), you
indent those steps beneath the LOOP.
Re-execute (retry) a set of steps if any step within the set fails.
Re-execute a set of steps until one of the steps within the set fails.
PUBLIC
Explain exit step? what are
properties used in exit
step?
Answer:
The EXIT flow step allows you to exit the entire flow service or a single flow
step. You specify whether you want to exit from:
The nearest ancestor (parent) LOOP or REPEAT flow step to the EXIT flow
step.
Exit from- The flow step from which you want to exit. Specify any one of $loop,
$parent $flow Label.
Specify… To…
SUCCESS Exit the flow service or flow step with a success condition.
FAILURE Exit the flow service or flow step with a failure condition. An
exception is thrown after the exit. You specify the error message with the
Failure message property.
Failure message The text of the exception message you want to display. If
you want to use the value of a pipeline variable for this property, type the
variable name between % symbols (for example,%mymessage%).
PUBLIC
Explain sequence step?
what is branch step
explain?
Answer:
SEQUENCE – You use the SEQUENCE step to build a set of steps that you
want to treat as a group. Steps in a group are executed in order, one after
another. By default, all steps in a flow service, except for children of a
BRANCH step, are executed as though they were members of an implicit
SEQUENCE step (that is, they execute in order, one after another). However,
there are times when it is useful to explicitly group a set of steps.
INVOKE – Use the INVOKE step to request a service within a flow. You can
use the INVOKE step to:
􀂄 Invoke any type of service, including other flow services and Web service
PUBLIC
connectors.
􀂄 Invoke any service for which the caller of the current flow has access
rights on the local webMethods Integration Server.
􀂄 Invoke flow services recursively (that is, a flow service that calls itself). If
you use a flow service recursively, bear in mind that you must provide a
means to end the recursion.
PUBLIC
What is ordered
notification?
Answer:
What is UDDI?
Answer:
Designer displays a list of the web services that are published in a UDDI
registry. By default, Designer displays all published services, but you can use
a filter to limit the number of services shown.
PUBLIC
Incorporate a web service into Integration Server.
You can incorporate a web service in the UDDI registry into your integration
solution by creating a consumer web service descriptor from the web service.
Designer automatically generates a web service connector for each operation
in the web service, which can be invoked in the same way as any other IS
service.
You can make a service that resides on Integration Server (such as a flow
service, Java service, C service, or adapter service) available as an operation
of a web service and then publish the web service to a UDDI registry.
Element Description
Defines the (XML Schema) data types used by the web service
Describes the operations that can be performed and the messages involved.
Defines the protocol and data format for each port type
PUBLIC
To Invoke service from browser Use a URL in the form:
http://servername:port/invoke/folder.subFolder.subsubFolder/serviceName
PUBLIC
Answer:
Yes We can sort data using select adapter service.While creating Select
adapter service , there is an option to select Sort Order. Using that option you
can sort the column based on ascending or descending. Screen shot below
for reference.
Difference between
savepiplelinetofile &
savepipline?
Answer:
memory under the key provided by $name. Note that because the pipeline is
PUBLIC
saved to memory, it will not be available after a server restart. This service is
helpful in the interactive development or debugging of an application
What is a tracePipeline?
Answer:
WmPublic. Writes the names and values of all fields in the pipeline to the
server log. Prior to Integration Server 7.1, Integration Server used a number-
based system to set the level of debug information written to the server log.
Integration Server maintains backward compatibility with this system.
What is purpose of
clearPiplenine?
Answer:
WmPublic. Removes all fields from the pipeline. You may optionally specify
fields that should not be cleared by this service.
Input – Preserve
Create a flat file schema to be used for conversion and validation of the
document. Here we have first create a dictionary and then same set in
schema.
Invoke the pub.file:getFile service to retrieve the file from the local file system.
PUBLIC
To parse a flat file using a flat file schema, and to convert the data into IS
documents. We can call the convertToValues service.
Now we can process IS document .As per the requirements we can map the
data.
·In the Developer Navigation Panel, select the saved flat file schema, click the
Flat File Structure tab, and then click Icon ‘Create Document Type’.
This creates an IS document type in the same folder as the schema with the
same name of Schema name. On the Pipeline tab under Service In, in the
ffSchema variable specify the location and name of the flat file schema.
On the Pipeline tab click under Pipeline Out, Select Document Reference to
add a new document reference variable or else choose the IS document type
created in step 1 of this procedure .
·On the Pipeline tab under Service Out, map the value of the ffValues variable
to the·document reference variable created in this procedure and save the
service.
The Queue Capacity Throttle reduces the capacity and refill levels for all the
trigger queues by the same percentage. For example, if you set the Queue
Capacity Throttle to 50% of maximum, a trigger queue with a capacity of 10
and a refill level of 4 will have an adjusted capacity of 5 and an adjusted refill
level of 2.
PUBLIC
What is subscription
trigger?
Answer:
PUBLIC
Answer:
false : Processes all input data at one time. This is the default.
true : Processes top level records (children of the document root) in the flat
file schema one at a time. After all child records of the top level record are
processed, the iterator moves to the top level of the next record in the flat file
schema, until all records are processed =
The recommendations made here are generalized and suitable for most uses,
though it will be important to verify for each environment that the chosen
settings are appropriate by adequately testing the performance and behavior
profile.
Trigger Retries#
If you are not using trigger retries then set the retry count to 0. This will
noticeably improve performance, especially as documents get larger and more
complex.
PUBLIC
queue. In a clustered environment, the order of processing is based on
publisher order i.e. an instance acquires ownership for documents from one
source and then exclusively processes these in a single threaded fashion the
order they appear in the queue. Other sources may be processed by other IS
instances in the cluster. For most general purposes, the processing mode will
be set to concurrent and this gives far better performance.
Rough Guide:#
Trigger Threads#
Rough Guide:#
Other Considerations#
The amount of work each thread must do and, not just for one trigger but for
all thread consumers. If the trigger service is very short and lightweight then it
can support more threads than more computationally expensive threads.
Document size will play a factor but it’s only one reason that threads
become computationally expensive. Review all the triggers in the context of
the whole system and not just the single trigger.
The trigger cache size defines the number of documents that may be held in
memory while documents are unacknowledged on the broker. The cache is
filled with documents (in batches of up to 160 at a time) from the Broker, so a
larger cache size reduces the number of read activities performed on the
Broker. The IS goes back to the Broker for more documents when the
documents left in the cache falls below the Refill Level. The objective in
setting these parameters is to ensure that whenever a trigger thread becomes
PUBLIC
available for use, there is a document already in the cache. The Cache Size
should be as small as it can be whilst still being effective, to minimize the use
of memory in the IS (note the size is specified in documents, not based on
total size held). If the processing of documents is generally very short, the
cache should be larger. As a rough guide, the cache size may be 5 to 10
times the number of trigger threads, and the refill level 30%-40% of that value
(or the refill should be twice the number of trigger threads).
Rough Guide:#
Other Considerations#
For small documents with lightweight services these setting could be too
conservative and for large documents it could be too aggressive.
Rough Guide:#
Other Considerations#
The potential caveat to this setting is the number of documents that might
need to be reprocessed in the event of a server crash.
PUBLIC
In-Memory Storage#
All these documents will have the redelivery flag set and may be managed
using the duplicate detection features, described in the Pub/Sub User Guide.
Other Considerations#
If document joins are being used, refer to the user guide for information about
setting join timeouts. A trigger thread is only consumed when the join is
completed and the document(s) are passed to the service for processing.
PUBLIC
in JDBC connection what is
purpose of block TimeOut
and Expire Timeout
Answer:
Block timeout: refers to how much time the IS should wait to get connection
from connection pool before throwing exception.
Expire Timeout: refers to how much time the free connection stay as it is
before it expires.
PUBLIC
What is event manager &
event handler?
Answer:
Diff insert,basic
notification?
Answer:
Insert Adapter Notification is used to retrieve the insert data from the buffer
table and publish for the trigger to use it. Like others, it is also polling based.
Point is the trigger and buffer table is created automatically and dropped by IS
when the notification is created and disabled (not suspended).
In basic, you create the trigger and buffer table. So the trigger and buffer table
is not created and deleted automatically when notification is disabled .
PUBLIC
When IS is up & broker is
down wht will happen when
we are publish the doc?
Answer:
Dispatcher will check if the broker is up or not. If not , then it will check the
document storage type and if the storage type is guaranteed then it will be
storing the document to outbound document store and if document type is
volatile then document will be discarded and exception will be thrown.
What is IDATA?
PUBLIC
Answer:
Schema deals with the value breaks, delimiter used in FF and the most
important part of creating the schema document. A schema is dependent on
the dictionary for creating the schema document.
you will get message like…. “Config file directory saved”. in the server logs.
PUBLIC
If it is a generic JAR (means which is used by many packages) then you can
see it inside “IntegrationServer/lib/jars” folder.
– If it is only for a single package, then you can see them inside
“/IntegartionServer/packages//code/jars”.
Place only the required JARs on IS, otherwise, too much JARs can slow down
the IS.
one IS can connect only one broker, but one Broker can connect multiple ISs.
Flow service uses pre compiled codes which are fast and efficient.
PUBLIC
When an IS is started
where is the session id
stored.?
Answer:
What do we have to do if
the repeat flow step has to
repeat infinitely.?
Answer:
-1
Exit From
PUBLIC
Signal
Failure Message these are three importent parameters for Exit flow step.
Exit From (which you want to exit) flow or parent or loop. Signal should be true
or false.
Default is when no other conditions are met. Generally used and at the last of
the internal sequences.
Null is, when no value is there. Eg: the variable to compare doesn’t exist.
Someone can suggest more.
PUBLIC
When broker is down,
where will the document
sent be stored?
Answer:
Private queues – are queues that contains only delivery tasks that
correspond to documents aimed for a specific receiving partner. You define
private queues in the profile of the receiving partner.
What is difference
between local, xa and no
transactions?
Answer:
PUBLIC
Local transaction – means in a single transaction we can do multiple
operations on a single database. To be clearer all these multiple operations
use the same Adapter connection explicit commit required.
Step ii: The dispatcher obtains a connection from the connection pool. The
connection pool is a reserved set of connections that the Integration Server
uses to publish documents to the Broker. To publish a document to the
Broker, the Integration Server uses a connection for the default client.
Step iV: The Broker examines the storage type for the document to determine
how to store the document.
If the document is volatile, the Broker stores the document in memory.
If the document is guaranteed, the Broker stores the document in memory and
on disk.
Step v: The Broker routes the document to subscribers by doing one of the
following:
PUBLIC
What is Keystore and
Truststore?
Answer:
KEYSTORE: Integration Server stores its private keys and SSL certificates in
keystore files.
TRUSTSTORE: Integration Server uses a truststore to store its trusted root
certificates, which are the public keys for the signing CAs.It simply functions
as a database containing all the public keys for CAs within a specified trusted
directory
What is meaning of
different kill command in
UNIX? what is TERM?
Answer:
The ‘-9’ is the signal_number and specifies that the kill message sent should
be of the KILL (non-catchable, non-ignorable) type.
What is Transformers?
Answer:
PUBLIC
Difference between Any
server and All server in
Scheduler.
Answer:
Any server – The task runs on any server connected to the database. Use this
option if the task only needs to run on one server and it doesn’t manner which
one. For example, in a clustered environment, if all servers in the cluster share
a single database for a parts inventory application, and a particular function
needs to run on that database once a day, any server in the cluster can
perform that function. The Any server option is the default setting when
clustering is enabled.
Note: The Any server option does not specify an order in which servers are
used to execute tasks. In other words, no load balancing is performed.
Instead, an instance of the scheduler runs on each server connected to the
database. Periodically, each instance checks the database in which
information about scheduled jobs is stored. The first scheduler instance to find
a task that is due to start runs it, then marks the task as
What is API?
Answer:
PUBLIC
GET – to get one or more resource.
POST – To create a new resource.
PUT – TO update a resource
PATCH – Partially Update a resource.
DELETE – to Delete a resource.
What is difference
between min pool value set
to 0 and 1?
Answer:
Setting the min connection value to 0 permits the pool to close all connections
in the pool after the idle/expiration time has passed. This is the recommended
setting for production environments. This avoids keeping unused connections
too long and helps avoid stale connections (Stale connection : connections
that the adapter thinks are still good, but the resource has closed.)
Which communication
protocol used between IS
and Terracota?
Answer:
PUBLIC
(i) Required Certificate – Certificate must for authentication.
(ii) Request Certificate – If certificate not provided then it will ask for username
you can define trading partner agreements for pairs of partners. Each TPA
contains specific information for two trading partners, where one partner
represents a sender and the other represents the receiver. You can create
applications that use TPA information to tailor how documents are exchanged.
Other webMethods components (e.g., webMethods EDI Module) use TPAs to
perform processing.
What is Universal
Messaging (UM)?
Answer:
PUBLIC
(i) UM Support multicast, Broker does not.
(ii) UM support Active-Active Cluster, Broker support Active-Passive cluster
(iii) Broker has default broker monitor, UM does not have such thing.
It stands for Java Naming and Directory Interface. JNDI allows distributed
applications to look up services in an abstract, resource-independent way.The
most common use case is to set up a database connection pool on a Java EE
application server. Any application that’s deployed on that server can gain
PUBLIC
access to the connections they need using the JNDI name java:
/env/FooBarPool without having to know the details about the connection.
PUBLIC
Webmeth
ods
Broker
Soudip DuttaMay 9, 2020Uncategorized
Post navigation
Previous
Next
webMethods Broker:
A Broker is where the client programs connect, where document types are stored, and
where client queues and subscriptions are monitored and stored.
Each Broker Server has one or more entities, called Brokers that reside on it.
When a Broker client publishes a document, the Broker determines which Broker clients
have subscribed to that document and places the document in the matching Broker client
queues.
webMethods Broker is the primary component & facilitates asynchronous, message
based integration using the publish and subscribe model, in a WM integration
environment.
The system on which you install the webMethods Broker software is called the
webMethods Broker Server Host.
webMethods Broker consists of two main components: Broker Server, the run‐time
component with which publishers and subscribers interact.
Broker user interface, the administrative component that runs on My webMethods
Server. You use the Broker user interface to configure, monitor, and manage one or
more Broker Servers and the Brokers that they host.
The Broker user interface is a plug‐in that executes on my webMethods Server. It
enables you to manage webMethods Broker from any browser‐equipped computer in
your organization’s network.
Any machine that hosts a Broker Server will also host a Broker Monitor. The Broker
Monitor is automatically installed when you install Broker Server.
Broker Monitor monitors all of the Broker Servers running on the machine where it is
installed. It will automatically attempt to restart any Broker Server that stops running.
PUBLIC
Publish-and-Subscribe Model:
In the pub‐sub model, information producers and consumers are de‐coupled, meaning
they do not interact with one another directly. Instead, each participant interacts only
with the message and the broker entity.
Document Type:
Documents are messages that travel over a network from a publisher to a subscriber,
through the Broker.
If the Integration Server on which you have a session is connected to a Broker, when
you make an IS document type publishable, the Integration Server automatically creates
a Broker document type. The Integration Server automatically assigns the Broker
document type a name.
Territories:
Brokers can share information about their document type definitions and client groups
by joining a territory.
Documents can travel from clients on one Broker to clients on another Broker in the
same territory.
Gateways:
PUBLIC
If the Broker is not connected, the Integration Server routes guaranteed documents to an
outbound document store. The documents remain in the outbound document store until
the connection to the Broker is re‐established.
When a document is published or broadcast, the Broker places a copy of the document
in the client queue for each subscribing trigger. Each subscribing trigger will retrieve
and process the document.
File polling in IS is for getting files from a filesystem the server can access directly (usually
local or shared discs). You can use a filepoller to get a file from such a locally accesible
filesystem and then transfer it to another location using the builtin ftp or sftp services if
Integration Server (sftp is supported since 9.0). put, get and ls are available for both protocols
in wmpublic package.
If you want to poll from a remote location without additional coding, you need Active
Transfer, which is an additional product on top of Integration Server.
An ESB (Enterprise Service Bus) provides a means for service-to-service communication. ... An
API gateway is something that typically acts as a proxy for your web services and provides
PUBLIC
interesting value, such as: logging, making SOAP services callable like REST services,
debugging help, tracing, etc...
Webmethods is a integration tool which can make integration between 2 heterogeneous systems
simple and fast .
PUBLIC