Vous êtes sur la page 1sur 29




webMethods Developer is a graphical development tool that you use to build, edit, and test integration logic. Developer lets you rapidly construct integration logic with an easy to use implementation language called the webMethods flow language. The flow language is the heart of a web Methods-implemented Web service It helps the developer to assemble various services and database transactions into a new service. Services can be built upon another services and flow language combines services with business logic. The Flow Language (Flow) defines a set of operations for processing XML documents. Together with built-in and user-defined services, these operations form the building blocks for receiving or producing XML business documents and integrating them into an organization's existing enterprise systems

What Does the Developer Window Contain?



Navigation panel. You use the Navigation panel to select, lock, copy, move, delete, or rename elements. UDDI Registry tab. You use the UDDI Registry tab to connect to and disconnect from a UDDI Registry, and to display, filter, and publish Web services. Recent Elements tab. You use the Recent Elements tab to quickly access elements you have recently viewed. Editor. You use the editor to examine and edit an element you opened from the Navigation panel Properties panel. You use the Properties panel to view and edit the properties for an item. Results panel. You use the Results panel to view the result of a services execution, to view the variables that a service adds to the pipeline, and to view the contents of those variables.

Element :An element is an item that exists in the Navigation panel in webMethods Developer. Package: A package is a container that is used to bundle services and related elements, such as specifications, IS document types, IS schemas, and output templates. Startup Service : A startup service is one that Integration Server automatically executes when it loads a package into memory. Shutdown Service : A shutdown service is one that the Integration Server automatically executes when it unloads a package from memory. Replication Service : A replication service is one that Integration Server automatically executes when it prepares to replicate a package. A replication service executes when the Integration Server Administrator creates a package release Replication services provide a way for a package to persist state or configuration information so that these are available when the published package is activated on the remote server.

Process Flow

Creating a new service on webMethods Integration Server. During this stage, you create the new service on the webMethods Integration Server where you will do your development and testing. Inserting flow steps into the new service. During this stage, you specify the work that you want the service to perform by adding flow steps to the service. Declaring the input and output parameters of the service. During this stage, you define the services inputs and outputs. Mapping pipeline data. During this stage, you route input and output variables between services that are invoked in the flow. Specifying the run-time parameters. During this stage, you assign parameters that configure the run time environment for this service. Formatting service output. During this stage you can create an output template to format the service output. Testing and debugging. During this stage you can use the tools provided by Developer to test and debug your flow service.

What Is a Flow Step

A flow step is a basic unit of work that web Methods Integration Server interprets and executes at run time. Flow Language provides variety of built in flow steps. 1) Invocation Steps 2) Data-Handling Steps 3) Control Steps INVOKE step MAP step BRANCH step LOOP step REPEAT step SEQUENCE step EXIT step

The INVOKE y INVOKE step to request a service within a flow. y Invoke any type of service, including other flow services and Web service connectors. y Invoke any service for which the caller of the current flow has access rights on the local webMethods Integration Server. y Invoke built-in services and services on other webMethods Integration Servers. y 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. y Invoke any service, validating its input and/or output. y Properties of Invoke Service: Service: The fully qualified name of the service at runtime Timeout: Specifies the maximum number of seconds that this step should run. Validate input: Whether or not you want the server to validate the input service against the service input signature. Validate output Whether or not you want the server to validate the output of the service against the service output signature.

Branch Steps

The BRANCH step allows you to conditionally execute a step based on the value of a variable at run time. When you build a BRANCH step, you can: y 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. Create a list of the conditional steps (target steps) and make them children of the BRANCH step. In the Properties panel for the BRANCH step, specify in the Switch property the name of the pipeline variable whose value will act as the switch. In the Label property of each target step, specify the value that will cause that step to execute. y 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.

Create a list of the conditional steps (target steps) and make them children of the BRANCH step. In the Properties panel for the BRANCH step, set Evaluate labels to True. In the Label property of each target, specify the expression that, when true, will cause the target step to execute. The expressions you create can include multiple variables and can specify a range of values for variables. y Branching on Null and Empty Values When you build a BRANCH step, you can include target steps that match null or empty switch values. The BRANCH step considers a switch value to be null if the variable does not exist in the pipeline or is explicitly set to null. A null value Set the Label property to $null. At run time, the BRANCH step executes the target step with the $null label if the switch variable is explicitly set to null or does not exist in the pipeline. y To specify the default alternative of a BRANCH step, set the Label property to $default.


