The Execution Objects

In this section:

 

The following sections describe how to define each Execution object as you include it in a process flow.


Top of page

x
Service Object

The Service object is a unit of work that emits default events and/or one or more custom events. The available services are based on the server side configuration. By extending the configuration, you can enlist custom services directly within a process flow.

Important: The iWay Registry or a configuration contains only those service classes that are defined in that Registry or configuration. If the Registry or configuration requires additional service classes for a particular process flow, you must add them through the iWay Service Manager Administration Console (select Tools, Archive Manager, Import components from managed server, click Next, and select base.) See the iWay Service Manager User’s Guide for details. For example, initially the iWay Registry contains only those service classes associated with the iWay samples, therefore, you must add any additional classes required when new Service objects are added to projects in the Registry.

The following image shows the Service object icon.

When you add a Service object to a process flow, the New Service Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Service object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The Service Type dialog box opens, as shown in the following image.

Select a defined service from the Type drop-down list or create a new service by selecting Class Name and typing the service class name, for example, iwCOPY.

Note: If you select or define a Control agent (XDControlAgent), it will not run correctly when choosing Build, then Test, then Run. The agent will work properly at run time, after the process flow of which it is a part has been published to a listener. This is intended to protect the current run-time configuration from tests run from within Designer.

Click Next.

If you choose an existing service, the Properties dialog box opens for that service. The properties that appear in this dialog box depend on the service you select. The following image shows the Properties dialog box for the iwCOPY service.

Enter the properties to define the service, then click Finish. The Service object icon appears in the workspace.

If you create a new service, the Define Service dialog box opens. An example of this dialog box is shown in the following image.

Select Define Service Globally if you want to make the definition available on the server, which makes it accessible for use in other process flows.

Click Next. The Properties dialog box opens, as shown in the following image.

Enter properties for the new service and click Finish. The Service object icon appears in the workspace.


Top of page

x
Iterator Object

The Iterator object allows you to repeat certain portions of a process flow over all or specified sections of an input document. The number of times a flow is repeated can be based on either a count, the result of a Boolean expression, or the structure of the document itself.

Important: The iWay Registry contains only those classes that support the iWay Samples. Therefore, when using Iterator objects in a Registry‑based project, you must add the iterator classes to the Registry from the base configuration through the iWay Service Manager Administration Console (select Tools, Archive Manager, Import components from managed server, click Next, and select base.) See the iWay Service Manager User’s Guide for details.

The following image shows the Iterator object icon.

The Iterator object works in conjunction with the Loop relation, which defines the path of the flow that is to be iterated. The following image is an example of a process flow using an Iterator object.

When the iterator completion condition is met, execution of the flow continues with the objects after the loop. Despite the appearance of the diagram in the Designer workspace, at completion, the flow ‘jumps’ over the objects inside the loop, otherwise the logic inside the loop would be erroneously executed one additional time.

Some guidelines for using Iterator objects in a process flow are:

When you add an Iterator object to a process flow, the New Iterator Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Iterator object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Once you have named the new Iterator object, click Next. The Iterator Type dialog box opens, as shown in the following image.

The Iterator objects are instantiated on the iWay Service Manager server as agents. Iterator agents are distinguished from other agents by their name, which contains the string “ITER”. The available Iterator types are:

Note: See the iWay Service Manager User’s Guide for information on island, sibling, and status, as used in iWay.

Click Reload Iterators to load the iterators that are currently available in the selected server configuration.

Once you have selected an iterator type, click Next.

The Properties dialog box opens. Each iterator type has its own set of parameters, so this dialog box will only list those parameters associated with the selected iterator. The following image shows the Properties dialog box for the iwITERCOUNT iterator type.

Select or enter the parameters required to configure the Iterator object, and click Finish. The Iterator object appears in the workspace.

The following sections describe the properties and provide an example for each iterator type.



x
Reference: iwITERCOUNT Properties

Property Name

Allowable Value

Description

Iterations

A numeric expression, constant, XPath, or variable.

Number of times this iterator loop is to be repeated.

Interim document type

A literal, variable, or XPath that evaluates to "original" or "transient."

Determines whether the document passed out of the Iterator object into the loop is the original or the result of the previous iteration (transient).

Output document type

A literal, variable, or XPath that evaluates to "original" or "transient", or "status."

Determines whether the document passed out of the Iterator object upon completion of the loop is the original or the result of the previous iteration (transient).



Example: iwITERCOUNT Iterator Type

