web Methods
webMethods was a company previously that used to focus on application integration, B2B integrations. Later in 2007 the company was acquired by Software AG and retained the name webMethods for the software suite. The main purpose of webMethods is business process management, application Integrations, and Service bus deployment.
Components:
- Integration server
- Designer
- Trading network
- BPM
- Universal Messaging
- API Gateway
- Adapters
- B2B
Integration server:
It is an Enterprise Service Bus used as a communication layer between applications and will have ready-to-use connectors. It’s used to configure Adapters, and will be having logs for services and errors, using IS we can deploy the packages to higher environments as well.
Package:
It’s designed to hold all components of a logical unit in one place, like flow services, adapter services, and java services
Will discuss how to write a logic using a designer and what all components are needed.
Implementing a Service:
- Create a new service
- Add logic to it
- Specify run-time parameters
- Get service output.
Flow Services:
Code is written in webMethods flow language, and will be creating flow service in a designer. Flow service is saved as XML in Integration Service which cannot be editable.
This is how services are stored
Pipeline:
- Will be having a pipeline where we define the parameters.
- Input and output values are maintained for a flow service in Pipeline.
- It allows services in the flow to share data.
- The pipeline starts with input to the flow service and collects inputs and outputs from all the subsequent flows in the flow.
- When a service in the flow executes it has access to all data in the pipeline at that point.
Documents:
- Objects that webMethods components use to encapsulate and exchange data.
- Represents the body of data that a resource passes to components.
- In an integration solution built on the publish-and-subscribe model, the application publish and subscribe to documents.
Canonical Document:
- It is a standardized representation that a document might assume while it is passing through the system.
- In simple words, it’s an intermediator of data between sources.
- In flow services, you can map documents from the different formats of an application to the canonical format.
To write/build a service we need flow steps. We have three types of flow steps
- Invocation step — Invoke
- Data Handling step — Map
- Control step — Branch, Loop, Repeat, Sequence, and Exit
Invocation Steps INVOKE — Executes a specified service.
- Can invoke any kind of service and web service connectors
- Invoke step is used to invoke a service recursively.
- We can validate the input and output of a service as well.
Data-Handling Steps MAP — Performs specified editing operations on the pipeline (such as mapping variables in the pipeline, adding variables to the pipeline, and dropping variables from the pipeline).
Get Likhitha Swamy’s stories in your inbox
Join Medium for free to get updates from this writer.
Control Steps:
BRANCH — Executes a specified flow step based on the value of a specified variable in the pipeline.
- Branch on a switch value. Use a variable to determine which child step executes. At run time, the BRANCH step matches the value of the switch variable to the Label property of each of its targets. It executes the child step whose label matches the value of the switch.
- Branch on an expression. Use an expression to determine which child step executes. At run time, the BRANCH step evaluates the expression in the Label property of each child step. It executes the first child step whose expression evaluates to “true.”
LOOP — Executes a set of flow steps once for each element in a specified array.
- Property — Input Array — The LOOP step requires you to specify an input array that contains the individual elements that will be used as input to one or more steps in the LOOP.
- At run time, the LOOP step executes one pass of the loop for each member in the specified array.
- The array you specify can be any of the following data types:
- String list
- String table
- Document list
- Object list
- Property — Output Array — If your LOOP step produces an output variable, the server can collect that output into an array in the pipeline.
REPEAT — Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set.
- “Repeat On” When you build a REPEAT step, you set the Repeat on the property to specify the condition (success or failure) that will cause its children to re-execute at run time.
- FAILURE — Re-executes the set of child steps if any step in the set fails. • SUCCESS — Re-executes the set of child steps if all steps in the set are complete successfully.
- “Repeat Count” The REPEAT step’s Count property specifies the maximum number of times the server re-executes the child steps in 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.
SEQUENCE — Groups a set of flow steps into a series. The SEQUENCE step is implicit in most flow services.
- 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).
- The most common reasons to do this are:
- To group a set of steps as a single alternative beneath a BRANCH step.
- To specify the conditions under which the server will exit a sequence of steps without executing the entire set.
- In an implicit sequence, when a step fails, the server automatically exits the sequence (that is, the Exit on the property is set to FAILURE).
- FAILURE — Exit the sequence when a step in the sequence fails. This is the default behavior of a sequence of steps. When a SEQUENCE exits under this condition, the SEQUENCE step fails.
- SUCCESS — Exit the sequence when any step in the sequence succeeds. When a SEQUENCE exits under this condition, the server considers the SEQUENCE step successful, even if all its children fail.
- DONE — Execute every step in the sequence even if one of the steps in the sequence fails. The server considers a SEQUENCE step successful as long as it executes all of its children within the specified time-out limit.
EXIT — Controls the execution of a flow step
- When you use the EXIT step, you indicate whether exiting should return a successful condition or a failure condition.
- “Exit from ” — The flow step from which you want to exit. Specify one of the following:
- $loop — Nearest ancestor/Parent LOOP or REPEAT flow step
- $parent — Parent flow step, regardless of the type of step
- $flow — Entire flow service.
- “Label” — Nearest ancestor flow step that has a label that matches this value.
- “Signal” — Whether the exit is to be considered a success or a failure. Specify one of the following:
- 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.
As mentioned above we can use all these steps to implement a logic that is needed for a particular solution.





