Business Studio Process Developer Guide
Business Studio Process Developer Guide
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
TIBCO Business Studio Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Other TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Third Party Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
How to Contact TIBCO Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Chapter 3 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Elaborating a User Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Adding a Service Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Working with UDDI Registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Sending an Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Making a Database Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Creating a Script Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Associating a Script with a Conditional Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Timer Event Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Calling Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Complete the Parameter Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Packaging a Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Deploying a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Preparing a Process for Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Creating a New Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Connecting to a Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Deploying a Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Managing Deployed Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Changing Server Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Disconnecting from the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Chapter 4 Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Properties View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
User Task Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Service Task Properties (Web Service/BusinessWorks Service) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Service Task Properties (Email) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Service Task (Database) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Service Task (Java) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Script Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Send and Receive Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Process Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Preface
Topics
Related Documentation
Typographical Conventions
Convention Use
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.
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
Typically a Business Analyst defines a new business procedure and the Corporate
Developer must implement it. For example:
• An insurance company wants to enable their financial advisors to sell pension
plans door-to-door using portable tablets. The Corporate Developer must
implement a business process for doing this.
• A company has acquired a competitor. The Business Analyst has rationalized
both companies’ working procedures and created a process for a standard
way of working. The Corporate Developer must implement this across the
organization.
“Implementing a Process" refers to taking the Process that the Business Analyst
has generated, refining it, adding detail to it, and taking it through the packaging
and deployment phases. The following diagram shows how TIBCO Business
Studio is intended to be used:
Referring to the previous diagram, you can augment the process with execution
details in TIBCO Business Studio and deploy it directly to the TIBCO iProcess
Engine. However, using version 2.0 of TIBCO Business Studio there are some
constructs (for example, delayed release, transaction control steps, graft steps, and
dynamic sub-procedure call steps) for which you must perform part of the
augmentation and deployment of the Process in TIBCO iProcess Modeler.
The following section describes how the abstract implementation of a Process can
be done first, and then the Process can be transformed to create a Code Model that
can be used with a specific execution engine.
Implementation Approach
BPM/SOA Implementation
Test and debug the services created in Java using tools external to TIBCO Business
Studio, either those embedded in the Eclipse Platform Development Environment
(PDE) or any other tools that are available.
Hand Off/Deployment
There are several options depending on the procedures in your organization:
• Publish Process documentation to web site and return the enhanced Process
model to Business Analyst and Business Owner for approval. See the TIBCO
Business Studio Modeling User’s Guide for more information about generating
Process documentation.
• Package Process for Deployment to User Acceptance Testing/Production by
the Operations staff.
• Deploy the Package/Process to the Repository and initialize it without
handoff to Operations staff.
Process Testing
Ensure that the Process functions as intended including starting cases, test
queues, undelivered work items, and so on. For more information, see the TIBCO
iProcess Modeler set of guides.
This section provides an overview of how to augment the Process with execution
details. For example, you may want to call a web service from a Service Task. This
section provides an overview of elaborating a Process. For more information
about specific tasks, see Tasks on page 39.
User Tasks
You can specify the input and output Parameters of a User Task on the
Implementation tab of the Properties view for the User Task:
You can also specify either a relative or absolute URL for any form pages that you
want displayed when the Task is executed (see Elaborating a User Task on
page 40):
Upon import to iProcess Modeler, a User Task with a Form URL specified
becomes a step with a Form type of Formflow Form. If no URL is specified, the
step is created with a standard iProcess Form. For more information, see TIBCO
iProcess Client (Browser) Configuration and Customization.
Service Tasks
Service Tasks can be implemented in the following ways:
• Web Service - Calls to a web service can be implemented as well as the
mapping of input/output parameters.
• Java - Allows you to call Java code that you want to execute at runtime,
including functions that emulate standard iProcess Script commands.
• Database - Native or Java Database Connectivity (JDBC) calls to Oracle, SQL
and DB2 databases.
Currently the iProcess Engine database step only supports stored procedures.
• E-mail - You can either configure an email message that is sent when the
Process is executed, or provide a service descriptor (WSDL) for the behavior.
• BW Service - Calls to a BusinessWorks process exposed as a service can be
implemented as well as the mapping of input/output parameters.
This is done in the General tab of the Properties view for the Service Task. For
example:
If you want to implement other types of service calls, you must import the Process
into TIBCO iProcess Modeler, then use the appropriate EAI step (for example, EAI
Java).
• BusinessWorks live link - use the TIBCO BusinessWorks Connector live link
feature to dynamically create and import a WSDL from a BusinessWorks
process exposed as a service:
To use the TIBCO BusinessWorks live link invocation method, the iProcess
Engine Service Agent must be running and the JMS provider transport
information must be configured. For more information, see the TIBCO iProcess
BusinessWorks Connector User’s Guide.
Except for a WSDL obtained from a TIBCO BusinessWorks live link, the WSDL
file that you use must conform to the following requirements for deployment to
the iProcess Engine:
Parameter Mapping
• The web service must have at least one input and output parameter mapping,
however you cannot specify more than one output parameter mapping.
• The web service can have the following types of request and response
parameters:
— Simple types
— Arrays of simple types
— Complex types (including complex types containing complex types)
— Arrays of complex types
If you use a local WSDL, the abstract and concrete portion of the WSDL must be
present locally. If you use a remote WSDL, the abstract portion of the WSDL must
be present locally, and the concrete portion of the WSDL can be obtained
dynamically at runtime.
Database
A Service Task can be configured to perform an action on a database using stored
procedure calls. When the Process is deployed to the iProcess Engine, the
appropriate DB2, Oracle or SQL database calls are made in the iProcess database.
Although you do not need to be concerned about which database is used in
conjunction with the iProcess Engine, the stored procedure writer will need to be
familiar with the particular database.
E-mail
A Service Task can be configured to send an E-mail message on the General tab of
the Properties view for the Service Task as follows:
Clicking More Details or clicking the E-Mail tab allows you to specify further
parameters. Note that instead of explicitly entering email addresses, subject lines
and so on, you can define Data Fields or Parameters for this purpose. For
example, the previous dialog shows %Manager% rather than an explicit email
address.
For more information, see Sending an Email on page 50.
Java
A Service Task can be configured to call a Java code on the General tab of the
Properties view for the Service Task as follows:
The Java service class and any parameters that are not primitives (for example,
int, float, and so on) must adhere to JavaBeans semantics. Specifically they must
have a default constructor (one without parameters) and the properties need to
have standard get and set operations. This means that a String property 'name'
must have an accessor named getName():String and a mutator named
setName(:String).
You can browse to select the Java class and select a Method from the drop-down
list. Alternatively you can specify a Factory to be used for the creation of the class.
The factory class must either offer a static factory method or must have a default
constructor as the service class does.
Script Tasks
You can enter scripts in Script Tasks, on Conditional Sequence Flows, and to
Timer Start or Intermediate Events.
The following constructs are supported in TIBCO Business Studio for Processes
that you want to export/deploy to the TIBCO iProcess Modeler/TIBCO iProcess
Engine:
iProcess Script is supported for backward compatibility via the TIBCO iProcess
JavaScript class library. Within the packaging/export phase this JavaScript is
converted to iProcess Script for execution by the iProcess engine. If you have
selected the iProcess Engine or iProcess Modeler destination environment, you
can view the available list of iProcess Script functions by typing IPE and pressing
Ctrl + Space.
Deploying a Process
Direct Deployment and Export to the TIBCO iProcess Engine are one-way
operations. Information can be lost if you deploy to the iProcess Engine, modify
the Process, re-import to TIBCO Business Studio, deploy again, and so on. This is
because the Studio process description may contain far more than merely the
execution information required for iProcess Modeler/iProcess Engine. For this
reason, you should regard the import of an iProcess Modeler XPDL as a one-off
activity to evaluate or migrate to TIBCO Business Studio.
Tutorial Project
Many of the Tasks in this Process require input and output. For example, before
the expenses can be approved, the performer of this action needs basic
information such as the employee name, cost center, expense amount, and so on.
The information that is internal to the Process will be represented as Data Fields
and information required outside the Process will be represented by Parameters.
• In some cases, the Data Fields and Parameters may have already been added
by the Business Analyst.
• Adding Parameters to the Process means that when it is exported to the
iProcess Modeler if will be a Sub-Procedure.
Inbound and Outbound Parameters are from the perspective of the form, not the
user. This means that Inbound Parameters are sent to the form by the Process, not
the user. Outbound Parameters are sent to the form by the user.
Upon deployment to the iProcess Engine, Inbound and Outbound Parameters
become Optional fields. For more information about using Fields in Forms, see
TIBCO iProcess Modeler - Basic Design.
To select several Parameters in the Select Data Field dialog, press the Ctrl key
and click the desired Data Field or Parameter.
Summary
You can create Data Fields and Parameters and specify their input and output
mappings on User Tasks. Upon import or deployment to the iProcess Modeler, the
Data Fields become Fields and the Parameters become I/O Parameters and
Fields. For example:
3. Click the Mapping Out tab. Using the same method as on the Mapping In tab,
complete the output parameter mapping as follows.
You can see that the web service returns Confirmation and Reference
parameters. In this case the Confirmation parameter is Boolean and indicates
whether the transaction completed.
4. Save the Package.
Summary
This tutorial showed how to add a WSDL file to a Project and then associate that
WSDL file with a Service Task, mapping the input and output parameters. Upon
import or deployment to the iProcess Modeler, the Service Task becomes a Web
Services EAI step:
You can see that the parameter mappings are configured in the EAI step as well:
2. After the Gateway, add a Service Task called Notify and a Manual Task called
Ring Bank. It should look like this:
3. Select the Notify Service Task, then on the General tab of the Properties view
for the Service Task, select the E-Mail option from the Service Type
drop-down list:
4. Enter an email address for the recipient in the To: field, a subject and the body
for the message. This is the minimum configuration necessary to send an
email message. For further options, click More Details or the E-Mail tab and
continue to specify further parameters.
Summary
You can configure a Service Task so that it sends an e-mail at runtime. Upon
import or deployment to the iProcess Modeler, the Service Task becomes an
E-mail EAI step. For example:
Prerequisites
• Network access to a running iProcess Engine where you can deploy the
Process
• Username and password of an iProcess Engine user with either the PRODEF
or ADMIN permission that you can use to connect to the iProcess Engine
• Host name (machine name or IP address)
• Port number that the iProcess Engine uses for the Java Management Extension
(JMX) engine. By default the Port is 10025. This was configured during
installation of the iProcess Engine and stored in the SWJMXConfig.port entry
in the SWDIR\etc\swjmx.properties file. If you cannot determine the port
number, contact your iProcess Administrator.
If you are unsure of any of these prerequisites, see your iProcess administrator for
details.
7. Select the Process in the Project Explorer. In the Properties view, on the
Destinations tab, you can see that the iProcess Engine and iProcess Modeler
have been selected:
9. Change to the Problems view, and you should see that there are two error
messages that relate to the Process:
10. To correct this, associate the sw_starter Participant with the User Task (on the
General tab of the Properties view for the task).
11. You should confirm that there are no errors or warnings in the Problems view.
12. Save the Package.
The username and password you entered when you created the server is
authenticated on the deployment server to prevent you from deploying a
Process to a server which you do not have authorization to use.
3. When you have connected, the Properties view for the server displays
Connected as the Server State:
In addition, the icon in the Project Explorer and the status bar text in the lower
left of the workspace changes to indicate that you are connected.
If you encounter any problems connecting to a Server, check the error log by
selecting Help > About Eclipse Platform. From the resulting dialog, click
Configuration Details then click View Error Log.
2. Select Workspace iProcess XPDL Module, and click Next. For more
information about the External Module option, see Deploying a Module on
page 68.
3. You are prompted to select the Package that contains the Process you want to
deploy.
Select Test2 and click Finish. (For more information about Deployment Policy,
see Deploying a Module on page 68).
When the deployment is finished, TIBCO Business Studio displays the
following message:
Note that because our original Process name in TIBCO Business Studio
(DeployTest) has more than eight characters, when it is deployed to the iProcess
Engine, it is truncated (DEPLOYTE).
The state of the procedure (Unreleased) and other details such as the version
information is displayed in the Properties view:
This section defines concepts and terminology related to TIBCO Business Studio.
Artifacts
A physical item created during the project life cycle. These can include the
following:
• Code artifacts (for example, Java files).
• Deployment artifacts (such as XPDL1 packages for deployment to the iProcess
Engine) or BAR files for TIBCO BusinessEvents.
• Documentation artifacts (for example HTML or PDF procedure
documentation).
• Project management artifacts (such as a business case or project plan).
Deployment
Part of the software development cycle (design, deploy, execute). After preparing
the software some transformation, packaging, physical delivery, configuration
and initialization takes place. All of these, some of which may be optional, are
aspects of deployment.
Specifically in TIBCO Business Studio, what happens is this:
• A packaging phase occurs (either automatically or explicitly triggered by the
user). The artifact created by the packaging phase is the transformation of the
XPDL2 package into XPDL1 for deployment to the iProcess Engine.
• When you want to deploy a Project/Process, you do so by creating a
Deployment Server. A deployment server is the representation in TIBCO
Business Studio of a TIBCO iProcess Engine. Using the Server Manager in
TIBCO Business Studio, you can connect the server and manage certain
aspects of deployed Processes.
Module
When you deploy an artifact, a Module is created in the Deployment Server.
Unless you have extended TIBCO Business Studio, a Module corresponds to a
Process with the Destination Environment set to iProcess Engine. For more
information, see Deploying a Process on page 64.
Project Objects
Concept Model
A set of business terms specific to your corporate environment (for example, in a
financial environment, broker, counterparty, and so on). TIBCO Business Studio
provides an Eclipse editor called the Concept Model Editor to help you construct
your Concept Model. In object-oriented terms, when you create a Concept Model,
you are creating a class diagram with the addition of a UML Profile specifically
intended to extend the meta-data to provide additional functionality over core
UML.The advantage of creating or importing a Concept Model in TIBCO
Business Studio is that you can use it:
• for analysis purposes
• for documentation purposes
• to create Data Fields in a Process that have the attributes of a Concept
For more information, see the TIBCO Business Studio Concept Modeler User’s Guide.
Data Fields
Data Fields are used to represent the data that is used internally in a Process as
either input to or output from an Activity. For example, suppose an Activity is to
identify a list of suitable candidates for an available position. You can create Data
Fields to represent the pool of candidates going into the Activity and the suitable
candidates that have been identified.
If you intend to execute a Process in the TIBCO iProcess Engine, be aware that
Data Fields or Parameters with spaces in their names cannot be used for
mapping (for example, mapping to Parameters in a web service).
Datetime Data Fields are deployed/exported as two separate date and time
fields in the iProcess Engine (suffixed "_D" and "_T").
In the iProcess Modeler, the field lengths include the decimal point, so the
previous example, 130.34, when imported into the iProcess Modeler has a
length of six and two decimal places.
• Integer Number - integer value of the specified length (for example, 345)
• Performer - is a text field that you want to use as a Participant
• String - alphanumeric characters of the specified length
Extended Attributes
Extended attributes can be used to add extra information to the schema such as:
• XML
• Plain text descriptions
• Supply Chain Council (SCC) models for metrics and best practices
They are added either on the Extended tab of the Properties view for those objects
that support extended attributes, or on the Extended Attributes dialog in the New
Process wizard.
Parameters
Parameters are similar to Data Field but are either input to or output from an
external source. For example, during simulation Parameters are either created by
TIBCO Business Studio or imported from a file. Parameters can be any of the
following types:
There are several types of Data Field:
• Boolean - true or false
In the iProcess Modeler, the field lengths include the decimal point, so the
previous example, 130.34, when imported into the iProcess Modeler has a
length of six and two decimal places.
• Integer Number - integer value of the specified length (for example, 345)
• Performer - is a text field that you want to use as a Participant
• String - alphanumeric characters of the specified length
• If you intend to execute a Process in the TIBCO iProcess Engine, be aware that
Data Fields or Parameters with spaces in their names cannot be used for
mapping (for example, mapping to Parameters in a web service).
• The creation of a Parameter means that the Process will become a
sub-procedure upon export to the iProcess Modeler.
Participants
Participants are used to identify who or what performs an Activity. For example,
in a hiring process, a person (Human Participant) interviews the candidate and an
email system (System Participant) sends out an automatic follow-up reminder.
There are several types of Participant:
• Role - identifies the role responsible for performing an Activity. For example,
in a financial institution there may be roles such as Reconciler, Manager, and
so on.
• Organizational Unit - identifies the department or unit within an
organization that performs an Activity. For example, Legal, Marketing and so
on.
• Human - identifies a specific person or user that performs an Activity.
• System - identifies an activity that is performed by the system.
Standards Support
UML2
Unified Modeling Language (UML) is an Object Management Group (OMG)
specification that helps you specify, visualize, and document models of software
systems or business systems, including their structure and design.
You can use the Concept Modeler to import UML class diagrams (for more
information see the TIBCO Business Studio Concept Modeler User’s Guide.
Chapter 3 Tasks
This section of the help describes some of the common tasks that you perform
using TIBCO Business Studio to elaborate a process with execution details,
package and deploy it.
Topics
To select several Parameters in the Select Data Field dialog, press the Ctrl key
and click the desired Data Field or Parameter.
3. Click OK when you have finished selecting Parameters and Data Fields.
Upon import to iProcess Modeler, a User Task with a Form URL specified
becomes a step with a Form type of Formflow Form. For more information,
see TIBCO iProcess Client (Browser) Configuration and Customization.
— Leave the Form URL field empty. Upon import to iProcess Modeler, the
step is created with a standard iProcess Form.
If you specify a URL, you can use either of the following types:
— Relative (the default) - for example, JSPFormExample/JSPForm.jsp.
Specifying a relative URL assumes that the browser client configuration has
specified the host and protocol (for example, http or https). This has the
effect that all JSPs in all processes on all nodes accessed using this client
must be in the same web application. The benefit of using this type of URL
is that when moving from development to user acceptance testing and then
to production, the base URL (including the host name) needs to be changed
in just one central place.
— Absolute - for example, http://www.acme.com/mywebapp/myjsp.jsp.
Absolute URLs allow each step of each process to specify a separate host,
application and protocol.
5. Save the Package that contains the Process.
A Service Task can be configured to call any service that has a WSDL, including
BusinessWorks process that are exposed as services. You can also use the TIBCO
BusinessWorks Connector live link feature to dynamically create and import a
WSDL from a BusinessWorks process.
Viewing a Registry
1. Select Show View > Other.
2. Expand Web Service Registries and select Registries.
3. The Registries view opens and you should see any UDDI Registries that you
have added.
2. Select the type of search you want to perform (either for a business or for a
service) and click Next.
3. Enter the service search criteria:
— Search Name - This is the name you want displayed in the Registries view
for your search.
— Search Criteria - You can use a percent sign (%) as a wildcard to specify
search criteria. For example, specifying c% would return all businesses or
services that start with the character c.
Not all registries support this wildcard syntax; however the TIBCO
ActiveMatrix Service Registry does.
4. Click Finish. When you expand the search in the Registries view, the results
are displayed. For example, the following search shows the results of a search
on the XMethods registry:
Search results are preserved for subsequent browsing, but may be refreshed.
A full explanation of all the necessary settings and advice on creating WSDLs is
outside of the scope of this document. This section should be considered only a
summary and you should consult the documentation associated with your web
service creation tools (for example, ActiveMatrix, .NET, and so on) for detailed
advice.
1. Select File > New > Other, expand Web Services and select WSDL and click
Next.
2. Specify the Parent folder and File name for the WSDL file and click Next.
3. Enter the following options:
— Target namespace is the namespace for the WSDL file or accept the default
(http://www.example.org/MyWSDLFile/). The target namespace is used
for the names of messages and the port type, binding and service defined
in the WSDL file. You must specify a valid URI (for example,
http://www.company.com/service/).
— Prefix is the prefix associated with the target namespace.
— Select Create WSDL Skeleton if you want the wizard to create the skeleton
of the WSDL file. This will generate the WSDL elements required for your
service, including bindings, ports and messages. You can then modify these
to meet the requirements of your Web service.
If you have chosen to create a WSDL skeleton, select the binding options
you want to use in the WSDL document, either SOAP or HTTP. If you
select SOAP you can then select the encoding style you want to use. If you
select HTTP you can select whether to create an HTTP getter or setter.
4. Click Finish. The WSDL file opens in the WSDL editor. For example:
Copying a WSDL
If you already have a WSDL file, either in the file system or received via e-mail,
you can copy and paste it into the Project. You can also designate a special folder
to hold the WSDL (this allows you to expand the WSDL file in the Project
Explorer to see the operations available).
1. Locate the WSDL file, select it and press Ctrl + C to copy it.
2. In the Project Explorer select the folder in the Project where you want to copy
the WSDL file, the press CRL + V. The WSDL file is pasted into the correct
location. If you have not yet created a folder, you can do so as follows:
a. Right-click where you want to create the folder and select New > Folder.
b. Enter the parent directory and folder name, then click Finish.
c. Select the newly-created folder, right-click and select Special Folders >
Use as Services Folder. This enables you to expand the WSDL in the
Project Explorer. For example:
Importing a WSDL
There are several ways to import a WSDL into a project:
• from a file
• from a URL
To use the TIBCO BusinessWorks live link invocation method, the iProcess
Engine Service Agent must be running and the JMS provider transport
information must be configured. For more information, see the TIBCO iProcess
BusinessWorks Connector User’s Guide.
Click Next.
3. Depending on the option that you chose in the previous step, do the
following:
— If you chose Import from a File, browse to specify the Location of the
WSDL file.
— If you chose Import from a Registry, you can either select a service from an
existing registry or add a new registry. To add a new registry, right-click
and select Add Registry.
— If you chose Import from a URL, enter the URL for the WSDL file.
— If you chose Import from BusinessWorks 5.3+, enter the JMS provider
information that the iProcess Engine uses to integrate with BusinessWorks,
specifically the Host, Port and TargetQueueName.
When using a BusinessWorks live link, the JMS provider information can be
found in either of the following locations:
— In the JMS Administration Utility (from UNIX, navigate to the
$SWDIR\jmsadmin directory and enter the jmsadmin.sh command, or
from Windows, click Start > TIBCO iProcess Server (Windows) > JMS
Administration Utility).
— In the iProcess Service Agent area of the BusinessWorks Step Definition
dialog when defining an iProcess BusinessWorks step in an iProcess Engine
procedure.
For more information see the TIBCO iProcess BusinessWorks Connector User’s
Guide.
Click Next.
4. Browse to select the Location (the folder in your Project where you want to
store the WSDL file).
5. Click Finish. If the WSDL file is located remotely, there may be slight delay
while the WSDL file is imported.
3. Click Select to select an operation. This opens the Operation Picker dialog.
The Port Name and Operation Name are populated automatically depending
on the operation you select.
• You cannot map Data Fields or Parameters with spaces in their names.
• If you attempt to map Data Fields or Parameters to Parameters of a different
type (for example, mapping a String to an Integer), an error is generated in the
Problems view.
3. Note that you can enter JavaScript that is applied to a mapping by clicking
. This displays the following window, in which you can enter a limited
amount of JavaScript:
This is currently limited to concatenation of two fields on the left into a single
on the right or splitting (substring) data from one left field to two on the right.
For example, if you want to append a string to a Parameter, you can do so as
follows:
Web service operations that return more than one Parameter are not
supported in the iProcess Engine/iProcess Modeler Destination
Environments.
Sending an Email
2. Enter an email address for the recipient in the To: field, a subject and the body
for the message. This is the minimum configuration necessary to send an
email message. For further options, click More Details on the E-Mail tab and
continue to specify further parameters.
3. On the E-Mail tab, you can specify further parameters for the Definition of
the message:
All of the Parameters on this tab can be specified using a Data Field or
Parameter. Click the button to select the Data Field or Parameter.
— From: - either Use Server Configuration to use the address of the server
from which the email is sent or Use Custom Configuration to specify a
Data Field or Parameter.
— To: - specify the recipient of the email either as an explicit email address or
by selecting a Data Field or Parameter.
— Cc: - specify the recipients to whom you want to send a copy of the email
either as explicit email addresses or by selecting a Data Field or Parameter.
Their email address is visible to other recipients of the email.
— Bcc: - specify the recipients to whom you want to send a copy of the email
either as explicit email addresses or by selecting a Data Field or Parameter.
Their email address is not visible to other recipients of the email.
— Reply to: - use this parameter to specify a different email address to which
recipients of a message can reply. Alternatively, select a Data Field or
Parameter.
— Headers: - use this parameter to specify additional information in the
header of the email.
— Priority: - select a priority from the drop-down list (Normal, High or Low)
or select a Data Field or Parameter.
— Subject: - select the Subject line for the email message or select a Data Field
or Parameter.
4. Click Body to specify the main text of the message. At the bottom of the text
area are two buttons, src and preview which allow you to alternate between
viewing the source of the body text and previewing how it will look to the
recipient.
— Select User Server SMTP Configuration to use the settings of the server
where the Process will run.
— Select Use Custom SMTP Configuration settings to specify a different
Host and Port.
7. Click Error Handling to provide for basic error handling (for example, if a
message cannot be sent):
— Code: - select either a Parameter or Data Field that represents an error code.
— Message: - select either a Parameter or Data Field that contains the message
you want displayed when the email cannot be sent.
Fields in the TIBCO iProcess Engine. These Case Fields are represented in
TIBCO Business Studio as Data Fields:
In this example, the stored procedure takes the input parameters Acct and
Amount and maps them the Case Fields DEBIT ACCOUNT and AMOUNT.
Similarly, the stored procedure outputs the parameters Bal and Rcode to the
Case Fields BALANCE and Return Code.
— Click the Add button to add a Parameter.
— Select from the drop-down list whether the parameter is input to the stored
procedure (IN), output to the iProcess Engine (OUT) or both (INOUT).
— Select the Case Fields (Data Fields) from the Select Data Field dialog.
— You can remove or reposition the Parameters using the Move Up, Move
Down, and Remove buttons.
For more information about delayed release steps and using the Return Code
field, see the TIBCO iProcess Database Plug-in User’s Guide.
In the Properties view, on the Implementation tab for a Script Activity, you can
enter JavaScript that will be executed at runtime:
The Script: area supports the usual text editing assistance such as color syntax
highlighting, content assist and error markers are supported. For example, if you
want to specify a Data Field called Field1, enter the character "F", then press Ctrl
+ Space. All matching Data Fields are displayed:
Although TIBCO Business Studio allows you to create Process Data (for example,
a Data Field) that has spaces in its name, such names are not displayed in content
assist.
You can then select the desired Data Field from the list and continue entering
JavaScript:
Note that in this case there is a red "x" next to the line. This is because validation
has reported an error in the Problems view because the line is not terminated with
a semi-colon (;). When this is corrected, the error and the red "x" are removed.
Content assist also provides templates for common JavaScript constructs. For
example, if you enter if, then press Ctrl + Space, you can use the following
template to construct an if else:
iProcess Script is supported for backward compatibility via the TIBCO iProcess
JavaScript class library. Within the packaging/export phase this JavaScript is
converted to iProcess Script for execution by the iProcess engine. If you have
selected the iProcess Engine or iProcess Modeler destination environment, you
can view the available list of iProcess Script functions by typing IPE and pressing
Ctrl + Space.
Scripts are associated with a Conditional Sequence Flow in the Properties view,
on the Implementation tab. Only one statement that evaluates to a Boolean value
is allowed if you are exporting/deploying to the iProcess Engine. At runtime, this
causes the Sequence Flow to be followed only if the condition is met:
The Script: area supports the usual text editing assistance such as color syntax
highlighting, content assist and error markers (see Creating a Script Activity on
page 56 for more information).
On the General tab, there may be text comments describing the condition that
needs to be set. You can comment these when implementing the condition.
Scripts can be added to Start or Intermediate events in the Properties view for the
event. The script that you specify is limited to two statements. If you specify only
one statement, it must evaluate to either a Date or a Time. If you specify two
statements, one must evaluate to a Date and the other to a Time. The script area
cannot be empty if you want to export or deploy to the iProcess Engine.
For example:
In this case, the event will be fired at the Date and Time specified. If only the Date
were present, the event would fire at 00:00 on the Date specified. If only the Time
were specified, the event would fire at the specified time on the current date.
You must have created a Java Project in your workspace or imported a Java
Project into your workspace so that it is available for the Service Task that you are
going to create. For more information about creating or importing Java Projects,
see the Java Development User Guide in the Eclipse documentation.
1. Select the Service Task, then on the General tab of the Properties view for the
Service Task, select the Java option from the Service Type drop-down list:
Select the appropriate class that you want to use. If you begin typing, the
matching classes are displayed. In the previous example, the character s was
entered, and all classes starting with s are displayed.
3. Select from the drop-down list the Method that you want to use. For example:
• You cannot map Data Fields or Parameters with spaces in their names.
• If you attempt to map Data Fields or Parameters to Parameters of a different
type (for example, mapping a String to an Integer), an error is generated in the
Problems view.
This shows a method that returns a String which is then mapped to the Name
Parameter.
Packaging a Process
Deploying a Process
The following diagrams shows the steps for deploying a Process the first time:
Once you have deployed a Process, if the required server has been registered and
the Module created, you do not need to repeat these steps each time you deploy
the Process.
Package/Process Naming
The name of a Process in TIBCO Business Studio is truncated to the first eight
alphanumeric characters when it is deployed to the iProcess Engine. If you are
planning to deploy a Process to the iProcess Engine, you should ensure that the
first eight alphanumeric characters of the Process name in TIBCO Business Studio
are unique and do not contain ^ (caret) or , (comma) characters.
If you deploy a Process that has the same name as a Process that has already been
deployed, a new minor version is created. For this reason, you should be aware of
the names of existing procedures in the target deployment environment to ensure
that you do not unintentionally overwrite an existing procedure.
The Package Name of the Process you are deploying becomes the Library Name
upon deployment to the iProcess Engine.
TIBCO Business Studio prevents you from deploying a Process with errors. If
you are attempting to deploy a Process for the first time and it contains errors,
it will not be shown in the Deployment wizard and you cannot deploy it. If
the Process has already been deployed, the version that was previously
deployed will be available in the Deployment wizard, but the version with
errors will not be displayed/deployable.
3. If you cannot see the Deployment Servers branch of the Project Explorer,
enable the Process Developer Capability by clicking .
4. As described in Packaging a Process on page 63, Packaging occurs
automatically. However, if you have de-selected Project > Build
Automatically, make sure that you select either Project > Build All or Project
> Build Project to manually package your Process.
Connecting to a Server
You can connect to a server you have created as follows:
1. In the Project Explorer, expand Deployment Servers.
2. Right-click the server name of the server you are connecting to and select
Connect.
The username and password you entered when you created the server is
authenticated on the deployment server to prevent you from deploying a
Process to a server which you do not have authorization to use.
3. When you have connected, the Properties view for the server displays
Connected as the Server State:
If you encounter any problems connecting to a Server, check the error log by
selecting Help > About Eclipse Platform. From the resulting dialog, click
Configuration Details then click View Error Log.
Deploying a Module
Once you have connected to a Server, you can deploy a Process to an iProcess
engine as follows:
1. Right-click the Server on which you want to deploy and select Deploy
Module. The following dialog is displayed:
You can also select the Deployment Policy for the Module - either Deploy on
request which deploys the Module when you explicitly choose to do so, or
Deploy on save which deploys the Module whenever a new version of the
Package is saved/packaged.
— If you selected External iProcess XPDL Module in the previous step, you
are prompted to enter a URL that points to the Module you want to deploy:
Right-clicking the Procedure shows the operations that you can perform when the
Procedure is in an Unreleased state:
Similarly after you have released a Procedure, you can withdraw or undeploy a
Procedure.
1. Select the Server, right-click and select Properties. A dialog similar to the
following is displayed:
Chapter 4 Reference
In Eclipse, a Perspective includes the views and set of editors that you commonly
use for a specific type of work. TIBCO has created several TIBCO Business Studio
perspectives that include the views and editors you commonly use when creating
business processes. A Capability in Eclipse is a mechanism to enable and disable
specific areas of UI based on the current user's selected role.
Within the Modeling Perspective, there are two Capabilities:
• Analyst Capability (see the TIBCO Business Studio Modeling User’s Guide)
• Process Developer Capability (described in this section).
This section of the help describes the major parts of the TIBCO Business Studio
user interface that are specific to the Process Developer Capability of the Modeler
Perspective.
Properties View
The Properties View shows you detailed information about the currently selected
object and allows you to specify the characteristics of an object.
To see this view, select Window > Show View > Properties. To view property
information, you must have an object selected.
Unless otherwise stated, all of the properties listed in the following table can be
specified using a Data Field or Parameter. Click the button to select the Data
Field or Parameter.
E-mail > Body Enter the body text of the message. Click
src and preview to alternate between
viewing the source of the body text and
previewing how it will look to the
recipient
E-mail > SMTP Use Server Select User Server SMTP Configuration
Configuration SMTP to use the settings of the server where the
Configuration Process will run.
E-mail > Error Return Status Use this Property to provide for basic
Handling Fields error handling (for example, if a message
cannot be sent)
• Code: - select either a Parameter or
Data Field that represents an error
code.
• Message: - select either a Parameter
or Data Field that contains the
message you want displayed when
the email cannot be sent.
Script Task
When you have selected a Script Task in the Process Editor, the following
properties are available:
Process Validation
When you created your Process you selected the Destination Environment:
• If you selected TIBCO iProcess Modeler, when you save your Process, TIBCO
Business Studio performs validation to ensure that the Process can be
imported into the TIBCO iProcess Modeler. For more information see the
TIBCO Business Studio Modeling User’s Guide.
• If you selected TIBCO iProcess Engine, when you save your Process, TIBCO
Business Studio performs validation to ensure that the Process can be directly
deployed to the TIBCO iProcess Engine. These validation rules are described
in this section. In addition, TIBCO Business Studio also performs the
validation for import into the TIBCO iProcess Modeler, even if you have not
explicitly selected that Destination Environment.
Any error messages resulting from this validation will be displayed in the
Problems View and indicate which parts of your Process need to be changed.
Unsupported Constructs/Operators
The following JavaScript constructs and operators are not supported in the
TIBCO iProcess Engine, and are therefore not allowed in Processes with the
TIBCO iProcess Engine destination environment selected:
• Local method definition
• Try Catch Finally Blocks
• Switch Case statement
• Throw statement
• New Expressions
• Continue statement
• Break statement
• Local variable definition
• Labelled statement
• Multi-dimensional arrays
• ! (NOT)
• ~
• >> (Right shift operator)
• >>= (Right shift assign operator)
• >>>
• << (Left shift operator)
• <<= (Left shift assign operator)
• condition?option1:option2
• % (Mod operator)
• %= (Mod assign operator)
• |=
• &=
• instanceof operator
Array Fields
You can access the elements of an array by specifying the index (for example,
MyStringArray[2];). Note that there is no support for a length attribute to
determine the number of items in an array.
Index
A error
correcting 87
Artifact 32 errors 85
Extended Attributes 35
B
J
Business Process Management (BPM) 4
Business Process Modeling Notation (BPMN) 37 Java code 10
calling 60
C
M
Concept 34
Concept Model 34 Mapper 48
Conditional Flow Model Driven Architecture (MDA) 3
script 58 Module 33
customer support 5
P
D
Packaging 63
Data Field 34 Parameter 35
database 9 mapping 62
database call 54 Participant 36
Deployment 12, 68 Process 34
definition 33 correcting errors 87
managing Modules 72 testing 5
tutorial 25 validation 85
Process Component 33
Properties View 76
E
E-Mail Task 22
Q U
Quick fixes 87 Unified Modeling Language (UML) 37
Uniform Description, Discovery, and Integration
(UDDI) Registry
adding 42
S searching 42
User Task 6, 40
sample Processes 6 properties 76
script tutorial 14
on Conditional Flow 58
Script Activity 56
Script Task 84
Sending an Email 50 V
Server
connecting to 67 validation error
creating 66 correcting 87
disconnecting 74
properties 72
Service Call
adding 42 W
Service Oriented Architecture (SOA) 4
Service Task 6 Web Service Definition Language (WSDL) file
Database 81 45
Email 78 adding 44
Java 82 copyingL 45
tutorial 18 creating 44
Web Service 77 Task 47
Service Task BusinessWorks 77 Web Services
support, contacting 5 calling 18
T X
technical support 5 XML Process Definition Language (XPDL) 37
TIBCO Business Studio
sample Processes 6
tutorials 18
TIBCO BusinessWorks
Web Service 7