The iwITERCOUNT operator repeats the body of the loop a specified number of times. The number can be constant or computed at run time, for instance, with an XPath expression, as in this example. The inner part of the loop can be used to generate multiple outputs, read multiple inputs from a source, or perform any other operation repeatedly. The count iterator can also be used with conditional logic to add retry functionality to an adapter that does not natively support retry. The number of iterations of the loop is not dependent on the structure of the input document, nor does the count iterator parse the document before injecting it into the loop.

The Iterator object in this example passes the input document into the loop the number of times specified by the <count> XML tag in the input document. The following sections show the process flow, the Iterator object parameters, and the input and output documents of this example.

Process Flow Diagram

Iterator Object Parameters

Input Document

<IterCountTest>
   <count>3</count>
</IterCountTest>

Output Document(s)

Three documents are output by the FileWrite object: IterCount01.xml, IterCount02.xml, and IterCount03.xml.

<?xml version="1.0" encoding="UTF-16"?>
<IterCountTest>
   <count>3</count>
</IterCountTest>


x
Reference: iwITERISLAND Properties

Property Name

Allowable Value

Description

Island identifier

A string expression, constant, XPath, or variable.

Name of the XML tag that identifies the Island command string.

Remove Identifier

A Boolean literal, variable, or XPath.

Determines whether the Island tag and text will be removed or preserved in the final document.



Example: iwITERISLAND Iterator Type

The island iterator is designed to perform document enhancement, that is, to replace parts of the input XML document with the results of a call to an agent or adapter. Any external data source can be targeted (Web Services, SQL data, and so on), but in this example embedded file names are replaced with the content of the named disk file. The replacement would behave identical regardless of the source, although the replacement data must be in XML format. Island replacement is iterated for as many tags as are present in the input document. The tags to be replaced may be homogeneous, as in this example, or heterogeneous by using multiple sequential Island iterators targeting different sources.

The following sections show the process flow, the Iterator object parameters, and the input and output documents of this example.

Process Flow Diagram

Iterator Parameters

Input Document

The primary input document is the document that contains the Islands to be replaced. In this example, they are identified by the XML tag <file>.

<mydoc>
   <file>file1.txt</file>
   <file>file2.txt</file>
   <file>file3.txt</file>
</mydoc>

file1.txt

<content>Contents of file 1</content>

file2.txt

<content>
<line>Contents of file 2</line>
<line>There are 2 lines</line>
</content>

file3.txt

<content>Contents of file 3</content>

Output Document(s)

The input document and the island documents are combined according to the behavior of the iterator.

<?xml version="1.0" encoding="UTF-8" ?>
<mydoc>
   <content>Contents of file 1</content>
   <content>
      <line>Contents of file 2</line>
      <line>There are 2 lines</line>
   </content>
   <content>Contents of file 3</content>
</mydoc>


x
Reference: iwITERSIBSPLIT Properties

Property Name

Allowable Value

Description

Output document type

A literal, variable, or XPath that evaluates to "original" or "status."

Determines whether the document passed out of the Iterator object upon completion of the loop is the original or the result status. By definition, the Interim document type is always the next sibling (that is, transient), never the original.



Example: iwITERSIBSPLIT Iterator Type

The iWay Sibling construct is used to contain the output of multi-row SQL queries. By bundling sets of rows, siblings makes the handling of very large result sets more practical. When used with the IterSibSplit operator, the logic inside the loop is executed once for each sibling document. One result row per sibling document is recommended for this iterator. Because the entire answer set is fetched prior to executing the loop, flows using this technique may have high memory requirements.

The following sections show the process flow, the Iterator object parameters, and the input and output documents of this example.

Process Flow Diagram

Iterator Object Parameters

In this case, the Iterator object parameters are not material, and the parameters of the SQL object that generates the internal document are significant. Note that the properties are set to produce siblings (which are internal, non-XML iWay constructs), with one SQL row for each sibling.



x
Reference: iwITERLINE Properties

Property Name

Allowable Value

Description

Keep blanks

A literal (true/false), variable or XPath expression that evaluates to a Boolean result.

Determines whether blank lines will be passed into the loop for processing.

Output

A literal, variable, or XPath that evaluates to "original" or "status".

Determines whether the document passed out of the Iterator object upon completion of the loop is the original unparsed document or the result status.



Example: iwITERLINE Iterator Type

The iwIterLine operator repeats the body of the loop once for each line in the document, as defined by standard end-of-line delimiters. The inner part of the loop can be used to generate multiple outputs, read multiple inputs from a source, or perform any other operation repeatedly. When using this iterator, the number of times through the loop and how the input is parsed is directly related to the structure of the input document, in particular, how many lines are present. We recommend that non-XML, line-oriented input be read into the process flow with a File object rather than being passed through the Start node.

