Вы находитесь на странице: 1из 33

webMethods 6.

Developer
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.
Before you use Developer

Developer builds and edits services directly on a server.


To use Developer you must:

• Have access to a webMethods Integration Server on which you


can build and test services.
• Have a user account on that webMethods Integration Server.
• Belong to a group that is a member of the “Developers” ACL
(access control list) on that webMethods Integration Server.
Logging in…
The Developer Window
Developer Window
Navigation Panel

The Navigation Panel displays the contents of


packages on the webMethods Integration
Server. In the Navigation Panel, you can:

• Select an element that you want to view.


• Select and lock an element that you want to edit.
• Copy, move, delete, or rename an element.
Developer Window
Navigation Panel (contd.)

• Elements in the Navigation Panel


are shown in a hierarchical
structure where the server is the
topmost element in the hierarchy.
• Packages on the server contain one
or more folders, which contain
elements that you can create and
edit.
Developer Window
The Editor

• The Editor contains the


controls that you use to
examine and edit an element
you select in the Navigation
Panel.
• The contents of the Editor
vary depending on the type
of element you select.
Developer Window

Supported Data Types


• Each data type supported by Developer
corresponds to a Java data type and has an
associated icon.

• When working in the Editor, you can


determine the data type for a variable by
looking at the icon next to the variable
name.

(Appendix C: “Supported Data Types” ISDeveloperGuide.pdf)


Basic Operations

• Only one area in the Developer window can be selected at a time.


• Toolbar buttons and menu commands that can be used with the
selected area will be available.

• Commands and buttons that cannot be used with the Navigation Panel
are unavailable.
• To switch from one area of the Developer window to another, simply
click any white space or field within the area to which you want to
switch.
Server Sessions

• You can have open sessions on multiple servers at a time.

• Sometimes a server might shut down before you can save


your work. Developer preserves any unsaved work as well
as lock information, despite the loss of the connection to
the server.
Elements

• Finding dependants and references.

• Built-in locking and unlocking of services.

• Package management explained in Integration Server.


What is a Flow Service?

• A flow service is a service that is written in webMethods’


flow language.
• This language lets you encapsulate a sequence of services
within a single service and manage the flow of data among
them.
• For example, you might create a flow service that :
1. Gets a purchase order submitted by a buyer
2. Logs the order in an audit-trail file
3. Performs a credit check
4. Posts the order to the ordering system
Flow Service
(contd.)

• Any service can be invoked within a flow (including other


flow services).
• For instance, a flow might invoke
– a service that you create
– any of the built-in services provided by webMethods
– services from a webMethods add-on product such as the
webMethods JDBC Adapter
• They are saved in XML files on webMethods Integration
Server.
Flow Step

• A flow service contains flow steps.


• A flow step is a basic unit of work (expressed in
webMethods flow language) that webMethods Integration
Server interprets and executes at run time.
• webMethods’s flow language provides flow steps that
invoke services and flow steps that let you edit data in the
pipeline.
Flow Step
(contd.)

• webMethods’ flow language also provides a set of control


steps that allow you to direct the execution of a flow
service at run time. The control steps allow you to:
– Conditionally execute a specified sequence based on a
variable value.
– Retry a specified sequence until it succeeds.
– Repeat a specified sequence (loop) for each element in
an array variable.
Flow Step
(contd.)

• Control steps have been inserted to execute flow services


based on the value of an attribute (receiverId).
What is a 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.
What is a Pipeline?
(contd.)

• When a service in the flow executes, it has access to all


data in the pipeline at that point.
• When you build a flow service, you use Developer to
specify pipeline is mapped to and from services in the
flow.
Building a Flow Service
Process Overview

• 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 service’s inputs and outputs.
Building a Flow Service
Process Overview (contd.)

• 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.
Java Services

1. What are Java services ?


2. Why do we need them ?
3. How do we develop and use them ?
Java Services :What

In addition to using the built-in services that webMethods


provides, you can create customized services in a variety of
program languages.
e.g. Java, C++, VB etc.

Note : Java is the native language for services. When you


create services in other languages, you must wrap them to
appear as a Java class to webMethods Integration Server.
Java Services : Why

This allows you to create a library of custom code that can


be accessed and executed from a flow service or from a
client application.

Since the inbuilt services may not be sufficient for the


business processing logic.
Java Services : How

You can create a Java service like any flow service.


Source Tab of a Java service
Input/Output Tab
Shared Tab
Data input output for services

• The IData Object


– The IData object is the universal container that services use to
receive input from and deliver output to other programs.
– It contains an ordered collection of key/value pairs on which
a service operates.
– An IData object can contain any number of key/values pairs
(elements).
– The keys in an IData object must be Strings.
– The values can be any Java objects (including IData objects).
Types of Cursors

This Cursor Class Contains methods for.

• IDataCursor Performing basic cursor operations such as


placing the cursor at the first, last, or next element in the
object.
• IDataHashCursor Positioning the cursor at a specified key.
• IDataIndexCursor Positioning the cursor by absolute
position.
Generating Java Code from Service Input and Output Parameters

• Input Variable Name Type


– State String
– Amount String
• Output Variable Name Type
– Tax String
Generated Code

Developer will generate the following Java code for your


service:
// pipeline
IDataHashCursor pipelineCursor = pipeline.getHashCursor();
pipelineCursor.first( "State" );
StringState = (String) pipelineCursor.getValue();
pipelineCursor.first( "Amount" );
StringAmount = (String) pipelineCursor.getValue();
pipelineCursor.destroy();

// pipeline
IDataHashCursor pipelineCursor_1 = pipeline.getHashCursor();
pipelineCursor_1.last();
pipelineCursor_1.insertAfter( "Tax", "Tax" );
pipelineCursor_1.destroy();
End of Session – Questions ?

Вам также может понравиться