Tib BW Palette Reference
Tib BW Palette Reference
BusinessWorks™
Palette Reference
Software Release 5.13
August 2015
Two-Second Advantage®
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED
OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED
ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED
SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR
ANY OTHER PURPOSE.
USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A
LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE
AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER
LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE
SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE
LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED
IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS
AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN
AGREEMENT TO BE BOUND BY THE SAME.
This document contains confidential information that is subject to U.S. and international copyright laws and
treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO
Software Inc.
TIBCO, Two-Second Advantage, TIBCO Hawk, TIBCO Rendezvous, TIBCO Runtime Agent, TIBCO
ActiveMatrix BusinessWorks, TIBCO Administrator, TIBCO Designer, TIBCO ActiveMatrix Service Gateway,
TIBCO BusinessEvents, TIBCO BusinessConnect, and TIBCO BusinessConnect Trading Community
Management are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or
other countries.
Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform Enterprise Edition
(J2EE), and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation
in the U.S. and other countries.
All other product and company names and marks mentioned in this document are the property of their
respective owners and are mentioned for identification purposes only.
THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL
OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME
TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC
OPERATING SYSTEM PLATFORM.
THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.
CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE
INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE
IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN
THIS DOCUMENT AT ANY TIME.
THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR
INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING
BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.
Copyright © 2001-2015 TIBCO Software Inc. ALL RIGHTS RESERVED.
TIBCO Software Inc. Confidential Information
| iii
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Changes from the Previous Release of this Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
TIBCO ActiveMatrix BusinessWorks Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
Other TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii
Connecting with TIBCO Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv
How to Join TIBCOmmunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv
How to Access TIBCO Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv
How to Contact TIBCO Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
Figures
Tables
Preface
Topics
For details, refer to the section Reconnecting to JMS Servers, page 485.
Related Documentation
Typographical Conventions
Convention Use
TIBCO products are installed into an installation environment. A product
installed into an installation environment does not access components in other
installation environments. Incompatible products and multiple instances of the
same product must be installed into different installation environments.
An installation environment consists of the following properties:
ENV_NAME • Name Identifies the installation environment. This name is referenced in
documentation as ENV_NAME. On Microsoft Windows, the name is
appended to the name of Windows services created by the installer and is a
component of the path to the product shortcut in the Windows Start > All
Programs menu.
• Path The folder into which the product is installed. This folder is referenced
TIBCO_HOME
in documentation as TIBCO_HOME.
TIBCO ActiveMatrix BusinessWorks installs into a directory within a
BW_HOME TIBCO_HOME. This directory is referenced in documentation as BW_HOME. The
default value of BW_HOME depends on the operating system. For example on
Windows systems, the default value is C:\tibco\bw\5.12.
code font Code font identifies commands, code examples, filenames, pathnames, and
output displayed in a command window. For example:
Use MyCommand to start the foo process.
Convention Use
italic font Italic font is used in the following ways:
• To indicate a document title. For example: See TIBCO ActiveMatrix
BusinessWorks Concepts.
• To introduce new terms For example: A portal page may contain several
portlets. Portlets are mini-applications that run in a portal.
• To indicate a variable in a command or code syntax that you must replace.
For example: MyCommand PathName
Key Key name separated by a plus sign indicate keys pressed simultaneously. For
combinations example: Ctrl+C.
Key names separated by a comma and space indicate keys pressed one after the
other. For example: Esc, Ctrl+Q.
The note icon indicates information that is of special interest or importance, for
example, an additional action required only in certain circumstances.
The tip icon indicates an idea that could be useful, for example, a way to apply
the information provided in the current section to achieve a specific result.
The warning icon indicates the potential for a damaging situation, for example,
data loss or corruption if certain steps are taken or not taken.
Topics
Process Definition
Resource
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the process.
Custom Icon File You can choose your own custom icon for the process,
if desired. Use the Browse button to locate an image
file (GIF, JPEG, and so on) to use as the icon for this
process.
Namespace Registry Clicking the Edit button in this field allows you to
view, add, change or delete the namespaces used in
the input partners defined for this process definition.
You can also view and edit schema and WSDL
imports.
Field Description
Target Namespace Target namespace of the process definition. This field
is mandatory when specifying partners in the process
definition.
This field is generated automatically whenever you
create a process definition. While creating new
processes, it is recommended that the
targetNamespace value generated automatically be
retained. Typically, this value is
http://xmlns.example.com/<rand_num>, where
<rand_num> is replaced by a random number.
If you want to specify partners in processes that were
created in older versions, then you must provide the
targetNamespace manually.
Ensure that the value specified for targetNamespace
is unique across the project.
Process Variables
The Process Variables tab allows you to specify user-defined process variables for
the process definition. See the Processes chapter of TIBCO ActiveMatrix
BusinessWorks Process Design Guide for a complete description of user-defined
process variables.
You can assign a value to the process variables with the Assign activity. See
Assign on page 135 for more information about assigning a value to a
user-defined process variable.
This tab contains two panels:
• The left panel allows you to add, delete, and rename process variables.
• The right panel allows you to define data schemas for the process variable
selected in the left panel. See Appendix A, Specifying Data Schema, on
page 773 for more information about specifying data schema.
Partners
The Partners tab allows you to define partners for the process definition. The
partner can be either located inside the same project or it can be an external
service that can be invoked over the Internet by way of SOAP protocol.
Field Description
Partners The Partners tab allows you to specify binding
information for partner definitions. The port type and
port type namespace fields in the table are
non-editable. To modify the value of the Port Type for
a Partner, select the Browse button at the right corner
of the field Port Type below the Partners table.
Partner Name - specifies the name used by the
process to reference a partner. Click the Browse
button on the right side to add a new Partner.
Port Type - This is a non-editable field displaying the
Port Type selected.
PortType Namespace - This is a non-editable field
displaying the PortType Namespace corresponding to
the Port Type selected.
Partner Link - specifies the partner link configuration
for the partner. This field can optionally be specified
by double-clicking on the field and browsing the list
of available partner link resources in the project.
Port Type Allows you to select an interface (port type) from the
list of available partner interfaces in the project. To
add or modify the Port Type, click the Browse
Resources button at the right end of the field and
select the Port Type you want to add to the Partners
tab.
You can use these activities to communicate with adapters that are supported by
TIBCO ActiveMatrix BusinessWorks. See your adapter documentation for
information on whether TIBCO ActiveMatrix BusinessWorks is supported.
Topics
Internationalization Support
TIBCO ActiveMatrix BusinessWorks and TIBCO Adapter products can send text
messages that are encoded using either the Latin-1 or UTF-8 character encoding.
Both the sender and receiver of the message must use the same encoding. The
character encoding sent by resources configured in TIBCO Designer is set at the
project level during design time. For deployed projects, TIBCO Administrator
allows you to set the message encoding.
At design time, the message encoding property can be set when creating a new
project. In the Save Project dialog, choose either ISO8859-1 or UTF-8 in the TIBCO
Messaging Encoding option list. See TIBCO ActiveMatrix BusinessWorks Process
Design for more information about saving projects. After the messaging encoding
is chosen, it will take effect at design time, such as in debug mode, or if the project
is running in a standalone mode before deployment.
After the project is deployed, the messaging encoding is determined by the
encoding property of the TIBCO Administrator domain. This property is set when
the domain is created. ISO8859-1 and UTF-8 are the two supported character
encoding options. The messaging encoding set for the domain overrides any
encoding set for a project.
The Refresh Adapter Service button is only enabled when you use all settings
from the Adapter Service. That is, if you change the Transport Type on the
Transport tab to anything other than Adapter Service Default, the Refresh
Adapter Service button becomes disabled.
If you want to keep your ActiveEnterprise Adapter activities synchronized with
an adapter service, do not change the Transport Type.
If you want to use a different transport configuration for the activity, you should
check the Custom AESchema field on the Configuration tab and specify the
adapter service schema in the Custom AESchema Reference field, and then
modify the settings on the Transport tab.
Transport Tab
Transports specify the underlying communication characteristics for messages
sent and received by adapter services. Normally, the activities of the
ActiveEnterprise Adapter palette use the same transport configuration as the
adapter service with which they are communicating. However, in some
situations, you may want to override the transport configuration of the adapter
service and use different transport parameters.
The Transport tab is available in activities in the ActiveEnterprise Adapter palette.
This tab allows you to override the transport configuration of the adapter service.
The Transport tab has different fields depending upon which transport is selected
in the Transport Type field. Table 2 describes the fields of the transport tab.
Global
Field Description
Var?
Transport Type No The transport on which the incoming request
will be received. This is normally the transport
used by the adapter service, but you can
override this by specifying different transport
parameters. The possible values for this field
are:
• Adapter Service Default
• Tibrv Reliable
• Tibrv Certified
• Tibrv Certified Message Queue
• JMS Topic
• JMS Queue
The sub-sections of this table describe the fields
that appear when each of these options is
selected as the transport type.
Global
Field Var? Description
Message Format Yes Specifies the message format for the message.
This can be either AE message format or AE
XML format. This field is only available on the
Transport tab of the following activities:
• Adapter Subscriber
• Publish to Adapter
• Wait for Adapter Message
Global
Field Var? Description
Sync Ledger Yes When checked, this specifies the ledger file
should be kept synchronous (asynchronous
ledger updates are performed, if this field is
unchecked).
Default Time Limit Yes The default message time limit for certified
messages specified in milliseconds.
Global
Field Var? Description
Message Format Yes Specifies the message format for the message.
This can be either AERV or XML. This field is
only available on the Transport tab of the
following activities:
• Adapter Subscriber
• Publish to Adapter
• Wait for Adapter Message
Complete Time Yes The amount of time (in seconds) the scheduler
waits for a worker process to complete. If the
worker process does not complete in the
specified period, the scheduler reassigns the
message to another worker.
Scheduler Weight Yes The scheduler weight for the process engine.
Global
Field Var? Description
Worker Weight Yes The worker weight for the process engine.
Message Format Yes Specifies the message format for the message.
This can be either AERV or XML. This field is
only available on the Transport tab of the
following activities:
• Adapter Subscriber
• Wait for Adapter Message
Global
Field Var? Description
Global
Field Var? Description
Time To Live Yes This field is only available on the Transport tab
of the Publish to Adapter or Invoke an Adapter
Request-Response Service activities.
This field specifies the expiration time (in
milliseconds) for the message. Specifying zero
signifies the message should never expire.
Global
Field Var? Description
Connection User Yes The user name to use when connecting to the
Name JMS server.
Global
Field Var? Description
Time To Live Yes This field is only available on the Transport tab
of the Publish to Adapter or Invoke an Adapter
Request-Response Service activities.
This field specifies the expiration time (in
milliseconds) for the message. Specifying zero
signifies the message should never expire.
Global
Field Var? Description
Connection User Yes The user name to use when connecting to the
Name JMS server.
Global
Field Var? Description
Basic
The Basic tab of the SSL Configuration dialog allows you to specify the simplest
required SSL configuration parameters for the connection. The Basic tab has the
following fields:
Field Description
Trusted Certificates Location of the trusted certificates on this
Folder machine. The trusted certificates are a collection of
certificates from servers to whom you will
(JMS Transports)
establish connections. If the server you want to
establish a connection to presents a certificate that
does not match one of your trusted certificates,
the connection is refused.
This prevents connections to unauthorized
servers.
Field Description
Identity This is an Identity resource used to authenticate to
the JMS server or TIBCO Rendezvous daemon.
The Browse button allows you to select from a list
of appropriately configured Identity resources.
For TIBCO Rendezvous transports, only Identity
resources with the Type field set to Identity File or
Username/Password are listed.
See TIBCO Designer Palette Reference for more
information.
Advanced
The Advanced tab of the SSL Configuration dialog allows you to specify more
advanced SSL configuration parameters for the connection. The Advanced tab is
available only for JMS transports.
Field Description
Trace Specifies whether SSL tracing should be enabled
during the connection. If checked, the SSL connection
messages are logged and sent to the console.
Verify Host Name Specifies whether to verify that the host you are
connecting to is the expected host. The host name in
the host’s digital certificate is compared against the
value you specify in the Expected Host Name field. If
the host name does not match the expected host
name, the connection is refused.
Field Description
Expected Host Name Specifies the name of the host you are expecting to
connect to. This field is only relevant if the Verify
Host Name field is also checked.
If the name of the host in the host’s digital certificate
does not match the value specified in this field, the
connection is refused.
This prevents other hosts from attempting to
impersonate the specified host.
Strong Cipher Suites When checked, this field specifies that the minimum
Only strength of the cipher suites used can be specified
with the
bw.plugin.security.strongcipher.minstrength
custom engine property. See TIBCO ActiveMatrix
BusinessWorks Administration for more information
about this property. The default value of the property
disables cipher suites with an effective key length
below 128 bits.
When this field is unchecked, only cipher suites with
an effective key length of up to 128 bits can be used.
Application
Adapter
Request-
Response
Invocation
Service
Request
Business Process
Adapter
Request-
Response
Server
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Transport
See Transport Tab on page 8 for more information about the Transport tab.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Field Description
Custom Id This field can contain an XPath expression that
specifies a custom ID for the process instance. This ID
is displayed in the View Service dialog of TIBCO
Administrator, and it is also available in the
$_processContext process variable.
Output
The output for the activity is the following.
Adapter Subscriber
Process Starter
Application
Adapter
Publishing
Service
Publish
Business Process
Adapter
Subscriber
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Transport
See Transport Tab on page 8 for more information about the Transport tab.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Field Description
Custom Id This field can contain an XPath expression that
specifies a custom ID for the process instance. This ID
is displayed in the View Service dialog of TIBCO
Administrator, and it is also available in the
$_processContext process variable.
Output
The output for the activity is the following.
Application
Adapter
Request-
Response
Service
Request
Business Process
Invoke an Adapter
Request-Response
Service
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Transport
See Transport Tab on page 8 for more information about the Transport tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Publish to Adapter
Activity
Application
Adapter
Subscription
Service
Publish
Business Process
Publish to
Adapter
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Transport
See Transport Tab on page 8 for more information about the Transport tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
This activity only produces output when the RequestReply field on the
Configuration tab is checked. The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Application
Adapter
Request-
Response
Invocation
Service
Reply
Business Process
Respond to Adapter
Request
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Application
Adapter
Request-
Response
Invocation
Service
Reply
Business Process
Send Exception to
Adapter Request
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Waits for the receipt of a message from the publication service of the
specified adapter.
Publication services are configured during adapter configuration,
and the activity uses the information in the adapter configuration to
fill in most of the fields of this activity. See your adapter
documentation for more information about creating adapter configurations and
creating adapter publication services.
See Scalability With Incoming Events on page 226 in TIBCO ActiveMatrix
BusinessWorks Process Design Guide for information on running the "Wait for..."
activities in a multi-engine mode.
Figure 7 illustrates an adapter publishing service publishing a message and the
Wait for Adapter Message activity receiving the message in a business process.
Application
Adapter
Publishing
Service
Publish
Business Process
Wait for
Adapter
Message
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Transport
See Transport Tab on page 8 for more information about the Transport tab.
Event
The Event tab has the following fields.
Field Description
Candidate Event Key Expression built from the data of the incoming
message. This expression should evaluate to a string
and it is compared to the "key" field of the activity’s
input. If the Candidate Event Key and the activity’s
key match, then the process accepts the incoming
message.
For example, you may have a Publish to Adapter
activity that sends a message with a particular ID.
You are expecting a reply message that contains that
same ID so that you can determine the message is a
response to your sent message. You would specify
the field of the incoming message that contains your
ID in the Candidate Event Key. You would then use
the message ID of the message you sent earlier in the
process as the "key" field in the input.
This expression is specified in XPath, and only data
from the incoming event is available for use in this
XPath expression. See TIBCO ActiveMatrix
BusinessWorks Process Design for more information
about XPath expressions.
When building an expression in the Candidate Event Key field, only data from
the incoming event is available. This is because you want to place an expression
containing incoming event data in the Candidate Event Key field. When the
results of this expression match the results of the expression in the "key" item on
the Input tab, the Wait For Adapter Message activity proceeds.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Application
Adapter
Request-
Response
Invocation
Service
Request
Business Process
Wait for
Adapter
Request
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Transport
See Transport Tab on page 8 for more information about the Transport tab.
Event
The Event tab has the following fields.
Field Description
Candidate Event Key Expression built from the data of the incoming
message. This expression should evaluate to a string
and it is compared to the "key" field of the activity’s
input. If the Candidate Event Key and the activity’s
key match, then the process accepts the incoming
message.
For example, you may have a Invoke an Adapter
Request-Response activity that sends a request with
a particular ID. You are expecting a response
message that contains that same ID so that you can
determine the message is a response to your sent
message. You would specify the field of the
incoming reply that contains your ID in the
Candidate Event Key. You would then use the
message ID of the request you sent earlier in the
process as the "key" field in the input.
This expression is specified in XPath, and only data
from the incoming event is available for use in this
XPath expression. See TIBCO ActiveMatrix
BusinessWorks Process Design for more information
about XPath expressions.
When building an expression in the Candidate Event Key field, only data from
the incoming event is available. This is because you want to place an expression
containing incoming event data in the Candidate Event Key field. When the
results of this expression match the results of the expression in the "key" item on
the Input tab, the Wait For Adapter Request activity proceeds.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
The File palette is used to read, write, delete, or create files. This palette also has a
process starter that allows you to poll for files and start a process based on the
presence of a file.
Topics
Copy File
Activity
The Copy File activity allows you to copy files and directories to a new
location.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Create File
Activity
The Create File activity creates a new file or directory with the specified
name. When creating a file, you can also provide the file contents.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
File Poller
Process Starter
The File Poller process starter polls for files or directories with the given
name and starts a process when the specified change (creation,
modification, deletion) is detected.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
File Name Yes The path and name of the file or directory to
monitor. Use the Browse button to locate an
existing file.
You can also use wildcards to monitor a directory
for files that match the given specification. For
example, C:\files\*.log would match any
change to a file in the files directory with an
extension of .log.
Polling Interval Yes Polling interval (in seconds) to check for the
(sec) specified file.
Include No Check for the file among the files that existed
Existing Files before the process engine started running.
When this field is checked, if an existing file
matches the specification in the File Name field
when a process engine starts, then a new process
instance is created.
If this field is not checked, any existing files that
match the specification in the File Name field are
ignored until there is a change in the file.
Content as Yes The type of content in the file. Can be either text
or binary.
Encoding Yes The character encoding for the file (when text is
specified in the Content as field).
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Poll for Create No Checking this field starts a new process when a
Events file or directory matching the specification in the
File Name field is created. If this field is
unchecked, newly created files/directories are
ignored.
Poll for Modify No Checking this field starts a new process when a
Events file or directory matching the specification in the
File Name field is modified. If this field is
unchecked, modifications to files/directories are
ignored.
Poll for Delete No Checking this field starts a new process when a
Events file or directory matching the specification in the
File Name field is deleted. If this field is
unchecked, deletions of files/directories are
ignored.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output
The output for the activity is the following.
List Files
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Read File
Activity
The Read File activity is used to read a file and place its contents into
the activity’s output.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Exclude File No Specifies not to load the data from the file into this
Content activity’s output. If this field is checked, the
contents of the file are not available to subsequent
activities in the process definition.
Read as Yes The type of content in the file. Can be either text
or binary.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Remove File
Activity
The Remove File activity removes the specified file. This activity can
also remove empty directories. If a directory that is not empty is
specified, an exception is thrown.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Rename File
Activity
The Rename File activity is used to rename or move files. This activity
can also rename directories, but you cannot use this activity to move a
directory to a new location.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The Wait for File Change activity waits for a file creation, modification,
or deletion event to occur during process execution. When this activity
is executed, the process instance suspends and waits for the specified
change to occur before resuming.
See Scalability With Incoming Events on page 226 in TIBCO
ActiveMatrix BusinessWorks Process Design Guide for information on running the
"Wait for..." activities in a multi-engine mode.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
File Name Yes The path and name of the file to poll for. You can
use the Browse button to locate an existing file.
You can also use wildcards to monitor a
directory for files that match the given
specification. For example, C:\files\*.log
would match any change to a file in the files
directory with an extension of .log.
Exclude File Yes Specifies not to load the data from the file into
Content this activity’s output. If this field is checked, the
contents of the file are not available to
subsequent activities in the process definition.
Content as Yes The type of content in the file. Can be either text
or binary.
Event
The Event tab has the following fields.
Field Description
Candidate Expression built from the data of the incoming file change
Event Key event. This expression should evaluate to a string and it is
compared to the "key" field of the activity’s input. If the
Candidate Event Key and the activity’s key match, then the
process accepts the incoming file change event.
For example, you may have created a file earlier in the
process and you may want to wait for an external
application to modify the file. When the external
application modifies the file, it appends the word
"Changed" to the filename to signify the file is ready for
processing.
You should specify the $fileInfo/fileName for the
Candidate Event Key field, and you should specify
concat("$CreateFile/fileName", "Changed") for the
"key" field on the Input tab. $CreateFile/filename is the
name of the file created earlier in the process. This
expression is specified in XPath, and only data from the
incoming event is available for use in this XPath expression.
See TIBCO ActiveMatrix BusinessWorks Process Design for
more information about XPath expressions.
Event Timeout A file change may occur before this activity is executed.
(msec) This field specifies the amount of time (in milliseconds) to
wait if the file change occurs before this activity is executed
in the process instance. If the event timeout expires, an error
is logged and the event is discarded.
If no value is specified in this field, the message waits
indefinitely. If zero is specified, the event is discarded
immediately, unless this activity has already been executed.
When building an expression in the Candidate Event Key field, only data from
the incoming event is available. This is because you want to place an expression
containing incoming event data in the Candidate Event Key field. When the
results of this expression match the results of the expression in the "key" item on
the Input tab, the Wait For File Change activity proceeds.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
timeOccured integer The time that the Wait for File Change
activity detected the change in the file.
The time is expressed as the amount of
time, in milliseconds since midnight,
January 1, 1970, UTC.
Write File
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Topics
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Timeout integer The amount of time to wait for the FTP server
to respond. This timeout is used when the
FTP server places the FTP connection used by
this activity into a waiting state.
This overrides the value specified in the FTP
Connection resource. See FTP Connection on
page 93 for more information.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
FTP Connection
Shared Configuration
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
User Name User name to use when logging into the FTP server.
Field Description
Connection Timeout The timeout specified in this field (in milliseconds)
(msec) applies to the following situations:
• Making the control socket connection to the FTP
Server
• Making the data socket connection to the FTP
server (passive mode)
• Waiting for the data socket connection from the
FTP server (active mode)
• Reading a reply from control socket after sending
a FTP control command.
• Reading data from data socket.
If the specified time is reached when attempting any
of these operations, the activity using this FTP
connection terminates without error and takes any
matching success transitions to the next activity in the
process definition.
Field Description
Proxy Port Used when the remote FTP server is outside of a
firewall. Specifies the port number of the firewall
server.
Proxy User Name Used when the remote FTP server is outside of a
firewall. Specifies the user name to use to connect to
the proxy server, if necessary.
Field Description
Trusted Certificates Specifies a folder in the project containing one or more
Folder certificates from trusted certificate authorities. This
folder is checked when a client connects to ensure that
the server’s certificate is from a trusted certificate
authority. This prevents connections from rogue
servers.
Field Description
Verify Host Name Specifies to check that the host name of the FTP server
against the host name listed in the server’s digital
certificate. This provides additional verification that
the host name you believe you are connecting to is in
fact the desired host.
If the host name specified in the Host field on the
Configuration tab is not an exact match to the host
name specified in the server’s digital certificate, the
connection is refused.
Note: If you specify an equivalent hostname (for
example, an IP address) in the Host field, but the name
is not an exact match of the hostname in the host’s
digital certificate, the connection is refused.
Strong Cipher Suites When checked, this field specifies that the minimum
Only strength of the cipher suites used can be specified with
the
bw.plugin.security.strongcipher.minstrength
custom engine property. See TIBCO ActiveMatrix
BusinessWorks Administration for more information
about this property. The default value of the property
disables cipher suites with an effective key length
below 128 bits.
When this field is unchecked, only cipher suites with
an effective key length of up to 128 bits can be used.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the
activity in the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
FTP DIR
Activity
The FTP DIR activity provides a listing of files in the specified directory of
the FTP server.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Password string Password for logging into the FTP server. This
overrides the value specified in the FTP
Connection resource.
Timeout integer The amount of time to wait for the FTP server
to respond. This timeout is used when the FTP
server places the FTP connection used by this
activity into a waiting state.
This overrides the value specified in the FTP
Connection resource. See FTP Connection on
page 93 for more information.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
FTP Get
Activity
The FTP Get activity issues an FTP get or mget command to the
specified server. The content of the remote files can be placed in the
activity’s output or written directly to local storage. If you choose to
place the contents of a remote file into the activity’s output, you can only
retrieve one remote file (FTP get command) and the file’s content will be stored in
memory as part of the activity’s output. If you choose to write the contents of the
retrieved files to local storage, you can retrieve one or more files (FTP get or mget
commands).
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Overwrite Yes When this field is checked, and the Use Process
Existing File Data field is unchecked, any existing local files
are overwritten if the FTP command returns
files with the same names.
If this field is unchecked, any attempt to write a
file to disk with the same name as an existing
file results in an exception.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Host string The name of the FTP server. This overrides the
value specified in the FTP Connection
resource.
Encoding string When the retrieved file is not binary and the
Use Process Data field on the Configuration
tab is checked, this specifies the character
encoding of the retrieved file.
If this is not specified, it is assumed that the
encoding of the file is the same encoding of
the machine where the FTP command is
executed. If the encoding of the local machine
and the FTP server are different, specify the
encoding used by the FTP server in this
element and the activity converts the retrieved
file into the local machine’s encoding.
Timeout integer The amount of time to wait for the FTP server
to respond. This timeout is used when the FTP
server places the FTP connection used by this
activity into a waiting state.
This overrides the value specified in the FTP
Connection resource. See FTP Connection on
page 93 for more information.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The FTP Get Default Directory activity retrieves the name of the
current remote directory. The default remote directory is operating
system-dependent and determined by the remote FTP server. On
UNIX systems, the default remote directory is usually the home
directory of the user account that is used to establish an FTP
connection.
The current remote directory may be different from the default directory, because
you can use the FTP Change Default Directory or FTP Quote activities to issue an
FTP command to change to a different directory. This activity returns the
currently set remote directory.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Port integer Port number for incoming FTP requests on the FTP
server. This overrides the value specified in the
FTP Connection resource.
UserName string Username for logging into the FTP server. This
overrides the value specified in the FTP
Connection resource.
Password string Password for logging into the FTP server. This
overrides the value specified in the FTP
Connection resource.
Timeout integer The amount of time to wait for the FTP server to
respond. This timeout is used when the FTP server
places the FTP connection used by this activity into
a waiting state.
This overrides the value specified in the FTP
Connection resource. See FTP Connection on
page 93 for more information.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
FTP Put
Activity
The FTP Put activity issues an FTP put or mput command to the
specified server. You can use process data as the content of the file to
send to the remote server or you can send files in local disk storage. If
you choose to use process data, you can place only one file on the
remote server (FTP put command). If you use locally stored files, you can place
one or more files on the remote server (FTP mput command).
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Timeout (msec) Yes The amount of time to wait (in milliseconds) for
the FTP server to respond. This timeout is used
when the FTP server places the FTP connection
used by this activity into a waiting state.
This overrides the value specified in the FTP
Connection resource. See FTP Connection on
page 93 for more information.
Use Process Data Yes Specifies to use process data as the content of the
file to place on the remote server. If this field is
checked, you can only place one file on the
remote server.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
LocalFilename string The path and name of the local file to use
in the FTP Put command. This item is
only available if the Use Process Data
field is unchecked.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
FTP Quote
Activity
The FTP Quote activity sends an arbitrary FTP command to the FTP
server. You can determine which FTP commands are supported by
using the Available Commands button on the FTP Connection shared
configuration resource. FTP commands vary by operating system and
by FTP version and configuration, so you should determine which commands are
available on the remote server before using this activity.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Has Socket Data No If checked, indicates that data will be sent back
by the FTP server as a result of executing the
command.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The FTP Rename File activity renames the specified file on the
remote FTP server.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
NewRemoteFilename string New name for the remote file. You can
optionally include the complete path of
the file.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The FTP Sys Type activity retrieves the FTP server’s operating system
type.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Port integer Port number for incoming FTP requests on the FTP
server. This overrides the value specified in the FTP
Connection resource.
UserName string Username for logging into the FTP server. This
overrides the value specified in the FTP Connection
resource.
Password string Password for logging into the FTP server. This
overrides the value specified in the FTP Connection
resource.
Timeout integer The amount of time to wait for the FTP server to
respond. This timeout is used when the FTP server
places the FTP connection used by this activity into
a waiting state.
This overrides the value specified in the FTP
Connection resource. See FTP Connection on
page 93 for more information.
Output
The output for the activity is the following.
• UUNIX
• Windows_NT
• MVS_OS390
• UNKNOWN
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Topics
Assign
Activity
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Process Variable to Set A drop down list of the available user-defined process
variables for the process definition. You can select any
user-defined process variable to modify.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
This activity produces no output.
Call Process
Activity
You should only call processes that have Start activities. Do not call processes that
begin with a process starter such as HTTP Receiver or Receive Mail. Providing the
name of a process with a process starter results in an exception at run time.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Process Name The process definition you would like to call. You can
browse the available process definitions.
Field Description
Custom Id This field is only available when the Spawn field is
checked.
This field can contain an XPath expression that
specifies a custom ID for the spawned process
instance. This ID is displayed in the View Service
dialog of TIBCO Administrator, and it is also
available in the $_processContext process variable
in the spawned process instance.
Custom Icon File File to use for the Call Process activity in the process
definition. This allows you to customize the look of
your process definition with your own images.
Use the full path and name of the process file as stored in the project directory.
When you use the Process Name Dynamic Override field, you must also specify a
process to call in the Process field. The input, output, and error definitions of the
specified process must be the same as any process that the expression in the
Process Name Dynamic Override field can evaluate to.
If you use the Process Name Dynamic Override field, make sure you include all
potentially callable subprocesses when you create your Process Archive for
deployment. TIBCO Designer cannot determine which subprocesses are
potentially callable at design time, and therefore they cannot be automatically
included in a process archive. See TIBCO Designer User’s Guide for more
information about creating process archives.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Catch
Activity
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Input
This activity has no Input.
Output
The output for the activity is the following.
Checkpoint
Activity
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Called Processes
Checkpoints save the state of the entire process instance. By default when a
process calls another process, the subprocess is executed in the same process
instance as the calling process. If the called process spawns a new machine
process, however, the called process is a new process instance.
When a checkpoint occurs in a called process, the checkpoint saves the state of the
current process instance. If no called processes spawn new process instances, then
a checkpoint in any called process saves the state of the process instance,
including state from the parent process(es) of the current process. In the case of a
called process that spawns a new process instance, only the spawned process
instance is saved.
By default, checkpointed process instances are restarted when the engine restarts.
If the engine encounters errors during startup, the restarted process instances
continue to be processed and may eventually be lost depending upon the type of
error at startup. You can specify to shut down the process engine if any errors are
encountered during startup so that checkpointed jobs are not lost in the event of
an error. The custom engine property named Engine.ShutdownOnStartupError
controls this behavior. By default, the value of the property is false. Setting the
property to true shuts the engine down if errors are encountered when the
engine starts.
See TIBCO ActiveMatrix BusinessWorks Administration for more information about
setting custom engine properties.
Confirm
Activity
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
See Checkpoints and the Confirm Activity on page 144 for more information
about using the Checkpoint and Confirm activities in a process definition.
It is not recommended to use the Confirm Activity with in the Service Resource
process as this will unblock the TIBCO ActiveMatrix provider thread. The new
message will still flow on that thread eventhough the TIBCO ActiveMatrix
BusinessWorks process execution continues for the previous message.
Custom Activity
Resource
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the custom
activity. This name also becomes the default name of
the activity when it is dragged and dropped into a
process definition.
Field Description
Custom Icon File The icon you want to display for the custom activity.
Engine Command
Activity
Before using this activity, the Hawk.Enabled property must be set to either true
or local. Also, some commands require memory and processor overhead for
gathering statistics or for getting information on the current state of the process.
Because of the performance implications, certain instrumentation is disabled by
default. You can enable instrumentation for a specific process or for all processes
with the Instrumentation property.
See TIBCO ActiveMatrix BusinessWorks Administration for more information about
setting custom engine properties.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Commands
The following are the commands that can be executed by this activity and the
corresponding input and output for each command.
GetActivityStats
Retrieves information about the activities that have been executed for a given
process definition since the engine was started. The activity information is
cumulative. A single activity name represents all executions of that activity.
The ExecutionTime computation for the Call Process Activity includes the sum of
the execution times for all activities in the called process, not just the execution
time for the call process activity itself.
GetProcessDefinitionStats
Retrieves information about process definitions. I
GetProcessInstanceExceptions
Retrieves error information reported by the specified process.
GetProcessInstanceInfo
The values of the input elements for this command specify for which process
instances you want to retrieve information. If you specify more than one input
element, the values are treated as an AND condition. For example, If you specify
the process definition name and the minimum duration, information for process
instances for the specified process definition that meet the minimum duration
time will be returned.
GetProcessStarterStats
Retrieves information about either active or inactive process starters. The
information is cumulative. A single process starter name represents all executions
of that process starter.
GetRecoverableProcesses
Retrieves the process instances that can be recovered. See TIBCO ActiveMatrix
BusinessWorks Administration for more information about recoverable process
instances. Use the returned process ID in the RestartRecoverableProcess or
RemoveRecoverableProces commands.
KillProcessInstance
Kills the specified process instance. The process instance is stopped immediately
and permanently removed from the engine.
ListAllRoles
Returns a list of all roles, along with the current state (enabled or disabled) of each
role.
ListUserRoles
Returns a list of all user roles, along with the current state (enabled or disabled) of
each role.
RemoveRecoverableProcess
Removes the specified recoverable process instance from the list of potential
recoverable processes. After executing this command, the checkpoint data of the
specified process instance is removed and the process instance will no longer be
able to be recovered. Obtain the process ID of the recoverable process with
GetRecoverableProcesses the command.
RestartRecoverableProcess
Restarts the specified recoverable process instance. Obtain the process ID of the
recoverable process with GetRecoverableProcesses the command.
ResumeProcessInstance
Resumes the specified process instance.
ResumeProcessStarter
Resumes the specified process starter.
StartStatsCollector
Enables collection of statistics for each executed activity. See TIBCO ActiveMatrix
BusinessWorks Administrationfor more information about collecting activity
statistics.
StopStatsCollector
Disables collection of statistics for each executed activity. See TIBCO ActiveMatrix
BusinessWorks Administrationfor more information about collecting activity
statistics.
Shutdown
Shuts down the process engine. If no input is provided, this command shuts
down the engine immediately. You can optionally specify an amount of time to
delay the shut down of the engine or you can specify that the engine should wait
for any checkpointed process instances to complete before shutting down.
SuspendProcessInstance
Suspends the specified process instance.
SuspendProcessStarter
Suspends the specified process starter.
External Command
Activity
Long-Running Commands
If you want to execute long-running commands (such as daemons), it may not be
practical to execute the command directly. Because the specified command must
terminate before control is passed to the next activity, the process instance must
run until the external command completes. To avoid this problem, you may want
to create a script that runs the desired commands in the background.
The syntax of executing commands as background processes differs by operating
system. For example, on UNIX, to run a command in the background, you
append the ampersand character (&) to the command. On Microsoft Windows,
you use the START command in a batch file to run a command in a different
process.
After creating a script to run commands in the background, specify the script as
the command to run in the External Command activity. The script runs the
desired command and returns the process ID of the process it started. The return
code of the script is stored in the returnCode item of the External Command
activity’s output.
If you want to start a long-running command in the background and then later
terminate the background process, you should store the process ID returned by
the script in a file or database table. Another process instance can then read the
process ID and kill the process with the appropriate operating system command
when necessary.
Configuration
The Configuration tab has the following fields.
Make Output Yes When checked, this field specifies that the
Available as output sent to standard output and standard
Activity Output error by the command should be available in
the output schema of this activity.
For commands that produce a large amount of
output, it is recommended to uncheck this
field and write the output to a file. This saves
memory and allows you to use other activities,
such as Read File and Parse Data, to handle the
output file more efficiently.
Output Filename Yes Name and location of the file for storing any
output or errors produced by the command. If
this field is blank, no output file is created.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Generate Error
Activity
... ...
CreditCheck Subprocess
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
handling errors in process definitions.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Select Error Schema The process error schema to send to the parent
process. - Default - specifies that the error should be
propagated only in the $_error process variable.
Process error schemas are defined on the Error
Schemas tab of the End activity for the process. The
schema specified in this field is added to the Input
schema for this activity. Data mapped to the error
schema is propagated to the parent process.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about specifying process error
schemas.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
This activity produces no output.
The Get Shared Variable activity retrieves the current value of a Shared
Variable or Job Shared Variable resource. If you are using this activity to
retrieve the value of a Shared Variable resource, you may want to use a
critical section group to ensure that no other process instances are
altering the value of the shared variable at the same time.
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
shared variables and critical section groups.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Output
The output for the activity is the following.
Inspector
Activity
The Inspector activity is used to write the output of any or all activities
and process variables to a file and/or stdout. This is particularly useful
when debugging process definitions and you want to see the entire
schema instead of mapping specific elements to the Write File activity.
You can use the inspector activity to write the output of any activity or process
variable in the current process. Activities and process variables in a subprocess
are not available to the Inspector activity (but the output of a Call Process activity
can be written using the Inspector activity). If you want to obtain the output from
one or more activities or process variables in a subprocess, place the Inspector
activity in the process definition of the subprocess.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Field Description
Append to File When checked, specifies that the output should be
appended to the file specified in this activity’s input.
If unchecked, any file that exists with the specified
name is overwritten.
Suppress Job Headers When checked, this suppresses the output of header
information, such as the process instance ID and the
timestamp. If unchecked, header information for the
current process instance is written before the output
of the activity or process variable.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
JNDI Configuration
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
JNDI User Yes User name for logging into the JNDI server
Name (javax.naming.Context.SECURITY_
PRINCIPAL). If the JNDI provider does not require
access control, this field can be empty.
Advanced
The Advanced tab has the following fields.
Global
Field Var? Description
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
Schema
The Schema tab allows you to define a custom schema to hold the data of the
variable. You can define your own datatype on this tab, and you can reference
XML schema stored in the project. See Appendix A, Specifying Data Schema, on
page 773 for a description of how to define a schema.
Initial Value
The Initial Value tab allows you to specify an initial value for the variable. You can
choose one of the following:
• None — specifies that no initial value is set for the shared variable. You must
use the Set Shared Variable activity to set a value before you can read the
value of the variable with the Get Shared Variable activity.
• Select Value — causes the Select Value field to appear. This field allows you to
choose a stored XML Instance resource containing data that matches the
schema specified on the Schema tab.
• Build Value — causes the Build Value field to appear. The Edit button brings
up a smaller version of the XML Instance configuration. In this dialog you can
construct an XML document that contains the initial value of the shared
variable.
See TIBCO Designer Palette Reference for more information on creating XML
Instance resources.
Label
Graphic Tool
The Label resource allows you to create a generic label so that you can
provide documentation and comments in your process definition. The
Label is not an activity, because you cannot draw transitions to or from it,
and it does not perform any action. You use the label to create a
descriptive tag that you can place anywhere in a process definition.
Labels can also be resized to cover an area. You can apply a border to the area by
selecting a value in the Border Type and Border Thickness fields. You can also
apply a background color to the area by selecting a color in the Background color
field. This allows you to annotate your process definition and provide colors and
borders to visually group related activities in your process definition.
The text of the label remains in the top left of the label area, but you can edit the
text either in the design panel or by editing the Description field.
Configuration
The Configuration tab has the following fields.
Field Description
Description Descriptive text that you would like to add to the
label. You can add comments here about the process
diagram. Use this field to provide documentation for
the process.
Label Color Allows you to pick a color for the text and border of
the label. Use the Chose Color button to bring up a
dialog to select a color.
Label Font Allows you to pick a font for the text of the label. Use
the Choose Font button to bring up the Font Panel
dialog.
Background Color Allows you to pick a background color for the area
the label covers. Use the Chose Color button to bring
up a dialog to select a color.
Border Thickness Allows you to specify the thickness of the border line.
0 indicates no border.
Field Description
Gradient Background Specifies whether the background color changes from
Color lighter to darker. When this checkbox is uncheked, the
background is a solid color.
The following illustrates the difference between a
gradient and solid background color. The top label
uses a gradient background color and the bottom
label uses a solid background color.
Lock Object
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
Multi-Engine Yes When checked, this field specifies the resource will
be used to synchronize process instances across
more than one process engine. If you are using this
resource to synchronize shared variable access,
make sure that the Lock Object and Shared
Variable resources have the same setting for this
field.
When synchronization is performed across process
engines, a database transaction is performed to
ensure proper execution order. Therefore, you
must configure your process engine to use a
database for storage, if you want to synchronize
Critical Section groups across process engines. See
TIBCO ActiveMatrix BusinessWorks Administration
for more information about specifying a database
for storing process engine information.
Mapper
Activity
Input Editor
The Input Editor tab defines the structure of the process variable to add to the
process definition.
You can use a simple datatype, or you can define a group of data elements on this
tab. You can also reference XML schema or ActiveEnterprise classes stored in the
project. Once defined, the data specified on the Input Editor tab becomes the
input and output schema of the Mapper activity. This data then becomes available
to other activities in the process definition.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Input Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is defined by the specified data elements on the Input
Editor tab.
Output
The output for the activity is defined by the specified data elements on the Input
Editor tab.
Notify
Activity
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
This activity produces no output.
Notify Configuration
Shared Configuration
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
Local Only When checked, this field specifies that the notification
will be performed in memory only. When unchecked,
a database is used to perform the notification.
Data
The Data tab allows you to define a custom schema. The schema can be empty, if
you do not want to pass data between processes.
You can define your own datatype on this tab, and you can reference XML schema
or ActiveEnterprise classes stored in the project. Once defined, the data specified
on the Data tab appears on the Input or Output tab of the Receive Notification,
Wait, or Notify activity where this shared configuration resource is used.
See Appendix A, Specifying Data Schema, on page 773 for a description of how to
define a schema.
Null
Activity
On Event Timeout
Process Starter
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
Any Event Source Specifies that this process starter should execute
when any event source experiences an event timeout,
and there is no On Event Timeout process definition
specified for the event source.
Field Description
Event Source Only appears when the Any Event Source field is
unchecked. This field allows you to specify for which
event source this process should execute when there
there is an event timeout.
Only one On Event Timeout process definition can
correspond to any event timeout. That is, you cannot
create multiple process definitions and use the same
Wait For ... activity the Event Source field.
Output
The output for the activity is the following.
On Notification Timeout
Process Starter
Notify timeouts cause the notify information to be marked for removal, but the
information is removed at regular intervals. The default interval for checking
Notify timeouts is 60 seconds, and therefore, the OnNotificationTimeout process
starter only starts processes after each interval. If you want to reduce the interval,
you can do so by altering the Engine.WaitNotify.SweepInterval custom
engine property to the desired number of seconds. However, as you decrease the
number of seconds in the interval you will incur further engine overhead.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
Field Description
Any Notify Config Specifies that this process starter should execute
when any Notify activity experiences a timeout, and
there is no On Notify Timeout process definition
specified for the Notify Configuration for the activity.
When this field is checked, the Notify Configuration
field becomes disabled. Uncheck this field when you
want to specify a process definition for a specific
Notify Configuration.
Notify Configuration Only appears when the Any Notify Config field is
unchecked. This field allows you to specify the Notify
Configuration that this process applies to. Only
timeouts for Notify activities with a matching Notify
Configuration will start a process instance.
Only one On Notification Timeout process definition
can correspond to any Notify Configuration. That is,
you cannot create multiple process definitions and
use the same Notify Configuration.
Output
The output for the activity is the following.
On Shutdown
Process Starter
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
On Startup
Process Starter
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
Receive Notification
Activity
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Field Description
Key The key that coordinates a Receive Notification
process starter with the corresponding Notify activity.
For example, in an order handling process, the order
ID might be the key that Receive Notification uses to
determine which Notify activity corresponds to this
process starter.
The key must be a fixed string. You may use global
variables, but XPath expressions cannot be used.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information and examples of choosing the
key for Wait, Notify, and Receive Notification.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output
The output for the activity is the following.
Rethrow
Activity
The Rethrow activity throws the exception caught by the Catch activity
again. Use this activity when you want to propagate the exception to the
next level. See the description of error handling in TIBCO ActiveMatrix
BusinessWorks Process Design for more information about using the
Rethrow activity.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Input
This activity has no Input.
Output
This activity has no Output.
The Set Shared Variable activity allows you to change the value of a
shared variable. If you are using this activity to set the value of a
Shared Variable resource, you may want to use a critical section group
to ensure that no other process instances are altering the value of the
shared variable at the same time.
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
shared variables and critical section groups.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Shared Variable
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
Schema
The Schema tab allows you to define a custom schema to hold the data of the
shared variable. You can define your own datatype on this tab, and you can
reference an XML schema stored in the project. See Appendix A, Specifying Data
Schema, on page 773 for a description of how to define a schema.
Initial Value
The Initial Value tab allows you to specify an initial value for the shared variable.
You can choose one of the following:
• None — specifies that no initial value is set for the shared variable. You must
use the Set Shared Variable activity to set a value before you can read the
value of the variable with the Get Shared Variable activity.
• Select Value — causes the Select Value field to appear. This field allows you to
choose a stored XML Instance resource containing data that matches the
schema specified on the Schema tab.
• Build Value — causes the Build Value field to appear. The Edit button brings
up a smaller version of the XML Instance configuration. In this dialog you can
construct an XML document that contains the initial value of the shared
variable.
See TIBCO Designer Palette Reference for more information on creating XML
Instance resources.
Sleep
Activity
The Sleep activity suspends the process on the current transition for the
given amount of time. If you have multiple control flows in your
process, only the current execution branch of the process is suspended.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Timer
Process Starter
The Timer process starter starts a process at a specific time. You can also
specify that processes are to be started periodically.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Start Time Yes The day and time to start the process. If the
process is to be run periodically, then the start
time indicates the first time to run the process.
The local machine’s time zone is used to
determine when the process should start. If the
project is run on machines in different time zones,
the time zone of the machine where the project
was saved is used. Use a global variable in this
field to supply start times relative to the time zone
where the project is deployed.
If you supply a global variable for this field, the
format of the specified time must be the following:
yyyy MMM dd HH:mm:ss z
Interval Unit No Unit of time to use with the Time Interval field to
determine how often to start a new process. The
units can be: Millisecond, Second, Minute, Hour,
Day, Week, Month, Year.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Field Description
Custom Id This field can contain an XPath expression that
specifies a custom ID for the process instance. This ID
is displayed in the View Service dialog of TIBCO
Administrator, and it is also available in the
$_processContext process variable.
Output
The output for the activity is the following.
Wait
Activity
The Wait activity suspends execution of the process instance and waits for
a Notify activity with a matching key to be executed in another process
instance. The key specified in the Notify Configuration resource specified
on the Configuration tab and the Key field of the Input tab creates a relationship
between the Wait activity and the corresponding Notify activity.
The same Notify Configuration shared configuration resource must be specified
by corresponding Wait and Notify activities so that data can be passed from the
process instance containing the Notify activity to this process instance. The
schema in the Notify Configuration resource can be empty, if you do not want to
pass data between processes.
The Wait, Receive Notification, and Notify activities allow running process
instances to communicate. See TIBCO ActiveMatrix BusinessWorks Process Design
for more information on inter-process communication.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Write To Log
Activity
This activity writes a message to the log. There is one log file for each
process engine.
Depending upon whether you are using a process engine in testing mode
or a deployed process engine, the logs are stored in different locations.
During test mode, the logs are stored in the TIBCO ActiveMatrix BusinessWorks
working directory under the logs subdirectory. See TIBCO Designer User’s Guide
for more information about specifying the working directory. For deployed
process engines, the log location is specified by custom engine properties. See
TIBCO ActiveMatrix BusinessWorks Administration for more information about
custom engine properties.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
This activity produces no output.
• Trace.Role.* — Setting this property to false disables all messages for all
user-defined roles.
You can also specify the character encoding of the log file by using the
log.file.encoding property.
See TIBCO ActiveMatrix BusinessWorks Administration for more information about
setting custom engine properties.
OnError
Activity
This activity provides error handling mechanism for all the errors
that happen outside the job boundaries of all processes associated
with the service resource.
You are recommended to create only one process definition with this
event source for the whole project. If you create multiple processes,
then all of them will be triggered and may not be in sequence.
Whenever an error occurs for messages triggered through Service Resource
outside of Job boundaries, the Error handler process gets triggered with the
appropriate data.
This error handler process can be used only for Logging purposes. The actual
Service MEP will not be affected.
The Error handler handles the failure in Pre-process, Post-process (failure while
sending the response), and Fault Sending scenarios. It does not catch the error
during the execution process.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Misc
The Misc tab has the following fields.
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
Guide for more information about controlling the
execution order of process instances and about XPath
expressions.
Output
The Output-tab of the onError event source contains the following schema:
• errorCode - Contains the error code useful for filtering the errors.
• errorDesc - Contains description of errors.
• errorStack (optional) - Contains stack of error logs.
• msgData - Contains the Soap-Envelope of the message.
• MessageHeaders (optional) - Contains either JMS or HTTP transport headers.
This depends on the transport for which the error is captured.
• mimeEnvelopeElement (optional) - Contains mime data.
The HTTP palette allows you to send and receive HTTP requests.
Topics
HTTP Connection
Shared Configuration
There can be at most one process with an HTTP Receiver or Wait for HTTP
Request that uses the same HTTP Connection resource. This restriction allows the
HTTP server listening for incoming requests to dispatch the request to the correct
process.
There can be more than one SOAP Event Source that uses the same HTTP
Connection.
Also, SOAP Event Source and HTTP activities can use the same HTTP Connection
resource and the HTTP server correctly dispatches the incoming request to the
correct process.
Two types of servers are available for the HTTP Connection resource: Tomcat and
HTTPComponent.
Tomcat has a synchronous request response paradigm and can be used in
scenarios where high throughput is important. To achieve a good throughput
with Tomcat, the maxprocessor value should be almost equal to the number of
concurrent requests the server can handle. Note that increasing the maxprocessor
count also increases the memory footprint.
HTTPComponent is a light-weight and scalable server based on NIO which can
be useful in scenarios where handling thousands of requests in a resource efficient
manner is more important than the throughput. HTTPComponent server gives a
consistent throughput for any number of concurrent requests with little or no
increase in its worker thread (maxprocessor thread).
You can choose the server type at runtime by setting the global property
bw.plugin.http.server.serverType in the file bwengine.tra. Using this
property, you can use the HTTPComponent server at run-time for older projects
without having to modify the server type at design-time. The value set for this
property in the bwengine.tra file overrides the value that is set in design-time.
The HTTP Connection resource can specify that the HTTPS (secure sockets layer
or SSL) protocol must be used by clients. If this is enabled, you can configure the
SSL parameters for the HTTP server using the Configure SSL Button. See
Configure SSL Button on page 219 for more information.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
The HTTPComponent server type does not support Entrust based SSL. Set
property java.property.TIBCO_SECURITY_VENDOR to j2se in the
bwengine.tra file for HTTP SSL to work with HTTPComponent server type.
Field Description
Requires Client Checking this field requires clients to present their
Authentication digital certificate before connecting to the HTTP server.
When this field is checked, the Trusted Certificates
Folder becomes enabled so that you can specify a
location containing the list of trusted certificate
authorities.
Trusted Certificates This field is only applicable when the Requires Client
Folder Authentication field is checked.
This field specifies a folder in the project containing
one or more certificates from trusted certificate
authorities. This folder is checked when a client
connects to ensure that the client is trusted. This
prevents connections from rogue clients.
Field Description
Identity This is an Identity resource that contains the HTTP
server’s digital certificate and private key.
See TIBCO Designer Palette Reference for more
information.
Strong Cipher Suites When checked, this field specifies that the minimum
Only strength of the cipher suites used can be specified with
the
bw.plugin.security.strongcipher.minstrength
custom engine property. See TIBCO ActiveMatrix
BusinessWorks Administration for more information
about this property. The default value of the property
disables cipher suites with an effective key length
below 128 bits.
When this field is unchecked, only cipher suites with
an effective key length of up to 128 bits can be used.
Advanced
The Advanced tab has the following fields
Connection Properties
URI Encoding Yes Specifies the character encoding used to decode the
URI bytes.
If you do not set any value for uriEncoding, the
default encoding set in HTTP Receiver is used.
Specifying this property automatically sets the
Tomcat property useBodyEncodingForURI to false.
compressable Yes Specifies the list of MIME types for which HTTP
MimeType compression may be used. The default value for this
comma separated list is text/html, text/xml,
text/plain.
If the same IP address is allowed and restricted, the restriction overrides the
allowance and the IP address will be restricted.
When a client sends a request that cannot be processed because no threads are
available, TIBCO ActiveMatrix BusinessWorks returns a ConnectionRefused
exception to the client.
The HTTP Receiver uses the minProcessors/maxProcessors properties to control
the flow of incoming HTTP requests. If you set the Flow Limit deployment
property for a process definition with the HTTP Receiver process starter,
maxProcessors is set to <flowLimitValue> - 1 and minProcessors is set to
<maxProcessorValue>/2. Therefore, the Flow Limit value will never be reached
because the maxProcessors property will prevent new requests from being
accepted before the Flow Limit value is reached.
HTTP Receiver
Process Starter
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Advanced
The Advanced tab contains the following fields:
Global
Field Description
Var?
Write to File No Checking this field specifies to write incoming
requests that exceed the specified threshold size to
a file instead of storing the request in memory. This
allows you to accept large incoming requests
without consuming a great deal of memory. When
this field is checked, the Directory and Threshold
Size fields appear.
Note: This option is not intended to be used with
the Parse Post Method Data option on the
Configuration tab. When Write to File is specified,
the PostData output element becomes a choice
element containing either the output FileName or
the PostData depending upon whether the data
exceeds the size specified in the Threshold Size
field. It is recommended to use either the Write to
File option or the Parse Post Method data option,
but not both at the same time.
Leaving this field unchecked specifies to keep
incoming requests in memory.
Note: Once written, the files created by using this
option are not deleted automatically. You must
manage the storage used by these files and delete
them when they are no longer used.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
If the message body is not parsed (Parse Post Method Data is unchecked on the
Configuration tab), the body of the message remains URL-encoded in the
PostData output element. If the message body is parsed, the data is decoded
before being placed into the PostData output element, and that element would
appear as follows:
name=John Smith&address=500 1/2 Main Street
The order of the parameters may not be the same in the PostData output element
as the order in the original HTTP request sent by the client when the message
body is parsed.
Because the PostData output element can contain different data and be a different
length depending upon whether the message body is parsed, it is recommended
that you obtain data from the parameters output element when the message body
is parsed.
Output Headers
The Output Headers tab describes the data structure for the headers of the HTTP
request. You can use the default structure, or you can alter the structure, if the
incoming request has a specific data structure for the header of the request. This
tab uses the mechanism described in Appendix A, Specifying Data Schema, on
page 773 to specify the data structure for the headers. See that appendix for more
information about creating a customized data structure.
Header structure is defined by the HTTP protocol. See the HTTP Protocol
specification for more information about the fields and content of the header of a
HTTP request. You can obtain this specification at www.w3.org.
The default header fields are the following.
Accept-Charset string This field specifies the character sets that are
acceptable for response messages for the
incoming request. For example,
iso-8859-5, unicode-1-1. Character sets
are described in the HTTP specification.
If no Accept-Charset header is present, then
it is assumed that the client accepts any
character set.
Content-Length string This field indicates the size of the entity body
(in decimal number of OCTETs) sent to the
receiver.
This field takes into account the encoding of
the message body. See Special Characters in
HTTP Requests on page 229 for more
information on when the message body is
URL encoded.
Output
The output for the activity is the following.
RemoteHost String Host name of the remote host that sent the
HTTP request. This element is only available
when the Enable DNS Lookups field is
checked on the Advanced tab of the HTTP
Connection used by this activity.
Proxy Configuration
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Port The port on the host machine to send the request to.
The default port is 80.
Use Proxy Setting Specifies to use a proxy server to gain access outside
of a firewall. The Proxy Configuration shared
configuration resource specifies the configuration of
the proxy server. See Proxy Configuration on
page 237 for more information.
Field Description
Accept Redirects Checking this field indicates that the request should
be automatically redirected when the HTTP server
sends the redirection status code (302) in response to
this request and the remote host redirects the request
to the same host and port. If the remote host redirects
the request to a different host or a different port on the
same host, the request is not automatically redirected.
The maximum number of redirections is 100.
When this field is unchecked, the request is not
redirected.
Field Description
Domain Specifies the domain to be used for Authentication.
The username and password specified in the Identity
must exist in the domain.
Field Description
Trusted Certificates Folder in the project containing one or more certificates
Folder from trusted certificate authorities. This folder is
checked when a client connects to the HTTP server to
ensure that the server is trusted. This prevents
connections to rogue servers.
Verify Host Name This field specifies to check the host name of the HTTP
server against the host name listed in the server’s
digital certificate. This provides additional verification
that the host name you believe you are connecting to is
in fact the desired host.
If the host name specified in the Host field on the
Configuration tab is not an exact match to the host
name specified in the server’s digital certificate, the
connection is refused.
Note: If you specify an equivalent hostname (for
example, an IP address) in the Host field, but the name
is not an exact match of the hostname in the host’s
digital certificate, the connection is refused.
Field Description
Strong Cipher Suites When checked, this field specifies that the minimum
Only strength of the cipher suites used can be specified with
the
bw.plugin.security.strongcipher.minstrength
custom engine property. See TIBCO ActiveMatrix
BusinessWorks Administration for more information
about this property. The default value of the property
disables cipher suites with an effective key length
below 128 bits.
When this field is unchecked, only cipher suites with
an effective key length of up to 128 bits can be used.
Server Name Indication (SNI) is available only when the security provider is J2SE
and is enabled by default with this provider.
Set the property jsse.enableSNIExtension to false to disable the SNI
extension.
Advanced
The Advanced tab contains the following fields:
Global
Field Description
Var?
Write to File No Checking this field specifies to write incoming
requests that exceed the specified threshold size to
a file instead of storing the request in memory. This
allows you to accept large incoming requests
without consuming a great deal of memory. When
this field is checked, the Directory and Threshold
Size fields appear.
Note: This option is not intended to be used with
the Parse Post Method Data option on the
Configuration tab. When Write to File is specified,
the PostData output element becomes a choice
element containing either the output FileName or
the PostData depending upon whether the data
exceeds the size specified in the Threshold Size
field. It is recommended to use either the Write to
File option or the Parse Post Method data option,
but not both at the same time.
Leaving this field unchecked specifies to keep
incoming requests in memory.
Note: Once written, the files created by using this
option are not deleted automatically. You must
manage the storage used by these files and delete
them when they are no longer used.
Accept-Charset string This field specifies the character sets that are
(input header) acceptable for response messages for the
request. For example, iso-8859-5,
unicode-1-1. Character sets are described in
the HTTP specification.
If no Accept-Charset header is specified, then
the server assumes that any character set is
acceptable.
Content-Length string This field indicates the size of the entity body
(output header) (in decimal number of OCTETs) of the
response message.
Date (output string The date and time when the response
header) message was sent.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Port integer The port number that the HTTP server uses
for incoming requests. Specifying a value for
this input item overrides any value specified
on the Configuration tab.
Method string The HTTP method to use for the request. All
HTTP 1.1 methods are supported, but the
CONNECT method is unnecessary because
TIBCO ActiveMatrix BusinessWorks
automatically uses the connect method when
connecting by way of a proxy server.
If no method is specified in this element, the
GET method is used by default.
Output
The output for the activity is the following.
Persistent Connections
A Send HTTP Request activity requires a connection to the HTTP server. The
activity exclusively uses the connection until the HTTP server sends the response
message. If you have many process instances connecting to a HTTP server, each
Send HTTP Request opens a connection, holds the connection, and then closes the
connection when the activity completes. Opening and closing a large number of
connections causes a significant overhead. Persistent connections play a major
role here. Persistent connections maintain a pool of connections that can be reused
by Send HTTP Request activities so that each activity does not need to open and
close the connection. Once the connection is released by the process instance, it is
returned to the pool maintained.
Not all HTTP servers support the use of persistent connections. To determine if
the HTTP Server supports the use of persistent connections, read the
documentation of that HTTP Server.
When a Send HTTP Request activity requires a connection, the pool is requested
for a connection that corresponds to the HTTP server. If an idle connection for that
HTTP Server is found, it is used. If no idle connection is found, the pool tries to
create one depending on whether the maximum connections limit for that HTTP
Server has been reached. If the maximum connections limit is reached, the request
waits for a connection to be released back to the pool. If the maximum
connections limit is not reached, the pool creates a connection to use.
Process Instance
Connections for
HTTPS Server B
HTTPS Server B
bw.plugin.http.client.usePersistentConnectionManager
This property specifies that a pool of HTTP connections to each HTTP server must
be created for the connections to be reused by the Send HTTP Request activities.
This property enables persistent connections for all non-SSL Send HTTP Request
in that ActiveMatrix BusinessWorks engine.
When this property is set to true, a pool of connections is created for each HTTP
server that Send HTTP Request connects to. The total number of connections in
the pool is limited by the bw.plugin.http.client.maxTotalConnections
property. The number of connections for each host (each HTTP server) is limited
by the bw.plugin.http.client.maxConnectionsPerHost property.
The default value of this property is false.
bw.plugin.http.client.usePersistentConnectionManagerForSSL
This property specifies that a pool of HTTPS connections to each HTTP server
must be created for connections to be reused by the Send HTTP Request activities.
This property enables persistent connections for all SSL Send HTTP Request in
that ActiveMatrix BusinessWorks engine.
When this property is set to true, a pool of connections is created for each HTTPS
server that Send HTTP Request connects to. The total number of connections in
the pool is limited by the bw.plugin.http.client.maxTotalConnections
property. The number of connections for each host is limited by the
bw.plugin.http.client.maxConnectionsPerHost property.
bw.plugin.http.client.connectionTimeout
The value of this property is ignored unless the
bw.plugin.http.client.usePersistentConnectionManager or
bw.plugin.http.client.usePersistentConnectionManagerForSSL property
is set to true. This property specifies that the timeout period (in milliseconds) for
which persistent connections should be alive to each remote HTTP server.
The default value of this property is 3000 ms.
bw.plugin.http.client.maxConnectionsPerHost
The value of this property is ignored unless the
bw.plugin.http.client.usePersistentConnectionManager or
bw.plugin.http.client.usePersistentConnectionManagerForSSL property
is set to true. This property specifies the maximum number of persistent
connections to each remote HTTP server.
The default value of this property is 20.
bw.plugin.http.client.maxTotalConnections
The value of this property is ignored unless the
bw.plugin.http.client.usePersistentConnectionManager or
bw.plugin.http.client.usePersistentConnectionManagerForSSL property
is set to true. This property specifies the maximum number of persistent
connections for all HTTP servers.
The default value of this property is 200.
bw.plugin.http.client.checkForStaleConnections
The value of this property is ignored unless the
bw.plugin.http.client.usePersistentConnectionManager or
bw.plugin.http.client.usePersistentConnectionManagerForSSL property
is set to true. When using persistent connections, a connection can become stale.
When this property is set to true, a persistent connection is checked to determine
if it is stale before it is used by a Send HTTP Request activity. Checking for the
stale connections adds significant processing overhead, but it improves reliability.
The default value of this property is false.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective actions to take.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
Reply For The Wait for HTTP Request activity or HTTP Receiver
process starter that received the request. This is a
selection list of available activities that can receive
HTTP requests.
Field Description
Close Connection Specifies that this activity contains the last part of an
HTTP response. This field is used when you have
more than one Send HTTP Response activity in a
process definition, each activity sending a portion of
the response to the client. All Send HTTP Response
activities in a process definition should have this field
unchecked, except the last Send HTTP Response
activity. This field should be checked in the last Send
HTTP Response activity to indicate the response is
complete.
If the entire response is sent by only one Send HTTP
Response activity in the process definition, this field
should be checked.
Input Headers
The Input Headers tab describes the data structure for the headers of the HTTP
response. You can use the default structure, or you can alter the structure, if the
outgoing response has a specific data structure for the header of the request. This
tab uses the same mechanism described Appendix A, Specifying Data Schema, on
page 773 to specify the data structure for the headers. See that appendix for more
information about creating a customized data structure.
Header structure is defined by the HTTP protocol. See the HTTP Protocol
specification for more information about the fields and content of the header of a
HTTP request. You can obtain this specification at www.w3.org.
The default header fields are the following.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in the
process definition.
HTTP Connection The HTTP Connection shared resource that describes the
host name and the port number on which the process
waits for the incoming message.
See HTTP Connection on page 216 for more information
about specifying shared resources.
Parse Post Specifies that the message body of the HTTP request
Method Data should be parsed into a schema for the activity’s output.
When this checkbox is checked, the parameters specified
in the Parameters field are used to validate the incoming
request and parse it into the output schema.
Note: In the case of an incoming GET request, there is no
message body, so this field has no effect on incoming GET
requests.
Field Description
Parameters The parameters of the incoming HTTP request. Specifying
parameters in this table allows the incoming request to be
parsed and represented as a schema in this activity’s
output. For each parameter, you must provide a name,
datatype, and whether the field is required, optional, or
repeating.
Use the + and x buttons to the right of the parameter table
to add and remove parameters. Use the up and down
arrows to move parameters to new positions in the table.
Note: Specifying parameters in this field parses the query
string of the request into the output schema, regardless of
whether the Parse Post Method Data field is checked.
Checking the Parse Post Method Data field and specifying
parameters here is required to parse the message body
along with the query string of the request.
HTTP Specifies that the client sending the HTTP request must be
Authentication authenticated. The user name and password specified in
the incoming request must exist in the domain. Users are
created and managed in the domain using TIBCO
Administrator.
Event
The Event tab has the following fields.
Field Description
Candidate Event Key Expression built from the data of the incoming file
change event. This expression should evaluate to a
string and it is compared to the "key" field of the
activity’s input. If the Candidate Event Key and the
activity’s key match, then the process accepts the
incoming message.
For example, you may have sent an HTTP request
earlier in the process, and you may be waiting for a
response from the HTTP server. You may specify a
requestID as an attribute of the HTTP request and
responseTo attribute on the Wait for HTTP request
activity. The HTTP server presumably will set the
responseTo attribute of its response to the same
value as the requestID attribute of the request. You
would then specify the responseTo attribute as the
Candidate Event Key and the requestID attribute
of the HTTP request as the "key" in the Input tab.
This expression is specified in XPath, and only data
from the incoming event is available for use in this
XPath expression. See TIBCO ActiveMatrix
BusinessWorks Process Design for more information
about XPath expressions.
When building an expression in the Candidate Event Key field, only data from
the incoming event is available. This is because you want to place an expression
containing incoming event data in the Candidate Event Key field. When the
results of this expression match the results of the expression in the "key" item on
the Input tab, the Wait For HTTP Request activity proceeds.
Output Headers
The Output Headers tab describes the data structure for the headers of the HTTP
request. You can use the default structure, or you can alter the structure, if the
incoming request has a specific data structure for the header of the request. This
tab uses the same mechanism described Appendix A, Specifying Data Schema, on
page 773 in to specify the data structure for the headers. See that section for more
information about creating a customized data structure.
Header structure is defined by the HTTP protocol. See the HTTP Protocol
specification for more information about the fields and content of the header of a
HTTP request. You can obtain this specification at www.w3.org.
The default header fields are the following.
Accept-Charset string This field specifies the character sets that are
acceptable for response messages for the
incoming request. For example,
iso-8859-5, unicode-1-1. Character sets
are described in the HTTP specification.
If no Accept-Charset header is present, then
it is assumed that the client accepts any
character set.
Content-Length string This field indicates the size of the entity body
(in decimal number of OCTETs) sent to the
receiver.
This field takes into account the encoding of
the message body, see Special Characters in
HTTP Requests on page 229 for more
information on when the message body is
URL encoded.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The Java palette has activities and shared configuration resources for executing
Java code as well as converting between Java objects and XML documents.
Topics
The Choose a Class or Choose a Class and Method dialog appears when you click
the Show Class Browser button. This dialog allows you to pick a Java class (and
method of that class for the Java Method activity) from a list of archives available
in the TIBCO ActiveMatrix BusinessWorks classpath. The Show Class Browser
button is used in the following resources:
• EJB Home
• Java Method
• Java Schema
• Java To XML
• XML To Java
Figure 11 illustrates selecting a class in the Choose a Class dialog. First you select
the archive, then you select the class. Packages that contain classes are displayed
as folders and the contained classes are nested below the package folder.
The Java Method and EJB Home activities allow you to select a class and a
method in that class to execute. The Show Class Browser button brings up the
Choose a Class and Method dialog. Figure 12 illustrates this dialog.
Figure 12 Selecting a method in a class from the Choose a Class and Method dialog
The Java Code and Java Method activities both execute Java. Therefore, there are
some features that both activities share. This section describes some of the
common features between the two activities.
You must specify the full path for global variables contained in variable groups to
access the variable’s value. Use the slash character (/) to separate each element in
the path. For example, if you have a global variable named item1 contained in a
group named myGroup, you can access the value of the global variable with the
following Java code:
String var1 =
com.tibco.pe.plugin.PluginProperties.getProperty(
"tibco.clientVar.myGroup/item1");
org.apache.log4j.Logger logger =
org.apache.log4j.Logger.getLogger("bw.logger");
logger.warn("This is a warning message from the either a
Java Code or Java Method activity");
If you use your own logger class, you can configure the BusinessWorks log4j
properties file to include your logger. This involves adding log4j.logger and
log4j.appender properties to the properties file. See the log4j documentation for
more information about log4j properties. Once the properties for your custom
logger class are added to the BusinessWorks log4j file, you can obtain your logger
class and write messages to the log file in your Java Code and Java Method
activities.
Java Code
Activity
You can add custom code to your process definition with the Java Code
activity. This activity allows you to write standard Java code that can
manipulate any of the process data or perform any action you choose.
The Java Code activity automatically creates an invoke() method in which you
place the code you want to execute. This method is called when the engine
processes the Java Code activity.
When you specify input and output parameters for the Java Code activity, get/set
method code is automatically generated for the activity. You can use the get/set
methods in your Java code, and you can display the code for the get/set methods
when you select the Full Class radio button on the Code tab.
Use Edit>Preferences>Other to specify the Java editor you want to use to edit
source code.
If you do not specify an editor, a simple popup editing window is provided.
See Common Features of Java Code and Java Method on page 280 for more
information about features available in the Java Code activity.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Name No The name to appear as the label for the activity in the
process definition.
Code
You can choose to display the full Java class or display only the invoke() method
body of the class. Choose the appropriate option at the top of the Code tab for the
code you want to display.
Field/Button Description
Java Code The source code of the Java class.
Specify the code you want to execute in the
automatically generated invoke() method. The get/set
methods for the input and output parameters are
automatically generated and displayed when you
choose the Full Class option above the code window.
When the Java code is run by the engine, the
automatically generated get/set methods are called,
then the invoke() method in the Java class is called.
Compile Button Compiles the current source code. When the code in the
activity needs compilation (for example, the input or
output parameters change or the code changes), a yellow
warning icon appears on this button.
The code will either compile successfully or the View
Errors dialog will appear to display any errors in the
code.
After compilation, the source and compiled java code
are placed into the lib/palettes/javaCode directory
in the TIBCO ActiveMatrix BusinessWorks installation
directory.
View Errors Button Displays the errors encountered when the code was
compiled.
Edit Class Button Displays the source code in the editor specified with the
TIBCO Designer preferences. If no editor is specified, a
simple popup editing window is used.
Use Edit>Preferences>Other to specify the Java editor
you want to use to edit source code.
Note: On MS Windows platforms, a temporary file is
created to hold the Java code when you edit your code
with this button. This file is located in either C:\temp or
C:\tmp or your working directory. If your working
directory contains a space (for example C:\Documents
and Settings\...), there may be problems opening the
temporary file. Make certain either the C:\temp or
C:\tmp directory exists to avoid this issue.
All process definitions containing Java Code activities that do not compile
successfully are listed in the Activities area. Each Java Code activity is listed
under the process definition in which it is located. You can select any Java Code
activity in the Activities area to display the compilation errors for that activity.
The dialog has the following buttons:
• Start/Cancel Compile — Click Start Compile to begin compiling all Java Code
activities in your project. When the code is compiling, this button is renamed
Cancel Compile to allow you to cancel the compile all operation.
• Go To Resource —You can select any process definition or Java Code activity,
then click the Go To Resource button to display that resource in the design and
configuration panels.
• Close — Closes the Compile All Code dialog.
Any Java objects passed by input and output parameters between activities must
be serializable.
Figure 14 illustrates two Java code activities. The CreateObject activity creates a
Java object and passes a reference to the object in the output parameter named
out_object. The UseObject activity defines an input parameter named
in_object of type ObjectReference and maps the CreateObject activity’s
output object reference to its input parameter of type ObjectReference.
The UseObject activity can invoke methods on the input object as it would for any
other object. For example, if you want to call a method named getInteger() that
returns an integer, you would use the following code in the UseObject activity:
MyClass myObject = (MyClass) in_object;
int var = 0;
if (myObject != null) {
var = myObject.getInteger();
}
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the exceptions that can be thrown by the Java Code
activity. Because the activity can return any Java exception, all potential
exceptions cannot be listed here. However, the error schema for all errors is the
same. The following describes the schema for exceptions returned by the Java
Code activity.
TIBCO ActiveMatrix BusinessWorks provides detailed online help for each XPath
function. To provide online help for Java Custom Functions, create a
two-dimensional array named HELP_STRINGS in your class. The element
containing a string matching the function name is used as the help for that
function. See Example Java Function on page 292 for an example of creating the
HELP_STRINGS array.
Static variables are not supported in Java custom functions. Do not write custom
functions that use static variables.
If there are different classes that have methods with the same names, the Prefix
field allows you to specify a prefix for qualifying which method you want to use
in an XPath function. See the description of the Prefix field below for more
information.
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
building XPath expressions and using the XPath editor.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
Field Description
Suggested Prefix A folder with the name you specify in this field appears in
the Functions tab in the XPath editor. You can drag and
drop methods from the loaded class into your XPath
expression, just as you would with any standard XPath
function.
Use this name as a prefix for function names in this class, if
multiple classes are loaded and function names are not
unique among the classes.
For example, if you have class1.method1 and
class2.method1, you will need to specify class1 in the
Suggested Prefix field when you load class1 into a Java
Custom Resource. You would specify class2 in the
Suggested Prefix field when loading class2. When using
method1 in XPath expressions, you must qualify which
method1 you are using by specifying class1:method1 or
class2:method1 in the XPath expression.
Class Location The location of the class file you want to load. Use the
Browse button to locate the class file.
Note: This field is used to locate the file initially, but the file
is actually loaded and stored in the repository. Once the file
is loaded, it can be removed from its original location in the
file system. If you want to change the file stored in the
repository, you can use this field to reload a changed file or
load a new file for this resource.
Class Data The size of the class in bytes. Use the Load button after a
class is selected in the Class Location field to load the class
and determine its size.
/**
* The following method will not be available because it is
* a constructor.
*/
public Sample(int value)
{
mInternalValue = value;
}
/**
* This method is used to concat two strings together. It
* must be declared as public static to be made available in
* TIBCO ActiveMatrix BusinessWorks.
*/
public static String stringConcat(String s1, String s2)
{
return s1 + s2;
}
/**
* This method is used to add two ints together. Note, that
* it takes both an int type and an Integer object.
*/
public static int intAdd(int lhs, Integer rhs)
{
return lhs + rhs.intValue();
}
/**
* The following method will not be available because it
* throws an exception.
*/
public static int badAdd(int lhs, int rhs)
throws Exception
{
long result = lhs + rhs;
if (result > Integer.MAX_VALUE) {
throw new ArithmeticException();
}
return new Long(result).intValue();
}
/**
* The following method will not be availabe because it
* returns nothing: its void.
*/
public static void returnsNothing(String s)
{
System.out.println(s);
}
/**
* The following method will not be available because it
* is not static.
*/
public int add(int rhs)
{
return mInternalValue + rhs;
}
/**
* The following method will not be available becauses it
* is not public.
*/
protected static int protectedAdd(int lhs, int rhs)
{
return lhs + rhs;
}
/**
* The following is a two-dimensional array that provides the
* online help for functions in this class. Declare an array
* named HELP_STRINGS.
*/
public static final String[][] HELP_STRINGS ={
{"stringConcat", "Joins two strings.",
"Example", "stringConcat(\"test/testDict\",
$input/key)"},
{"intAdd", "Adds two integers.",
"Example", "intAdd(5, $input/myInt)"},
}
If you want to use the Edit Class button on the Code tab, select
Edit>Preferences>Other to specify the Java editor you want to use to edit source
code.
If you do not specify an editor, a simple popup editing window is provided.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Name No The name to appear as the label for the activity in the
process definition.
Init Method No The init() method for the class. This field is
automatically populated when you use the Show
Class Browser button. See JavaProcessStarter
Abstract Class on page 295 for more information
about the init() method.
You can use the drop down list to select a different
method in the selected Java class, if desired.
Note: You can hover the cursor over this field to
display the signature of the selected method.
Init Method No This table allows you to specify default values for the
Parameters input parameters of the init() method. Each input
parameter has three fields:
• Parameter Name — Name of the parameter.
• Parameter Type — Datatype of the parameter.
• Parameter Value — Specify a default value for the
parameter.
Code
This tab is only enabled if the Use External Class field is unchecked. This tab
allows you to add implementation code to the appropriate methods of the
JavaProcessStarter class. You can choose to display the full Java class or display a
particular method by selecting the appropriate value in the Show field at the top
right of the Code tab.
The code tab has the following fields/buttons.
Field/Button Description
Source Code The source code of the JavaProcessStarter
implementation class.
Field/Button Description
Show Displays the selected method or the entire class. The
following are valid options to select:
• init
• onStart
• onStop
• onShutdown
• Entire Class
Compile Button Compiles the current source code. When the code in the
activity needs compilation (for example, the code
changes), a yellow warning icon appears on this button.
The code will either compile successfully or the View
Errors dialog will appear to display any errors in the
code.
After compilation, the source and compiled java code
are placed into the lib/palettes/javaCode directory
in the TIBCO ActiveMatrix BusinessWorks installation
directory.
View Errors Button Displays the errors encountered when the code was
compiled.
Edit Class Button Displays the source code in the editor specified with the
TIBCO Designer preferences. If no editor is specified, a
simple popup editing window is used.
Use Edit>Preferences>Other to specify the Java editor
you want to use to edit source code.
Note: On MS Windows platforms, a temporary file is
created to hold the Java code when you edit your code
with this button. This file is located in either C:\temp or
C:\tmp or your working directory. If your working
directory contains a space (for example C:\Documents
and Settings\...), there may be problems opening the
temporary file. Make certain either the C:\temp or
C:\tmp directory exists to avoid this issue.
All process definitions containing Java Code activities and Java Process Staters
that do not compile successfully are listed in the Activities area. Each Java Code
activity or Java Process Starter is listed under the process definition in which it is
located. You can select any Java Code activity or Java Process Starter in the
Activities area to display the compilation errors for that activity.
The dialog has the following buttons:
• Start/Cancel Compile — Click Start Compile to begin compiling all Java Code
activities and Java Process Starters in your project. When the code is
compiling, this button is renamed Cancel Compile to allow you to cancel the
compile all operation.
• Go To Resource —You can select any process definition, Java Process Starter,
or Java Code activity, then click the Go To Resource button to display that
resource in the design and configuration panels.
• Close — Closes the Compile All Code dialog.
Advanced
The Advanced tab has the following fields:.
Global
Field Description
Var?
Java Global No A Java Global Instance resource. Specify a value
Instance in this field if you want to reference a Java Global
Instance resource in your JavaProcessStarter
implementation class. You can use the
getGlobalInstance() method to obtain a reference
to the Java Global Instance resource.
See Java Global Instance on page 302 for more
information about Java Global Instance
resources.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the exceptions that can be thrown by the Java Event
Source resource. Because the resource can return any Java exception, all potential
exceptions cannot be listed here. However, the error schema for all errors is the
same. The following describes the schema for exceptions returned by the Java
Event Source resource.
Java class files or archives referenced by this resource must be available to the
Java VM in which TIBCO Designer and the TIBCO ActiveMatrix BusinessWorks
process engine are running. This is done either by adding the correct path to the
classpath in the designer.tra and bwengine.tra files (see the comments in the
.tra files for more information about modifying the classpath) or by using an
Alias Library resource. If you add the path to the classpath, the system class
loader loads the class into the Java VM. If you use an Alias Library resource, the
TIBCO ActiveMatrix BusinessWorks application class loader loads the class into
the Java VM. If both techniques are used, the class loaded by the system class
loader takes precedence.
Objects created from classes loaded by different class loaders are not able to
interact. For example, an Alias Library resource points to the location of Java
ClassA and a Java Method activity references ClassA. Java class ClassB is placed
in the classpath and referenced by a Java Code activity. The Java Method activity
can pass the ClassA object to the Java Code activity, but the ClassB object in the
Java Code activity may not be able to interact with the ClassA object. If you want
objects to interact correctly, ensure that the activities use the same class loader.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the shared
configuration resource.
Advanced
The Advanced tab has the following fields:.
Java Method
Activity
Configuration
The Configuration tab has the following fields:
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Advanced
The Advanced tab has the following fields:.
If you choose to cache the constructed instance of the class, the same Java object is
shared by Java Method activities that invoke methods on the class. Therefore, be
aware of potential concurrency issues, if your class or its methods are not
threadsafe.
payroll Object
Figure 17 Different Java Method activities in the same process do not share the class
In the process definition illustrated in Figure 17, for each process instance that is
created, each time the inv.CheckInventory activity executes, it shares one
instance of the inv object that has been cached. Similarly, each time the
inv.DecreaseInv activity executes, it shares the instance of the inv object that
the activity has cached. However, the inv.CheckInventory and
inv.DecreaseInv activities do not share their cached Java objects with each
other.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the exceptions that can be thrown by the invoked
method. Once a method to invoke is selected, the exceptions that the method can
throw are listed on the Error Output tab. Because a method can return any Java
exception, the potential exceptions cannot be listed here.
While all potential errors cannot be known, the error schema for all errors is the
same. The following describes the schema for exceptions returned by the Java
Method activity.
Java Schema
Shared Configuration
• Java Bean accessors and modifiers are mapped to appropriate XML element
names. For example, a Java class method public int getBalance() or
public void setBalance(int Balance) are mapped to an XML element
named Balance.
• Only one XML element is created regardless of how many members of the
Java class share the same name. For example, there may be an attribute named
MySalary and accessors named getMySalary() and setMySalary(). This
translates to one element named MySalary in the resulting XML document.
• Conversion is case-sensitive. For example, if you have a data member
declared as public int zipCode and an accessor method declared public
void setZipCode(int NewZipCode), there will be two elements in the
resulting XML schema, zipCode (for the data member) and ZipCode (for the
accessor). You must make sure to use the correct element when using the
resulting XML in input mappings of subsequent activities.
• All Java primitive types are supported. Datatypes that extend
java.util.Collections are also supported (for example, List, ArrayList,
andVectors). Arrays (for example, int[] and string[]) are also supported.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
Field Description
Description Short description of the shared resource.
Java This field contains the Library and Class fields that
allow you to specify the Java class for this resource.
Class The Java class that specifies the data of the schema.
This class must implement or be a subtype of a
class that implements the Serializable interface.
You can use the Show Class Browser button to
browse Java classes in the TIBCO ActiveMatrix
BusinessWorks classpath.
Schema Text
The Schema Text tab displays the resulting XML schema from the Java class
selected on the Configuration tab.
Java To XML
Activity
The Java To XML activity allows you to convert a Java object’s data
members into an XML document. See Java Schema on page 313 for the
conversion rules.
If the class does not have a public data member and only has a Java bean modifier
that sets the data, the input schema contains an element for the modifier, but the
resulting XML document has no value set for the corresponding element.
For example, the Java object has a method declared as public int setID(), but
there is no method for getting the ID, and the data member ID is not public. In this
case, there is an element named ID in this activity’s output schema, but that
element has no value because there is no public mechanism for getting the data.
Enumeration
Java enum type elements can be mapped to a simple type schema with
enumeration facets. You can use the following annotations in your Java classes to
use Java enums :
• javax.xml.bind.annotation.XmlEnum
• javax.xml.bind.annotation.XmlEnumValue
and
https://jaxb.java.net/nonav/2.2.4/docs/api/javax/xml/bind/annotation/XmlEnumValue.html
Field Description
xsd:string java.lang.String
xsd:boolean java.lang.Boolean
xsd.byte java.lang.Byte
xsd:short java.lang.Boolean
xsd:int java.lang.Integer
Field Description
xsd:long java.lang.Long
Example 1
@XmlEnum(String.class)
public enum Card { CLUBS, DIAMONDS, HEARTS, SPADES }
<xs:simpleType name="Card">
<xs:restriction base="xs:string"/>
<xs:enumeration value="CLUBS"/>
<xs:enumeration value="DIAMONDS"/>
<xs:enumeration value="HEARTS"/>
<xs:enumeration value="SPADES"/>
</xs:simpleType>
Example 2
@XmlEnum(Integer.class)
public enum Coin {
@XmlEnumValue("1") PENNY(1),
@XmlEnumValue("5") NICKEL(5),
@XmlEnumValue("10") DIME(10),
@XmlEnumValue("25") QUARTER(25) }
Sequenced Elements
For a Java schema to generate the schema of complex type element having a
sequence order indicator in the right sequence, use XMLType annotations in the
Java classes.
This change in behavior is enabled by a system property
java.property.com.tibco.xml.conversion.SequencingViaAnnotation=tru
e.
BusinessWorks tries to get the order of the element through annotations when the
property is set to true. The default value is false.
Use the following annotation:
javax.xml.bind.annotation.XmlType
Properties and fields mapped to elements are mapped to a content model within a
complex type.
The annotation element propOrder() can be used to customize content model to
xs:sequence. This is used to specify the order of the XML elements in
xs:sequence.
For example, map a class to a complex type element with xs:sequence with a
customized ordering of JavaBean properties.
Configuration
The Configuration tab has the following fields.
Use Java Schema Specifies whether you want to use a Java Schema
shared configuration resource to configure this
activity or whether you want to specify a Java
class file.
When unchecked, the Java Class field appears.
When checked, the Java Schema: and Class:
fields appear.
Java Schema: No Only available when the Use Java Schema field is
checked. This field specifies a Java Schema
shared configuration resource. This resource is
used to specify the schema used to convert the
Java object to the XML schema.
Advanced
The Advanced tab has the following fields:.
Global
Field Description
Var?
Construct No This field controls whether the declaring class
Declared Class must be constructed when the activity is
executed or whether an object reference must be
supplied in the activity’s input schema.
When this field is checked, the declaring class is
constructed using the default constructor when
the activity executes. In this case, the declaring
class is not included in the activity’s input
schema.
When this field is unchecked, you must supply
an object reference for the Java Class specified on
the Configuration tab. The object must be created
and contained in the output schema of a
previously executed activity, such as a Java Code
activity, Java Method, or an XML To Java activity.
In this case, the declaring class is included in the
activity’s input schema.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
XML To Java
Activity
If the class does not have a public data member and only has a Java bean accessor
that retrieves the data, the input schema contains an element for the accessor, but
the resulting Java object has no value set for the member.
For example, the object has a method declared as public int getID(), but there
is no method for setting the ID and the data member ID is not public. In this case,
there is an element named ID in this activity’s input schema, but mapping a value
to the element does not result in setting the ID member of the output Java object
because there is no public mechanism for setting the data.
Configuration
The Configuration tab has the following fields.
Java Schema: No Only available when the Use Java Schema field
is checked. This field specifies a Java Schema
shared configuration resource. This resource is
used to specify the schema used to convert the
XML schema to the Java object.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The JDBC palette contains activities and shared configuration resources for
querying, updating, or calling stored procedures in a database.
Topics
The JDBC Call Procedure activity calls a database procedure using the
specified JDBC connection.
If this activity is not part of a transaction group, the SQL statement is
committed after the activity completes. If this activity is part of a
transaction group, the SQL statement is committed or rolled back with the other
JDBC activities in the group at the end of the transaction. See TIBCO ActiveMatrix
BusinessWorks Process Design for more information about creating groups for
transactions.
If you want to override the default behavior of transaction groups for certain
JDBC activities in a transaction group, you can check the Override Transaction
Behavior field on the Advanced tab. This specifies that the activity is outside of
the transaction and the SQL statement is committed when the activity completes,
even if the activity is in a transaction group.
The Refresh button on this activity allows you to synchronize the activity with the
contents of the database. This is useful if you make a change to the database while
you are editing a process definition containing this activity in TIBCO
ActiveMatrix BusinessWorks.
When using the jConn or Data Direct 3.3 driver and connecting to a Sybase
database, stored procedures that are supposed to return multiple result sets do
not return any data. To avoid this problem, you can either use the
sun.jdbc.odbc.JdbcOdbcDriver instead or you can add set nocount on to
your stored procedure definition.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Override Yes Overrides the default behavior of a transaction
Transaction group. If this activity is in a transaction group,
Behavior the activity is normally committed or rolled
back with the other transactional activities.
If this checkbox is checked, this activity is not
part of the transaction group and is committed
when it completes. Checking this option uses a
separate database connection to perform the
activity and commit the SQL statement.
Input
The input for this activity is dependent upon the input parameters of the database
procedure.
Output
The output for the activity is dependent upon the output parameters of the
database procedure.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
JDBC Connection
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
JDBC Driver Yes The name of the JDBC driver class. You can select
from a list of supported drivers.
If you select a supported driver, the Database URL
field is populated with a template for the URL of
the driver.
See Database Drivers on page 337 for more
information about database drivers.
Login Timeout Yes Time (in seconds) to wait for a successful database
connection. Only JDBC drivers that support
connection timeouts can use this configuration
field. If the JDBC driver does not support
connection timeouts, the value of this field is
ignored. Most JDBC drivers support connection
timeouts.
You can also set this timeout with the
Config.JDBC.Connection.SetLoginTimeout
custom engine property. The value of the property
in the configuration file overrides the value of this
field. See TIBCO ActiveMatrix BusinessWorks
Administration for more information about setting
custom engine properties.
JNDI No This field only appears when the Use Shared JNDI
Configuration Configuration field is checked. This field allows
you to choose a JNDI Configuration shared
configuration object that specifies the JNDI
connection information.
JNDI Context No This field only appears when the Use Shared JNDI
Factory Configuration field is unchecked. The initial
context factory class for accessing JNDI.
(javax.naming.Context.INITIAL_CONTEXT_
FACTORY). You can choose from the drop down list
of supported classes, or you can type in a different
InitialContextFactory class name.
When using IBM WebSphere, you should use the
JNDI Configuration resource instead of specifying
the JNDI configuration on this resource. See IBM
WebSphere and JNDI Context Caching on
page 178 for more information.
Note: TIBCO ActiveMatrix BusinessWorks
attempts to find the class. However, you may need
to add the Java file supplied by your JNDI service
provider to the CLASSPATH environment
variable to use JNDI.
JNDI User Yes This field only appears when the Use Shared JNDI
Name Configuration field is unchecked. Specify the user
name to use when logging into the JNDI server
(javax.naming.Context.SECURITY_
PRINCIPAL). If the JNDI provider does not require
access control, this field can be empty.
JNDI Yes This field only appears when the Use Shared JNDI
Password Configuration field is unchecked. Specify the
password for logging into the JNDI server
(javax.naming.Context.SECURITY_
CREDENTIALS). If the JNDI provider does not
require access control, this field can be empty.
Database Drivers
The following drivers are supported, but you must obtain, install, and configure
these from the appropriate vendor:
• oracle.JDBC.driver.OracleDriver (oci)
• oracle.JDBC.driver.OracleDriver (thin)
• com.sybase.jdbc2.jdbc.SybDriver
• com.timesten.jdbc.TimesTenDriver
• com.ibm.db2.jcc.DB2Driver
• com.mysql.jdbc.Driver
The following drivers are JDBC 2.0-compliant and should work correctly, but they
are not officially supported with BusinessWorks. You must obtain, install, and
configure the driver from the appropriate vendor:
• sun.jdbc.odbc.JdbcOdbcDriver
• weblogic.jdbc.mssqlserver4.Driver
You can download, install, and use other JDBC drivers, but TIBCO does not
guarantee the drivers will function properly with TIBCO ActiveMatrix
BusinessWorks. To use an unsupported driver, perform the following:
1. Download the JDBC driver and copy the required JAR files to a location in the
classpath of the TIBCO ActiveMatrix BusinessWorks Engine. For example,
you can copy the files to the following location:
TIBCO_HOME/tpcl/<version>/jdbc.
2. In the JDBC Connection resource, choose Select Driver from the drop-down
list in the JDBC Driver field and type in the name of the driver class in the text
box within that field. Then, type in the correct URL in the Database URL field
and specify the other fields in the resource.
See TIBCO ActiveMatrix BusinessWorks Release Notes for more information on the
supported and tested versions of databases and database drivers.
Connection Pooling
TIBCO ActiveMatrix BusinessWorks creates a pool of JDBC connections for every
JDBC Connection shared resource that uses the JDBC connection type. The
maximum size of this pool is specified by the Maximum Connections
configuration field.
Activities that use this JDBC Connection resource are given a connection from the
pool. Once the maximum number of connections is reached, activities requesting
a connection cannot proceed. Once a connection is freed by an activity, the
connection is returned to the pool.
Connections that are left open will eventually time out and be closed. These
connections can be reopened at a later time, until the maximum number of
connections specified in this field is reached. If you want to configure a timeout
value for these connections, you can set the Engine.DBConnection.idleTimeout
property. See TIBCO ActiveMatrix BusinessWorks Process Design for more
information.
If an activity detects a connection in the pool is invalid (for example, the database
is restarted), the activity that uses the JDBC connection resource attempts to
reestablish the connection.
All activities that are part of the same transaction will use the same connection in
the connection pool. The first activity in a transaction attempts to reestablish an
invalid connection. If a connection becomes invalid during a transaction, the
transaction is rolled back and must be retried, if necessary.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Input
This activity has no input.
Output
The output for the activity is dependent upon the output parameters of the
database procedure.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
If your Java code does not release the connection, the connection is automatically
released when the process instance terminates. This could have undesirable
consequences.
Your code should check for SQL Exceptions returned when executing JDBC
statements. If you encounter an unexpected SQL Exception, you can use the
releaseConnection(SQLException ex) method to release the connection. This
allows you to check if the connection is no longer valid. If the connection is no
longer valid, your Java code should return an appropriate exception for
subsequent activities so that transactions can be rolled back, if necessary.
JDBC Query
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Timeout (sec) Yes Time (in seconds) to wait for the query to
complete. If the query does not complete in the
given time limit, an error is returned.
Fetch Button
The Fetch button on this activity allows you to synchronize the activity with the
contents of the database.
When you first configure a JDBC activity, you must click the Fetch button to
retrieve the schema for the output result set before attempting to apply your
changes with the Apply button or by saving your project. If you do not click the
Fetch button before applying your changes, TIBCO ActiveMatrix BusinessWorks
displays an error dialog prompting you to first fetch the output schema.
After you have configured your activity, the Fetch button is useful when you
make a change to the database while editing a process definition containing this
activity in TIBCO ActiveMatrix BusinessWorks. The Fetch button synchronizes
with the database and changes the output schema, if necessary.
Prepared Parameters
If you want to replace static names in the SQL statement with process variables,
you must edit the SQL Statement field and replace the variable items with a
question mark (?). For example, if you want to specify a variable for the first
column returned, you would specify the following SQL statement:
SELECT DEMO.ITEM.ITEM_ID FROM DEMO.ITEM
WHERE DEMO.ITEM.ITEM_ID = ?
The ? replaces the value in the WHERE clause, and you can then provide input to
the SQL statement from process data on the Input tab.
Editing the SQL statement disables the Design tab of the Query Designer wizard.
Make sure you have designed the query you need before editing it and inserting
question marks for process variables. If your question marks are in the WHERE
clause, you can put those conditions into the Design tab in the Where fields of
each column. This will allow you to keep the Design tab available and still have
process variables in your query.
Keep in mind, ? is not valid SQL syntax, so checking the syntax of a query that
contains question marks will return an invalid character error in the Query
Designer wizard.
When you add or remove question marks in SQL statements, a warning appears
to the right of the Prepared Parameters field ("SQL/ Prepared Parameter Count
Mismatch") to alert you to add or remove corresponding prepared parameters.
Each prepared parameter corresponds to the question mark in the same position
in the SQL statement. That is, the first prepared parameter in the list corresponds
to the first question mark, the second prepared parameter in the list corresponds
to the second question mark, and so on. The warning is for informational
purposes only, you must make sure the parameters in this field correctly
correspond to the SQL statement.
You can optionally specify names for each prepared parameter. By default, the
prepared parameters are named Prepared_Param_1, Prepared_Param_2, and so
on.
You must supply the datatype of each parameter to the SQL statement, and this
datatype is used in the input schema for the statement. You can use the up or
down arrow keys to move a specified datatype to the previous or next parameter.
You can also select a contiguous set of parameters to move them up or down, or
delete them with the delete button.
At run time, any parameters you place in the SQL statement are replaced with the
mapped values for those parameters on the Input tab.
Any mappings or expressions you create on the Input tab are not updated when
you move or delete prepared parameters. You must manually update the Input
tab after changing the prepared parameter field.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Override Yes Overrides the default behavior of a transaction
Transaction group. If this activity is in a transaction group, the
Behavior activity is normally committed or rolled back with
the other transactional activities.
If this checkbox is checked, this activity is not part
of the transaction group and is committed when it
completes. Checking this option uses a separate
database connection to perform the activity and
commit the SQL statement.
Input
The input for the activity is the following.
5. Select the JDBC Query activity and click the group icon on the toolbar to
create a group containing the activity. See TIBCO ActiveMatrix BusinessWorks
Process Design for more information about working with groups.
6. Select Repeat Until True as the Group action, and specify an index name (for
example, i).
7. The loop should exit when the entire result set has been consumed. The
output element lasSubset is a boolean that is set to true when the last subset
of records is being processes. For example, the condition for the loop could be
set to the following:
$JDBCQuery/resultSet/lastSubset = "true"
The procedure above is a general guideline for creating a loop group for
processing a large set of records. You may want to modify the procedure to
include additional processing of the records, or you may want to change the
XPath expressions to suit your business process.
See the examples included in the TIBCO ActiveMatrix BusinessWorks installation
directory for an example of processing subsets of a larger result set.
Output
The output for the activity is the following.
Output
Datatype Description
Item
resultSet complex The root class for the output of the JDBC Query
activity. This class contains all output items for the
activity.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
JDBC Update
Activity
Configuration
The Configuration tab has the following fields:
Global
Field Description
Var?
Name No The name to appear as the label for this field in
the process definition.
Timeout (sec) Yes The time to wait for the statement to complete.
Prepared Parameters
If you want to replace static names in the SQL statement with process variables,
you must edit the SQL statement field and replace the variable items with a
question mark (?). For example, you might specify the following statement:
UPDATE emp SET ename = ?, phone = ?
WHERE id = ?
The ? replaces the value, and you can then provide input to the SQL statement
from process data on the input tab.
When you add or remove question marks in SQL statements, a warning appears
to the right of the Prepared Parameters field ("SQL/ Prepared Parameter Count
Mismatch") to alert you to add or remove corresponding prepared parameters.
Each prepared parameter corresponds to the question mark in the same position
in the SQL statement. That is, the first prepared parameter in the list corresponds
to the first question mark, the second prepared parameter in the list corresponds
to the second question mark, and so on. The warning is for informational
purposes only, you must make sure the parameters in this field correctly
correspond to the SQL statement.
You can optionally specify names for each prepared parameter. By default, the
prepared parameters are named Prepared_Param_1, Prepared_Param_2, and so
on.
You must supply the datatype of each parameter to the SQL statement, and this
datatype is used in the input schema for the statement. You can use the up or
down arrow keys to move a specified datatype to the previous or next parameter.
You can also select a contiguous set of parameters to move them up or down, or
delete them with the delete button.
At run time, any parameters you place in the SQL statement are replaced with the
mapped values for those parameters.
Any mappings or expressions you create on the Input tab are not updated when
you move or delete prepared parameters. You must manually update the Input
tab after changing the prepared parameter field.
For INSERT and DELETE statements, all prepared parameters appear as required
items in the Input tab. For UPDATE statements, all prepared parameters appear
as optional in the Input tab, but you must supply a value for at least one column
in the statement or a runtime error occurs.
Advanced
The Advanced tab has the following fields:
Global
Field Description
Var?
Override Yes Overrides the default behavior of a transaction
Transaction group. If this activity is in a transaction group,
Behavior the activity is normally committed or rolled back
with the other transactional activities.
If this checkbox is checked, this activity is not
part of the transaction group and is committed
when it completes. Checking this option uses a
separate database connection to perform the
activity and commit the SQL statement.
Input
The input for the activity is the following:
Output
The output for the activity is the following:
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Query Designer
Wizard
The Query Designer is a GUI tool for building SQL queries, testing syntax, and
previewing results before running the process. You can use the Query Designer in
one of the following ways:
• to automatically generate SQL queries
• to manually edit and check the syntax of existing queries
In the JDBC Query activity, you must first specify a JDBC Connection shared
configuration resource to connect to a database. Once the database connection is
specified in the JDBC Query activity, you can click the Build Using Wizard button
to create a query using the Query Designer wizard. Figure 18 illustrates the Query
Designer.
• a SQL panel, where you can design, refine, view, and test the query. This panel
has three tabs for designing, editing, and testing your queries.
You can use the Design tab of the Query Designer to automatically generate
queries. You can then click on the SQL tab of the Query Designer to manually edit
the query, if you want. To manually edit the query, click the Customize checkbox
on the SQL tab. On the SQL tab, you can drag and drop columns into the
statement.
After you customize a query on the SQL tab, returning to the design tab without
checking the Customize checkbox eliminates your changes. First, create a query
using the Design, then click the Customize checkbox on the SQL tab to further
customize it as needed.
For example:
By default, all table columns are included in the query. To constrain query
syntax, click the Design tab in the SQL panel. You can drag individual
columns from the Table Diagram panel to the Add Column area of this tab to
refine the query. The Add Column entry is a placeholder only, and does not
affect the output. It is meant to be the area where you can drag columns from
the tables to add to the query.
Clicking the SQL tab to view the modified syntax shows the query now selects
only from the set of columns:
SELECT DEMO.CUSTOMER.CUSTOMER_ID, DEMO.CUSTOMER.NAME,
DEMO.CUSTOMER.SALESPERSON_ID, DEMO.SALES_ORDER.TOTAL
FROM DEMO.CUSTOMER, DEMO.SALES_ORDER
WHERE (DEMO.CUSTOMER.CUSTOMER_ID =
DEMO.SALES_ORDER.CUSTOMER_ID)
2. To group sales by customer and show sales totals, perform the following:
— For the TOTAL column, click in the Total field and select Sum from the list.
The other columns are automatically updated to select the Group By value
required for this function.
— For the CUSTOMER_ID column, click the Show checkbox to deselect it.
This column is necessary for the query, but can be hidden in the output.
Clicking the SQL tab to view the syntax shows the SUM function and GROUP BY
clause has been added to the SQL:
SELECT DEMO.CUSTOMER.NAME, DEMO.CUSTOMER.SALESPERSON_ID,
SUM(DEMO.SALES_ORDER.TOTAL)
FROM DEMO.CUSTOMER, DEMO.SALES_ORDER
WHERE (DEMO.CUSTOMER.CUSTOMER_ID =
GROUP BY DEMO.CUSTOMER.CUSTOMER_ID, DEMO.CUSTOMER.NAME,
DEMO.CUSTOMER.SALESPERSON_ID
Other criteria can be applied using the Sort, Criteria, and Or fields.
3. To check the SQL syntax, click the Check Syntax button.
A dialog displays either a success message, or a database error code and
message.
4. After checking the syntax, click the Execute button on the Test tab to preview
the query results:
SQL Direct
Activity
The SQL Direct activity executes a SQL statement that you provide. This
activity allows you to build a SQL statement dynamically (using other
activities), then pass the SQL statement into this activity’s input. This
activity also allows you to execute SQL statements that are not supported by other
activities in the JDBC palette. For example, DDL commands (for example, CREATE
TABLE) are not available using any other activity.
If this activity is not part of a transaction group, the SQL statement is committed
after the activity completes. If this activity is part of a transaction group, the SQL
statement is committed or rolled back with the other JDBC activities in the group
at the end of the transaction. See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about creating groups for transactions.
If you want to override the default behavior of transaction groups for certain
JDBC activities in a transaction group, you can check the Override Transaction
Behavior field on the Advanced tab. This specifies that the activity is outside of
the transaction and the SQL statement is committed when the activity completes,
even if the activity is in a transaction group.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Timeout (sec) Yes Time (in seconds) to wait for the statement to
complete. If the statement does not complete in
the given time limit, an error is returned.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Override Yes Overrides the default behavior of a transaction
Transaction group. If this activity is in a transaction group, the
Behavior activity is normally committed or rolled back with
the other transactional activities.
If this checkbox is checked, this activity is not part
of the transaction group and is committed when it
completes. Checking this option uses a separate
database connection to perform the activity and
commit the SQL statement.
Input
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
TIBCO ActiveMatrix BusinessWorks constructs any date and time data returned
from the database with the time zone specified in the ServerTimeZone input
element. Constructed DateTime data is in a UTC-normalized form, and daylight
savings adjustments are also automatically applied.
If an invalid time zone name is specified, an InvalidTimeZoneException is
thrown. If no value is specified in this input item, it is assumed that the database
server is in the same time zone as the local machine.
All activities that retrieve and modify data to be later updated in a database
should specify the same time zone for the database server or potentially incorrect
values will be stored in the database.
Examples
Date in
Database serverTimeZone Constructed DateTime
The ServerTimeZone input item in JDBC activities allows you to specify the name
of the time zone where the database server is located. Table 5 lists the names of
the time zones that you can specify. You can also retrieve these time zone names
on the Constants tab of the XPath Formula Builder.
Java Message Service (JMS) is a specification for how messages are sent and
received between applications in a Java environment.
The JMS palette is used to send and receive JMS messages in a process definition.
Both the JMS point-to-point (queues) and publish/subscribe (topics) models are
supported.
Refer to the documentation of your JMS provider or the JMS specification for
more information about JMS and its message models.
See TIBCO ActiveMatrix BusinessWorks Release Notes for more information about
specific support for JMS providers.
Topics
The Get JMS Queue Message activity retrieves a message from the
specified queue. This activity allows you to perform a receive
operation on the queue as opposed to waiting for a queue message to
be delivered to the Wait for JMS Queue Message activity or the JMS
Queue Receiver process starter.
You can use the Message Selector field on the Advanced tab to retrieve a specific
queue message from the queue.
The Get JMS Queue Message activity is different from the Wait for JMS Queue
Message activity in the following ways:
• Unlike the Wait for activity, which starts listening for messages from the time
the BusinessWorks engine starts, this activity starts listening for incoming
messages on the specified queue from the time the activity is triggered.
• This activity can receive only one message from the specified queue at a time,
when the Message Selector is not used.
• Once triggered, this activity can either gets a message from the specified
destination queue name before timeout and proceeds or it throws a timeout
error and exits.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Message Type No The type of the message. This can be one of the
following:
• Simple — A message with no body portion.
• Bytes — A stream of bytes.
• Map — A set of name or value pairs. The
names are strings, and the values are simple
data types (JAVA primitives), an array of bytes
(use the Binary datatype when mapping this
data), or a string. Each item can be accessed
sequentially or by its name.
• Object — A serializable Java object.
• Object Ref — An object reference to a Java
object.
• Stream — A stream of Java primitives, strings,
or arrays of bytes. Each value must be read
sequentially.
• Text — The message is a java.lang.String.
• XML Text — The message is XML text.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Message Yes A string to determine whether a message should
Selector be received. The syntax of the message selector is
determined by the JMS provider, but it is usually
a subset of SQL92 (where message properties are
used instead of table column names).
See your JMS provider documentation for more
information and syntax for a message selector
string.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output Editor
The Output Editor tab defines the schema to use for messages of type Map,
Stream, or XML Text. Map messages are name/value pairs, and the schema
allows you to define the structure of the retrieved queue message. The schema
defined on the Output Editor tab becomes the body of the message on the Output
tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Output Editor tab.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
JMS Connection
Shared Configuration
Configuration
The Configuration tab has the following fields.
User Name Yes User name to use when logging into the JMS server.
If the JMS provider does not require access control,
this field can be empty.
Not all JMS servers require user names and
passwords. Refer to your JMS provider
documentation and consult your system
administrator to determine if your JMS server
requires a user name and password.
Password Yes Password to use when logging into the JMS server.
If the JMS provider does not require access control,
this field can be empty.
Provider Yes This field is only available when the Use JNDI for
URL Connection Factory field is unchecked.
This is the URL to use to connect to the JMS server.
JNDI No This field only appears when the Use Shared JNDI
Configurati Configuration field is checked.
on
This field allows you to choose a JNDI
Configuration shared configuration object that
specifies the JNDI connection information. See JNDI
Configuration on page 176 for more information.
JNDI Yes This field appears only when the Use Shared JNDI
Context Configuration field is unchecked. It is the initial
Factory context factory class for accessing JNDI.
(javax.naming.Context.INITIAL_CONTEXT_
FACTORY). You can choose from the drop-down list
of supported classes, or you can type in a different
InitialContextFactory class name.
When using IBM WebSphere, you should use the
JNDI Configuration resource instead of specifying
the JNDI configuration on this resource. See IBM
WebSphere and JNDI Context Caching on page 178
for more information.
Note: TIBCO ActiveMatrix BusinessWorks attempts
to find the class. However, you may need to add the
Java file supplied by your JNDI service provider to
the CLASSPATH environment variable to use JNDI.
JNDI User Yes This field only appears when the Use Shared JNDI
Name Configuration field is unchecked. User name to use
when logging into the JNDI server
(javax.naming.Context.SECURITY_
PRINCIPAL). If the JNDI provider does not require
access control, this field can be empty.
JNDI Yes This field only appears when the Use Shared JNDI
Password Configuration field is unchecked. Password to use
when logging into the JNDI server
(javax.naming.Context.SECURITY_
CREDENTIALS). If the JNDI provider does not require
access control, this field can be empty.
Connection Yes This field is only available when the SSL and the Use
Factory SSL JNDI for Connection Factory fields are checked and
Password the Use Shared JNDI Configuration field is
unchecked.
The SSL configuration is specified in the
ConnectionFactory object, except for the client SSL
password.
You can specify your client SSL password in this
field, or you can leave this field empty. If your
password is not specified, the private key password
is used.
Advanced
The Advanced tab has the following fields.
Queue Yes This field is only available when the Use JNDI for
Connection Connection Factory field on the Configuration tab
Factory is checked.
The QueueConnectionFactory object stored in
JNDI. This object is used to create a queue
connection with a JMS application.
See your JNDI provider documentation for more
information about creating and storing
QueueConnectionFactory objects.
SSL Configuration
The SSL Configuration button allows you to configure the SSL connection
parameters. The SSL Configuration dialog specifies the basic and advanced SSL
parameters you can set for the JMS server you are connecting to.
When using JNDI to lookup the JMS Connection factory, the parameters
ssl_identity and ssl_verify_host must be specified in the factories.conf
file of the Enterprise Message Service server.
Basic
The Basic tab of the SSL Configuration dialog allows you to specify the simplest
required SSL configuration parameters for the connection.
Field Description
Trusted Certificates Location of the trusted certificates on this
Folder machine. The trusted certificates are a collection of
certificates from servers to whom you will
establish connections. If the server you want to
establish a connection presents a certificate that
does not match one of your trusted certificates,
the connection is refused.
This prevents connections to unauthorized
servers.
Trusted certificates must be imported into a folder,
and then you can select the folder in this field.
Advanced
The Advanced tab of the SSL Configuration dialog allows you to specify more
advanced SSL configuration parameters for the connection.
Field Description
Trace Specifies whether SSL tracing should be enabled
during the connection. If checked, the SSL connection
messages are logged and sent to the console.
Verify Host Name Specifies whether you want to verify that the host
you are connecting to is the expected host. The host
name in the host’s digital certificate is compared
against the value you supply in the Expected Host
Name field. If the host name does not match the
expected host name, the connection is refused.
Note: The default context factories for TIBCO
Enterprise Message Service automatically determine
if host name verification is necessary. If you are using
a custom implementation of the context factories,
your custom implementation must explicitly set the
verify host property to the correct value. For
example:
com.tibco.tibjms.TibjmsSSL.setVerifyHost(fa
lse)
Expected Host Name Specifies the name of the host you are expecting to
connect to. This field is only relevant if the Verify
Host Name field is also checked.
If the name of the host in the host’s digital certificate
does not match the value specified in this field, the
connection is refused.
This prevents hosts from attempting to impersonate
the host you are expecting to connect to.
Field Description
Strong Cipher Suites When checked, this field specifies that the minimum
Only strength of the cipher suites used can be specified
with the
bw.plugin.security.strongcipher.minstrength
custom engine property. See TIBCO ActiveMatrix
BusinessWorks Administration for more information
about this property. The default value of the property
disables cipher suites with an effective key length
below 128 bits.
When this field is unchecked, only cipher suites with
an effective key length of up to 128 bits can be used.
JMS Properties
Table 6 table describes message headers and message properties used in JMS
messages. MessageHeader properties are set by the JMS application sending the
message and are available to view once the message is received.
MessageProperties can be set on outgoing messages using the Input tab of the
activity that sends the message.
MessageProperties
Configuration
The Configuration tab has the following fields.
Globa
Field l Var? Description
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
them. When process engines are started at different times, this can lead to one
process engine receiving all queue messages and paging them to disk, depending
upon how the engine’s Max Jobs and Activation Limit properties are set when the
engine is deployed.
If you are using TIBCO Enterprise Messaging Service, you can avoid this problem
by setting the acknowledge mode to TIBCO EMS Explicit and then use the Flow
Limit property in the deployment configuration to control the number of process
instances created by the process starter.
If you are not using TIBCO Enterprise Messaging Service, set the Acknowledge
Mode field to "Client". In this mode, a process engine can only receive as many
messages as it has sessions specified in the Max Sessions field. Once a process
engine reaches the maximum number of sessions, another process engine can
begin to accept incoming messages. A process engine cannot receive more
messages until the messages have been acknowledged by using the Confirm
activity. Once the message is acknowledged, the session is released and the
process engine can accept a new message.
If the Sequencing Key field is set to preserve the order of incoming messages, to
confirm the messages sequentially you must either set the Acknowledge mode to
TIBCO EMS Explicit Client Acknowledge mode or set the Acknowledge mode to
Client and Max Sessions to 1. Setting Max Sessions to 1 can limit the system's
throughput, so using TIBCO Enterprise Message Service and TIBCO EMS Explicit
Client Acknowledge is a better choice.
Advanced
The Advanced tab has the following fields.
Output Editor
The Output Editor tab defines the schema to use for incoming messages whose
message type is Map, Stream, or XML Text. Map messages are name/value pairs,
and the schema allows you to define the structure of the incoming message. Once
defined, the schema on the Output Editor tab becomes the structure used for the
body of the message displayed on the Output tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Output Editor tab.
Output
The output for the activity is the following.
This activity uses temporary destinations to ensure that reply messages are
received only by the process that sent the request.
Configuration
The Configuration tab has the following fields.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Delivery mode Yes The delivery mode of the message. Can be one of
the following:
• PERSISTENT: signifies the messages are
stored and forwarded.
• NON_PERSISTENT: messages are not stored
and may be lost due to failures in
transmission.
• TIBCO EMS Reliable: this mode is only
available when using TIBCO Enterprise
Message Service. See the TIBCO Enterprise
Message Service documentation for more
information about this mode.
Priority Yes Priority of the message. You may set the priority
to a value from 0-9. The default value is 4.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Reply-to Queue Yes The name of the queue where replies should be
sent. This field is optional, and replies are sent to
the queue specified on the Configuration tab by
default.
Note: If you are using TIBCO Enterprise Message
Service as your JMS provider, you can use the
Browse button next to this field after specifying a
valid connection in the JMS Connection field. The
Browse button displays a list of configured
destinations in the JMS server that are appropriate
for this activity.
Delivery mode Yes The delivery mode of the message. It can be one of
the following:
• Persistent: signifies the messages are stored
and forwarded.
• Non-Persistent: messages are not stored and
may be lost due to failures in transmission.
• TIBCO EMS Reliable: is mode is only available
when using TIBCO Enterprise Message
Service. See the TIBCO Enterprise Message
Service documentation for more information
about this mode.
Priority Yes Priority of the message. You may set the priority
to a value from 0-9. The default value is 4.
Input Editor
The Input Editor tab defines the schema to use for outgoing messages whose
message type is Map, Stream, or XML Text. Map messages are name/value pairs,
and the schema allows you to define the structure of the outgoing message. Once
defined, the schema on the Input Editor tab becomes the structure used for the
body of the message displayed on the Input tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Input Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The JMS Topic Publisher sends a message to the specified JMS topic.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Reply-to Topic Yes The name of the topic to which replies should be
sent. This field is optional, and replies are sent to
the topic specified on the Configuration tab by
default.
Note: If you are using TIBCO Enterprise Message
Service as your JMS provider, you can use the
Browse button next to this field after specifying a
valid connection in the JMS Connection field. The
Browse button displays a list of configured
destinations in the JMS server that are appropriate
for this activity.
Priority Yes Priority of the message. You may set the priority
to a value from 0-9. The default value is 4.
Input Editor
The Input Editor tab defines the schema to use for outgoing messages whose
message type is Map, Stream, or XML Text. Map messages are name/value pairs,
and the schema allows you to define the structure of the outgoing message. Once
defined, the schema on the Input Editor tab becomes the structure used for the
body of the message displayed on the Input tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Input Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
This activity uses temporary destinations to ensure that reply messages are
received only by the process that sent the request.
Configuration
The Configuration tab has the following fields.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Delivery Mode Yes The delivery mode of the message. Can be one of
the following:
• Persistent: signifies the messages are stored
and forwarded.
• Non-Persistent: messages are not stored and
may be lost due to failures in transmission.
• When using TIBCO Enterprise Message
Service, the JMSDeliveryMode header can be
TIBCO EMS Reliable. See the TIBCO
Enterprise Message Service documentation for
more information about this mode.
Priority Yes Priority of the message. You may set the priority
to a value from 0-9. The default value is 4.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Starts a process based on the receipt of a message for the specified JMS
topic.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Message Selector Yes A string to determine whether a message should be received. The
syntax of the message selector is determined by the JMS provider,
but it is usually a subset of SQL92 (where message properties are
used instead of table column names).
See your JMS provider documentation for more information and
syntax for a message selector string.
Receiver Timeout No Specifies the polling interval to check for new messages. This
(seconds) default interval is set by the custom engine property
bw.plugin.jms.receiverTimeout. If no value is specified for the
property, the default polling interval is one second.
Set a value in this field to specify the polling interval (in seconds)
for this activity. The value in this field overrides the default polling
interval.
Precreate No When checked, this field specifies that the transaction is created
Transactions before a message arrives at the JMS receiver.
Note: The Precreate Transactions feature should be used only with
IBM MQ Websphere.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value are executed sequentially in the order the
process instances were created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output Editor
The Output Editor tab defines the schema to use for incoming messages whose
message type is Map, Stream, or XML Text. Map messages are name/value pairs,
and the schema allows you to define the structure of the incoming message. Once
defined, the schema on the Output Editor tab becomes the structure used for the
body of the message displayed on the Output tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Output Editor tab.
Output
The output for the activity is the following.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Delivery Mode Yes The delivery mode of the message. It can be one of
the following:
• Persistent: signifies the messages are stored
and forwarded.
• Non-Persistent messages are not stored and
may be lost due to failures in transmission.
• TIBCO EMS Reliable: this mode is only
available when using TIBCO Enterprise
Message Service. See the TIBCO Enterprise
Message Service documentation for more
information about this mode.
Priority Yes Priority of the message. You may set the priority
to a value from 0-9. The default value is 4.
Input Editor
The Input Editor tab defines the schema to use for outgoing replies where the
message type is Map, Stream, or XML Text. Map messages are name/value pairs,
and the schema allows you to define the structure of the outgoing message. Once
defined, the schema on the Input Editor tab becomes the structure used for the
body of the message displayed on the Input tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Input Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The activity has no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The Wait for JMS Queue Message waits for the receipt of a
message for the specified JMS queue.
See Scalability With Incoming Events on page 226 in TIBCO
ActiveMatrix BusinessWorks Process Design Guide for information
on running the "Wait for..." activities in a multi-engine mode. See Using Wait for
JMS Queue Message Activity in Multi-Engine Design on page 481 for more details
on using the activity in a multi-engine design.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Name No The name to appear as the label for the activity in the process
definition.
JMS Connection No The JMS connection. See JMS Connection on page 392 for more
information about creating a JMS connection.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Message Selector Yes A string to determine whether a message
should be received. The syntax of the message
selector is determined by the JMS provider, but
it is usually a subset of SQL92 (where message
properties are used instead of table column
names).
See your JMS provider documentation for
more information and syntax for a message
selector string.
Message Event
The Event tab has the following fields.
Field Description
Candidate Event Key Expression built from the data of the incoming file
change event. This expression must evaluate to a
string and it is compared to the "key" field of the
activity’s input. If the Candidate Event Key and the
activity key match, then the process accepts the
incoming message.
For example, you may have JMS Queue Sender
activity earlier in the process diagram and you are
expecting a message in response to the sent
message. Place the JMSCorrelationID from the
header of the incoming message into the Candidate
Event Key field, then place the JMSMessageID from
the header of the sent message in the "key" field on
the input tab.
This expression is specified in XPath, and only data
from the incoming event is available for use in this
XPath expression. See TIBCO ActiveMatrix
BusinessWorks Process Design for more information
about XPath expressions.
When building an expression in the Candidate Event Key field, only data from
the incoming event is available. This is because you want to place an expression
containing incoming event data in the Candidate Event Key field. When the
results of this expression match the results of the expression in the "key" item on
the Input tab, the Wait For JMS Queue Message activity proceeds.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output Editor
The Output Editor tab defines the schema to use for incoming messages whose
message type is Map, Stream, or XML Text. Map messages are name/value pairs,
and the schema allows you to define the structure of the incoming message. Once
defined, the schema on the Output Editor tab becomes the structure used for the
body of the message displayed on the Output tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Output Editor tab.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The Wait for JMS Topic Message waits for the receipt of a message
for the specified JMS topic.
See Scalability With Incoming Events on page 226 in TIBCO
ActiveMatrix BusinessWorks Process Design Guide for information on
running the "Wait for..." activities in a multi-engine mode.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Message Yes A string to determine whether a message should
Selector be received. The syntax of the message selector
is determined by the JMS provider, but it is
usually a subset of SQL92 (where message
properties are used instead of table column
names).
See your JMS provider documentation for more
information and syntax for a message selector
string.
Message Event
The Event tab has the following fields.
Field Description
Candidate Event Key Expression built from the data of the incoming file
change event. This expression should evaluate to a
string and it is compared to the "key" field of the
activity’s input. If the Candidate Event Key and the
activity’s key match, then the process accepts the
incoming message.
For example, you may have JMS Topic Publisher
activity earlier in the process diagram and you are
expecting a message in response to the sent
message. You would place the JMSCorrelationID
from the header of the incoming message into the
Candidate Event Key field. You would then place
the JMSMessageID from the header of the outgoing
message earlier in the process in the "key" field on
the input tab.
This expression is specified in XPath, and only data
from the incoming event is available for use in this
XPath expression. See TIBCO ActiveMatrix
BusinessWorks Process Design for more information
about XPath expressions.
When building an expression in the Candidate Event Key field, only data from
the incoming event is available. This is because you want to place an expression
containing incoming event data in the Candidate Event Key field. When the
results of this expression match the results of the expression in the "key" item on
the Input tab, the Wait For JMS Topic Message activity proceeds.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output Editor
The Output Editor tab defines the schema to use for incoming messages whose
message type is Map, Stream, or XML Text. Map messages are name/value pairs,
and the schema allows you to define the structure of the incoming message. Once
defined, the schema on the Output Editor tab becomes the structure used for the
body of the message displayed on the Output tab.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Output Editor tab.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The Mail palette is used to receive incoming email or send outgoing email.
Topics
Receive Mail
Process Starter
The Receive Mail process starter polls a POP3 mail server for new
mail. When new mail is detected and retrieved, the Receive Mail
process starter starts a new process for the process definition it
resides in and passes the mail data to the next activity in the process
flow.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the
activity in the process definition.
For example,
myMailServer.myCo.com:76
User Name Yes User name to use when logging into the
POP3 server.
Polling Interval (sec) Yes Polling interval (in seconds) to check for
new mail. The default, if no polling
interval is specified, is 5 seconds.
Field Description
Trusted Certificates Specifies a folder in the project containing one or more
Folder certificates from the trusted certificate authorities. This
folder is checked when a client connects to ensure that
the server’s certificate is from a trusted certificate
authority. This prevents connections from rogue
servers.
Verify Host Name Specifies whether to verify that the host you are
connecting to is the expected host. The host name in
the host's digital certificate is compared against the
value you specify in the Expected Host Name field. If
the host name does not match the expected host name,
the connection is refused.
Strong Cipher Suites Specifies that only cipher suites with strong encryption
Only should be used, if they are available on the host you are
connecting to.
Advanced
The Advanced tab contains the following fields:
Field Description
Provide Raw When checked, this field specifies that the whole message is to
Message be provided in binary form. The output schema changes to
include an element named rawMessage that contains the
message instead of bodyText and mimeEnvelopeElements.
The Receive Mail process starter uses the javax.mail API.
This API assumes that the content type of the message is
multipart/mixed. When the multipart subtype is not mixed
(such as multipart/signed or multipart/alternative) or
when another content type is used (for example
application/*), the javax.mail API may not correctly parse
the message. Checking this field allows you to send the raw
message to a Java Code activity that uses the Java Activation
framework to implement the appropriate handlers to process
the message. For more information on how the Java Activation
framework can be used for this purpose, please consult the
API documentation for javax.activation and javax.mail.
You can also feed the binary message to the
javax.mail.MimeMessage constructor in the form of a
java.io.InputStream to construct a MimeMessage object. In
that case, the default javax.mail API handler is used.
Write to File Checking this field specifies that incoming messages whose
body and attachments (or raw message size if the Provide Raw
Message field is checked) exceed the specified threshold size
should be written to a file instead of stored in memory. This
allows you to accept large incoming messages without
consuming a great deal of memory. When this field is checked,
the Directory and Threshold Size fields appear.
Leaving this field unchecked specifies that incoming messages
should be kept in memory.
Note: Once written, the files created by using this option are
not deleted automatically. You must manage the storage used
by these files and delete them when they are no longer used.
Field Description
Directory The directory to write messages that are above the specified
threshold. The process engine does not attempt to create the
directory if the specified directory does not exist. Therefore,
create the directory before starting the process engine.
Threshold The maximum size (in bytes) of an incoming message that can
Message Data be kept in memory. Messages larger than the specified size are
Size written to a file in the specified directory. The file’s name is
output so that subsequent activities in the process definition
can access the file and read its contents.
Specifying zero (0) in this field causes all incoming messages
to be saved to a file.
Output Headers
Incoming messages may have custom headers. The Output Headers tab allows
you to define a custom schema for the headers of the incoming mail messages.
You can specify any standard header supported by the javax.mail package. For
example, X-Mailer or X-Priority. Values of headers in the incoming message will
populate the corresponding output headers of the same name that you have
defined.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Output Headers tab.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output
The output for the activity is the following.
Send Mail
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Global
Field Description
Var?
Trusted No Folder in the project containing one or more
Certificates certificates from trusted certificate authorities.
Folder This folder is checked when an invocation is
made to the partner service to ensure that the
server is trusted. This prevents connections to
rogue servers.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
Allow No By default, email IDs specified in the to, from, cc,
Non-Standard bcc, or replyTo input elements must conform to
Email IDs the RFC 822 standard for email addresses.
Checking this box allows you to specify email IDs
that do not conform to the RFC 822 standard. This
is useful if you want to send mail to a server that
has extensions for sending email to devices such
as a fax machine.
For more information about email address syntax,
see http://www.faqs.org/rfcs/rfc822.html.
Note: When this field is unchecked, not all of the
RFC 822 syntax rules are enforced. For example,
addresses composed of simple names (with no
"@domain" part) are allowed. For more
information on enforcing RFC 822, see the
description of the strict flag of the parse
method of
javax.mail.internet.InternetAddress at
http://java.sun.com/products/javamail/javadoc
s/javax/mail/internet/InternetAddress.html.
Input Headers
You may want to add custom headers to outgoing mail messages. The Input
Headers tab allows you to define a custom schema for the headers of the outgoing
mail message. You can specify any standard header supported by the javax.mail
package. For example, X-Mailer or X-Priority.
See Appendix A, Specifying Data Schema, on page 773 for a complete description
of using the Input Headers tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
bcc string The bcc (blind carbon copy) list for the email.
This is a repeatable element, so that you can
place more than one recipient on the BCC
list.
You can also supply a list of BCC recipients
in a single string by using either a comma or
a semicolon (but not both in the same string)
to separate the BCC recipients.
contentType string The MIME content type for the message. You
can specify a character encoding in this
element for the encoding of the body of the
message.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The Parse palette provides shared configuration resources and activities for
parsing and rendering formatted text. This is useful if you want to transform
formatted lines of text into a data schema. This is also useful if you want to
transform a data schema into a formatted text string.
The text lines can be formatted either by delimiters separating each field or offsets
can be specified to determine where each field begins and ends.
Topics
Data Format
Shared Configuration
When rendering text, each record in the input data schema is transformed into a
line of output text. The first item of the data schema is transformed into the first
column of the text line, the second item is transformed into the second column,
and so on. Each record in a repeating data schema is transformed into a separate
line in the output text string. Rendering a data schema into a text string is exactly
the opposite process of parsing a text string into a data schema. Rendering is the
reverse of the process illustrated in Figure 19.
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the resource.
Format Type The type of formatting for the text. The text can be
either "Delimiter separated" or "Fixed format".
In delimiter-separated text, each column is separated
by a delimiter character, specified in the Col Separator
field. Each line is separated by the character specified
in the Line Separator field. See Delimiter Separated
Fields on page 512 for more information.
In Fixed format text, each column occupies a fixed
position on the line. For fixed format text, you must
specify the Fill Character, the line length, and the
column offsets. See Field Offsets on page 512 for more
information.
Field Description
Col Separator Parse Specifies the rule to use for multiple column separator
Rule characters when parsing data. The choices are the
following:
• Treat all characters as entered as a single column
separator string
The characters entered into the Col Separator field
are treated as a single string that acts as a
separator. For example, if the specified Col
Separator is ":;", then Apple:;Orange:;Pear is
treated as three columns.
• Treat each character entered as a potential column
separator
Any of the characters will act as a column
separator. For example, if the specified Col
Separator is ":;", then Apple;Orange:Pear is
treated as three columns.
Field Description
Fill Character When processing fixed format columns, this is the
type of character that is used to fill the empty space in
a column and between columns. This is only available
when "Fixed format" is specified in the Format Type
field. This fill character is only used by the Render
Data activity.
You can select one of the following for this field:
• Space — fills with a space
• Dash — fills will a dash
• Others — allows you to specify your own custom
fill character in the Fill With field.
For example, you have a column that holds an integer
and the specified width is 10. One row has the value
"588" for that column. Because the width of 588 is
three and the column width is 10, the remaining 7
characters are filled with the specified fill character.
Data Format
The Data Format tab allows you to define a custom schema for the text.
You can define your own datatype on this tab, and you can reference XML schema
or ActiveEnterprise classes stored in the project. Once defined, the data specified
on the Data Format tab is used to parse a text string into the specified schema or
render the specified schema as a text string.
Data Format does not support nested schema.You can only specify basic plain
schema with no nesting.
See Appendix A, Specifying Data Schema, on page 773 for a description of how to
define a schema.
Notice that Pat Jones’ statement spans two lines and contains double quotes as
well as a comma. The entire field is surrounded by double quotes, so it is still
treated as part of the same record.
Field Offsets
When processing fixed format text, you must specify the line length and the
column offsets. This allows a Parse Data or Render Data activity to determine
where columns and lines begin and end. The Field Offsets tab allows you to
specify the format of fixed-width text.
The line length is the total length of each input line, including the line separator
character(s). Include the appropriate number of characters for the selected line
separator on the Configuration tab to the total length of each line.
The column offset is the starting and ending character position on each line for the
column. Each line starts at 0 (zero). For each column of the line, you must specify
the name of the data item associated with this column (this is the same name you
specified for the corresponding element in the data schema), the starting offset for
the column, and the ending offset for the column.
It is a good idea to have each column offset begin where the last column offset
ended. Many fixed format data files are used by databases (for example, ISAM
files) or are generated by automated processes. These types of files have rigid file
record formats and may not have additional padding space between columns.
When you define each column offset to begin where the last column offset ends,
the data can be read more quickly by TIBCO ActiveMatrix BusinessWorks
because the bytes of the input records can be read in sequentially.
Consider the following text file. The first two lines of the file indicate offset
numbers (each 0 indicates another 10 characters), and the fill character between
columns is spaces:
0 12 30 45
0123456789012345678901234567890123456789012345678901234567
57643 Smith Chris Account
57644 Jones Pat Marketing
57645 Walker Terry Develpment
Figure 20 illustrates the Field Offset tab for the file above. Notice that the line
length is specified as 60, even thought the offsets end at character number 58. The
line separator is specified as "Carriage Return/Line Feed (windows)", so this adds
two additional characters for a total line length of 60.
Parse Data
Activity
The Parse Data activity takes a text string or input from a file and
processes it, turning it into a schema tree based on the specified Data
Format shared configuration.
You can use any mechanism to obtain or create a text string for processing. For
example, you can use the Read File activity to obtain text from a file, or you can
retrieve a text field from an adapter message. You can also specify a text file to
read using this activity.
You might use this activity in a number of situations. For example, you may have
a file that consists of multiple lines of comma-separated values (as in data
obtained from a spreadsheet). You may also want to insert that data into a
database table. To do this, read and parse the file into a data schema with the
Parse Data activity. Then use a JDBC Update activity to insert the data schema
into a database table.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Encoding Yes The encoding of the input file. This field is only
available when "File" is chosen in the Input Type
field. Any valid Java encoding name can be used.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Example
The example contains two input records containing five data items, ID, FName,
LName, Address and Age. All the items are declared mandatory.
,FN1,LN1,Pune,99
2,FN2,LN2,Pune,33
Shown below is the output of the two records, after parsing them.
As the field "ID" is missing from the first record, the entire record appears in the
ErrorRows element.
When the ID field is declared Optional, and is missing, it is not an error. The
records appear in the output string :
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
You can optionally check the Manually Specify Start Record field to specify
the startRecord on the Input tab. If you do this, you must create an XPath
expression to properly specify the starting record to read with each iteration of
the loop. For example, the count of records in the input starts at zero, so the
startRecord input item could be set to the current value of the loop index
minus one. For example, $i - 1.
The procedure above is a general guideline for creating a loop group for parsing a
large set of input records in parts. You may want to modify the procedure to
include additional processing of the records, or you may want to change the
XPath expressions to suit your business process.
Render Data
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The Policy palette enables you to specify security policies for inbound and
outbound SOAP messages. The security policies follow Web Services Security:
SOAP Message Security 1.1 (WS-Security 2004) OASIS Standard Specification.
You can find out more about this standard at
http://docs.oasis-open.org/wss/v1.1.
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
using the resources in the Policy palette.
Topics
Security Policy
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
Custom No Check the box in this field if you want to use your
Password own custom password lookup class. By default,
Lookup authentication is performed through TIBCO
Administrator. This field allows you to specify a
class for looking up passwords in your system,
such as a database, file system, or LDAP system.
See TIBCO ActiveMatrix BusinessWorks Process
Design for more information about custom
password lookup.
Authentication
The Authentication tab specifies the characteristics for authenticating to the SOAP
message server. Inbound messages can be authenticated against a list of trusted
certificates. Outbound messages can specify the identity to use to authenticate to
the external SOAP server.
The Authentication tab has the following fields.
Global
Field Description
Var?
Inbound or Inbound Fault Policy Type Fields
Integrity
The Integrity tab specifies the characteristics of the signatures attached to the
messages. Signatures can be used to ensure that messages are not altered after
creation. The integrity of inbound messages can be checked against the trusted
root certificates and public certificates. Outbound messages can specify the
certificate to be used to sign the outgoing message.
The Integrity tab has the following fields.
Global
Field Description
Var?
Inbound or Inbound Fault Policy Type Fields
Use Password for the No When the Identity resource specified in the
Key X.509 Identity field is of type JKS or JCEKS,
select the check box to configure a password
for the private key.
Note: If the check box is not selected, the
password has to be the same for the
keystore and the private keys stored inside
it.
Confidentiality
The Confidentiality tab specifies the encryption characteristics of messages.
Inbound messages can be decrypted based on algorithms specified in the message
security header and the defined private key. Outbound messages can be
encrypted based on algorithms stored in a public key.
Global
Field Var? Description
Key Identifier Type No When you select the X.509 Token in the
Security Token field, this field specifies all the
references to X509 token types for
encryption.You can select one of the
following:
• Direct Reference
• Subject Key Identifier
• Issuer Serial
Note: If the Key Identifier Type selected is of
type Subject Key Identifier, ensure that the
X509 Certificate used contains the Subject Key
Identifier information.
Timeout
The Timeout tab specifies the characteristics of message timeout. Inbound
messages can be rejected after the specified number of seconds. Outbound
messages can be set to expire after the specified number of seconds.
The Timeout tab has the following fields.
Global
Field Description
Var?
Inbound or Inbound Fault Policy Type Fields
To run a project with security policy associations successfully, ensure that all the
policy associations in the project are valid. Any invalid associations must be
removed from the project before running the project.
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Inbound
The Inbound tab has the following fields.
Outbound
The Outbound tab has the following fields.
Global
Field Var? Description
The Rendezvous palette allows you to send and receive TIBCO Rendezvous
messages. For more information about TIBCO Rendezvous, see the TIBCO
Rendezvous documentation.
Topics
RawRVMsg2 Schema
<xsd:simpleType name="ipPort">
<xsd:restriction base="xsd:unsignedShort"/>
</xsd:simpleType>
<xsd:simpleType name="ipAddr">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="tibrvXml">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
</xsd:schema>
Datatype Conversion
TIBRVMSG_I8 byte
TIBRVMSG_I16 short
TIBRVMSG_I32 int
TIBRVMSG_I64 long
TIBRVMSG_U8 unsignedByte
TIBRVMSG_U16 unsignedShort
TIBRVMSG_U32 unsignedInt
TIBRVMSG_U64 unsignedLong
TIBRVMSG_F32 float
TIBRVMSG_F64 double
TIBRVMSG_DATETIME date
TIBRVMSG_STRING string
byte TIBRVMSG_I8
int TIBRVMSG_I32
long TIBRVMSG_I64
integer TIBRVMSG_I64
unsignedByte TIBRVMSG_U8
unsignedShort TIBRVMSG_U16
unsignedInt TIBRVMSG_U32
unsignedLong TIBRVMSG_U64
float TIBRVMSG_F32
double TIBRVMSG_F64
hexBinary TIBRVMSG_OPAQUE
base64Binary TIBRVMSG_OPAQUE
date TIBRVMSG_DATETIME
dateTime TIBRVMSG_DATETIME
time TIBRVMSG_STRING
string TIBRVMSG_STRING
For example, you want to send a message with two fields, ipAddress, ipPort, and
tibrvXml. Figure 21 illustrates an Input Editor tab that defines the message
structure.
In the content field, Element of Type is chosen. In the Type field, XML Type
Reference is chosen to indicate you want to reference a datatype defined in a
schema resource. Use the Browse button in the Schema field to locate the
RawRVMsg2 schema and select the appropriate type for the field. Figure 22
illustrates selecting the correct type from the RawRvMsg2 schema.
Before using the RawRVMsg2 schema, you must add the schema to your project.
See RawRVMsg2 Schema on page 542 for more information about adding this
schema to your project.
1. Create a root element in the Input/Output Editor tab with the Add Child
button.
You can only use the msg element of the RawRVMsg2 schema on the root
element in the schema you create in the Input or Output Editor tab. Do not
attempt to use this schema for any element that is not the root of the schema.
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
XPath.
A TIBCO Rendezvous message can contain field names that are not compliant
with XML or ActiveEnterprise naming rules. For example, XML element names
cannot begin with a number, nor can they contain special characters, such as # or
^. When activities in the TIBCO Rendezvous palette send or receive messages,
element names in the input or output schemas for the activity must comply with
XML and ActiveEnterprise naming rules. Any elements in referenced schemas in
the input or output schemas are automatically altered so that they comply with
XML and ActiveEnterprise naming rules. The XML-Compliant Field Names field
allows you to handle incoming or outgoing messages when the field names are
not valid XML or ActiveEnterprise names.
When the XML-Compliant Field Names field is unchecked, any field names in
incoming or outgoing messages that do not comply with XML or
ActiveEnterprise naming rules are altered so that they comply with the rules.
When the field is checked, field names in the message are left unaltered.
When publishing a message, unchecking the XML-Compliant Field names field
ensures that field names in the message sent over the transport to the receiving
application are altered when necessary to comply with XML or ActiveEnterprise
naming rules. Checking the field allows you to send the message with the original
field names intact; no alterations are made to the field names. This is useful in the
case where you reference a schema in the Input Editor that contains invalid XML
or ActiveEnterprise names (such as a TIBCO ActiveEnterprise schema that
contains special characters). The receiving application will receive the message
with the original field names, if the XML-Compliant Field Names field is
unchecked.
When receiving a message, unchecking the XML-Compliant Field Names field
ensures that field names in the incoming message are altered to comply with XML
and ActiveEnterprise naming rules. If the message contains fields that do not
comply to XML and ActiveEnterprise naming rules, the output schema of the
subscriber activity must specify the correct altered name in order to match the
altered name of the field in the incoming message. See the description of the
ae2xsd utility in the TIBCO Runtime Agent Administrator’s Guide for more
information about how to convert a TIBCO ActiveEnterprise schema into a valid
XSD. Using this utility will allow you to see how field names will be altered to
comply with XML and ActiveEnterprise naming rules. Unchecking the field
leaves the field names of the message intact.
Internationalization Support
TIBCO Rendezvous activities use the TIBCO Messaging Encoding as the wire
format encoding when testing processes in TIBCO Designer and when the project
is running as a legacy local-file based project. The default TIBCO Messaging
Encoding value is ISO8859-1, which only supports English and other western
European languages that belong to ISO Latin-1 character set.
You must set the TIBCO Messaging Encoding to UTF-8 if you want to send and
receive characters not in the ASCII and Latin-1 character set. When creating a new
project, you can set the TIBCO Messaging Encoding in the Save Project dialog or
on the Project Settings tab. See TIBCO ActiveMatrix BusinessWorks Process Design
for more information.
After the project is deployed in a TIBCO Administrator domain, the messaging
encoding set at design time is overridden by the TIBCO Administrator domain's
encoding property. All the TIBCO components working in the same domain must
always use the same encoding for intercommunication. See TIBCO Administrator
Server Configuration Guide for more information.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input Editor
The Input Editor tab allows you to define a custom schema for the body of the
TIBCO Rendezvous message. See Appendix A, Specifying Data Schema, on
page 773 for a complete description of using the Input Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
This activity produces no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Rendezvous Subscriber
Process Starter
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Needs Output No Specifies that only fields that match the name
Filtration and datatype of the schema elements specified
on the Output Editor tab should be processed.
Any elements that do not match the specified
schema are ignored and not included in this
activity’s output.
This is useful if you need only a subset of the
fields of an incoming message. Any unnecessary
fields are not included in the activity output. This
can save memory, and consequently improve
performance.
Note: This option is only valid when the XML
Format field is unchecked. Do not check this
checkbox when the XML Format field is also
checked.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Field Description
Custom Id This field can contain an XPath expression that
specifies a custom ID for the process instance. This ID
is displayed in the View Service dialog of TIBCO
Administrator, and it is also available in the
$_processContext process variable.
Output Editor
The Output Editor tab allows you to define a custom schema for the body of the
TIBCO Rendezvous message. See Appendix A, Specifying Data Schema, on
page 773 for a complete description of using the Output Editor tab.
Output
The output for the activity is the following.
Rendezvous Transport
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
or
<port number>
Field Description
Daemon Certificate File containing one or more certificates from trusted
certificate authorities. This file is checked when
connecting to a daemon to ensure that the connection is
to a daemon that is trusted. This prevents connections to
rogue TIBCO Rendezvous daemons that attempt to
impersonate trusted daemons.
You can retrieve a daemon’s certificate using the
administration interface in TIBCO Rendezvous. See the
TIBCO Rendezvous documentation for more
information about obtaining certificates through the
administration interface. Once retrieved, you can select
a folder in your project and import this certificate into
the folder using the Tools>Trusted Certificates>Import
Into PEM Format menu item.
BusinessWorks supports the use of global variables to
configure certificates at deployment time. You can
declare a global variable and set the absolute path to a
Certificate in PEM format. This eliminates the need to
embed certificates in BusinessWorks projects.
Field Description
Identity This is an Identity resource used to authenticate to the
TIBCO Rendezvous daemon. The Browse button allows
you to select from a list of appropriately configured
Identity resources. Only Identity resources whose Type
field is set to Identity File or Username/Password are
listed.
See TIBCO Designer Palette Reference for more
information.
Advanced
The Advanced tab has the following fields.
Global
Field Description
Var?
RV Type No The type of TIBCO Rendezvous connection to use.
This can be reliable (standard RV transport), certified
(RVCM), or Distributed Queue (RVCMQ).
Note: Use Confirm activity in the process when using
RV Certified messaging.
The fields of the Advanced tab correspond to the value
selected for this field.
Certified Transport
Ledger File Yes The name and location of the persistent ledger file that
tracks certified messages. If not specified, the certified
message ledger is kept in process memory only.
Require Yes Check this box if you want to require the retention of
Old messages for which delivery has not been confirmed.
Message These messages will be resent.
Message Yes The time limit (in seconds) for certified message
Timeout delivery.
(sec)
CMQ Yes The name of the distributed queue. This name is in the
Name same format as TIBCO Rendezvous subject names
Worker Yes The weight of the worker (this pertains to the worker
Weight processing queue requests, not to BusinessWorks
process engines). Relative worker weights assist the
scheduler in assigning tasks. When the scheduler
receives a task, it assigns the task to the available
worker with the greatest worker weight.
Worker Yes Sets the task capacity for the worker (this pertains to
Tasks the worker processing queue requests, not to
BusinessWorks process engines). Task capacity is the
maximum number of tasks that a worker can accept.
When the number of accepted tasks reaches this
maximum, the worker cannot accept additional tasks
until it completes one or more of them.
Worker Yes The amount of time the scheduler waits for a worker
Complete process to complete. If the worker process does not
Time complete in the specified period, the scheduler
reassigns the message to another worker.
Scheduler Yes When the heartbeat signal from the scheduler has been
Activation silent for this interval (in seconds), the member with
the greatest scheduler weight takes its place as the new
scheduler. All members with the same name must
specify the same value for this parameter. The value
must be positive
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input Editor
The Input Editor tab allows you to define a custom schema for the body of the
TIBCO Rendezvous message. See Appendix A, Specifying Data Schema, on
page 773 for a complete description of using the Input Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
This activity uses the INBOX mechanism to ensure that reply messages are
received only by the process that sent the request.
Configuration
The Configuration tab has the following fields.
Request Timeout Yes The amount of time to wait (in milliseconds) for
(msec) a reply to the TIBCO Rendezvous message. If no
reply is received in the given time limit, an error
is returned.
Needs Output No Specifies that you would like the reply message
Validation to be validated against the schema specified on
Output Editor tab. An error is returned if a reply
message does not match the specified schema.
Validation does affect system performance, and
you may want to uncheck this field to handle
reply messages more quickly. If you uncheck this
field, no validation is performed and any reply
message that does not match the specified
schema is processed.
You should only uncheck this field if you can
guarantee that reply messages conform to the
expected schema.
Input/Output Editor
The Input Editor and Output Editor tabs allow you to define custom schemas for
the body of the outgoing TIBCO Rendezvous request and body of the incoming
TIBCO Rendezvous response. See Appendix A, Specifying Data Schema, on
page 773 for a complete description of using the Input/Output Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Needs Output No Specifies that only fields that match the name
Filtration and datatype of the schema elements specified
on the Output Editor tab should be processed.
Any elements that do not match the specified
schema are ignored and not included in this
activity’s output.
This is useful if you need only a subset of the
fields of an incoming message. Any unnecessary
fields are not included in the activity output.
This can save memory, and consequently
improve performance.
Note: This option is only valid when the XML
Format field is unchecked. Do not check this
checkbox when the XML Format field is also
checked.
Event
The Event tab has the following fields.
Field Description
Candidate Event Key Expression built from the data of the incoming
message. This expression should evaluate to a string
and it is compared to the "key" field of the activity’s
input. If the Candidate Event Key and the activity’s
key match, then the process accepts the incoming
message.
For example, you may have a Publish Rendezvous
Message activity that sends a message with a
particular ID. You are expecting a reply message
that contains that same ID so that you can determine
the message is a response to your sent message. You
would specify the field of the incoming message
that contains your ID in the Candidate Event Key.
You would then use the message ID of the message
you sent earlier in the process as the "key" field in
the input.
This expression is specified in XPath, and only data
from the incoming event is available for use in this
XPath expression. See TIBCO ActiveMatrix
BusinessWorks Process Design for more information
about XPath expressions.
When building an expression in the Candidate Event Key field, only data from
the incoming event is available. This is because you want to place an expression
containing incoming event data in the Candidate Event Key field. When the
results of this expression match the results of the expression in the "key" item on
the Input tab, the Wait For Rendezvous Message activity proceeds.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output Editor
The Output Editor tab allows you to define a custom schema for the body of the
TIBCO Rendezvous message. See Appendix A, Specifying Data Schema, on
page 773 for a complete description of using the Output Editor tab.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
Topics
RMI Overview
You can use the resources in the RMI palette to either retrieve a remote Java object
or to create a process definition that starts a process instance for each incoming
RMI call. This section describes the uses of the resources in the RMI palette.
The object obtained by the lookup activity is an instance of the server's stub class
for the actual server object interface. To call methods on this object with a Java
Code activity, use the stub class interface to cast the object before making the calls.
Similarly, the Java Method activity should specify the stub class interface in its
Class field. The generated client stub’s .jar file must be either in the TIBCO
ActiveMatrix BusinessWorks classpath or in an AliasLibrary resource before it can
be used by the Java Method activity.
The RMI Server process starter can output two Java objects, one for the request
and one for the reply. Either the request or reply objects can be nil. Optionally, you
can also specify an output schema in the Output Editor tab of the RMI Server
process starter. This allows you to specify fields that are expected in the request
object and the data from the request object is used to populate the desired output
schema. You can then process the request based on the specified output schema,
and you can also access the actual request object by passing it to a Java Code or
Java Method activity.
When the client is expecting a reply, you can use the Java Code or Java Method
activities to invoke the appropriate methods on the reply object.
Figure 25 illustrates using the RMI Server process starter.
RMI Lookup
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Remote Object Yes Name of the remote object you want to retrieve.
Name
Registry Host Yes Host name of the registry server. The registry
Name server provides the remote object reference for
making the call to the remote object.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
RMI Server
Process Starter
The RMI Server process starter registers the specified remote object
name with the specified registry server and then creates process
instances to handle incoming requests for the object. The process
definition acts as the implementation of the specified object.
You can specify an output schema on the Output editor tab to extract expected
fields from the incoming request object. The data in the output schema is then
available to subsequent activities in the process definition. The request and reply
Java objects are also output and available to activities that can accept Java objects
as input (for example, Java Code or Java Method). You can send a reply to the
client by invoking the appropriate methods on the reply object, if the client
requires a reply.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Remote Object Yes Name of the Java object that this process
Name definition implements.
Registry Host Yes Host name of the registry server with which you
Name want to register the specified object.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output Editor
The Output Editor tab allows you to define a custom schema for expected fields in
the request object. See Appendix A, Specifying Data Schema, on page 773 for a
complete description of using the Output Editor tab.
Output
The output for the activity is the following.
Topics
Context Resource
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
Schema
The Schema tab allows you to define a custom schema to hold the data of the
context. You can define your own datatype on this tab, and you can reference an
XML schema stored in the project. See Appendix A, Specifying Data Schema, on
page 773 for a description of how to define a schema.
Get Context
Activity
The Get Context activity retrieves the value of the specified Context
Resource. This is useful if your process definition requires some
context information from an incoming request.
See TIBCO ActiveMatrix BusinessWorks Process Design for more
information about context separation for Service resources and operation
implementations.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Output
The output for the activity is the following.
Invoke Partner
Activity
Configuration
The Configuration tab has the following fields
Global
Field Description
Var?
Name No The name to appear as the label for the invoke
partner activity in the process definition.
Input
The input for the invoke partner service has the following fields
Output
The output for the invoke partner service has the following fields
Error Output
The Error Output tab lists the possible SOAP Fault messages that can be thrown
by the invoked operation on the selected external service. These SOAP Fault
messages are defined in the abstract WSDL. If no SOAP fault messages are
defined in the abstract WSDL, there will be no exceptions or fault messages listed
in the error output tab.
See TIBCO ActiveMatrix BusinessWorks Error Codes for more information about
error codes and corrective action to take.
Unlike the SOAP Request Reply activity where you can define dynamic endpoint
URL, you cannot define dynamic endpoint URL for the invoke partner activity.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the
resource.
JNDI Tab
Context URL Yes Th URL for the JNDI connection to the JMS
server
(javax.naming.Context.PROVIDER_URL).
User Name Yes The user name for logging into the JNDI
server
(javax.naming.Context.SECURITY_PRINCI
PAL). If the JNDI provider does not require
access control, this field can be empty.
JMS Tab
Use Shared JMS No Check this field if you want to specify a JMS
Configuration Connection shared configuration resource to
override the JMS transport parameters in the
concrete WSDL. When checked, the JMS
Connection field appears.
Note - When selected, the JNDI fields get
disabled.
JMS Connection No This field only appears when the Use Shared
JMS Configuration field is selected. This field
allows you to specify a JMS Connection
shared configuration resource that contains
the connection information you want to use.
User Name Yes User name to use when logging into the JMS
server.
If the JMS provider does not require access
control, this field can be empty.
Note - When Partner Link Configuration is created, these fields get populated
with the values from concrete WSDL. You can override these values in Partner
Link Configuration. If the concrete WSDL is changed after configuring Partner
Link Configuration, the changes are not visible in the Partner Link
Configuration.
Input Headers
The Input Headers tab allows you to specify a SOAP message parts used for any
SOAP Undescribed headers expected in the Outgoing Request.
Use the +, X, and arrow keys to add, delete and move the input header messages
in the list.
The Input Headers tab has the following fields.
Field Description
Part Name This field contains a drop-down list with all
parts of the specified SOAP message. You can
specify a cardinality for the part, if applicable.
Output Headers
The Output Headers tab allows you to specify a SOAP message part used for any
SOAP undescribed headers expected in the Incoming Response.
Use the +, X, and arrow keys to add, delete and move the input header messages
in the list.
The Output Headers tab has the following fields.
Field Description
Part Name This field contains a drop-down list with all
parts of the specified SOAP message. You can
specify a cardinality for the part, if applicable.
Field Description
Message Name The message in a WSDL file to use as the
undescribed output header for the SOAP
incoming response. This WSDL file does not
have to be the same as the file used for input
headers or the file used to configure the port
type and operation of the incoming request.
Use the Browse button in this field to search
for valid WSDL File resources and to select the
desired message in the WSDL File.
Input Context
The Input Context tab allows you to specify a Context Resource that contains
transport-specific data. The data you provide to the context resource is available
to the process definition that implements the operation.
The Input Context tab has the following fields.
Field Description
Context The Context Resource that specifies the schema
you want to use. The schema of this resource
should include elements for each data element
you want to provide to the output Headers for
the message.
Field Description
inputMessage The root class for the input of the SOAP
Request Reply activity. This class contains all
input items for the activity.
If this is a document request, the input is
named inputMessage. If the request is an RPC,
the input is the name of the operation.
Headers
Field Description
undescribed Headers
Authentication Credentials
Output Context
The Output Context tab allows you to specify a Context Resource that contains
data the process definition implementing the operation has provided. The data
can then be mapped to Undescribed Headers of the output message returned to
the client.
The Output Context tab has the following fields.
Field Description
Shared Context The Context Resource that specifies the schema
you want to use. The schema of this resource
should include elements for each data element
you want to provide to the output
Undescribed Headers for the message.
Field Description
Expose Security Checkbox Selecting this checkbox meant for Security
Context Propagation and Security Context,
makes it available as a transport data in the
mapping panel.
Field Description
mimeHeaders This element contains the mime header for
each mimePart. Mime headers can contain the
following information:
• content-disposition
• content-type
• content-transfer-encoding
• content-id
• other mime header information
Note: When the content type is specified as
"text/*" (for example, "text/xml"), the
attachment content is expected to be in either
the textContent input element or the file name
storing the attachment is expected to be in the
fileName input element. When the content
type is anything other than "text/*", the
attachment content is expected to be in either
the binaryContent input element or the file
name storing the attachment is expected to be
in the fileName input element.
Headers
Field Description
Content-Type This field indicates the media type of the entity
body for the outgoing message and the
incoming response. Media types are described
in the HTTP specification. An example of the
media type is text/html;
charset=ISO-8850-4.
Fault Context
The Fault Context tab allows you to select a shared Context Resource that is set
with SOAP fault attributes. The data can then be mapped to Fault elements of the
Fault message returned to the client.
The Fault Context tab has the following fields.
Field Description
Context The Context Resource that specifies the SOAP
fault schema you want to use. The schema of
this resource should include elements for each
data element you want to provide the Fault
elements for the fault message.
Note: For Fault Context propagation you must
map Fault elements to the Context data.
The Receive Partner Notification activity supports only SOAP over JMS messages.
Configuration
The Configuration tab has the following fields
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output
The output for the receive partner notification activity is the following:
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity.
See TIBCO ActiveMatrix BusinessWorks Error Codes for more information about
error codes and corrective action to take.
Service
Shared Configuration
The user interface for the Service shared configuration resource can change
depending upon the additional products you have installed. For example, the
TIBCO BusinessWorks BPEL Extension offers more options when configuring the
Service resource. When you install a product that extends the Service resource, a
new field named Implementation Type appears that allows you to specify the
type of service you want to configure depending upon the product you select. See
the documentation for the products you have installed for more information
about configuring a Service resource using those products. This section describes
the base TIBCO ActiveMatrix BusinessWorks Service resource.
Before creating a Service resource, you will need to create the following resources:
• A WSDL file that contains an abstract interface description. The interface can
include one or more operations.
• Process definitions will provide the implementation for each operation in the
service’s interface. You can specify the same process definition for more than
one operation.
• Either an HTTP Connection or JMS Connection shared configuration resource
that specifies the transport used by clients of the service.
• If you want to pass context information from the incoming request (for
example, user name or security certificate), create a Context Resource that
specifies the context data you want to use.
1. Provide an abstract WSDL file (see WSDL on page 742) that describes the
interface to the service.
2. For each operation in the interface, specify a process definition that
implements the operation.
3. Specify one or more endpoint bindings to expose the service to potential
clients.
4. For each endpoint binding, specify a transport configuration (either HTTP
Connection or JMS Connection).
5. Specify any transport-specific information, such as endpoint URL for HTTP
transports or JMS Destination Name for JMS transports.
6. Specify any SOAP details, such as SOAP Version or encoding for each
operation.
7. Specify attachments, headers, or context information for input and output
messages, if necessary.
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
services.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the resource.
Operations Sub-Tab
This sub-tab contains a table of all operations defined in the interface file. This
table allows you to specify the resource that implements each operation.
Transport Sub-Tab
Enable W3C No Select the check box to comply with the W3C
SOAP JMS 1.0 SOAP Over JMS 1.0 specification.
Compliance
By default, the check box is not selected and the
service complies with the TIBCO specifications.
JMS Delivery Yes This field is available when the Reply using
Mode Incoming Delivery Mode field is not selected.
(Response)
The delivery mode of the response message. Can
be one of the following:
• PERSISTENT: signifies the messages are
stored and forwarded.
• NON-PERSISTENT : messages are not stored
and may be lost due to failures in
transmission.
• TIBCO EMS Reliable : this mode is only
available when using TIBCO Enterprise
Message Service. See the TIBCO Enterprise
Message Service documentation for more
information about this mode.
By default, the field selection is PERSISTENT.
SOAP Version No Specify either SOAP 1.1 or SOAP 1.2 for the
version of the SOAP specification to which
incoming messages should comply.
See SOAP Specification Compliance on page 640
for more information.
Input Attachments
See Messages With Attachments on page 683 for more information about message
attachments.
Field Description
Mime Content Type The table containing this column allows you to
specify the mime content type of each message
part. This is especially useful for describing
parts that contain attachments. See the mime
specification for more information on the valid
syntax of the content type.
If specified, the content type appears in the
WSDL for the specified part.
Use the X, +, and arrow keys to delete, add, and
move parts in the list.
Message Part The message part that you would like to specify
the content type for. This field is a drop down
list of message parts.
Field Description
Write to File Checking this field specifies that incoming
messages whose attachments exceed the
specified threshold size should be written to a
file instead of stored in memory. This allows you
to accept large incoming attachments without
consuming a great deal of memory. When this
field is checked, the Directory and Threshold
Size fields appear.
Leaving this field unchecked specifies that
attachments of incoming messages should be
kept in memory.
Once written, the files created by using this
option are not deleted automatically. You must
manage the storage used by these files and
delete them when they are no longer used.
Although Write to File exists for SwA
and MTOM, Soap over JMS completely
depends on the heap size configuration
as JMS specifications do not support writing
JMS messages in parts as is the case with Soap
over HTTP, which can be written over wire in
parts. Hence, writing large JMS messages to JMS
after configuring Write to File, completely
depends on the Heap size.
Field Description
Threshold Data Size (bytes) This field only appears when the Write to File
field is checked.
The maximum size (in bytes) of an incoming
message attachment that can be kept in memory.
Attachments larger than the specified size are
written to a file in the specified directory. The
file’s name is output so that subsequent
activities in the process definition can access the
file and read its contents.
Specifying zero (0) in this field causes all
incoming messages to be saved to a file.
Input Headers
The Input Headers tab allows you to specify a SOAP message parts used for any
SOAP headers expected in the incoming request. The specified input headers are
also included in the concrete bindings in the generated WSDL file.
Use the +, X, and arrow keys to add, delete and move the input header messages
in the list.
The Input Headers tab has the following fields.
Field Description
Message Name The message in a WSDL file to use as the input
header for the incoming SOAP request. This
WSDL file does not have to be the same as the
file used for output headers or the file used to
configure the port type and operation of the
incoming request.
Use the Browse button in this field to search for
valid WSDL File resources and to select the
desired message in the WSDL File.
Part Name This field contains a drop down list with all
parts of the specified SOAP message. You can
specify a namespace or encoding for the part, if
applicable.
Field Description
Encoding Encoding to use for the selected input header
message.
Output Attachments
See Messages With Attachments on page 683 for more information about message
attachments.
The Output Attachments tab has the following fields.
Field Description
Attachment Style This field allows you to choose the attachment
style for the outbound/response messages. Two
attachment styles are available: SwA and
MTOM.
Attachments
Mime Content Type The table containing this column allows you to
specify the mime content type of each message
part. This is especially useful for parts that
contain attachments. See the mime specification
for more information on the valid syntax of the
content type.
If specified, the content type appears in the
WSDL for the specified part.
Use the X, +, and arrow keys to delete, add, and
move parts in the list.
Message Part The message part that you would like to specify
the content type for. This field is a drop down
list of message parts.
Output Headers
The Output Headers tab allows you to specify a SOAP message parts used for any
SOAP headers expected in the outgoing reply. The specified output headers are
also included in the concrete bindings in the generated WSDL file.
Use the +, X, and arrow keys to add, delete and move the input header messages
in the list.
The Output Headers tab has the following fields.
Field Description
Message Name The message in a WSDL file to use as the output
header for the SOAP request. This WSDL file
does not have to be the same as the file used for
input headers or the file used to configure the
port type and operation of the incoming request.
Use the Browse button in this field to search for
valid WSDL File resources and to select the
desired message in the WSDL File.
Fault Headers
This Fault Headers tab enables the user to configure headers for declared faults.
With this you will be able to configure different schemas to be mapped to the
headers for different Fault messages.
Field Description
soapFaults The Faults available for configuration are listed
in the soapFaults drop-down.
Input Context
The Input Context tab allows you to specify a Context Resource that contains
transport-specific data. The data you provide to the context resource is available
to the process definition that implements the operation.
The Input Context tab has the following fields.
Field Description
Shared Context The Context Resource that specifies the schema
you want to use. The schema of this resource
should include elements for each data element
from the transport information you want to
provide to a process definition that implements
the operation.
Field Description
Expose Security Context This field is available for either HTTP or JMS
transports. This field is only available when a
Context resource is specified in the Shared
Context field.
Places the information from the user’s security
context (either authentication or SSL certificate
information) into the Context/SecurityContext
element of the Input Context.
This is a fairly expensive operation and SSL
certificates can consume memory resources, so
check this option only if you require
information from the user’s security context for
later use in your process definition.
When the Expose Security Context field is checked, the following schema is
available in the Mapping Panel field.
Output Context
The Output Context tab allows you to specify a Context Resource that contains
data the process definition implementing the operation has provided. The data
can then be mapped to Headers of the output message returned to the client.
The Output Context tab has the following fields.
Field Description
Shared Context The Context Resource that specifies the schema
you want to use. The schema of this resource
should include elements for each data element
you want to provide to the output Headers for
the message.
Fault Context
The Fault Context tab allows you to select a fault context resource that is set with
SOAP fault attributes. The data can then be mapped to Fault Elements of the Fault
message returned to the client.
The Fault Context tab has the following fields.
Field Description
Shared Context The Context Resource that specifies the SOAP
fault schema you want to use for mapping
with the Fault Elements.
Partner Binding
The Partner Binding tab allows you to bind partners invoked by all operations in
a service on the Partner Binding tab of the Service. Only partners that require
binding appear on this tab. The Partner Binding tab has the following fields:
Field Description
Partner Bindings The Partner Bindings field allows you to specify
binding information for partner definitions. The
Partner Name and Process fields in the table are
non-editable.
Partner Name - name of the partner as specified
in the Process Definition.
Process - The process in which the partner is
declared.
PortType Namespace - is a non-editable field
displaying the PortType Namespace
corresponding to the Port Type selected.
Partner Link - the partner link configuration for
the partner. This field can optionally be
specified by double-clicking on the field and
browsing the list of available partner link
resources in the project.
Dynamic Call Processes The Dynamic Call Processes field allows you to
specify a list of processes that can be
dynamically invoked by processes invoked by
all operations in the service. You can add or
remove processes from the list.
Processes declared in the Dynamic Call Processes field are automatically included
in Enterprise Archive (EAR) files.
WSDL Source
The WSDL Source tab displays the concrete WSDL interface file that is generated
based on the information specified on the Configuration tab of this resource. This
tab has the following fields.
Global
Field Description
Var?
Service URI No The Service URI portion of the URL that can be used
to retrieve the WSDL file. For clients to retrieve
WSDL files from TIBCO ActiveMatrix
BusinessWorks, you must define a process definition
that accepts HTTP requests and uses the Retrieve
Resources activity to generate the WSDL file. See
Using Retrieve Resources on page 642 for more
information.
The URL to retrieve WSDL files is the following:
http://<host>:<port>/<serviceURI>?wsdl
Overview
The Overview tab provides a tree view of the service that you can expand and
collapse to view the exposed endpoints and operations for the service.
Set Context
Activity
The Set Context activity allows you to set the value of a Context
Resource shared configuration resource. This is useful if you want to
supply data from the process definition implementing an operation to
the service agent. For example, you may want to set some headers of
the outgoing reply message.
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
context separation for Service resources and operation implementations.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity
in the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Topics
Fault Schemas
The specification of the schema for SOAP Fault messages has changed between
release 1.1 and 1.2 of the SOAP specification. TIBCO ActiveMatrix BusinessWorks
uses the same schema for SOAP Fault messages regardless of the version of the
specification. Because of this, the content of Fault messages that comply with
SOAP 1.2 is mapped to the TIBCO ActiveMatrix BusinessWorks SOAP Fault
schema.
Table 9 describes the relationship of the data elements between the TIBCO
ActiveMatrix BusinessWorks SOAP Fault schema and the SOAP Fault 1.1 and 1.2
schemas..
TIBCO ActiveMatrix
SOAP Fault Schema SOAP Fault Schema
BusinessWorks SOAP
Fault Schema Element Element 1.1 Element 1.2
Retrieve Resources
Activity
The HTTP Receiver process starter can be configured to use the HTTPS protocol
for SSL communication when retrieving resources. See HTTP Receiver on
page 225 for more information.
When sending the HTTP response, set the Headers/Content-Type item on the
Input tab to the appropriate type for the type of resource retrieved. Use
"text/xml" when this activity is used to retrieve a WSDL file. See Format of URLs
for HTTP Requests on page 643 for more information on the format of the URL for
the HTTP request for retrieving resources.
See the descriptions of the Input and Output tabs for this activity for more
information about binding the HTTP request to this activity’s input and binding
this activity’s output to an HTTP response.
If you want to test a process definition containing this activity, you must load the
process definition containing this activity along with the process definition
containing the SOAP Event Source process starter into the test window. For more
information about loading multiple process definitions when testing, see TIBCO
ActiveMatrix BusinessWorks Process Design.
• http://<host>:<port>/<path>/<resourceName>
• http://<host>:<port>/inspection.wsil
Option Description
<host> Host name of the machine that is listening for the HTTP
request.
Option Description
inspection.wsil Used to retrieve a Web Services Inspection Language
(WSIL) file containing a list of all configured web
services. Any process definitions with SOAP Event
Source process starters in the project will be contained in
the WSIL file.
Examples
The following is an HTTP request that retrieves the WSDL file for the process
named GetPurchaseOrder stored in the folder Purchasing:
http://purch:8877/Purchasing/GetPurchaseOrder?wsdl
The following is an HTTP request that retrieves a WSIL file containing all process
definitions with SOAP Event Source process starters:
http://purch:8877/inspection.wsil
The following is an HTTP request that retrieves the WSDL file for the Service
resource named BuyerService :
http://server:8877/BuyerService.serviceagent?wsdl
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
bw.platform.services.retreiveresources.Enabled
This property specifies whether the Built-in Resource Provider feature is enabled
or not. Setting it to true enables the feature. By default it is set to false.
bw.platform.services.retreiveresources.Httpport
This property specifies the port number that is configured to listen for incoming
HTTP requests. This property is set to 8010 by default.
bw.platform.services.retreiveresources.isSecure
This property specifies if the incoming requests must use the HTTPS (secure
socket layer) protocol. The HTTPS protocol authenticates the server to the client.
By default, this property is set to false.
bw.platform.services.retreiveresources.enableLookups
This property, when set to true, enables the HTTP client to look up a Domain
Name System and resolve the IP address to a DNS Name.
Setting this property to true adversely affects the throughput. Hence this property
can be enabled only when required. By default, this property is set to false.
bw.platform.services.retreiveresources.defaultEncoding
This property specifies the encoding to use for the URL if no charset is specified in
the Content Type header of the message. By default, this property is set to
ISO-8859-1.
bw.platform.services.retreiveresources.identity
This property specifies the Identity resource that contains the HTTP Server’s
digital certificate and private key. This property is available when the
bw.platform.services.retreiveresources.isSecure property is set to true.
bw.platform.services.retreiveresources.Hostname
This property specifies the hostname to which the request will be sent. It is useful
to identify the exact host in a multi-host configuration to whom the request will
be sent.By default, this property is set to localhost.
Configuration
The Configuration tab has the following fields.
SOAP Version No Specify either SOAP 1.1 or SOAP 1.2 for the
version of the SOAP specification to which
incoming messages should comply.
See SOAP Specification Compliance on page 640
for more information.
Transport Details
The Transport Details tab allows you to specify additional configuration
information based on the type of transport used for the SOAP request. See SOAP
Messages Over the JMS Transport on page 705 for more information about SOAP
over the JMS transport.
The Transport Details tab contains the following fields:
Enable W3C No Select the checkbox to enable the W3C SOAP Over
SOAP JMS 1.0 JMS 1.0 specification.
Compliance
By default, the checkbox is not selected and the
service complies with the TIBCO specifications.
For an inbound SOAP Message with MTOM attachments received by the SOAP
Event Source or SOAP Request Reply activities, the SOAP message will have a
XOP include reference to the attachment. Any XOP include reference in the SOAP
message will be replaced by the corresponding attachment’s content encoded in
Base64. Any MIME attachment that is not referenced from the SOAP Message
using XOP include reference will be ignored by the MTOM Processing layer.
Note that the attachment is a part of the SOAP Infoset.
See TIBCO ActiveMatrix BusinessWorks Process Design Guide for more information
about MTOM.
Advanced
The Advanced tab contains the following fields:
Field Description
General Sub-Tab
Service URI The Service URI portion of the URL that can be used
to retrieve the WSDL file. For clients to retrieve WSDL
files from TIBCO ActiveMatrix BusinessWorks, you
must define a process definition that accepts HTTP
requests and uses the Retrieve Resources activity to
generate the WSDL file. See Using Retrieve Resources
on page 628 for more information.
The URL to retrieve WSDL files is the following:
http://<host>:<port>/<serviceURI>?wsdl
where <serviceURI> is the value in this field.
WSDL Namespace The namespace for the concrete WSDL file specified
by this activity.
Field Description
Encoding The encoding type for the body of the SOAP input
and output messages. This can be either literal or
encoded.
Encoded messages support more complex datatypes
such as SOAP arrays.
When encoded is specified, you can optionally specify
the namespace for input, output, and fault messages.
Embed Types When checked, specifies that all referenced XSD files
should be included inline in the concrete WSDL file.
Otherwise, all referenced XSD files are imported.
Mime Content Type The table containing this column allows you to
specify the mime content type of each message part.
This is especially useful for describing parts that
contain attachments. See the mime specification for
more information on the valid syntax of the content
type.
If specified, the content type appears in the WSDL for
the specified part.
Use the X, +, and arrow keys to delete, add, and move
parts in the list.
Field Description
Message Part The message part that you would like to specify the
content type for. This field is a drop down list of
message parts.
Field Description
Threshold Data Size The maximum size (in bytes) of an incoming message
(bytes) attachment that can be kept in memory. Attachments
larger than the specified size are written to a file in the
specified directory. The file’s name is output so that
subsequent activities in the process definition can
access the file and read its contents.
Specifying zero (0) in this field causes all incoming
messages to be saved to a file.
Attachment Style This field allows you to choose the attachment style
for the outbound/response messages. Two
attachment styles are available: SwA and MTOM.
Mime Content Type The table containing this column allows you to
specify the mime content type of each message part.
This is especially useful for parts that contain
attachments. See the mime specification for more
information on the valid syntax of the content type.
If specified, the content type appears in the WSDL for
the specified part.
Use the X, +, and arrow keys to delete, add, and move
parts in the list.
Message Part The message part that you would like to specify the
content type for. This field is a drop down list of
message parts.
Field Description
Input Headers Sub-Tab
The Input Headers sub-tab allows you to specify a SOAP message parts used
for any SOAP headers expected in the incoming request. The specified input
headers are also included in the concrete bindings in the generated WSDL file.
When an incoming request supplies a header, the SOAP Event Source process
starter places the information contained in the header into the output process
variables for the SOAP Event Source. The header information is then available
to subsequent activities in the process definition.
Use the +, X, and arrow keys to add, delete and move the input header
messages in the list.
Message Name The message in a WSDL file to use as the input header
for the incoming SOAP request. This WSDL file does
not have to be the same as the file used for output
headers or the file used to configure the port type and
operation of the incoming request.
Use the Browse button in this field to search for valid
WSDL File resources and to select the desired
message in the WSDL File.
Part Name This field contains a drop down list with all parts of
the specified SOAP message. You can specify a
namespace or encoding for the part, if applicable.
Binding Binding used for the part. This field must be "soap".
Field Description
Ouput Headers Sub-Tab
The Output Headers sub-tab allows you to specify a SOAP message parts used
for any SOAP headers expected in the outgoing reply. The specified output
headers are also included in the concrete bindings in the generated WSDL file.
Use the +, X, and arrow keys to add, delete and move the input header
messages in the list.
Part Name This field contains a drop down list with all parts of
the specified SOAP message. You can specify a
namespace or encoding for the part, if applicable.
Binding Binding used for the part. This field must be "soap".
WSDL Source
This tab displays the WSDL file that can be used to call the web service
implemented by this process definition. This information is presented for display
purposes only, and this file cannot be edited. You can copy this WSDL file and
send it to anyone who wants to invoke the web service.
Normally, an application would use a web request to retrieve the WSDL file of a
web service (see the description of the Retrieve Resources activity for more
information about sending a WSDL file as a response to a web request). This tab
allows you to see the WSDL file that contains the concrete service description for
this process.
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output
The output for the activity is the following.
Headers Complex
JMSHeaders
JMSProperties
Error Output
The Error Output tab lists the following possible exceptions that can be thrown by
this activity.
Activity Errors
InvalidEnvelopeException
InternalException
ConfigurationException
DeserializationException
ServerException
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
SOAP Action Yes The soapAction header for the operation. See the
SOAP specification for more information about
soapAction.
Reload Button
The Reload Button reloads the WSDL file. If the WSDL file has changed since it
was last loaded, the configuration, input, output, and error output are updated
with the changes.
Transport Details
The Transport Details tab allows you to specify additional configuration
information based on the type of transport used for the SOAP request. When
HTTP is the transport, the HTTP sub-tab appears on this tab. When JMS is the
transport, the JNDI and JMS sub-tabs appear. See SOAP Messages Over the JMS
Transport on page 705 for more information about SOAP over the JMS transport.
Global
Field Var? Description
HTTP Sub-Tab
Endpoint URL Yes The URL of the web service that you are sending a
request to. This field is automatically populated
with the choice made when selecting the service.
You can specify URLs that use the HTTPS (secure
sockets) protocol. If you specify HTTPS as the
protocol, the SSL field becomes enabled.
JNDI Sub-Tab
Context URL Yes This is the URL to the JNDI service provider
(javax.naming.Context.PROVIDER_URL). The
value for this field is taken from the WSDL file, if
it is available in the <jndi:context> element in
the service specification. You can override the
supplied value, if you want to use a different JNDI
service provider.
See your JNDI provider documentation for the
syntax of the URL.
User Name Yes User name to use when logging into the JNDI
server (javax.naming.Context.SECURITY_
PRINCIPAL). If the JNDI provider does not require
access control, this field can be empty.
Context Factory Yes The initial context factory class for accessing JNDI
(javax.naming.Context.INITIAL_CONTEXT_
FACTORY). The value for this field is taken from the
WSDL file, if it is available in the <jndi:context>
element in the service specification. You can
override the supplied value, if you want to use a
different context factory.
Note: TIBCO ActiveMatrix BusinessWorks
attempts to find the class. However, you may need
to add the Java file supplied by your JNDI service
provider to the CLASSPATH environment
variable to use JNDI.
JMS Sub-Tab
User Name Yes User name to use to authenticate to the JMS server.
Message Type Yes The type of the message. This can be one of the
following:
• Bytes Message — A stream of bytes.
• Text Message — The message is a
java.lang.String.
Priority Yes Priority of the message. You may set the priority to
a value from 0-9. The default value is 4.
Use Shared JMS No Check this field if you want to specify a JMS
Configuration Connection shared configuration resource to
override the JMS transport parameters in the
concrete WSDL. When checked, this JMS
Connection field appears.
JMS No This field only appears when the Use Shared JMS
Connection Configuration field is checked. This field allows
you to specify a JMS Connection shared
configuration resource that contains the
connection information you want to use to
override the JMS transport parameters in the
concrete WSDL.
Configure SSL
This button allows you to configure the SSL connection parameters for connecting
to the SOAP server. This button brings up a dialog with the following fields:
Field Description
Trusted Certificates Folder in the project containing one or more
Folder certificates from trusted certificate authorities. This
folder is checked when connecting to a server to
ensure that the connection is to a server that is
trusted. This prevents connections to rogue servers
that attempt to impersonate trusted servers.
Field Description
Verify Host Name This field specifies that the host name of the SOAP
server should be checked against the host name listed
in the server’s digital certificate. This provides
additional verification that the host name you believe
you are connecting to is in fact the desired host.
If the host name specified in the Endpoint URL field
on the Configuration tab is not an exact match to the
host name specified in the server’s digital certificate,
the connection is refused.
Note: If you specify an equivalent hostname (for
example, an IP address) in the Endpoint URL field,
but the name is not an exact match of the hostname in
the host’s digital certificate, the connection is refused.
Strong Cipher Suites When checked, this field specifies that the minimum
Only strength of the cipher suites used can be specified
with the
bw.plugin.security.strongcipher.minstrength
custom engine property. See TIBCO ActiveMatrix
BusinessWorks Administration for more information
about this property. The default value of the property
disables cipher suites with an effective key length
below 128 bits.
When this field is unchecked, only cipher suites with
an effective key length of up to 128 bits can be used.
This feature is applicable for all activities in the SOAP and Service Palette that
send outbound MTOM messages.
Advanced
The Advanced tab is used to specify the behavior of attachment for the reply
message. This is useful if large messages are sent and you want to write them to
files instead of storing them in memory. The Advanced tab has the following
fields.
Field Description
Write to File Checking this field specifies that incoming messages
whose attachments exceed the specified threshold
size should be written to a file instead of stored in
memory. This allows you to accept large incoming
attachments without consuming a great deal of
memory. When this field is checked, the Directory and
Threshold Size fields appear.
Leaving this field unchecked specifies that
attachments of incoming messages should be kept in
memory.
Note: Once written, the files created by using this
option are not deleted automatically. You must
manage the storage used by these files and delete
them when they are no longer used.
Although Write to File exists for SwA and
MTOM, Soap over JMS completely depends
on the heap size configuration as JMS
specifications do not support writing JMS messages in
parts as is the case with Soap over HTTP, which can
be written over wire in parts. Hence, writing large
JMS messages to JMS after configuring Write to File,
completely depends on the Heap size.
Field Description
Directory The directory to write attachments that are above the
specified threshold. The process engine does not
attempt to create the directory if the specified
directory does not exist. Therefore, create the
directory before starting the process engine.
Threshold Size (bytes) The maximum size (in bytes) of an incoming message
attachment that can be kept in memory. Attachments
larger than the specified size are written to a file in the
specified directory. The file’s name is output so that
subsequent activities in the process definition can
access the file and read its contents.
Specifying zero (0) in this field causes all incoming
messages to be saved to a file.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Headers
Authentication Credentials
Output
The output for the activity is the following.
Headers
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
The SOAP Send Fault activity sends a SOAP fault to the client if an
error occurs during processing of a SOAP request.
This activity is used when the SOAP Event Source process starter
handles incoming SOAP requests. The WSDL file for the request can have one or
more fault messages defined for an operation (see Chapter 19, WSDL Palette, on
page 741 for a description of creating fault schemas for operations). The SOAP
Send Fault activity can use the fault schema to send application-specific data
about the fault back to the client that made the SOAP request.
SOAP faults are required to send the fault code and the fault string. These values
are required input items on the Input tab. For example, "Client" can be used for
client faults and "Server" can be used for server faults. See the SOAP specification
at www.w3.org/TR/SOAP for more information about the syntax of SOAP fault
codes.
Configuration
The Configuration tab has the following fields.
Transport
The Transport tab has the following fields.
JMS Delivery No The delivery mode of the message. Can be one of the
Mode following:
• PERSISTENT: signifies the messages are stored
and forwarded.
• NON-PERSISTENT: messages are not stored and
may be lost due to failures in transmission.
• TIBCO EMS Reliable: this mode is only available
when using TIBCO Enterprise Message Service.
See the TIBCO Enterprise Message Service
documentation for more information about this
mode.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
TIBCO ActiveMatrix BusinessWorks uses the same schema for Fault messages
regardless of the version of the SOAP protocol. See SOAP Specification
Compliance on page 640 for more information.
Output
The activity has no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
JMS Transport
Configuration
The Configuration tab has the following fields.
Transport
The Transport tab has the following fields.
Global
Field Var? Description
JMS Transport
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The activity has no output.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
JMS Transport
The HTTP transport does not provide guaranteed message delivery. The SOAP
protocol is not specific to any transport, so SOAP messages in theory can be
bound to any transport. JMS provides a highly reliable transport that can
guarantee message delivery. TIBCO ActiveMatrix BusinessWorks supports
sending and receiving SOAP messages over the HTTP and JMS transports.
As of Release 5.3.0, there is no standard specification for SOAP messages over
JMS. TIBCO has proposed a specification with the following features:
• One-way and request/response operations
• Thee support is based on SOAP 1.1, SOAP 1.2, and WSDL 1.1
JMS Header
Table 10 describes the JMS Message Headers and Properties.
JMS Message
Headers and Description
Properties
TIBCO Compliant
JMS Message
Headers and Description
Properties
SOAPJMS_isFau This contains the value of the SOAP JMS Fault.
lt(boolean)
JMS Body
The JMS message body contains a binary representation of the actual SOAP
message. Below is an example of a SOAP message.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=
"http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/">
<ns0:getCatalog xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:soap-enc=
"http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="http://InputMessageNamespace"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
WSDL Extensions
The following sections describe extensions to the WSDL standard to support the
JMS protocol.
WSDL Binding
TIBCO Standard
The WSDL Binding for SOAP Over JMS varies only slightly from the SOAP Over
HTTP binding. The transport attribute under soap:binding indicates that JMS is
being used. The attribute must have the value:
http://www.tibco.com/namespaces/ws/2004/soap/binding/JMS.
For example:
<soap:binding style="document"
transport="http://www.tibco.com/namespaces/ws/2004/soap/binding
/JMS"/>
An example of the complete WSDL binding section with W3C SOAP Over JMS
1.0 specification is as follows.
<wsdl:binding name="RetailJMSBinding" type="tns:RetailerPortType">
<soap:binding style="document" transport=
"http://www.w3.org/2010/soapjms/"/>
<jms:binding messageFormat="bytes"/>
<wsdl:operation name="getCatalog">
<wsdl:documentation>The operation has no documentation</wsdl:documentation>
<soap:operation style="document" soapAction="RetailGetCatalog"/>
<wsdl:input>
<soap:body use="encoded"
WSDL Service
TIBCO Standard
The service section of the WSDL also contains extensions to support SOAP over
JMS. The extension is defined with the following form where '?' means optional.
<wsdl:service>
<jndi:context />?
<jms:connectionFactory />?
<wsdl:port>
<jndi:context />?
<jms:connectionFactory />?
<jms:targetAddress />
</wsdl:port>
</wsdl:service>
Query Parameters
With W3C SOAP Over JMS 1.0 compliance, property names are displayed as
query parameters with the value of SOAPJMS_requestURI within the WSDL (
attribute location and under <soap:address>) binding . They are supported in
the client activities when referring to concrete WSDLs.
Fault Codes
Additional fault codes are introduced with the W3C SOAP Over JMS 1.0
compliance. The following table lists the fault codes.
MimeParser
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Advanced
The Advanced tab contains the following field:
Global
Field Description
Var?
GenerateStrictP No When checked, this field generates strict parsing
arsingErrors validation errors.
Input
The Input tab contains the following fields:
Output
The Output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity.
Topics
The TCP/IP palette provides activities and resources that can send and receive
data using the TCP/IP protocol. TCP/IP is often the underlying communication
layer for higher-level protocols such as HTTP or FTP. You could use the resources
in the TCP palette to communicate with HTTP or FTP severs, but the activities in
the HTTP Palette or FTP Palette are best suited for this purpose. This palette is
intended for use when communicating with TCP/IP and there is no
corresponding TIBCO ActiveMatrix BusinessWorks palette for the protocol. For
example, you may have a custom application that communicates with other
applications by way of TCP/IP. You could use the TCP/IP palette to handle
incoming and outgoing data from this application.
The Read TCP Data activity reads data from an open TCP connection.
The connection must be opened by an activity or process starter that
executed previously in the process definition. Activities that can open
a TCP connection are: TCP Receiver, TCP Open Connection, and Wait
for TCP Request. The activity that opens a TCP connection places a handle to the
open connection in its connectionKey output element. The connectionKey is
mapped to this activity’s input.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Separator Yes The type of separator. This activity reads data from
the TCP connection until the separator or the end of
the data stream is encountered.
User Defined Yes When User-defined separator is chosen from the list
Separator in the Separator field, this field appears. This field
specifies the separator character to use.
When Binary is selected in the Type field, a
user-defined separator can be a string representation
of a single byte value or it can be comma-separated
byte values (for example, 0x0a, 0x0b, 0x0c). For valid
string representations of byte values, refer to the Java
documentation for the decode(String n) method
of java.lang.Byte.
Bytes to Read Yes When binary data is specified, this field specifies the
number of bytes that should be read by this activity.
If this field is left blank, then the activity reads until
the end of the data stream is encountered.
Timeout Yes The time to wait (in milliseconds) for this activity to
complete.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The activity has no output.
TCP Connection
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Port Yes This field specifies the port number on which a TCP
server is listening for requests.
Maximum Yes This field is available when the action Fail or Block is
Connection selected in the field WhenExhaustedAction.
Specifies the maximum number of TCP Connections
in a pool.
The default is 10.
Advanced
The Advanced tab has the following fields
Global
Field Description
Var?
enableDNSL No Selecting this field enables a Domain Name System
ookup (DNS) lookup so that the IP address is resolved to a
DNS name. This can adversely affect the throughput,
so enable this field only when required.
Connection Pooling
When you enable pooling, TIBCO ActiveMatrix BusinessWorks creates a pool of
TCP connections. TCP Connection pooling is available only on the client side and
is disabled by default.
The maximum size of the pool can be specified using the Maximum Connection
configuration field. A separate pool of TCP connections is created for every
shared resource.
When pooled connections are required, the TCP Open Connection activity
retrieves the connections from the pool. A check to identify stale connections is
also done at the time of retrieval. Connections when freed are returned to the pool
by the TCP Close Connection activity.
Overriding the host, port or local host values in the TCP Open Connection
activity results in the creation of connections outside the pool, even if pooling is
enabled on the referred shared resource.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
TCP Receiver
Process Starter
The TCP Receiver process starter starts a new process when a client
requests a TCP connection. When a connection request occurs, the
process starter places a handle to the open connection in the
connectionKey output element. This connection key can be used by
subsequent activities in the process definition to read data from, write data to, or
close the connection.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Parameter Wait
Parameter Interval Parameter for
Operating Time before
between Retry Maximum Retry Unit of Measure
System Connection
Probe Probes Probes
Misc
The Misc tab contains the following fields:
Field Description
Sequencing Key This field can contain an XPath expression that
specifies which processes should run in order. Process
instances with sequencing keys that evaluate to the
same value will be executed sequentially in the order
the process instance was created.
See TIBCO ActiveMatrix BusinessWorks Process Design
for more information about controlling the execution
order of process instances and about XPath
expressions.
Output
The output for the activity is the following.
The Wait for TCP Request activity waits for a TCP client connection
request. When a connection request occurs, the activity places a handle
to the open connection in the connectioney output element. This
connection key can be used by subsequent activities in the process
definition to read data from, write data to, or close the connection.
See Scalability With Incoming Events on page 226 in TIBCO ActiveMatrix
BusinessWorks Process Design Guide for information on running the "Wait for..."
activities in a multi-engine mode.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
Event
The Event tab has the following fields.
Field Description
Candidate Event Key This field cannot be used. Specifying a value in this
field will not cause the value to be compared with
the key field in the activity input.
Field Description
Event Timeout (msec) A message may arrive before this activity is
executed. This field specifies the amount of time (in
milliseconds) a message waits if it is received before
this activity is executed. If the event timeout expires,
an error is logged and the event is discarded.
If no value is specified in this field, the message
waits indefinitely. If zero is specified, the event is
discarded immediately, unless this activity has
already been reached.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The output for the activity is the following.
The Write TCP Data activity sends data on the specified TCP
connection. The connection must be opened by an activity or process
starter that executed previously in the process definition. Activities
that can open a TCP connection are: TCP Receiver, TCP Open
Connection, and Wait for TCP Request. The activity that opens a TCP connection
places a handle to the open connection in its connectionKey output element. The
connectionKey is mapped to this activity’s input.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in the
process definition.
User Defined Yes When User-defined separator is chosen from the list
Separator in the Separator field, this field appears. This field
specifies the separator character to use.
When Binary is selected in the Type field, a
user-defined separator can be a string representation
of a single byte value or it can be comma-separated
byte values (for example, 0x0a, 0x0b, 0x0c). For valid
string representations of byte values, refer to the Java
documentation for the decode(String n) method
of java.lang.Byte.
Encoding Yes When text data is specified, this field determines the
character encoding to use for the text data.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output
The activity has no output.
Topics
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
JNDI No This field only appears when the Use Shared JNDI
Configuration Configuration field is checked. This field allows
you to choose a JNDI Configuration shared
configuration object that specifies the JNDI
connection information.
See JNDI Configuration on page 176 for more
information.
JNDI Context Yes This field only appears when the Use Shared JNDI
URL Configuration field is unchecked.
Specifies the URL of the server
(javax.naming.Context.PROVIDER_URL). An
example URL is provided when one of the
supported JNDI context factory classes is selected.
See your JNDI provider documentation for the
syntax of the URL.
When using IBM WebSphere, you should use the
JNDI Configuration resource instead of specifying
the JNDI configuration on this resource. See IBM
WebSphere and JNDI Context Caching on
page 178 for more information.
JNDI User Yes This field only appears when the Use Shared JNDI
Name Configuration field is unchecked. User name to
use when logging into the JNDI server
(javax.naming.Context.SECURITY_
PRINCIPAL). If the JNDI provider does not require
access control, this field can be empty.
JNDI Password Yes This field only appears when the Use Shared JNDI
Configuration field is unchecked. Password to use
when logging into the JNDI server
(javax.naming.Context.SECURITY_
CREDENTIALS). If the JNDI provider does not
require access control, this field can be empty.
Transaction State
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
This activity has no input.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
XA TransactionManager Configuration
Shared Configuration
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
The WSDL palette is used for creating, editing, validating, importing, and
viewing WSDL (Web Service Description Language) files. These files are shared
resources that describe web services. The WSDL palette’s resources are used to
create and reuse abstract definitions, namely:
• messages, which describe the data being exchanged
• portTypes, which define a set of operations
• and operations, which describe the activities supported by the web service
You can learn more about WSDL at http://www.w3.org.
Topics
WSDL
Resource
Configuration
The configuration panel is accessible when working in the model view (which
loads by default). The fields in the Configuration tab are described below.
Field Description
Resource Name This is the name of the file when persisted. The *.wsdl
suffix will be automatically added.
Target Namespace This is the target name space of the WSDL document.
This field will be populated by default with an example
target namespace (http://xmlns.example.com). It is
recommended that you enter a unique and meaningful
namespace for each WSDL file. (In the WSDL source,
this field represents the value of the targetNamespace
attribute on the definitions element.)
Definition Name A name for the definitions. Entries in this field are
optional. Names must begin with a letter and may
contain numbers, underscores, dashes, and periods. (In
the WSDL source, this field represents the value of the
name attribute for the definitions element.
Field Description
Copy From URL Once a new WSDL resource has been added to the
project, you can copy the definitions of an existing
WSDL file. To do so, enter the URL of the existing WSDL
file to the Copy From URL field. Click Copy URL to
retrieve the WSDL file and make a copy in the project.
Once the copy is complete, all of the WSDL definitions
are visible and editable.
For example, if your WSDL file is located on the local
MS Windows machine, you can use a URL like
file:///c:/wsdl/order.wsdl.
Toolbar
When a WSDL resource, or one of its components, is selected in your project, four
extra buttons appear on the toolbar. These buttons are described in Table 11.
Button Description
Opens the model view. The model view is the default view so, by
default, this button is inactive.
For more information on the model view, see Editing WSDL
Resources on page 745.
Button Description
Opens the content view. For more information on the content
view, see Editing WSDL Resources on page 745.
Opens the source view. For more information on the source view,
Editing WSDL Resources on page 745.
Checks changes made in the content view to verify that the WSDL
resource conforms to the WSDL schema. Errors are reported in an
errors panel, which is displayed at the bottom of the content view.
View Description
Model This is the default view.
• When a WSDL resource is selected, the Configuration tab
provides fields for setting document level properties as well as
an interface for copying existing WSDL definitions. For more
information, see Configuration on page 742).
To add a Message or PortType component to the WSDL
resource, drag the representative icon from the WSDL palette
into design panel. The Message and PortType components can
then be selected and edited.
• When a Message component is selected in the project, the
Configuration tab provides fields for naming and describing
the component and a table for adding part components. For
more information, see Message on page 750.
• When a PortType component is selected, the Configuration tab
provides fields for naming and documenting the PortType
component. For more information, see PortType on page 753.
To add an Operation component to the PortType, drag the
representative icon from the WSDL palette into the design
panel. The Operation component can then be selected and
edited.
• When an Operation component is selected, the Configuration
tab provides fields for naming and describing the component
and a table for specifying the messages to be used as input and
output. For more information, see Operation on page 754.
Note: The WSDL palette’s model view enables the creation of an
“abstract” WSDL file that may be used in a web service where
additional SOAP endpoints and binding information will be
added. To specify binding and endpoint information in the WSDL
file, use the content or source view.
View Description
Content The content view provides a tabular view of the WSDL file, with
the components (elements and attributes) of the WSDL file listed
on the left, and the component values listed on the right.
The content view provides access to all of the elements and
attributes used to build WSDL files, which appear as choices on the
factory bar located at the bottom of the view. The content view is
useful when viewing concrete WSDL files or when you need to add
elements to your resource that are not available in the model view -
such as binding or service elements.
The Content view provides the same editing environment used to
create XML instance resources. For details on the content view,
review the documentation for the Instance resource, in TIBCO
Designer Palette Reference.
Source The source view allows you to edit the source code of your
document directly. If you are comfortable with WSDL syntax,
editing directly in the WSDL source may be useful. To make the
other panels reflect the changes you've made in the source, click
'Reparse' at the top of the panel. Any errors found upon reparse
will be reported.
Once you have selected the registry to browse, use the Search Details section to
select the type of services you want to browse. The Search Details section has the
following fields.
Field Description
Search Type Use this field to specify the facet you want to use to locate
the WSDL file. When browsing a WSIL registry, searches
are conducted based on service name only. When browsing
a UDDI registry, see Table 12 for a description of the
available search types.
TModel Key In the Search Term field, specify a uuid key for a tmodel.
ALL WSDLs In the Search Term field, specify a service name. TModels of
type wsdlSpec will be searched.
NAICS In the Search Term field, specify a NAICS number. For more
information, see http://www.naics.com.
ISO 3166 In the Search Term field, specify the code for a particular
country. For a list of ISO 3166 codes, see
http://www.iso.org/iso/en/prods-services/iso3166ma/02
iso-3166-code-lists/list-en1.html
D-U-N-S In the Search Term field, enter the nine digit D-U-N-S
number. For more information, see http://www.dnb.com.
SIC Code In the Search Term field, enter the four digit SIC code. For
more information, see http://www.siccode.com.
UNSPSC In the Search Term field, enter a UNSPSC code. For more
information, see http://eccma.org/unspsc/.
Depending on the Search Type specified in the Search Details, either the Get
Services or Explore buttons will become active. The Explore option returns a list
of company names matching the search criteria, such as the companies with a
particular NAICS or SIC code. (To see the services provided one of the companies
on the list, select the company and click Get Services.) The results returned by the
Explore button are shown in Figure 28.
The Get Services option displays the WSDL files matching the search criteria in
the table below the Search Details section, as shown in Figure 29.
From the list of returned WSDL files, highlight the file you want to copy and click
OK. The URL for the service will appear in the Copy From URL field of the
Configuration tab of the WSDL resource. Click Copy URL. The definitions from
the external file will be copied into your WSDL resource.
External References
WSDL or XSD on an HTTP network location can be imported in a local WSDL
without physically importing them into the project repository. These external
references are restricted to imports only, that is, <wsdl:import> and
<xsd:import> elements from WSDL and XSD namespaces, respectively.
Message
Component
Configuration
The configuration panel is accessible when working in the model view (which
loads by default). The fields in the Configuration tab are described below.
Field Description
Message A name for the message. In the target namespace, message
Name names must be unique and must begin with a letter and may
contain numbers, underscores, dashes, and periods. (In the
WSDL source, this field represents the value of the name
attribute on the message element.)
Field Description
Part Table Messages contain one or more parts that provide references to
type information. Use this table to add part components to your
message component. The Part Table contains the following
columns:
• Name — Double click in this field to enable editing. Once
activated, enter or edit the name of the part here. In the
target namespace, part names must be unique and must
begin with a letter and may contain numbers, underscores,
dashes, and periods. (In the WSDL source, this field
represents the value of the name attribute for the part
element.)
• Type — This field displays the type information for the part.
(In the WSDL source, this field represents the value of the
type or element attribute of the part element.) The type
may be a built-in XML Schema simple type or an element or
complex type defined in an XML Schema. This field is not
editable. The value for this field is specified by way of the
Part Details fields.
When working in the Part Table, use the “+” button to create a
new row, the “X” to delete rows, and the arrows to re-order
parts.
Part Details The Part Details options, used to specify type information for
the part, appears when a row is selected in the Part Table.
Indicate whether the reference should be to a type or element by
clicking the respective radio button. Select Type to reference an
XSD simple type (built-in or user-defined) or complex type.
Select Element to reference an element defined in an XML
Schema.
Type information is selected using the Type drop down menu. If
the XML Type Reference option is selected, or if your part
references an element, use the Browse button. The Select a
Resource window will appear, enabling you to select a type or
element by browsing the project or namespace directories, or by
searching for a specific name.
Toolbar
When a Message component is selected in your project, four extra buttons appear
on the toolbar. These buttons are described in Table 11 on page 743.
PortType
Component
The PortType component describes the operations that are supported by the web
service. One or more PortType components can be added to a WSDL resource
selected in your project. Once the portType component has been created and
selected in the project, the Operation component becomes available in the WSDL
palette.
Configuration
The configuration panel is accessible when working in the model view (which
loads by default). The fields in the Configuration tab are described below.
Field Description
Port Type Name The name for the portType component. In the target
namespace, portType names must be unique and must
begin with a letter and may contain numbers, underscores,
dashes, and periods. (This field represents the value of the
name attribute for the portType element.)
Toolbar
When a PortType component is selected in your project, four extra buttons appear
on the toolbar. These buttons are described in Table 11 on page 743.
Operation
Component
The Operation component describes the message formats for the incoming and
outgoing messages required by the activities supported by the portType. One or
more Operation components can be added to a PortType component selected in
your project.
Configuration
The configuration panel is accessible when working in the model view (which
loads by default). The fields in the Configuration tab are described below.
Field Description
Operation Name The name of the Operation component. In the target
namespace, names must be unique and must begin with a
letter and may contain numbers, underscores, dashes, and
periods. (In the WSDL source, this field represents the
value of the name attribute for the operation element.)
Field Description
Message Table Use this table to specify the format for the operation’s
input and output messages. The Message Table contains
three columns:
• Message Kind — Use the drop down menu to select
either input, output, or fault. By default an input
message (which is accepted by the operation) and an
output message (which is sent by the operation) are
listed on the first two rows of the table. Because only
one input and one output message is allowed per
operation, any additional message rows are added as
fault messages (which are used for error reporting).
• Name — Double click in this field to enable editing.
Once activated, enter the name of the input, output, or
fault component here. (In the WSDL source, this field
represents the value of the name attribute for either the
input or output element.)
Message Details When a particular row in the Message Table is selected, the
namespace box defaults to the target namespace of the
current WSDL file. In the field below, you can select a
message component defined in this namespace using the
drop down menu.
To select a message component defined in a different
WSDL resource, use the Browse button. The Select a
Resource window will appear, enabling you to select a
message by browsing the project or namespace directory,
or by searching for a message name. When a message from
a different namespace is selected, the appropriate import
namespace declarations are automatically added to the
document.
Toolbar
When a Operation component is selected in your project, four extra buttons
appear on the toolbar. These buttons are described in Table 11 on page 743.
The XML Activities palette provides activities for parsing XML strings into
schemas and rendering schemas into XML strings.
Topics
Parse XML
Activity
The Parse XML activity takes a binary XML file or an XML string and
processes it, turning it into an XML schema tree based on the XSD or
DTD specified.
The preferred way to parse XML files is to use a Read File activity set to
binary mode to read the XML file. Then pass the binary file contents to the Parse
XML activity.
is 55 minutes, 31 seconds, and 112 milliseconds after 2PM on February 10th, 2002
in a time zone that is 8 hours, 0 minutes behind UTC.
If no time zone field is present, the value is interpreted in the time zone of the
machine that is performing the parsing. This can lead to complications if you are
processing XML from different time zones, so you are encouraged to always use
time zones.
Configuration
The Configuration tab has the following fields.
Global
Field Description
Var?
Name No The name to appear as the label for the activity in
the process definition.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
The input for the activity is the following.
Output Editor
The Output Editor tab allows you to define a schema for the XML output. See
Appendix A, Specifying Data Schema, on page 773 for a complete description of
using the Output Editor tab.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
MissingByteCountException
Render XML
Activity
Configuration
The Configuration tab has the following fields.
Global
Field Var? Description
Validate Input No When checked, specifies that the data input to the
activity should be validated against the schema
specified in the Input Editor tab.
Format Using No
Default
Namespace
Prefix
Advanced
The Advanced tab allows you to specify which elements in the input schema can
contain CDATA sections. CDATA sections allow you to enclose text within an
element that should not be treated as XML.
The + button allows you to add elements of the input schema to the list. When
you click the + button, a dialog appears that allows you to locate and select the
input schema by location in the project or by namespace. Use the By Location tab
if your input schema is located in the project directory. Use the By Namespace tab
if you constructed the input schema on the Input Editor tab.
Use the X button to remove elements from the list and the up and down arrows to
move elements in the list.
Input Editor
The Input Editor tab allows you to define a schema for the incoming XML data
you want to render. See Appendix A, Specifying Data Schema, on page 773 for a
complete description of using the Input Editor tab.
Input
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about
mapping and transforming input data.
XML Schema string The XML schema to render. The contents of the
schema are determined by the schema specified
on the Input Editor tab.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
MissingByteCountException
Transform XML
Activity
Configuration
The Configuration tab has the following fields.
Field Description
Name The name to appear as the label for the activity in
the process definition.
Input and Output Style Specifies whether the input and output is binary
data, text, or an XML tree.
Field Description
XSLT Engine Specifies the XSLT Engine to be used for the
transformation. Following are the XSLT engines
available in the drop down list:
— TIBCO XML - This is the default XSLT engine
provided by TIBCO.
— Saxon-B XSLT 2.0 - This engine provides
basic conformance to XSLT 2.0. The engine
provides all features of the languages except
schema-aware processes.
See http://saxon.sourceforge.net/ for details about
the Saxon-B XSLT 2.0 engine.
Input
The input for the activity is the following.
Output
The output for the activity is the following.
Error Output
The Error Output tab lists the possible exceptions that can be thrown by this
activity. See TIBCO ActiveMatrix BusinessWorks Error Codes for more information
about error codes and corrective action to take.
MissingByteCountException
The Transform XML activity uses an XSLT file that accepts two input parameters,
catalogNumber and catalogDate. These input parameters are added as elements
to the Book schema. The following is the source of the XSLT File shared
configuration resource for the example Transform XML activity:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:pfx="http://www.books.org">
<xsl:param name="catalogNumber"> <!--type="string"--></xsl:param>
<xsl:param name="catalogDate"> <!--type="string"--></xsl:param>
<xsl:template match="/*">
<pfx:BookStore>
<xsl:for-each select="Book">
<xsl:call-template name="handle-book">
<xsl:with-param name="inDate" select="$catalogDate"/>
</xsl:call-template>
</xsl:for-each>
</pfx:BookStore>
</xsl:template>
<xsl:template name ="handle-book">
<xsl:param name="inDate"> <!--type="string"--></xsl:param>
<pfx:Book>
<pfx:Title><xsl:value-of select="Title"/></pfx:Title>
<pfx:Author><xsl:value-of select="Author"/></pfx:Author>
<pfx:Date><xsl:value-of select="$inDate"/></pfx:Date>
<pfx:ISBN><xsl:value-of
select="$catalogNumber"/></pfx:ISBN>
<pfx:Publisher><xsl:value-of
select=""TIBCO Software Inc./></pfx:Publisher>
</pfx:Book>
</xsl:template>
</xsl:stylesheet>
When you configure the Transform XML activity, you specify the incoming XML
to transform any input parameters to the schema. Figure 31 illustrates the input
for the example Transform XML activity.
The stylesheet has two input parameters. The XPath if statement is used to place
the correct names and values into the correct parameters. Each parameter is
specified as a name/value pair. Notice that the name of each parameter
corresponds to the name specified for that parameter in the XSLT file.
The output of the Transform XML activity is a text string containing the XML. In
our example process definition, we must insert the transformed data into a
database table. To map the transformed data into the database UPDATE
statement, the data must first be represented as a schema. To do this, we use the
Parse XML activity to parse the output of Transform XML into an XML schema.
XSLT File
Shared Configuration
The XSLT File resource allows you to load an XSLT file to use to
transform XML schemas using the Transform XML activity. See
Transform XML on page 766 for more information about using this
shared configuration resource in a Transform XML activity.
A transformation expressed in XSLT is called a stylesheet. A stylesheet contains a
set of template rules. Each template rule has two parts: a pattern that is matched
against nodes in the source document and a template that can be instantiated to
form part of the result document.
A transformation expressed in XSLT describes rules for transforming a source
document into a result document. The transformation is achieved by associating
patterns with templates. A pattern is matched against elements in the source
document. A template is instantiated to create all or part of the result document.
The structure of the result document can be completely different from the
structure of the source document. In constructing the result document, elements
from the source document can be filtered and reordered, and arbitrary structure
can be added.
Topics
Editor
The Editor tab is used to specify a data schema for input or output of an activity.
This is useful when the data does not have a well-known structure. The Editor tab
is usually named for the type of schema you are creating. For example, the tab
may be named "Input Editor" or "Output Editor".
For example, an email message has a well-known data structure, and therefore
does not need a special datatype for its input. A JMS message, however, can have
application-specific properties of any datatype. The Editor tab allows you to
define the schema for any activities that require a specialized input or output
schema.
You can use a simple datatype, or you can define a group of data elements on this
tab. You can also reference XML schema or ActiveEnterprise classes stored in the
project. Once defined, the schema appears on the appropriate tabs of the activity.
The data in the schema then becomes available to other activities in the process
definition.
The following illustrates the Editor tab. In this example, the Editor tab is labeled
"Input Editor" indicating this is the activity’s input.
To define a schema on this tab, use the icons above the schema tree to add, delete,
or move data items. Then use the fields of the dialog to specify the datatype of
each item.
Field Description
Content Defines the content of the element. The other fields that
appear depend upon which content type is selected. See
Table 13 for more information about the content type.
Field Description
Name The name of the element.
Cardinality The qualification for the data item. Data items can be
specified as one of the following:
• Required — the data item is required and must be
supplied when the process is called.
• Optional (?) — the data item is optional.
• Repeating, Zero or More (*) — The data item is a list
that has zero or more elements.
• Repeating, One or More (+) — The data item is a list
that has one or more items.
Schema Name Stored XML schema that contains the element or type you
want to reference.
Icon Description
String or character value. You can specify the type of string
as one of the following:
• String
• Normailzed String
• Token
• Language
• Name
• NC-Name
• Q-Name
• Name Token
• Name Tokens
• ID
• ID ref
• ID refs
• Entity
• Entites
Icon Description
Integer value. You can specify the size of the integer as one of
the following:
• Byte
• Short
• Int
• Long
• Unsigned Byte
• Unsigned Int
• Unsigned Long
• Integer
• Positive Integer
• Negative Integer
• Non-positive Integer
• Non-negative Integer
Boolean value.
Icon Description
Base 64 or hexidecimal value.
Index
A
ActiveEnterprise Adapter palette 5
I L
Inspector activity 174 Label activity 181
inter-process communication List Files activity 69
Notify 185 Lock Object activity 183
Notify Configuration 187
Wait 208
Invoke an Adapter Request-Response Service
activity 30 M
Mail palette 487
Manual Work palette 507
J Map Data activity 184
mapping
Java Code activity 282 with XSLT 772
Java Custom Function shared configuration 289 messages
Java Event Source activity 294 confirming 145
Java Global Instance shared configuration 302
Java palette 277
JDBC Call Procedure activity 326
JDBC Connection shared configuration 333 N
JDBC Get Connection activity 340
JDBC palette 325 Notify activity 185
working with the Query Designer 362 Notify Configuration shared configuration 187
JDBC Query activity 345 Null activity 188
Query Designer 362
JDBC Update activity 355
JMS Application Properties shared configuration 391
JMS Connection shared configuration 392 O
JMS palette 379
JMS properties 402 On Event Timeout activity 189
JMS Queue Receiver activity 406 On Notification Timeout activity 191
JMS Queue Requestor activity 415 On Shutdown activity 193
JMS Queue Sender activity 424 On Startup activity 194
JMS Topic Publisher activity 432
JMS Topic Requestor activity 439
Q
Query Designer 362
R
Read File activity 72
T
TCP/IP Palette 715
technical support xxxv
TIBCO_HOME xxxiii
Timer activity 205
Transaction palette 733
Transaction State activity 737