The following sections show the process flow, the Iterator object parameters, and the input and output documents of this example.

Process Flow Diagram

Iterator Object Parameters

Input Document

This is the first line
This is line 2
Line 3

Output Document(s)

Three documents are output: IterLine01.txt, IterLine02.txt, and IterLine03.txt.

This is the first line
This is line 2
Line 3


x
Reference: iwITERTEST Properties

Property Name

Allowable Value

Description

Operand One

A literal, variable, or XPath that evaluates to a value.

The first of two operands to compare.

Operation

The comparison to apply to the two operands, or a null test predicate on Operand One.

Used to compare Operand One and Operand Two, producing a Boolean result.

Operand Two

A literal, variable, or XPath that evaluates to a value.

The second of two operands to compare. In the case of a null/not null test, this parameter is optional.

Iterate Rule

A literal (true/false), variable, or XPath expression that evaluates to a Boolean result.

Used to invert the logic of the Iteration test from do‑while to do-until. Using a non‑constant expression can simplify the flow logic by reversing the sense of the test dynamically.

Interim document type

A literal, variable, or XPath that evaluates to "original" or "transient."

Determines whether the document passed out of the Iterator object into the loop is the original or the result of the previous iteration (transient).

Output document type

A literal, variable, or XPath that evaluates to "original" or "transient", or "status."

Determines whether the document passed out of the Iterator object upon completion of the loop is the original or the result of the previous iteration (transient).



Example: iwITERTEST Iterator Type

The iwIterTest operator repeats the body of the loop while a specified logical comparison evaluates to True. The predicate is reevaluated each time through the loop. The inner part of the loop can be used to generate multiple outputs, read input multiple times from a source, or perform any other operation repeatedly. Similar to the count iterator, the test iterator can be used to retry an operation until it is successful or other criteria are met.

The following sections show the process flow, the Iterator object parameters, and the input and output documents of this example.

Process Flow Diagram

Iterator Object Parameters



x
Reference: iwITERXMLSPLIT Properties

Property Name

Allowable Value

Description

Snip Levels

A literal, variable, or XPath that evaluates to an integer that is zero or greater.

Determines how many tag levels to trim off of the new XML document, starting from the top (root) node.

Zero equals preserve all levels, one equals cut off the root, two equals cut off the root and immediate child, and so on, down to the XPath location being iterated. The default is zero, which will return all parent tags up to the root.

Note: Cross Section data may be lost depending on the snip level setting.

Expression

An XPath string, derived from a constant, XPath, or variable.

An XPath that indicated where in the document to begin processing.

Cross Section

A literal, variable, or XPath that evaluates to true or false.

When set to false, only the direct parent tags of the iterated section are present in the split document.

When set to true, all sibling sub‑trees of parent tags are preserved.

Output document type

A literal, variable, or XPath that evaluates to "original" or "status."

Determines whether the document passed out of the Iterator object upon completion of the loop is the original, or the result status. By definition, the Interim document type is always the split document (that is, transient), never the original.

When you are finished entering the properties, click Finish. The Iterator object appears in the workspace.

The following examples show an implementation of each iterator type.



Example: iwITERXMLSPLIT Iterator Type

Often, a single transaction document contains repeating groups of data, in this example, a simplified invoice with multiple line items. The iwXmlSplit iterator extracts the repeating group specified by the XPath expression. The parsed document contains the indicated group and preserves its direct parental lineage of XML nodes. If the logic inside your loop needs data from a parallel XML path (the invoice number in this example), then you can set Cross Section to true. Cross Section will preserve the entire document above the node that is the target of Expression.

The body of the loop is repeated once for each occurrence of the indicated group. The inner part of the loop can be used to process the repeating groups, call a Web service, insert the data into an SQL database, and so on. When using this iterator, the number of times through the loop and how the input is parsed depends on the structure of the input document and the XPath expression.

The following sections show the process flow, the Iterator object parameters, and the input and output documents of this example.

Process Flow Diagram

Iterator Object Parameters

Input Document

<invoice>
   <invoice-number>1001</invoice-number>
   <line-item>
      <item-number>1</item-number>
      <item-desc>Red Widget</item-desc>
   </line-item>
   <line-item>
      <item-number>2</item-number>
      <item-desc>Blue Widget</item-desc>
   </line-item>
   <line-item>
      <item-number>3</item-number>
      <item-desc>Green Do-dad</item-desc>
   </line-item>
</invoice>

Output Document(s)