The REPEAT step allows you to conditionally repeat a sequence of child steps based on the success or failure of those steps. y Re-execute (retry) a set of steps if any step within the set fails. This option is useful to accommodate transient failures that might occur when accessing an external or device. y Re-execute a set of steps until one of the steps within the set fails. This option is useful for repeating a process as long as a particular set of circumstances exists. Specifying the REPEAT Condition: When you build a REPEAT step, you set the Repeat on property to specify the condition (success or failure) that will cause its children to re-execute at run time. y FAILURE Re-executes the set of child steps if any step in the set fails. y SUCCESS Re-executes the set of child steps if all steps in the set complete successfully. Setting the REPEAT Counter: y 0 Does not re-execute children. y Any value > 0 Re-executes children up to this number of times. y -1 or blank Re-executes children as long as the specified Repeat on condition is true.


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. y To group a set of steps as a single alternative beneath a BRANCH step. For details about this use of the SEQUENCE step, y To specify the conditions under which the server will exit a sequence of steps without executing the entire set. Exit on success(Main): 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. If a child fails under this condition, any changes that it made to the pipeline are rolled back (undone), and processing continues with the next child step in the SEQUENCE. Exit on Failure(try): Exit the sequence when a step in the sequence fails. This is the default behavior of a sequence of steps. This setting is useful if you have a series of steps that build upon one another. Exit on DONE(Catch): Execute every step in the sequence even if one of the steps in the sequence fails.

The LOOP Step

The LOOP step repeats a sequence of child steps once for each element in an array that you specify. 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: y String list, String table, Document list, ,Object list Properties: y Comments: descriptive comment y Scope: The name of a document (IData object) in the pipeline to which you want to restrict this step. y Timeout: The maximum number of seconds that this step should run y Label: An optional name for this specific LOOP step, or a null. y Input array: The name of the array variable on which the LOOP will operate. This variable must be one of the following types: String list, String table, Document list, Object list. y Output array: The name of the element that you want the server to collect each time the LOOP executes. You do not need to specify this property if the loop does not produce output values or if you are collecting the elements of Input array.

The EXIT Step

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: y The nearest ancestor (parent) LOOP or REPEAT flow step to the EXIT flow step. y The parent flow step of the EXIT flow step. y A specified ancestor flow step to the EXIT flow step. y The entire flow service. When you use the EXIT step, you indicate whether exiting should return a successful condition or a failure condition. If the exit is considered a failure, an exception is thrown. You can specify the text of the error message that is displayed by typing it directly or by assigning it to a variable in the pipeline. Properties: y Exit from: $loop Nearest ancestor LOOP or REPEAT flow step. $parent: Parent flow step, regardless of the type of step. $flow Entire flow. Label Nearest ancestor flow step that has a label that matches this value. y Signal Whether the exit is to be considered a success or a failure. y Failure message The text of the exception message you want to display.

The MAP Step

The MAP step lets you adjust the contents of the pipeline at any point in a flow service. When you build a MAP step, you can: y Prepare the pipeline for use by a subsequent step in the flow service by linking, adding, and dropping variables in the pipeline. y Clean up the pipeline after a preceding step by removing fields that the step added but are not needed by subsequent steps. y Move variables or assign values to variables in the pipeline. y Initialize the input values for a flow service. y Invoke several services (transformers) in a single step. y Map documents form one format to another. For example, you can map a document y in an XML format to an ebXML format or a proprietary format.

Data Mapping

Data mapping is the process of performing transformations to resolve data representation differences between services or document formats. By mapping, you can accomplish the following types of data transformations: y Name transformations :where different variable names represent the same data item When you perform name transformations, the value and position of a variable in the document (IData object) structure remain the same, but the name of the variable changes. y Structural transformations where different data structures represent a data item. When you perform structural transformations, the value of the variable remains the same, but the data type or position of the variable in the document (IData object) structure changes. y Value transformations where different formats represent the same value. When you perform value transformations, the name and position of the variable remain the same, but the data contained in the variable changes.

What is a Pipeline
o A "data Structure" used to collect the input and output fields of services in a Flow. o A service's input fields are expected to be in the pipeline when the service is invoked and a service is expected to add its output fields to this same pipeline. o We can MAP the inputs and outputs available in the pipeline by making a Link between them in Pipeline o We can also add a transformer between input and output in the Pipeline

