Tuesday 1 November 2016

webMethods Questions and Answers

webMethods Questions:

1. Explain Error handing concept using Try & Catch block?
2. How to write flow service to insert data into DB by using FLAT FILE?
3. Difference between EAI & B2B integrations?
4. What are start, commit & rollback transactions & how to use them?
5. Explain different types of transactions available in JDBC Adapter?
6. What is the difference between custom SQL & Dynamic SQL?
7. What are different types of adapter notifications available? Explain Basic Notification?
8. What are the different types of flow services are there?
9. Difference between LOOP & REPEAT flow steps?
10. Explain EXIT flow step & its properties?
11. What is invoke step?
12. What is scope of variable that declared outside the main? Is that accessible in try catch block?
13. What are the ways of reloading a package?
14. What are the different ways of invoking a service?
15. What is the difference between savePipelineToFile and savePipeline?
16. What is the purpose of clearPipeline?
17. How can you define PIPELINE?
18. How to define ACL for all elements?
19. What are the different types of schedulers are there in IS?
20. Why do we use name space in webMethods?
21. What are the different types of webService descriptors available?
22. Explain file pooling concepts.
23. What is use of pub.flow:debugLog service?
24. What is the difference between INVOKE & Transformer?
25.  What are the common properties of flow steps?





webMethods Designer

webMethods Designer:

webMethods designer is a client tool where developers can built and test the code. Before start writing the code, Make sure that designer is connected to integration server and you are in 'service development' perspective as highlighted with underline in below screen.


Designer is mainly consists of 4 window panels 
1. Navigation Panel
2. Edit Panel
3. Properties Panel
4. Pipeline & Result Panel

1. Navigation Panel: After connecting to Integration Server, all packages will be loaded into this panel. You can navigate to existing packages, folders and elements like flow services, documents and triggers. You can also start creating the same mentioned above.

2. Edit Panel: Developers can start building the flow services using flow steps and other built-in services in this edit panel.
  •           Flow Service: it is building blocks of flow steps and/or other elements used to achieve a functionality.
  •           Flow Steps: Flow steps are like control structures in java or C language. Ex:- Map, Branch, Loop, Repeat, Sequence, Exit, Invoke.
3. Properties Panel: This panel is used to set the properties of the elements so that the elements can exhibit different behaviors.

4. Pipeline & Result Panel: This is the area where pipeline for the elements in edit panel is visible. Actually a pipeline consists of "pipelineIn" with set of input variables and "pipelineOut" with set of output variables. A pipeline is an IData object where it allows objects(variables) to manipulate.

How to build a Flow Service:

To build a service using webMethods flow language you must know about Flow steps. Flow steps are building blocks of a flow service. Each flow step behaves differently based on the changes of its properties. Let me tell you about flow steps along with its properties.

1. Sequence: This flow step is used to execute a set of child flow steps in a sequential manner. Basically, Error handling mechanism is achieved using sequence flow step only.

Above picture shows how to use sequence for constructing a flow service. This structure is common for any top level service.
How to do:
         1. Click on flow steps folder from the 'Palette' at right side of the edit panel.
         2. Click on 'SEQUENCE' flow step, drag and drop in edit panel.
         3. Similarly drag and drop 2 more sequence steps.
         4. Select 2nd and 3rd flow steps and move inside to 1st flow step.
         5. Click on 1st flow step and add comments (--Main--) and set Exit on property to SUCCESS.
         6. Click on 1st child sequence and add comments (--Try--) and set Exit on property to FAILURE.
         7. Click on 2nd child sequence and add comments (--Catch--) and set Exit on property to DONE.
         8. Similarly drop map steps inside the try block & other built in services from wmpublic package to catch block.

How it works:
     












Monday 31 October 2016

webMethods Broker

Broker:  webMethods Broker component is a messaging backbone in integration where messages or documents can be exchanged between integration servers or with in an integration server. This component facilitates asynchronous message based integration using publish & subscribe model.