Three documents are output by the FileWrite object: IterXmlSplit01.xml, IterXmlSplit02.xml, and IterXmlSplit03.xml.

<?xml version="1.0" encoding="UTF-16" ?>
<invoice>
   <line-item>
      <item-number>1</item-number>
      <item-desc>Red Widget</item-desc>
   </line-item>
</invoice>
<?xml version="1.0" encoding="UTF-16" ?>
<invoice>
   <line-item>
      <item-number>2</item-number>
      <item-desc>Blue Widget</item-desc>
   </line-item>
</invoice>
<?xml version="1.0" encoding="UTF-16" ?>
<invoice>
   <line-item>
      <item-number>3</item-number>
      <item-desc>Green Do-dad</item-desc>
   </line-item>
</invoice>

The following is an output document with Cross Section set to true.

<?xml version=”1.0” encoding=”UTF-16” ?>
<invoice>
   <invoice-number>1001</invoice-number>
   <line-item>
      <item-number>1</item-number>
      <item-desc>Red Widget</item-desc>
   </line-item>
</invoice>

The following is an output document with Snips Level set to 1.

<?xml> version=”1.0” encoding=”UTF-16” ?>
<line-item>
   <item-number>1</item-number>
   <item-desc>Red Widget</item-desc>
</line-item

Top of page

x
Transform Object

The Transform object applies a selected transform to the document it receives within the process flow. It also allows you to launch iWay Transformer to create a new transform for this object.

The following image shows the Transform object icon.

When you add a Transform object to a process flow, the New Transform Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Transform object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters. The Reload Transforms button allows you to load the transforms that are currently available in the selected server configuration.

Once you have named the new Transform object, click Next. The Transform Type dialog box opens, as shown in the following image.

To define the transformation type for this object, you can select an existing transform or create a new transform. The transforms in the Transform drop-down list are those that are available in the project’s associated configuration or Registry.

To define a new transform, click Launch Transformer. The iWay Transformer tool opens, as shown in the following image.

Start by selecting New from the File drop-down list. To continue, see the iWay Transformer User's Guide for instruction on creating a new transform.

To use an existing transform, select a transform from the Transform drop-down list and click Next.

The Properties dialog box opens, allowing you to view the properties of the transform type you selected. An example of this dialog box is shown in the following image.

When you are finished viewing the transform properties, click Finish. The Transform object icon appears in the workspace.


Top of page

x
Adapter Object

The Adapter object is a configured connection to a particular instance of a back-end system, for example, the Oracle Applications adapter. The following images shows the Adapter object icon.

You can only create an adapter object using adapters that have a currently configured connection (target) to a back-end system or database. You can configure these adapter targets using iWay Explorer as explained in Using iWay Explorer in Designer.