What Are Transformers?


Transformers are the services you use to accomplish value transformations on the Pipeline tab. We can only insert a transformer into a MAP step. We can use any service as a transformer. This includes any Java, C or flow service that user creates and any built-in services in WmPublic, such as the pub.date.getCurrentDateString and the pub.string.concat services. By using transformers, developer can invoke multiple services (and perform multiple value transformations) in a single flow step.

What is Adapter?
Adapter Is a component of Web methods which is used To Connect IS to different backend systems Adapters Available in WebMethods:  JDBC Adapter  JMS Adapter  MQ Adapter  MainFrame Adapter  PeopleSoft Adapter  EJB Adapter  Custom Adapters Main Purpose Of JDBC Adapter  The webMethods JDBC Adapter is an add-on to the webMethods Integration Platform that enables you to exchange data with relational databases through the use of a JDBC driver.  Using the JDBC Adapter, webMethods Integration Server clients can create and run services that execute transactions to retrieve data from, and insert and update data in, relational databases.

JDBC Adapter Work Flow

1) 2) 3)

Set all the required system parameters and system classpath. Create a JDBC adapter connection using WM admin console. Create the JDBC adapter services using WM developer.

JDBC Adapter Work Flow-System Settings

Step1) Set class path's C:\j2sdk1.4.2\lib\tools.jar and C:\j2sdk1.4.2\bin Step2) Incase of oracle configuration Place Classes12.jar in C:\Program Files\webMethods6\IntegrationServer\lib folder and C:\Program Files\webMethods6\IntegrationServer\packages\WmJDBCAdapt er\code\jars Step3) Unzip the file javaxsql in C:\Program Files\webMethods6\IntegrationServer\packages\WmJDBCAdapt er\code\jars folder if it is not unzipped there.

Creating JDBC Connection

Step1) Choose the JDBC Adapter option from the Adapter section of Administrator Step2)Click on the Configure new Connection link and select the JDBC Adapter Connection option Step3)Enter the Database connection parameters in the fields given and Click Save Changes

Step4)Enablel the connection by Clicking the Enabled->no option

Step5)Check whether the connection is enabled or not

Creating JDBC adapter service

Step1)Refresh the developer to view the created JDBC adapter connection

Step2)Right click on the folder ,go to all Choice and select the Adapter Service option.Click Next

Step3) Select JDBC adapter and click next

Step4)Select the JDBC Adapter Connection and click next

Step5)Select JDBC Adapter template and click next

Step5)Enter the JDBC Adapter service name and click finish

Step6)Click on the tables option in the adapter service and select the table name

Step6)Click on the select option in the adapter service and choose the required field from the table

Step7)Save the adapter service and run the service.Please check the result in the result pane

Main Purpose Of JMS Adapter

The webMethods JMS Adapter is an add-on to the webMethods Integration Platform that enables you to exchange messages with JMS providers through the use of the JMS APIs. The JMS Adapter enables you to configure the following components:  Adapter Connections  Adapter Services  Message Listener Notifications
The Websphere MQ Adapter enables the Integration Server to exchange information with other systems through an IBM Websphere MQ message queue route documents, or any piece of information, from the Integration Server to systems that use Websphere MQ message queuing as their information interface.

Main Purpose Of MQ Adapter

Supported databases By JDBC Adapter:

DB2 for AS/400 DB2 for OS/390 DB2 Universal Database (UDB) IBM Informix Microsoft SQL Server Oracle Sybase

Architectural Overview:
The JDBC Adapter provides a set of user interfaces, services, and templates that enable you to create integrations with databases using a JDBC driver. The adapter requires a supported JDBC driver to be installed and loaded in the packages directory of the Integration Server. The JDBC Adapter enables you to configure the following components:
 Adapter connections  Adapter services  Adapter notifications

At a high level how an adapter service uses an adapter connection and a JDBC driver to connect to and perform an operation on a database.

Before Configuring

Install the webMethods Integration Server and the JDBC Adapter on the same machine. Install a compatible JDBC driver. Make sure you have webMethods administrator privileges so that you can access the JDBC Adapters administrative screens. Using the Administrator, make sure the WmJDBCAdapter package is enabled. Using the Developer, create a user-defined package to contain the connection, If you use Oracle JDBC OCI drivers, you must set an environment variable before you can configure the connection.