Basic function of the broker is to store the documents that are published by the integration server and keeps in its local memory to get subscribed by elements on same integration server or different integration server(s).
If I write step by step then,
Step 1: IS publishes the documents to the Broker
Step 2: Broker stores the documents
Step 3: IS subscribes documents from broker & processes documents. 

Let me explore these 3 steps more in detail  using publish & subscribe model.

Publish & Subscribe Model:

This model is used to publish the documents to the broker from one integration server & these documents get subscribed by one or more integration servers.
Publishing documents to broker can be happened in following two ways.
1. Publish documents when broker is available
2. Publish documents when broker is not available


1. Publish documents when broker is available:

Before publishing documents to the broker, make sure that the document is publishable type. This can be done using properties of the document(Select publishable type to 'True').

  • A service hosted on integration server publishes the document to the broker.
  • Dispatcher on IS will get a connection from the connection pool to establish a connection to the broker.
  • Document will be received by the broker through the connection that has been established.
  • Broker validates the storage type of the document on each receive. 
  • Documents will be sent to memory directly if the storage type of the document is 'Volatile'.
  • Documents will be sent to memory and to disk if the storage type of the document is 'Guaranteed'.


2. Publish documents when broker is not available:

Before publishing documents to the broker, make sure that the document is publishable type. This can be done using properties of the document(Select publishable type to 'True').

  • A service hosted on integration server publishes the document to the broker.
  • Dispatcher on IS will get a connection from the connection pool to establish a connection to the broker.
  • If the broker is down or unable to establish a connection, then dispatcher validates the document against its storage type.
  • Dispatcher discards the document if the storage type is volatile.
  • Dispatcher routes the document to the OutBoundDocStore(ClientSide CSQ), if the document type is guarenteed & if  CSQ is configured. These documents will be sent to broker on FIFO basis later on the availability of the broker.
  • Dispatcher throws ISRuntime exception if the document storage type is 'Guaranteed' and no CSQ is configured.





















webMethods Integration Server

Integration Server:

Integration server is the core component of webMethods integration where all the programs or services hosted as packages. To define simply, IS is the component which receives requests, process and gives result back.




As i said, all the functionality is hosted on IS as services of package(s). Package is a collection of elements like folders, services, triggers and so on.  Service is a collection of flow steps accomplishes a particular task means any task can be defined as a service or services. When I say about a package or service it could be builtin or custom. Builtin are the ones you get at the time of installation of IS and custom are the ones you create. These services are runnable objects with in the server's program space. When you initialize the server, it loads the services that are contained in enabled packages into its memory.


Sunday 30 October 2016

About webMethods Integration Platform

Introduction: 


webMethods is an integration platform and a collection of products from SoftwareAG. Basically it supports different types of integrations and products are on demand available for cloud based implementation & on premise based implementation as per business or users need.

Integration:

Integration can be achieved at different levels like Data level or application level. Data level integration is the one where the data can be transformed into different formats which is called Data Transformation. Application level integration is the one where different applications can transfer the data so that different applications can communicate each other.


Basic Integration Types:


1. Enterprise Application Integration (EAI)  
2. Business to Business (B2B)

Enterprise Application Integration (EAI): Integration between the applications is limited to an Enterprise. For example, if an enterprise has different or multiple applications used across and on demand these can be integrated to achieve a different functionality.

Business to Business (B2B): Integration between the applications of business partners. For example, a business might have its partners and may use different applications for processing orders. These applications can be integrated and hence it is called as B2B integration.

webMethods Products: 

A waste variety of products are available to achieve integration and all are commercial. You can still download a trial version of latest product with limited features only. Few of the popular products are listed down below.

1. Integration Server (IS)
2. Broker 
3. My webMethods Server (MWS)
4. Deployer
5. Mediator
6. Centrasite
7. Designer
8. webMethods Trading Networks (TN)