When you add an Adapter object to a flow, the New Adapter Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Adapter object and type a brief description of the adapter (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The Adapter Type dialog box opens, as shown in the following image.

Select an adapter from the Defined Adapters drop-down list. These are the configured adapter targets found on the selected server configuration.

Note: If you do not see the target you want to use for the new Adapter object, use the instructions found in Adding an Adapter to the Defined Adapters List to make the desired adapter target available to the Adapter object.

Click Next.

The Properties dialog box opens displaying the properties associated with the chosen adapter target. You can change the adapter target properties in this dialog box, if necessary.

The following image is an example of an Adapter object Properties dialog box.

Click Next. Another Properties dialog box may open displaying additional adapter properties. When you have defined all adapter properties, click Finish.

The Adapter object appears in the workspace.



x
Adding an Adapter to the Defined Adapters List

If the adapter target you want to use for an Adapter object does not appear in the Defined Adapters List, you can create a new adapter target with the instructions in this section.

Drag and drop the Adapter object icon onto the workspace. In the Adapter Name and Description dialog box, type a name and brief description of the adapter, and click Next. In the Adapter Type dialog box, click New.

The Adapter Name and Description dialog box for the new adapter target opens, as shown in the following image.

Click Next. The iBSP URL dialog box opens, as shown in the following image.

Type the URL to the configured iWay Business Services Provider (iBSP) that contains the adapter you want, for example, http://localhost:9000, or select a URL from the drop-down list. Click Next.

The Adapter/Target dialog box opens.

Select an adapter from the Adapter drop-down list, and a target from the Target drop-down list. The following image is an example of this dialog box showing Oracle Applications as the adapter and Oracle11 as the target.

Click Next. The Properties dialog box opens.

An example of the Properties dialog box is shown in the following image. The properties that appear in this dialog box depend on the adapter you selected.

If necessary, you can change the properties in these dialog boxes. There may be a series of Properties dialog boxes, so continue to click Next to move through them. At the last Properties dialog box, click Finish.

You are returned to the Adapter Type dialog box and can now select the adapter target you just added to the Defined Adapters list.


Top of page

x
Process Object

The Process object facilitates code reuse and modularity by inserting a published process flow into the current process flow. The affect of using the Process object is much like using a subroutine call in traditional programming languages. The following image shows the Process object icon.

When you add a Process object to a process flow, the New Process Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Process object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The Process Type dialog box opens, as shown in the following image.

The Processes drop-down list provides a selection of published process flows. Select the process flow you want to associate with the process object and click Finish.

Note: Only previously published process flows are available to the Process object. In the case of a Registry-based project, the process flow must have been published to the Registry. In the case of a server-based project, the process flow must have been published to the system area of the named Server Configuration, for example, base.

The Process object icon appears in the workspace.


Top of page

x
WebService Object

The WebService object allows the execution of a Web service from within a process flow. The Web service can be an external service, such as a third party Web service, or a Web service hosted by iBSP.

The following image shows the Web Service icon.

When you add a WebService object to a flow, the New WebService Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the WebService object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The WSDL Location dialog box opens, as shown in the following image.

In the WSDL location field, provide the location of the Web Service Descriptive Language (WSDL) file that describes the Web service you are adding to the process flow in one of the following ways.

As an option, you can provide the location to a Web Service Descriptive Language (WSDL) file that describes the Web service you are adding to the process flow. You can type the location, or choose Load Local WSDL File or Import iWay Business Service Provider WSDLs to browse to a WSDL file.

If you select Load Local WSDL File, a Windows browse dialog box opens in which you can locate the WSDL file.

If you select Import iWay Business Service Provider WSDLs, the Import WSDLs dialog box opens, as shown in the following image. This dialog box allows you to select a WSDL from an instance of iWay Business Service Provider.

Click Next.

The WSDL Services dialog box opens, as shown in the following image.

Select a service from the Service drop-down list and click Next.

The WebService End Point dialog box opens, as shown in the following image.

The port name, end point, and action fields are automatically populated with the related values. Click Next.

The WebService Header dialog box opens, as shown in the following image.

Select or type the header information in the Header Input is field and click Next.

The WebService Body dialog box opens, as shown in the following image.

From the Body Input is drop-down list, select the body of the Web Service.

Note: The body can be the actual text inside the <SOAP-Env:Body> tags, a transformation, a path to a file containing the body, an XPath, or an SREG.

Click Next. The WebService Response dialog box opens, as shown in the following image.

From the Response Action drop-down list, select an action to take on the response of the Web Service. Click Next. The WebService Fault dialog box opens, as shown in the following image.

From the Fault Action drop-down list, select an action to take if there is a fault with the Web service. Click Next.

The Proxy Configuration dialog box opens.

If you are using a proxy server for the Web service, select Emit through Proxy server and enter the Proxy URL and the ID and password for accessing the proxy server. Click Next.

The Strip SOAP Envelope dialog box opens, as shown in the following image.

Check Strip the SOAP Envelope if you want to have the response document removed from the SOAP envelope. Click Finish.

The WebService object appears in the workspace.

Note: For Web Service objects, Designer will use all faults defined in the WSDL as custom events. Edges that refer to specific faults can be constructed by selecting from the OnCustom list of cases. See Building Relationships Between Objects.


Top of page

x
SQL Object

An SQL object is used to execute simple SQL requests within a process flow. The request can use XPath values within the document to drive the request. The following image shows the SQL object icon.

The SQL object enables the execution of standard SQL statements against a target RDBMS from inside your process flow. Supported commands include Data Manipulation Language (DML), Data Definition Language (DDL), and other miscellaneous commands (GRANT, COMMIT, and so on) against the database. Care should be taken when designing process flows that perform potentially destructive operations on the database (DELETE, DROP TABLE, and so on) to prevent unintended data loss. Typical applications include use of the SELECT, INSERT, UPDATE, and DELETE commands.

To invoke stored procedures, the CALL statement is provided and can include properties that are defined for input or input and output use. CALL statement "output-only" parameters are currently not supported due to limitations in binding iWay registers to SQL statements.

When you add an SQL object to a flow, the New SQL Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the SQL object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The Data Source URL dialog box opens, as shown in the following image.

Specify a Java Database Connectivity (JDBC) driver and URL to access the data source by either selecting a defined JDBC server from the Defined JDBC drop-down list or entering the connection information in the JDBC Driver and URL fields.

Click Next. The SQL Statement dialog box opens, as shown in the following image.

Type the SQL statement and click Next.

The Properties dialog box opens. An example of this window is shown in the following image.

Enter the required properties for the SQL object and click Next. For information on the SQL object properties, see SQL Object Properties.

Another Properties dialog box opens in which you can define your own properties for the SQL object. An example of this dialog box is shown in the following image.

When you are done defining the properties, click Finish. The SQL object icon appears in the workspace.



x
SQL Object Properties

This section lists and describes the properties available to the SQL object.

Property

Valid Values

Description

SQL DML

An SQL SELECT, INSERT, UPDATE, or DELETE statement.

The SQL statement to execute.

Supports substitution parameters of the form ?variable_name. There is no limit to the number of parameters or their location in the statement. The statement must, however, be properly formed SQL after parameter substitution. Substitution parameter values are defined in the SQL object User Defined Properties pane.

Single quotes required for string literal substitution parameters must be coded in the SQL DML statement.

Evaluate SQL

true or false.

Determines whether the SQL statement will be subject to iWay Functional Language evaluation.

When set to true, iSM attempts to evaluate the statement, in which case, care must be taken to escape characters that are significant to iWay (for example, single quotes).

The default value is false. This prevents ambiguity and protects against side effects.

Output Format

row, column, or field.

Specifies how to construct the output XML document for the answer set (required, but meaningful for SELECT only).

JDBC Driver

Fully qualified classname of the vendor's JDBC driver.

See the vendor's documentation for details on the fully qualified classname of the JDBC driver.

Data Source URL

URL of the datasource.

This URL identifies the location of the database and must be presented in a vendor‑defined format.

Transaction Isolation Level

asis, readUncommitted, readCommitted, repeatableRead, or serializable.

Sets the isolation level for this connection. For information on locking, see your database documentation.

Pool Connections

true or false.

When set to true, all connections are pooled by the URL. This enables the first connection to the URL to be shared by subsequent uses of the SQL Agent that use the same URL.

The true value is appropriate for SELECT, but may not be appropriate for SQL statements that require commit.

The default value is false.

Attempt Read Only

true or false.

If set to true, for SELECT statements sets JDBC 'read only' flag. Some drivers cannot handle this optimization and may report security failures.

The default value is false.

Connection Properties

String literal or iWay Functional Language expression.

These are additional vender‑specific properties to be added to the JDBC URL.

Need Commit

true or false.

Set if the SQL executed modifies the data table(s). In this case, pooling performed in response to the Pool Connections setting is on the worker level. This makes the connection serial, enabling the system to maintain proper commit scopes. This property affects only pools. SQL statements other than SELECT are always committed.

Note: If configured, this service participates in iWay server transaction management.

The default value is false.

User ID

String literal or iWay Functional Language expression (SREG, and so on).

The user ID to connect to the RDBMS.

Password

String literal or iWay Functional Language expression (SREG, and so on).

The password to connect to the RDBMS.

Max Rows

0 (zero) or any positive integer.

Maximum number of rows to be returned for a select DML statement.

To return all rows, use zero. If the statement returns more rows than the maximum, the remainder will not be part of the response document. These rows can, however, be appended as sibling documents as explained in the Make Siblings property.

Make Siblings

true or false.

Indicates whether or not to make sibling documents.

A sibling is a complete XML document that is related to another XML document. In the case of the SQL Agent, each sibling carries the max rows number of response rows. Specialized agents and components are ‘sibling-aware’ and can work with sibling documents (for example, IterSibSplit and emitters). Although many agents carry the siblings forward and most protocols can properly deal with siblings, it is not guaranteed that all will do so.

When siblings are used, we recommend that the SQL agent be placed immediately before an object that can process sibling documents.

The default value is false.

Max Siblings

A positive integer.

If Make Siblings is set to true, then this is the Maximum number of siblings created in one invocation of the SQL Object.

Emit No Empty

true or false.

If set to true, empty documents are not emitted.

The default value is false.

Issuance Strategy

construct or bind.

Choose whether to issue data through SQL construction performed by iSM, or through SQL bind (prepare/execute).

Reply Node Name

String literal or iWay Functional Language expression.

If entered, this represents the XML node (that is, tag) that will contain the response from the issued SQL statement.

Base 64 if Needed

true or false.

When set to true, all fields are checked to see if they need base64 encoding.

Note: The true setting has a negative impact on performance.



x
ETL Object

The Extract Transform Load (ETL) object executes an iWay DataMigrator flow. iWay DataMigrator supports traditional batch ETL and trickle-feed ETL for real-time data updates. Using the ETL object in a process flow enables:

The following image shows the ETL object icon.

When you add an ETL object to a process flow, the New ETL Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the ETL object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The DataMigrator Connect dialog box opens, as shown in the following image.

Type, or select from the drop-down list, the DataMigrator host name in the Host field and port in the Port field. Type the user ID and the password to access DataMigrator in the fields provided under DataMigrator Security.

Note: A message window opens when you type or select an invalid credential.

Click Next. The DataMigrator Flows dialog box opens, as shown in the following image.

From the Flows list, select the DataMigrator flow you want to execute from the ETL object. Click Next.

You can also open the ETL Data Management Console by clicking Launch Data Management Console.

Important: Designer supports ETL objects with names of 45 characters or less in length.

The Properties dialog box opens, as shown in the following image. This dialog box shows the properties of the ETL object you are creating.

You can change the Document Return Type and Pool Connections properties, if necessary. Click Next.

The ETL Options dialog box opens, as shown in the following image.

Select Do not wait for completion to start a long-running ETL job asynchronously, in which case the process flow will continue immediately with the next object or objects in the flow.

The Run with limits options (Start loading at record and Stop loading at record) allows you to define a range of records for the ETL job. For example, selecting a small set of records might be prefereable for testing pruposes.

Click Next. The ETL Return Codes dialog box opens, as shown in the following image.

If you want to add a return code to the object, select Click here to Add under the Return Code column to activate the field and enter the return code. Type a description of the return code in the Description column. You can enter several return codes, as needed. Click Finish.

The ETL object appears in the workspace.

Once an ETL object exists, you can configure it to accept dynamic properties. To do this, open the ETL object for editing and select the Properties tab. Replace one or more of the properties with a special register (SREG), an XPath statement, or any other iWay Functional Language statement. For information on editing an object, see Editing a Process Flow Object. The following images shows the Properties tab of an ETL object that uses a special register for a property value.


Top of page

x
BI Object

The BI object allows the process flow to run a WebFOCUS report.

The following image shows the BI object icon.

When you add a BI object to a process flow, the New WebFOCUS Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the BI object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Note: As a convenience, you can launch Developer Studio and Managed Reporting, two external WebFOCUS tools, by clicking the corresponding buttons in this dialog box. Designer automatically determines the presence and location of these tools. For details on using these tools, see the Developer Studio documentation set and the WebFOCUS Managed Reporting End User’s Manual.

Once you have named the new WebFOCUS object, click Next. The WebFOCUS Connect dialog box opens, as shown in the following image.

Select or type the URL of the target WebFOCUS server and click Next.

Note: If you choose to use a localhost address, be aware that this URL is relative to the iWay Service Manager, not the machine running Designer.

The next WebFOCUS Connect dialog box opens, as shown in the following image.

Another WebFOCUS Connect dialog box opens, as shown in the following image.

Select the source of the WebFOCUS report you want to include. Consult the WebFOCUS documentation or your site WebFOCUS administrator to determine where your reports are located. Type your login credentials for WebFOCUS and click Next.

If you have chosen Application in the previous dialog box, the WebFOCUS Reports dialog box opens, as shown in the following image.

If you selected Managed Reporting on the previous dialog box, you will see a dialog box similar to the following image.

In either case, navigate the hierarchy and select the desired report, then click Next. The WebFOCUS ArrayValues dialog box opens, as shown in the following image.

Many WebFOCUS reports have replaceable run-time parameters for key values, print options, and so on. Designer queries the report and presents the list of report variables. You can customize the view of these prompts, as follows:

Type the values for the run-time report parameters (prompts) and click Finish.

The BI Object appears in the workspace.

Once a BI Object exists, you can configure it to accept dynamic properties. To do this, open the BI object for editing and select the Properties tab. Replace one or more of the properties with a special register (SREG), an XPath statement, or other iWay Functional Language statement. For information on editing an object, see Editing a Process Flow Object. The following image shows the BI object Properties tab with a property value that uses a special register (SREG1).


Top of page

x
ReportCaster Object

The ReportCaster object immediately submits one or more selected schedules to a ReportCaster Distribution server for execution. The following image show the ReportCaster object icon.

When you add a ReportCaster object to the process flow, the New ReportCaster Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the ReportCaster object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The ReportCaster Server Connect dialog box opens, as shown in the following image.

Enter the URL to the ReportCaster server, and the login credentials to access the server.

Click Next. The ReportCaster Schedules dialog box opens displaying the schedules available to you. The following image shows an example of this dialog box.

Select the schedule(s) you want to trigger with this ReportCaster object by clicking the corresponding check box in the Schedule Id column.

Click Finish. The ReportCaster object icon appears in the workspace.


Top of page

x
Email Object

The Email object allows a process to send or receive an email with one or more attachments. The following image shows the Email object icon.

When you add an Email object to a process flow, the New Email Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Email object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The Email Type dialog box opens, as shown in the following image.

Select the Email type from the Type drop-down list. The Standard Email Client emits an email with one or more attachments. The Attachment Extractor identifies an attachment extractor to be used on a flow that is deployed to an email listener.

Click Next. The Properties dialog box opens. The following image shows the Properties dialog box for the Standard Email Client email type.

Type or select the property values to define the Email object and click Finish. The Email object icon appears in the workspace.


Top of page

x
FTP Object

The File Transfer Protocol (FTP) object allows the process flow to send or receive data using FTP. The following image shows the FTP object icon.

When you add an FTP object to a process flow, the New FTP Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the FTP object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The FTP Type dialog box opens, as shown in the following image.

From the Type drop-down list, select the FTP type. The types are:

Click Next. The Properties dialog box opens. The properties that appear depend on the FTP type you selected. The following image is the Properties dialog box for FTP Reader.

Type or select the property values to define the FTP object. Click Finish when all properties are defined. The FTP object icon appears in the workspace.


Top of page

x
File Object

The File object allows a process to perform file operations at execution time. The following image shows the File object icon.

When you add a File object to a process flow, the New File Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the File object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The File Type dialog box opens, as shown in the following image.

From the Type drop-down list, select the file type. The file types are:

Click Next. The Properties dialog box opens. The properties that appear depend on the File type you selected. The following image is the Properties dialog box for File Read.

Define the appropriate properties and click Finish. The FTP object icon appears in the workspace.


Top of page

x
HTTP Object

The Hyper Text Transfer Protocol (HTTP) object allows a process flow to send or receive data using HTTP. The following image shows the HTTP object icon.

When you add an HTTP object to a process flow, the New HTTP Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the HTTP object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The HTTP Type dialog box opens, as shown in the following image.

From the Type drop-down list, select the HTTP type. The HTTP types are:

Click Next. The Properties dialog box opens. The properties that appear depend on the HTTP type you selected.

The following image is the Properties dialog box for HTTP GET.

The following image is the Properties dialog box for HTTP POST.

Define the appropriate properties and click Finish. The HTTP object icon appears in the workspace.


Top of page

x
Emitter Object

The Emitter object enables behavior in your process flow equivalent to configuring an emitter through the iWay Console. In other words, the action of the Emitter is delayed until after all steps in your process flow are performed and all post‑processing of the document is complete. A consequence of this delayed execution is that if there is an error during processing, and even if an error occurs in the flow after the Emitter, the emit will not occur. The significance of the placement of the Emitter object in your process flow is that it determines the header (that is, routing) information that will be used when the emission ultimately occurs. In contrast, the version of the document that is dispatched by the Emitter is the result of all processing and, therefore, not necessarily the version at the point in the flow where the Emitter object is placed.

When you add an Emitter object to a process flow, the New Emitter Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Emitter object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The Emitter Type dialog box opens, as shown in the following image.

Select the type of emitter the object will bind to; a predefined emitter, a local instance based on an existing template, or a protocol definition.

Select a protocol from the Protocol drop-down list. The choices are:

For more information on these protocols, see the iWay Service Manager Protocols Guide.

Click Next. The Properties dialog box opens. The properties that appear depend on the Emitter Type you selected. The following image is the dialog box that appears when you select the AQ protocol.

When you are finished defining the emitter, click Finish. The Emitter object icon appears in the workspace.


Top of page

x
Queue Object

The Queue object sends or receives documents using a supported queue type. The following image shows the Queue object icon.

When you add a Queue object to a process flow, the New Queue Object dialog box opens, as shown in the following image.

Type a descriptive name to identify the Emitter object and type a brief description (optional). The Deactivate option suppresses the function of the object without removing it from the process flow, which is useful for debugging. The Design mode option allows you to include the object in the process flow as a place marker, that is, without defining its parameters.

Click Next. The Queue Type and SubType dialog box opens, as shown in the following image.

Select the queue type from the Type drop-down list, and the queue subtype from the Sub Type drop-down list.

The available queue types are:

Click Next. The Properties dialog box opens. The properties that appear depend on the Queue Type you selected. The following image is the dialog box that appears when you select SonicMQ.

Define the appropriate properties and click Finish. The Queue object icon appears in the workspace.


iWay Software