Basic Questions on EAI(webmethods)
1.What is EAI ?
EAI or Enterprise Applications Integration
can be defined as data that can be integrated from disparate applications
regardless of the platform, allowing the sharing of business processes amongst
multiple organizations.
2.What are the Major categories of EAI?
Integration can be at different
application layers:
Data Level Integration:
Batch data transfer, OR
On-line propagation of data updates
API Level Integration:
Data is accessed through published API
services
Service Method Level Integration:
Common services shared by different
applications
User Interface Level Integration:The
controller reacts to the user input. It creates and sets the model.
Common user interface (e.g. web based) for
unified access to multiple applications.
3.What are the Advantages of EAI?
Advantages of EAI solutions are:
Streamlines business processes and helps
raise organizational efficiency.
Real time information access among systems.
Maintains information integrity across
multiple systems.
Speedier transactions at reduced costs.
If one of the applications misbehaves and
requires to be shut down for maintenance, then with EAI, we can easily
“decouple” it from rest of the systems. Which avoids having to bring down other
systems.
4.What are the disadvantages of EAI?
The main disadvatages of using EAI systems:
Constant change: The very nature of EAI is
dynamic and requires dynamic project managers to manage their implementation.
Lack of EAI experts : EAI requires
knowledge of many issues and technical aspects.
EAI is a tool paradigm: EAI is not a tool,
but rather a system and should be implemented as such.
Building interfaces is an art :
Engineering the solution is not sufficient. Solutions need to be negotiated
with user departments to reach a common consensus on the final outcome. A lack
of consensus on interface designs leads to excessive effort to map between
various systems data requirements.
Loss of detail : Information that seemed
unimportant at an earlier stage may become crucial later.
Accountability : Since so many departments
have many conflicting requirements, there should be clear accountability for
the system's final structure.
5.What are the main companies which
provide EAI tools / software?
TIBCO
webMethods
Vitria
iPlanet
MQSeries (IBM)
iPlanet
BizTalk (Microsoft)
WebLogic (BEA)
6.What is webMethods?
A company that provides integration tools.
The key products include Integration Server, Enterprise Server, Business
Integrator, Workflow and Mainframe Integration Server. webMethods is a company,
not a product.
7.What are the modules of webMethods
Product Suite?
Integration and B2B
Service Oriented Architecture
Business Process Management
Business Activity Monitoring
8.What are the tools of webMethods
Integration ?
webMethods Adapters
webMethods Developer
webMethods Integration Server
webMethods Integration Platform
webMethods Broker
webMethods Monitor
webMethods Optimize for Infrastructure
webMethods Trading Networks
webMethods EDI Module
webMethods EDIINT
webMethods eStandards Modules
webMethods PIM
9.What Is Developer?
webMethods Developer is a graphical
development tool that you use to build, edit, and test integration logic. It
provides an integrated development environment in which to develop the logic
and supporting objects that carry out the work of an integration solution. It
also provides tools for testing and debugging the solutions you create.
10.What Is an Element?
An element is an item that exists in the
Navigation panel in webMethods Developer.Elements include folders, services,
specifications, IS document types, triggers, and ISschemas. In the Navigation
panel, servers and packages are not considered to be elements.
11.What Is an Element?
An element is an item that exists in the
Navigation panel in webMethods Developer.Elements include folders, services,
specifications, IS document types, triggers, and ISschemas. In the Navigation
panel, servers and packages are not considered to be elements.
12.What Is a Startup Service?
A startup service is one that Integration
Server automatically executes when it loads a package into memory.
13.What Is a Flow Service?
A flow service is a service that is
written in the webMethods flow language. This simple yet powerful language lets
you encapsulate a sequence of services within a single service and manage the
flow of data among them.
14.What Is the Pipeline?
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.The pipeline
starts with the input to the flow service and collects inputs and outputs from
subsequent services in the flow. When a service in the flow executes, it has
access to all data in the pipeline at that point.
15.How to invoke a service from a browser ?
Use a URL in the form:
http://servername:port/invoke/folder.subFolder.subsubFolder/serviceName
(the package name is not part of the URL
in any way)
16.What happens when the
pub.flow:tracePipeline service is invoked?
The Integration Server logs the name-value
pairs in the pipeline at that time
17.When creating a BRANCH flow element,
what is the purpose of the "scope" field on the properties tab?
To restrict pipeline access to only the
data in this document
18.What is the primary function of the
built-in pub.flow:savePipeline service?
Save the current pipeline to a named
memory location on the Integration Server
19.When you create and save the FLOW
"my.pack:myFlow" in the "MyPack" package, where will you
find the code?
In the
"MyPack\ns\my\pack\myFlow\flow.xml" file
20.What is the Branch operation?
Branch operation conditionally executes an
operation based on the value of a variable at run time
21.What is the default behavior, if a Flow
EXIT does not specify a "from"?
$loop will be assumed, and a
com.wm.lang.flow.FlowException will be thrown if the EXIT is not in a LOOP
22.An Integration Server package may have
one or more startup services. When does a startup service execute?
Whenever the package is loaded or re-loaded
23.By default, the webMethods Integration
Server has an HTTP listener assigned to which port?
5555
24.How can the webMethods Integration
Server logging date format be changed?
By editing the watt.server.dateStampFmt
parameter in the server.cnf file
25.When coding IS Services, how can a
variable of type Document Type be represented in Java?
Variable of type Document Type be
represented as "IData "
26.For a REPEAT operation to execute as
long as the specified repeat condition remains true, the count parameter needs
to be set to:
The count parameter needs to be set to
"-1 " .
27.When creating Flow services, what is
the purpose of a SEQUENCE operation?
The purpose of Sequence operation is to
group a subset of Flow operations so that they are treated as a unit.
28.If the webMethods Integration Server is
started with from the server root directory with this command,
"bin\server.bat -debug 9 -log none", what does this tell the server
to do?
Start in level 9 debug mode and write all
server log information to the screen.
29.The Integration Server requires access
to the Java classes for each JDBC driver that it will use. Typically, where
must such Java classes be placed?
webMethods6\IntegrationServer\lib\jars
30.The Flow Services are physically stored
on the webMethods Integration Server in the form of:
Flow Services are physically stored on the
webMethods Integration Server as "XML" files.
31.What is the default behavior if a Flow
EXIT does not specify a "from"?
The EXIT will throw an
java.lang.NullPointerException.
32.After a default installation, in order
to use the pub.file:getFile service, what needs to be done?
pub.file:getFile does not require any
modifications to the Integration Server.
33.What happens when the
pub.flow:tracePipeline service is invoked?
The Integration Server logs the name-value
pairs in the pipeline at that time.
33.How to use SEQUENCE as the Target of a
BRANCH?
Set evaluate label property of branch step
to true. Then set the label property of sequence with the value on which it
needs to be processed.
34.How to Restore a Session on a Server?
Developer gets disconnected from the
server if the server goes down or if there is a problem in the network. Donot
close the developer.If you close the developer you wont be able to save the
changes.Once the server come up or the network problem is resolved. you will be
automatically connected to the server and then you can retsore your session.
35.How to open a session on a different
server?
Select "session" from the menu
in toolbar and click open. key in the server IP and port on which you have to
open the connection.The user name and password on that server.
36.How ACLs Affect locking?
ACLS are used to give the authorization to
the particular user groups.If u give ACL to administrator then the admin group
users who are there in that group they can have the acess to that particular
service.Otherwise we can not use it.This is called ACL locking.
37.How to Change the Order of Steps in a
Flow Service?
We can change the Order of steps in a Flow
Service of Various other services which are called in sequence within Flow
service using "Shift Up and Shift Down" buttons exists at top of
Editor Panel.
As well we can move any service or Map
inside a SEQUENCE or BRANCH using "Shift Left and Shift Right" buttons
38.When and why should we use transformers
and flow services? How are they different from each other?
Mapping is the process of performing
transformations to resolve data representation differences between services or
document formats. By linking variables to each other on the Pipeline tab, you
can accomplish name transformations and structural transformations. However, to
perform value transformations you must execute some code or logic.
Developer provides two ways for you to
invoke services: You can insert INVOKE steps or you can insert transformers
onto the Pipeline tab. Transformers are the services you use to accomplish
value transformations on the Pipeline tab.
39.What are Structural transformations ?
Splitting one field into several or
merging fields, reordering portions of a message or renaming fields are know as
structural transformations
40.How to Move Flow Steps?
Open the webMethods developer in
EditPrespective.Select the flow step u wanna move just drag it to the place u
want to move.Otherwise use the arrow buttons on the editor pannel to move the
selected flow steps.
41.How to remove a system lock from an
element?
System locks can be removed by making the
server side files of the element as redable.right Click on the elemet in
developer which is system locked.and choose the lock properties. It will
display the server side files for the element.Make the files as readable and
click the referesh button in the developer.You will find that the element is no
more locked.
42.How to Find Elements in the Navigation
Panel?
Just right click on the element ehich u
want to see then u click Locate in navigation option then u can see that
element in the navigation panel
43.How to find dependents of a selected
element on the server?
Right click on the element for which you
have to find the dependents in the navigational pannel.and click on the option
find dependents.
44.How do I change the JVM used by
Integration Server?
To change to the JDK used by webMethods
you will need to edit the IntegrationServer\bin\server.bat or
IntegrationServer/bin/server.sh file used to start up Integration Server.
Edit the file and change the following
line to point to the JDK path
SET JAVA_DIR=C:\opt\j2sdk1.4.2
45.How do I debug the Developer IDE itself
?
Start the developer up in debug mode,
similar to the Integration server:
cd pathToWMInstall/Developer/bin
developer.bat -debug 10
46.What is the difference between drop and
delete pipeline variable?
Drop pipeline is an explicit cleanup. It
is a request for the pipeline to remove a variable from the available list of
variables and make the object it refers to available for garbage collection by
the Java Virtual Machine.
Delete is purely a design time operation
to remove the variable from the current view. It is only of use if you have
created a variable that you didn't mean to create. If you delete a variable
that was there because it was previously in the pipeline when you change the
view in developer you will see the variable appear again.
47.How do I see the java code for my flow
service ?
Flow is not turned into java code. It
resides on disk as XML representing the flow operations which is then parsed
and turned into an in-memory java tree of the operations. Although the
underlying code that implements the flow operations is java, it is stored on
disk as XML.
Back to top
48.How do I throw an exception when using
a try-catch block ?
Set a flag in your catch block or leave a
variable holding the error message in the pipeline.
Outside the catch block put a branch on
that variable or flag and if it is non-null then exit with failure or call the
service that generates the exception.
49.How to get the current index of the
List in a loop?
There is a special variable on the
pipeline called $iteration which will be incremented as the loop operator works
up through the list.
49.How to limit a flow service executed
only by one thread at a time?
Create a java service
Create a private static object on the shared
source (private static Object LOCK_OBJ = new Object(); )
Have the code below on the java service
source:
IDataCursor idc = pipeline.getCursor();
IDataCursor idcResult = null;
try {
// put this section into a critical
section to ensure single-threaded execution
synchronized(LOCK_OBJ)
{
Execute a flow service using
Service.doInvoke
}
idc.destroy();
idcResult.destroy();
} catch (Exception exc){
ServerAPI.logError(exc);
idc.destroy();
throw new
ServiceException(exc.toString());
}\\
50.How do I sort using the JDBC select
adapter service?
Although there is no tab to specify
"order by" the same functionality is able to be specified in the
"SELECT" tab. One of the columns in the is labelled "Sort
Order" which will allow you to specify the column(s) you wish to sort by.
To alter the order: simply alter the order of the columns selected.
51.How should I organise connection pools ?
If you have adapter notifications and
adapter services then you will need to have two separate connections. Otherwise
you may get strange errors about transactions and the like. You should also
avoid having connection pools shared across different functional areas, even if
they are pointing to the same database. The reason for this is that tuning the
size of the pool becomes quite difficult if you have multiple types of usage of
a pool. You are also unable to easily change the database settings for one
without impacting on the other. One approach that seems to work quite well is
to have separate pools for each package (generally.. not a hard and fast rule
though), as your packages should generally be divided up according to
functional area too.
52.How to preserve existing pipeline
before a restorePipeline step ?
Set the "$merge" variable in
restorePipeline or "merge" in restorePipelineFromFile to be true.
This will ensure that everything in the pipeline before a restorePipeline step
is preserved.
53.What is the primary function of the
built-in pub.flow:savePipeline service?
Save the current pipeline to a named
memory location on the Integration Server.
54.What is the default behavior if a Flow
EXIT does not specify a "from"?
$loop will be assumed, and a
com.wm.lang.flow.FlowException will be thrown if the EXIT is not in a LOOP
55.An Integration Server package may have
one or more startup services. When does a startup service execute?
Startup service will execute whenever the
package is loaded or re-loaded
56.What is the primary purpose of a Web
Service Connector?
The purpose of Web Service Connector is to
invoke a Web Service on a different web server Startup service will execute
whenever the package is loaded or re-loaded
57.The Developer was used to create a Java
Service named myService in a folder named myFolder in the Default package. What
is the best way to hide the source code of the Java service?
Configure an Access Control List which
only allows members of authorized groups and assign it as the Read ACL for the
service
58.When using the SEQUENCE Flow operation,
if exit-on is set to SUCCESS, what condition will cause the entire SEQUENCE to
fail?
When all of the child operations fail .
59.The Integration Server requires access
to the Java classes for each JDBC driver that it will use. Typically, where
must such Java classes be placed?
Java classes are be placed in
webMethods6\IntegrationServer\lib\jars
60.TThe Package Management interface of
the webMethods IS Administrator can be used to create package dependencies.
Package dependencies can be used to:?
Ensure that specific webMethods IS
packages are loaded before the depending package loads
48.How do I throw an exception when using
a try-catch block ?
Set a flag in your catch block or leave a
variable holding the error message in the pipeline.
Outside the catch block put a branch on
that variable or flag and if it is non-null then exit with failure or call the
service that generates the exception.
49.How to get the current index of the
List in a loop?
There is a special variable on the
pipeline called $iteration which will be incremented as the loop operator works
up through the list.
49.How to limit a flow service executed
only by one thread at a time?
Create a java service
Create a private static object on the
shared source (private static Object LOCK_OBJ = new Object(); )
Have the code below on the java service
source:
IDataCursor idc = pipeline.getCursor();
IDataCursor idcResult = null;
try {
// put this section into a critical
section to ensure single-threaded execution
synchronized(LOCK_OBJ)
{
Execute a flow service using
Service.doInvoke
}
idc.destroy();
idcResult.destroy();
} catch (Exception exc){
ServerAPI.logError(exc);
idc.destroy();
throw new
ServiceException(exc.toString());
}\\
50.How do I sort using the JDBC select
adapter service?
Although there is no tab to specify
"order by" the same functionality is able to be specified in the
"SELECT" tab. One of the columns in the is labelled "Sort
Order" which will allow you to specify the column(s) you wish to sort by.
To alter the order: simply alter the order of the columns selected.
51.How should I organise connection pools ?
If you have adapter notifications and
adapter services then you will need to have two separate connections. Otherwise
you may get strange errors about transactions and the like. You should also
avoid having connection pools shared across different functional areas, even if
they are pointing to the same database. The reason for this is that tuning the
size of the pool becomes quite difficult if you have multiple types of usage of
a pool. You are also unable to easily change the database settings for one
without impacting on the other. One approach that seems to work quite well is
to have separate pools for each package (generally.. not a hard and fast rule
though), as your packages should generally be divided up according to
functional area too.
52.How to preserve existing pipeline
before a restorePipeline step ?
Set the "$merge" variable in
restorePipeline or "merge" in restorePipelineFromFile to be true.
This will ensure that everything in the pipeline before a restorePipeline step
is preserved.
53.What is the primary function of the
built-in pub.flow:savePipeline service?
Save the current pipeline to a named
memory location on the Integration Server.
54.What is the default behavior if a Flow
EXIT does not specify a "from"?
$loop will be assumed, and a
com.wm.lang.flow.FlowException will be thrown if the EXIT is not in a LOOP
55.An Integration Server package may have
one or more startup services. When does a startup service execute?
Startup service will execute whenever the
package is loaded or re-loaded
56.What is the primary purpose of a Web
Service Connector?
The purpose of Web Service Connector is to
invoke a Web Service on a different web server Startup service will execute
whenever the package is loaded or re-loaded
57.The Developer was used to create a Java
Service named myService in a folder named myFolder in the Default package. What
is the best way to hide the source code of the Java service?
Configure an Access Control List which
only allows members of authorized groups and assign it as the Read ACL for the
service
58.When using the SEQUENCE Flow operation,
if exit-on is set to SUCCESS, what condition will cause the entire SEQUENCE to
fail?
When all of the child operations fail .
59.The Integration Server requires access
to the Java classes for each JDBC driver that it will use. Typically, where
must such Java classes be placed?
Java classes are be placed in
webMethods6\IntegrationServer\lib\jars
60.The Package Management interface of the
webMethods IS Administrator can be used to create package dependencies. Package
dependencies can be used to:?
Ensure that specific webMethods IS
packages are loaded before the depending package loads
1.What is EAI ?
EAI or Enterprise Applications Integration
can be defined as data that can be integrated from disparate applications
regardless of the platform, allowing the sharing of business processes amongst
multiple organizations.
2.What are the Major categories of EAI?
Integration can be at different
application layers:
Data Level Integration:
Batch data transfer, OR
On-line propagation of data updates
API Level Integration:
Data is accessed through published API
services
Service Method Level Integration:
Common services shared by different
applications
User Interface Level Integration:The
controller reacts to the user input. It creates and sets the model.
Common user interface (e.g. web based) for
unified access to multiple applications.
3.What are the Advantages of EAI?
Advantages of EAI solutions are:
Streamlines business processes and helps
raise organizational efficiency.
Real time information access among systems.
Maintains information integrity across
multiple systems.
Speedier transactions at reduced costs.
If one of the applications misbehaves and
requires to be shut down for maintenance, then with EAI, we can easily
“decouple” it from rest of the systems. Which avoids having to bring down other
systems.
4.What are the disadvantages of EAI?
The main disadvatages of using EAI systems:
Constant change: The very nature of EAI is
dynamic and requires dynamic project managers to manage their implementation.
Lack of EAI experts : EAI requires
knowledge of many issues and technical aspects.
EAI is a tool paradigm: EAI is not a tool,
but rather a system and should be implemented as such.
Building interfaces is an art :
Engineering the solution is not sufficient. Solutions need to be negotiated
with user departments to reach a common consensus on the final outcome. A lack
of consensus on interface designs leads to excessive effort to map between
various systems data requirements.
Loss of detail : Information that seemed
unimportant at an earlier stage may become crucial later.
Accountability : Since so many departments
have many conflicting requirements, there should be clear accountability for
the system's final structure.
5.What are the main companies which
provide EAI tools / software?
TIBCO
webMethods
Vitria
iPlanet
MQSeries (IBM)
iPlanet
BizTalk (Microsoft)
WebLogic (BEA)
6.What is webMethods?
A company that provides integration tools.
The key products include Integration Server, Enterprise Server, Business
Integrator, Workflow and Mainframe Integration Server. webMethods is a company,
not a product.
7.What are the modules of webMethods
Product Suite?
Integration and B2B
Service Oriented Architecture
Business Process Management
Business Activity Monitoring
8.What are the tools of webMethods
Integration ?
webMethods Adapters
webMethods Developer
webMethods Integration Server
webMethods Integration Platform
webMethods Broker
webMethods Monitor
webMethods Optimize for Infrastructure
webMethods Trading Networks
webMethods EDI Module
webMethods EDIINT
webMethods eStandards Modules
webMethods PIM
9.What Is Developer?
webMethods Developer is a graphical
development tool that you use to build, edit, and test integration logic. It
provides an integrated development environment in which to develop the logic
and supporting objects that carry out the work of an integration solution. It
also provides tools for testing and debugging the solutions you create.
10.What Is an Element?
An element is an item that exists in the
Navigation panel in webMethods Developer.Elements include folders, services,
specifications, IS document types, triggers, and ISschemas. In the Navigation
panel, servers and packages are not considered to be elements.
11.What Is an Element?
An element is an item that exists in the
Navigation panel in webMethods Developer.Elements include folders, services,
specifications, IS document types, triggers, and ISschemas. In the Navigation
panel, servers and packages are not considered to be elements.
12.What Is a Startup Service?
A startup service is one that Integration
Server automatically executes when it loads a package into memory.
13.What Is a Flow Service?
A flow service is a service that is
written in the webMethods flow language. This simple yet powerful language lets
you encapsulate a sequence of services within a single service and manage the
flow of data among them.
14.What Is the Pipeline?
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.The pipeline
starts with the input to the flow service and collects inputs and outputs from
subsequent services in the flow. When a service in the flow executes, it has
access to all data in the pipeline at that point.
15.How to invoke a service from a browser ?
Use a URL in the form:
http://servername:port/invoke/folder.subFolder.subsubFolder/serviceName
(the package name is not part of the URL
in any way)
16.What happens when the
pub.flow:tracePipeline service is invoked?
The Integration Server logs the name-value
pairs in the pipeline at that time
17.When creating a BRANCH flow element,
what is the purpose of the "scope" field on the properties tab?
To restrict pipeline access to only the
data in this document
18.What is the primary function of the
built-in pub.flow:savePipeline service?
Save the current pipeline to a named
memory location on the Integration Server
19.When you create and save the FLOW
"my.pack:myFlow" in the "MyPack" package, where will you
find the code?
In the
"MyPack\ns\my\pack\myFlow\flow.xml" file
20.What is the Branch operation?
Branch operation conditionally executes an
operation based on the value of a variable at run time
21.What is the default behavior, if a Flow
EXIT does not specify a "from"?
$loop will be assumed, and a
com.wm.lang.flow.FlowException will be thrown if the EXIT is not in a LOOP
22.An Integration Server package may have
one or more startup services. When does a startup service execute?
Whenever the package is loaded or re-loaded
23.By default, the webMethods Integration
Server has an HTTP listener assigned to which port?
5555
24.How can the webMethods Integration
Server logging date format be changed?
By editing the watt.server.dateStampFmt
parameter in the server.cnf file
25.When coding IS Services, how can a
variable of type Document Type be represented in Java?
Variable of type Document Type be
represented as "IData "
26.For a REPEAT operation to execute as
long as the specified repeat condition remains true, the count parameter needs
to be set to:
The count parameter needs to be set to
"-1 " .
27.When creating Flow services, what is
the purpose of a SEQUENCE operation?
The purpose of Sequence operation is to
group a subset of Flow operations so that they are treated as a unit.
28.If the webMethods Integration Server is
started with from the server root directory with this command,
"bin\server.bat -debug 9 -log none", what does this tell the server
to do?
Start in level 9 debug mode and write all
server log information to the screen.
29.The Integration Server requires access
to the Java classes for each JDBC driver that it will use. Typically, where
must such Java classes be placed?
webMethods6\IntegrationServer\lib\jars
30.The Flow Services are physically stored
on the webMethods Integration Server in the form of:
Flow Services are physically stored on the
webMethods Integration Server as "XML" files.
31.What is the default behavior if a Flow
EXIT does not specify a "from"?
The EXIT will throw an
java.lang.NullPointerException.
32.After a default installation, in order
to use the pub.file:getFile service, what needs to be done?
pub.file:getFile does not require any
modifications to the Integration Server.
33.What happens when the
pub.flow:tracePipeline service is invoked?
The Integration Server logs the name-value
pairs in the pipeline at that time.
33.How to use SEQUENCE as the Target of a
BRANCH?
Set evaluate label property of branch step
to true. Then set the label property of sequence with the value on which it
needs to be processed.
34.How to Restore a Session on a Server?
Developer gets disconnected from the
server if the server goes down or if there is a problem in the network. Donot
close the developer.If you close the developer you wont be able to save the
changes.Once the server come up or the network problem is resolved. you will be
automatically connected to the server and then you can retsore your session.
35.How to open a session on a different
server?
Select "session" from the menu
in toolbar and click open. key in the server IP and port on which you have to
open the connection.The user name and password on that server.
36.How ACLs Affect locking?
ACLS are used to give the authorization to
the particular user groups.If u give ACL to administrator then the admin group
users who are there in that group they can have the acess to that particular
service.Otherwise we can not use it.This is called ACL locking.
37.How to Change the Order of Steps in a
Flow Service?
We can change the Order of steps in a Flow
Service of Various other services which are called in sequence within Flow
service using "Shift Up and Shift Down" buttons exists at top of
Editor Panel.
As well we can move any service or Map
inside a SEQUENCE or BRANCH using "Shift Left and Shift Right" buttons
38.When and why should we use transformers
and flow services? How are they different from each other?
Mapping is the process of performing
transformations to resolve data representation differences between services or
document formats. By linking variables to each other on the Pipeline tab, you
can accomplish name transformations and structural transformations. However, to
perform value transformations you must execute some code or logic.
Developer provides two ways for you to
invoke services: You can insert INVOKE steps or you can insert transformers
onto the Pipeline tab. Transformers are the services you use to accomplish
value transformations on the Pipeline tab.
39.What are Structural transformations ?
Splitting one field into several or
merging fields, reordering portions of a message or renaming fields are know as
structural transformations
40.How to Move Flow Steps?
Open the webMethods developer in
EditPrespective.Select the flow step u wanna move just drag it to the place u
want to move.Otherwise use the arrow buttons on the editor pannel to move the
selected flow steps.
41.How to remove a system lock from an
element?
System locks can be removed by making the
server side files of the element as redable.right Click on the elemet in
developer which is system locked.and choose the lock properties. It will
display the server side files for the element.Make the files as readable and
click the referesh button in the developer.You will find that the element is no
more locked.
42.How to Find Elements in the Navigation
Panel?
Just right click on the element ehich u
want to see then u click Locate in navigation option then u can see that
element in the navigation panel
43.How to find dependents of a selected
element on the server?
Right click on the element for which you
have to find the dependents in the navigational pannel.and click on the option
find dependents.
44.How do I change the JVM used by
Integration Server?
To change to the JDK used by webMethods
you will need to edit the IntegrationServer\bin\server.bat or
IntegrationServer/bin/server.sh file used to start up Integration Server.
Edit the file and change the following
line to point to the JDK path
SET JAVA_DIR=C:\opt\j2sdk1.4.2
45.How do I debug the Developer IDE itself
?
Start the developer up in debug mode,
similar to the Integration server:
cd pathToWMInstall/Developer/bin
developer.bat -debug 10
46.What is the difference between drop and
delete pipeline variable?
Drop pipeline is an explicit cleanup. It
is a request for the pipeline to remove a variable from the available list of
variables and make the object it refers to available for garbage collection by
the Java Virtual Machine.
Delete is purely a design time operation
to remove the variable from the current view. It is only of use if you have
created a variable that you didn't mean to create. If you delete a variable
that was there because it was previously in the pipeline when you change the
view in developer you will see the variable appear again.
47.How do I see the java code for my flow
service ?
Flow is not turned into java code. It
resides on disk as XML representing the flow operations which is then parsed
and turned into an in-memory java tree of the operations. Although the
underlying code that implements the flow operations is java, it is stored on
disk as XML.
Back to top
48.How do I throw an exception when using
a try-catch block ?
Set a flag in your catch block or leave a
variable holding the error message in the pipeline.
Outside the catch block put a branch on
that variable or flag and if it is non-null then exit with failure or call the
service that generates the exception.
49.How to get the current index of the
List in a loop?
There is a special variable on the
pipeline called $iteration which will be incremented as the loop operator works
up through the list.
49.How to limit a flow service executed
only by one thread at a time?
Create a java service
Create a private static object on the shared
source (private static Object LOCK_OBJ = new Object(); )
Have the code below on the java service
source:
IDataCursor idc = pipeline.getCursor();
IDataCursor idcResult = null;
try {
// put this section into a critical
section to ensure single-threaded execution
synchronized(LOCK_OBJ)
{
Execute a flow service using
Service.doInvoke
}
idc.destroy();
idcResult.destroy();
} catch (Exception exc){
ServerAPI.logError(exc);
idc.destroy();
throw new
ServiceException(exc.toString());
}\\
50.How do I sort using the JDBC select
adapter service?
Although there is no tab to specify
"order by" the same functionality is able to be specified in the
"SELECT" tab. One of the columns in the is labelled "Sort
Order" which will allow you to specify the column(s) you wish to sort by.
To alter the order: simply alter the order of the columns selected.
51.How should I organise connection pools ?
If you have adapter notifications and
adapter services then you will need to have two separate connections. Otherwise
you may get strange errors about transactions and the like. You should also
avoid having connection pools shared across different functional areas, even if
they are pointing to the same database. The reason for this is that tuning the
size of the pool becomes quite difficult if you have multiple types of usage of
a pool. You are also unable to easily change the database settings for one
without impacting on the other. One approach that seems to work quite well is
to have separate pools for each package (generally.. not a hard and fast rule
though), as your packages should generally be divided up according to
functional area too.
52.How to preserve existing pipeline
before a restorePipeline step ?
Set the "$merge" variable in
restorePipeline or "merge" in restorePipelineFromFile to be true.
This will ensure that everything in the pipeline before a restorePipeline step
is preserved.
53.What is the primary function of the
built-in pub.flow:savePipeline service?
Save the current pipeline to a named
memory location on the Integration Server.
54.What is the default behavior if a Flow
EXIT does not specify a "from"?
$loop will be assumed, and a
com.wm.lang.flow.FlowException will be thrown if the EXIT is not in a LOOP
55.An Integration Server package may have
one or more startup services. When does a startup service execute?
Startup service will execute whenever the
package is loaded or re-loaded
56.What is the primary purpose of a Web
Service Connector?
The purpose of Web Service Connector is to
invoke a Web Service on a different web server Startup service will execute
whenever the package is loaded or re-loaded
57.The Developer was used to create a Java
Service named myService in a folder named myFolder in the Default package. What
is the best way to hide the source code of the Java service?
Configure an Access Control List which
only allows members of authorized groups and assign it as the Read ACL for the
service
58.When using the SEQUENCE Flow operation,
if exit-on is set to SUCCESS, what condition will cause the entire SEQUENCE to
fail?
When all of the child operations fail .
59.The Integration Server requires access
to the Java classes for each JDBC driver that it will use. Typically, where
must such Java classes be placed?
Java classes are be placed in
webMethods6\IntegrationServer\lib\jars
60.TThe Package Management interface of
the webMethods IS Administrator can be used to create package dependencies.
Package dependencies can be used to:?
Ensure that specific webMethods IS
packages are loaded before the depending package loads
48.How do I throw an exception when using
a try-catch block ?
Set a flag in your catch block or leave a
variable holding the error message in the pipeline.
Outside the catch block put a branch on
that variable or flag and if it is non-null then exit with failure or call the
service that generates the exception.
49.How to get the current index of the
List in a loop?
There is a special variable on the
pipeline called $iteration which will be incremented as the loop operator works
up through the list.
49.How to limit a flow service executed
only by one thread at a time?
Create a java service
Create a private static object on the
shared source (private static Object LOCK_OBJ = new Object(); )
Have the code below on the java service
source:
IDataCursor idc = pipeline.getCursor();
IDataCursor idcResult = null;
try {
// put this section into a critical
section to ensure single-threaded execution
synchronized(LOCK_OBJ)
{
Execute a flow service using
Service.doInvoke
}
idc.destroy();
idcResult.destroy();
} catch (Exception exc){
ServerAPI.logError(exc);
idc.destroy();
throw new
ServiceException(exc.toString());
}\\
50.How do I sort using the JDBC select
adapter service?
Although there is no tab to specify
"order by" the same functionality is able to be specified in the
"SELECT" tab. One of the columns in the is labelled "Sort
Order" which will allow you to specify the column(s) you wish to sort by.
To alter the order: simply alter the order of the columns selected.
51.How should I organise connection pools ?
If you have adapter notifications and
adapter services then you will need to have two separate connections. Otherwise
you may get strange errors about transactions and the like. You should also
avoid having connection pools shared across different functional areas, even if
they are pointing to the same database. The reason for this is that tuning the
size of the pool becomes quite difficult if you have multiple types of usage of
a pool. You are also unable to easily change the database settings for one
without impacting on the other. One approach that seems to work quite well is
to have separate pools for each package (generally.. not a hard and fast rule
though), as your packages should generally be divided up according to
functional area too.
52.How to preserve existing pipeline
before a restorePipeline step ?
Set the "$merge" variable in
restorePipeline or "merge" in restorePipelineFromFile to be true.
This will ensure that everything in the pipeline before a restorePipeline step
is preserved.
53.What is the primary function of the
built-in pub.flow:savePipeline service?
Save the current pipeline to a named
memory location on the Integration Server.
54.What is the default behavior if a Flow
EXIT does not specify a "from"?
$loop will be assumed, and a
com.wm.lang.flow.FlowException will be thrown if the EXIT is not in a LOOP
55.An Integration Server package may have
one or more startup services. When does a startup service execute?
Startup service will execute whenever the
package is loaded or re-loaded
56.What is the primary purpose of a Web
Service Connector?
The purpose of Web Service Connector is to
invoke a Web Service on a different web server Startup service will execute
whenever the package is loaded or re-loaded
57.The Developer was used to create a Java
Service named myService in a folder named myFolder in the Default package. What
is the best way to hide the source code of the Java service?
Configure an Access Control List which
only allows members of authorized groups and assign it as the Read ACL for the
service
58.When using the SEQUENCE Flow operation,
if exit-on is set to SUCCESS, what condition will cause the entire SEQUENCE to
fail?
When all of the child operations fail .
59.The Integration Server requires access
to the Java classes for each JDBC driver that it will use. Typically, where
must such Java classes be placed?
Java classes are be placed in
webMethods6\IntegrationServer\lib\jars
60.The Package Management interface of the
webMethods IS Administrator can be used to create package dependencies. Package
dependencies can be used to:?
Ensure that specific webMethods IS
packages are loaded before the depending package loads
1)When u use REPEATE,EXIT flow steps?
Ans.
REPEAT step is used when we want a particular step to be
repeated provided with some conditions.
EXIT step is used to exit
from any loop or from the whole
flow step
2)How many interfaces u
implimented so far ?
Ans.
As per your experience tell the count of interfaces which
are developed by you. (ex: 20 or 30.....)
3)By how many ways can we
invoke a service?
Ans.
As per my knowledge , a service can be invoked in 3 ways :
1.Direct Invocation
2.Soap call
3.Publish and subscribe
4)How many kinds of log files in WebMethods and where are they
exist???
1)Server Operations and errors that occur on Integration Server,
such as starting of Integration Server
subsystems and loading of packages belonging to Integration Server
or other webMethods products.
2)Session Sessions opened on Integration Server by clients and
Developer users.
3)Error Stack trace information about all errors that occur in
Integration Server, including exceptions thrown by
services.
4)Guaranteed delivery Guaranteed delivery transactions.
5)Security Administrative and operational actions on Integration
Server, such as modifications to authorization
and authentication, and attempts to access Integration Server
resources or perform runtime events.
6)Service Services that run in Integration Server.
7)Business process Business processes modeled in Designer that run
on Integration Servers.
8)Task Tasks designed in Designer that run on My WebMethods
Server. Tasks can be called from business
processes or can run as standalone tasks.
9)Integration process Integration processes made up of a chain of
services that run on Integration Servers.
10)Document In doubt, failed, and retries exceeded documents, and
documents that Broker clients publish or
subscribe to on Brokers.
By default, Integration Server stores most of the data in
flat files
5)What is the file (.jar) name that sharing between?
Ans.
Connector.jar, database.jar, jdeutil.jar, kernel.jar, log4j.jar,
xalan.jar, xerces.jar, XTS.jar are the Jar files that you need to paste in the
"<EnterpriseOne_install_dir>\system\classes\"
For enterpriseOne versions 8.9 and 8.10...
6)WebMethods integrated
with JD Edwards???
Ans.
7)How we can catch exception error on run time mode using Flow
language in WebMethods??? and how we can send error description as an output
parameter????
Ans.
> sequence ----------
Succeded
|--sequence -------------
try block------
|--sequence -------------
catchBlock-----
|-- invoke
getLastError service
8)How to connect jdbc connection in webmethods without server and
with server step by step explain.
Ans.
9)How to convert documentlist to document? If document list
contain documents and documents contain strings field .how to convert?ple tell
me any one.
Ans.
10)What are client groups?
Ans.
client groups contains a list of clients and it configures which all
documents its client could publish and subscribe to.
11)If i have a parent sequence with the property set- exit on
success, n the try sequence block set to exit on failure, n the catch sequence
block too set to failure, what is the result?
Ans.
In this case if any step in try block fails it will exit that and
come to catch block and if any step in catch block
fails it will exit from the catch block and skip rest of the flow steps.
12)what are extended settings?
Ans.
Extended settings are basically done for specifying values to some
of the internal keys of Integration server.
Like we can specify java compiler at this setting and whenever we
compile any java service IS will take this
compiler only for compiling the java code.
Q.What is webMethods?
A.A company that
provides integration tools. The key products include Integration Server,
Enterprise Server, Business Integrator, Workflow and Mainframe Integration
Server. webMethods is a company, not a product.
Q.What are the modules
of webMethods Product Suite?
A.
1.Integration and B2B
2.Service Oriented
Architecture
3.Business Process
Management
4.Business Activity
Monitoring
Q.What are the tools of
webMethods Integration ?
A.
1.webMethods Adapters
2.webMethods Developer
3.webMethods Integration
Server
4.webMethods Integration
Platform
5.webMethods Broker
6.webMethods Monitor
7.webMethods Optimize
for Infrastructure
8.webMethods Trading
Networks
9.webMethods EDI Module
10.webMethods EDIINT
11.webMethods eStandards
Modules
12.webMethods PIM
Q.What Is Developer?
A.webMethods Developer
is a graphical development tool that you use to build, edit, and test
integration logic. It provides an integrated development environment in which
to develop the logic and supporting objects that carry out the work of an
integration solution. It also provides tools for testing and debugging the
solutions you create.
Q.What Is an Element?
A.An element is an item
that exists in the Navigation panel in webMethods Developer.Elements include
folders, services, specifications, IS document types, triggers, and ISschemas.
In the Navigation panel, servers and packages are not considered to be
elements.
Q.What Is a Startup
Service?
A.A startup service is
one that Integration Server automatically executes when it loads a package into
memory.
Q.What Is a Flow
Service?
A.A flow service is a
service that is written in the webMethods flow language. This simple yet
powerful language lets you encapsulate a sequence of services within a single
service and manage the flow of data among them.
Q.What Is the Pipeline?
A.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.The pipeline starts with the input to the flow service and collects
inputs and outputs from subsequent services in the flow. When a service in the
flow executes, it has access to all data in the pipeline at that point.
Q.How to invoke a
service from a browser ?
A.Use a URL in the form:
http://servername:port/invoke/folder.subFolder.subsubFolder/serviceName
(the package name is not
part of the URL in any way)
Q.What happens when the
pub.flow:tracePipeline service is invoked?
A.The Integration Server
logs the name-value pairs in the pipeline at that time.
Q.When creating a BRANCH
flow element, what is the purpose of the "scope" field on the
properties tab?
A.To restrict pipeline
access to only the data in this document
Q.What is the primary
function of the built-in pub.flow:savePipeline service?
A.Save the current
pipeline to a named memory location on the Integration Server
Q.When you create and
save the FLOW "my.pack:myFlow" in the "MyPack" package,
where will you find the code?
A.In the
"MyPack\ns\my\pack\myFlow\flow.xml" file
Q.What is the Branch
operation?
A.Branch operation
conditionally executes an operation based on the value of a variable at run
time
Q.What is the default
behavior, if a Flow EXIT does not specify a "from"?
A.$loop will be assumed,
and a com.wm.lang.flow.FlowException will be thrown if the EXIT is not in a
LOOP
Q.An Integration Server
package may have one or more startup services. When does a startup service
execute?
A.Whenever the package
is loaded or re-loaded
Q.By default, the
webMethods Integration Server has an HTTP listener assigned to which port?
A.5555
Q.How can the webMethods
Integration Server logging date format be changed?
A.By editing the
watt.server.dateStampFmt parameter in the server.cnf file
Q.When coding IS
Services, how can a variable of type Document Type be represented in Java?
A.Variable of type
Document Type be represented as "IData " .For a REPEAT operation to
execute as long as the specified repeat condition remains true, the count
parameter needs to be set to: AThe count parameter needs to be set to "-1
" .
Q.When creating Flow
services, what is the purpose of a SEQUENCE operation?
A.The purpose of
Sequence operation is to group a subset of Flow operations so that they are
treated as a unit.
Q.If the webMethods
Integration Server is started with from the server root directory with this
command, "bin\server.bat -debug 9 -log none", what does this tell the
server to do?
A.Start in level 9 debug
mode and write all server log information to the screen.
Q.The Integration Server
requires access to the Java classes for each JDBC driver that it will use.
Typically, where must such Java classes be placed?
A.webMethods6\IntegrationServer\lib\jars
Q.The Flow Services are
physically stored on the webMethods Integration Server in the form of?
A.Flow Services are
physically stored on the webMethods Integration Server as "XML"
files.
Q.What is the default
behavior if a Flow EXIT does not specify a "from"?
A.The EXIT will throw an
java.lang.NullPointerException.
Q.After a default
installation, in order to use the pub.file:getFile service, what needs to be
done?
A.pub.file:getFile does
not require any modifications to the Integration Server.
Q.What happens when the
pub.flow:tracePipeline service is invoked?
A.The Integration Server
logs the name-value pairs in the pipeline at that time
Q.How to use SEQUENCE as
the Target of a BRANCH?
A.Set evaluate label
property of branch step to true. Then set the label property of sequence with
the value on which it needs to be processed.
Q: In what folder is the
webMethods documentation for Broker located?
ANS.It is located in
programfiles/webmethods6.5/broker/doc folder...
Q: In what folder is the
webMethods documentation for the Broker Admin package located
ANS. It is located in
programfiles/webmethods6.5/broker/doc folder...
Q:How many minutes have
you spent in your lifetime reading documentation or actually (gasp) working
with any webMethods product on a real project?
ANS: Vary from person to
person.
Q:Do you buy stocks or
bonds from a Broker?
ANS:NO
1)In which case the
transformers should not be used...?
2)In JMS can we publish
a document to multiple brokers ? If Possible ,how can we achieve that ?
3)We have created a
insert notification ,is there any way to process the document in the subscriber
without publishing it .....?
4)In which case we are
not advised to use Transformers...?
5)explain try and catch
block briefly
6)Can we build loop step
with in the branch in such a way that the interface is look like that branch
7)<transactiontype
> sequence: Deposit loop <accno> xxxxxx sequence: current loop
<accno> xxxxxxx sequence: savings loop <accno> can we achieve the above senario.
8)what is meant by
"Block time out" and "Expire time out " in jdbc adapter
configuration
Ans.
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.
9)Gate ways in
webmethods?
Ans. It allows to
connect the territories called as gateways.It also allows to connect brokers of
different Territories iscalled as gateway.We have one more type of gate ways
like gateway service,which is usefull while developing TN documents which are
of type FF.So by using Gateway services we can recognize TN Docs.
Troubleshooting
Scenarios
1)Currently, our
application running on a Unix machine will generate XML file into a Unix Folder
The Unix Folder is
'exposed' to our Window 2000 Server (running webMethods
I.S.) via Simba
Our webMethods
Integration Server (running on Windows 2000 Server) is
running as a Window
Services using an LAN id/password not authorized to access the Unix Folder
directly.
Suggested Solution:
1. Map the Unix Folder
via Window Exploer (using another user id / password)
2. Create a Window
Command File that move all the XML files from
the Unix Folder to local
folder (e.g. move *.xml from folder A to
folder B)
3. In my webmethods flow
services, I will use a java service (which
run
RunTime.exec(commandFile) to invoke the command file to move
the
XML files to a local
folder, then list all the files in the local
folder, process each
XML, convert to EDI (X12 4010 204), post to TN,
then use webMethods
Primary FTP delivery service to FTP to trading
partner
2) 1. If I use
Process.waitFor(commandFile) to wait for the move to complete,
webMethods just hang there and not moving any files
2. If I do not use
Process.waitFor(), each call the command file just move the 1st
couples (actually 5) XML, which the command file should
move every XML files
(over 30+)
3. When I use the
Primary FTP Delivery Service, webMethods uses the task id as the filename.edi.
Anyways that I can do to change it.
Suggested Solution:
According to dk java
docs:
"Because some
native platforms only provide limited buffer size for standard input and output
streams, failure to promptly write the input stream or read the output stream
of the subprocess may cause the subprocess to block, and even deadlock"
I'd suggest
processing the input/output/error streams.
One other thing am sure
you are aware of is that Runtime.exec forks off a new jvm with same jvm
settings (Xs/Xm) as the parent. So if you have multiple threads
doing these execs, you could unknowingly run out system resources very quickly.
Reference- Google & Other blogs.
No comments:
Post a Comment