0% found this document useful (0 votes)
350 views

Business Studio Process Developer Guide

Uploaded by

Prarambh Shesh
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
350 views

Business Studio Process Developer Guide

Uploaded by

Prarambh Shesh
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 102

TIBCO Business Studio™

Process Developer’s Guide


Software Release 2.0
May 2007
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 TIBCO BUSINESS STUDIO INSTALLATION GUIDE) 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.
TIB, TIBCO, TIBCO Adapter, Predictive Business, Information Bus, The Power of Now, TIBCO iProcess, TIBCO
BusinessWorks, TIBCO BusinessEvents, TIBCO General Interface, TIBCO ActiveMatrix and TIBCO Business
Studio are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other
countries.
EJB, Java EE J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun
Microsystems, Inc. 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.TXT 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 © 2004-2007 TIBCO Software Inc. ALL RIGHTS RESERVED.
TIBCO Software Inc. Confidential Information
Contents iii
|

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 1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Who Should Use TIBCO Business Studio? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
How TIBCO Business Studio Supports MDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Implementation Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Hand Over from Business Analyst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
BPM/SOA Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Service Creation/Testing for Sub-Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Hand Off/Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Process Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
BPM/SOA Implementation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
User Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Service Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Script Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Deploying a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Tutorial Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Tutorial 1: Elaborating a Process: User Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Tutorial 2: Elaborating a Process: Service Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Calling Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Creating an E-Mail Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Tutorial 3: Deploying a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Chapter 2 Concepts and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Project Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

TIBCO Business Studio - Process Developer’s Guide


iv
| Contents
Concept Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Data Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Extended Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Standards Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Business Process Modeling Notation (BPMN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
UML2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
XML Process Definition Language (XPDL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

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

TIBCO Business Studio - Process Developer’s Guide


Contents v
|
General Rules for Direct Deployment to the TIBCO iProcess Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Rules for Direct Deployment of Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Correcting Validation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

TIBCO Business Studio - Process Developer’s Guide


vi
| Contents

TIBCO Business Studio - Process Developer’s Guide


|1

Preface

This guide is aimed at the corporate developer who implements business


processes designed by a business analyst. It describes how to elaborate a TIBCO
Business Studio™ Process with execution details and how to deploy it to the
runtime platform.

Topics

• Related Documentation, page 2


• Typographical Conventions, page 4
• How to Contact TIBCO Support, page 5

TIBCO Business Studio - Process Developer’s Guide


2 Preface
|

Related Documentation

This section lists documentation resources you may find useful.

TIBCO Business Studio Documentation


The TIBCO Business Studio documentation set consists of user’s guides for its
main features such as modeling and simulation. This documentation has the
following main sections:
• Getting Started takes you through the basics of TIBCO Business Studio, including
several tutorials.
• Concepts and Definitions explores the concepts and terminology related to TIBCO
Business Studio.
• Tasks describes common tasks that you perform using TIBCO Business Studio.
• Reference provides detail about the major components of TIBCO Business Studio
such as the properties sheets and user interface (UI).
The following documentation is also provided:
• TIBCO Business Studio Installation Guide: Read this manual for instructions on
site preparation and installation.
• TIBCO Business Studio Release Notes: Read the release notes for a list of new
and changed features. This document also contains lists of known issues and
closed issues for this release.

Other TIBCO Product Documentation


You may find it useful to read the documentation for the following products:
• TIBCO iProcess Suite™, a comprehensive collection of process management
software that includes modeling tools, a powerful process management
engine designed to handle extremely high-volume, mission critical
transactions, as well as tools for rules and analysis.
• TIBCO General Interface™ Builder, a development environment for building
rich internet applications. The object modeling features of TIBCO General
Interface Builder enable developers to quickly create reusable GUI
components and assemble them into full applications or application modules.
Applications can be accessed in a web browser from a URL, existing HTML
page, or portal environment.

TIBCO Business Studio - Process Developer’s Guide


Related Documentation 3
|

• TIBCO BusinessWorks™, a scalable, extensible, and easy to use integration


platform that allows you to develop integration projects. BusinessWorks™
includes a graphical user interface (GUI) for defining business processes and
an engine that executes the process.

Third Party Documentation


The Eclipse help also contains useful information on the Workbench and the
Eclipse UI.

TIBCO Business Studio - Process Developer’s Guide


4 Preface
|

Typographical Conventions

The following typographical conventions are used in this manual.

Table 1 General 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.

bold code Bold code font is used in the following ways:


font
• In procedures, to indicate what a user types. For example: Type admin.
• In large code samples, to indicate the parts of the sample that are of
particular interest.
• In command syntax, to indicate the default parameter for a command. For
example, if no parameter is specified, MyCommand is enabled:
MyCommand [enable | disable]

italic font Italic font is used in the following ways:


• To indicate a document title. For example: See TIBCO 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.

TIBCO Business Studio - Process Developer’s Guide


How to Contact TIBCO Support 5
|

How to Contact TIBCO Support

The community edition of TIBCO Business Studio is unsupported. For self-service


support, education, and access to the TIBCO Developer Network, visit
http://www.tibco.com/devnet/index.html.
If you have purchased another TIBCO product that includes support for TIBCO
Business Studio and have comments or problems with this manual or the
software it addresses, please contact TIBCO Support as follows.
• For an overview of TIBCO Support, and information about getting started
with TIBCO Support, visit this site:
http://www.tibco.com/services/support/
• If you already have a valid maintenance or support contract, visit this site:
http://support.tibco.com
Entry to this site requires a username and password. If you do not have a
username, you can request one.

TIBCO Business Studio - Process Developer’s Guide


6 Preface
|

TIBCO Business Studio - Process Developer’s Guide


|1

Chapter 1 Getting Started

Topics

• Who Should Use TIBCO Business Studio?, page 2


• Implementation Approach, page 4
• BPM/SOA Implementation Overview, page 6
• Deploying a Process, page 12
• Tutorial 1: Elaborating a Process: User Tasks, page 14
• Tutorial 2: Elaborating a Process: Service Tasks, page 18
• Tutorial 3: Deploying a Process, page 25

TIBCO Business Studio - Process Developer’s Guide


2
| Chapter 1 Getting Started

Who Should Use TIBCO Business Studio?

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:

TIBCO Business Studio - Process Developer’s Guide


Who Should Use TIBCO Business Studio? 3
|

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.

How TIBCO Business Studio Supports MDA


Model Driven Architecture (MDA) is typically used to design applications and
write specifications. It consists of a Platform Independent Model, usually written
in Universal Modeling Language (UML), as well as a Platform Specific Model and
Code Model, both of which are applied at the programming language level. For
example:

TIBCO Business Studio supports an MDA approach to Business Process


Management (BPM) and Service Oriented Architecture (SOA) at a higher level of
abstraction than the programming language level by allowing you to develop
Platform Independent Models of business processes and then transform them into
Platform Specific Models, depending on the destination environment that you
select. For example:

TIBCO Business Studio - Process Developer’s Guide


4
| Chapter 1 Getting Started

Implementation Approach

Implementing a Process can be achieved in several different ways, however the


following general approach reflects best practices.

Hand Over from Business Analyst


1. Receive Process from Business Analyst.
2. Review Process with Business Analyst.

BPM/SOA Implementation

For Service Tasks


There are two parts to implementing services:
• Selecting the service contract, which implies an abstract WSDL. This is a
mandatory part of implementing a service.
• Selecting a service implementation, which implies a concrete WSDL. This is
optional for technologies such as Web Services that support late binding.
To implement a service call, you must have a service that can come from one of
the following sources:
• Select an existing service interface and optionally an implementation (WSDL)
from the Service Registry, file or URL, or BusinessWorks Live Link, then bind
it to the Process.
• Employ integration technology (such as BusinessWorks processes perhaps
employing adapters) to create new service and bind its service interface to the
Process.
• Write new custom service implementation using .NET, Enterprise Java Beans
(EJBs), or other technologies, and bind its service interface to the Process.

For User Tasks


• Specify the input and output parameters to the Task.
• Specify a URL that refers to the location of a form authored outside of TIBCO
Business Studio. For example, a JSP page authored with the JSP editor
provided by WTP inside Eclipse.

TIBCO Business Studio - Process Developer’s Guide


Implementation Approach 5
|

Service Creation/Testing for Sub-Processes


Optionally, create any custom Java services that are required, for example using
the Eclipse IDE.

In some organizations, service implementations are created by different people or


groups from those who consume the services provided by the process
implementation. This is especially likely when the service implementation is done
in a programming language such as Java rather than a declarative technology
such as BusinessWorks. This guide focusses on the work of the person consuming
services; for more information on creating services see the documentation for
TIBCO BusinessWorks and TIBCO ActiveMatrix.

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.

TIBCO Business Studio - Process Developer’s Guide


6
| Chapter 1 Getting Started

BPM/SOA Implementation Overview

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.

TIBCO Business Studio - Process Developer’s Guide


BPM/SOA Implementation Overview 7
|

• 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).

TIBCO BusinessWorks/Web Service


A Service Task can be configured to call a service that has a WSDL. Before you can
configure a Service Task, you must import the WSDL file to the Eclipse
workspace, from one of the following sources:
• File - browse to select a local file.
• URL - specify a URL from which the WSDL is retrieved.
• Uniform Description, Discovery, and Integration (UDDI) Registry - obtain the
WSDL from a UDDI registry.

TIBCO Business Studio - Process Developer’s Guide


8
| Chapter 1 Getting Started

• 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:

Data Transport/Call Style


• The web service must use the SOAP over HTTP data transport mechanism.
• The web service call style must be either Document Literal or Remote
Procedure Call (RPC) Encoded.

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

TIBCO Business Studio - Process Developer’s Guide


BPM/SOA Implementation Overview 9
|

Message Exchange Patterns


The only supported message exchange pattern is Synchronous
Request/Response.

Process to Service Binding


In the Properties view for a Service Task, you can select either Use local WSDL or
Use remote WSDL:

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:

TIBCO Business Studio - Process Developer’s Guide


10
| Chapter 1 Getting Started

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:

TIBCO Business Studio - Process Developer’s Guide


BPM/SOA Implementation Overview 11
|

• If, elseif, and else statements


• Do while loops and while loops
• For loops
• Assignment operators
• Conditional operators
The result of an expression should correspond to one of the known data types
listed in the TIBCO iProcess Expressions and Functions Reference Guide.
Content assist is available for process data that you define and 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.

TIBCO Business Studio - Process Developer’s Guide


12
| Chapter 1 Getting Started

Deploying a Process

Deployment is 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.
To look at a concrete example of deployment, after a Corporate Developer has
elaborated a Process, the next step could be to deploy it to a server (for example, a
server in the test environment).
There are two ways you can deploy a Process once you have finished elaborating
it with the necessary execution details:
• Create a Deployment Server within TIBCO Business Studio and deploy the
Process directly to the iProcess Engine (see Deploying a Process on page 64).
• Export the Process to iProcess Modeler XPDL and then import it into the
TIBCO iProcess Engine (see the TIBCO iProcess Modeling User’s Guide).

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.

TIBCO Business Studio - Process Developer’s Guide


Tutorial Project 13
|

Tutorial Project

The samples workspace includes a Project (Process Developer Tutorial Solutions


2.0) that has the completed solutions for the tutorials in the following sections.
You can either open the sample workspace and explore the Project or continue
with this tutorial to implement the example yourself. To open the TIBCO Business
Studio sample workspace, do the following:
1. Click Start > All Programs > TIBCO > TIBCO Business Studio 2.0 > TIBCO
Business Studio - Sample Workspace. This starts TIBCO Business Studio and
opens the sample workspace rather than your default workspace.
2. Expand the Process Developer Tutorial Solutions 2.0 Project and expand the
Process Packages folder, which contains the tutorial solutions.
The remainder of this chapter assumes you are implementing the example
yourself.

TIBCO Business Studio - Process Developer’s Guide


14
| Chapter 1 Getting Started

Tutorial 1: Elaborating a Process: User Tasks

To learn how to implement User Tasks in a Process, follow this tutorial.

Task A Open the Sample Process


1. Create a BPM/SOA Developer Project in your workspace, accepting the
default Special Folders.
2. In the file system, navigate to directory into which you installed TIBCO
Business Studio and locate the sample workspace (for example, C:\Program
Files\TIBCO\Business Studio\sample-workspace).
3. Copy the \Basic Samples 2.0\Process Packages\Office Procedures.xpdl file
and paste it into the Packages folder of your Project.
4. Open the Submit Expenses Process:

TIBCO Business Studio - Process Developer’s Guide


Tutorial 1: Elaborating a Process: User Tasks 15
|

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.

Task B Create Parameters/Data Fields


Create the Data Fields and Parameters that will be used by the Process as follows:
1. In the Project Explorer, expand the Submit Expenses Process, right-click Data
Fields and select New > Data Field.
2. Create the following Data Fields:
— Manager (String)
— CostCenter (String)
— Authorization (String)
3. Right-click Parameters and select New > Parameter.
4. Create the following Parameters:
— EmployeeName (String)
— EmployeeNumber (Integer Number)
— Reference (string)
— Amount (Decimal Number)
— AccountNumber (Integer Number)
— Confirmation (Boolean)

Task C Specify Input and Output Parameters to the Tasks


1. Click the Enqueue Payment Task. In the Properties view, click the Parameters
tab.

TIBCO Business Studio - Process Developer’s Guide


16
| Chapter 1 Getting Started

2. Add the following outbound Parameters:

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.

TIBCO Business Studio - Process Developer’s Guide


Tutorial 1: Elaborating a Process: User Tasks 17
|

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:

For more information about deployment, see Tutorial 3: Deploying a Process on


page 25 and Deploying a Process on page 64.

TIBCO Business Studio - Process Developer’s Guide


18
| Chapter 1 Getting Started

Tutorial 2: Elaborating a Process: Service Tasks

To learn how to elaborate Service Tasks, follow this tutorial.

Calling Web Services


Many services that are described by a WSDL can be called from a Service Task
(see TIBCO BusinessWorks/Web Service on page 7).

Task A Create the Process/Service Task


For the purposes of this tutorial, continue using the Submit Expenses Process
from Tutorial 1.

Task B Add the WSDL to the Project


1. In the Project Explorer select the Project that contains the Submit Expenses
Process
2. Select File > Import and select Services > Service Import Wizard from the list,
then click Next.
3. Select Import from a File and click Next.
4. Browse to find BankPayment.wsdl in the samples workspace and click Next.
5. Browse to specify the Services folder where you want to store the WSDL.
Click Finish to complete the import.
6. Save the Project.

Task C Associate the WSDL with the Service Task


1. Click the Make Payment Task.
2. In the Properties view, select Web Service from the Service Type drop-down
list.
3. Click the Select button. This opens the Operation Picker dialog.

TIBCO Business Studio - Process Developer’s Guide


Tutorial 2: Elaborating a Process: Service Tasks 19
|

4. Expand the BankPayment service and select the MakePayment operation.


This populates the rest of the web services fields such as Port Name and
Operation.

Task D Map the Input/Output Parameters


1. Click the Mapping In tab. On the left of the tab are the Parameters and Data
Fields and on the right are the Formal Parameters that the BankPayment
service expects.
2. Expand the BankPayment service. Highlight the EmployeeName Parameter
and drag the pointer from the Employee Name Parameter to the
EmployeeName Formal Parameter. Complete the input parameter mapping
as follows:

TIBCO Business Studio - Process Developer’s Guide


20
| Chapter 1 Getting Started

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.

TIBCO Business Studio - Process Developer’s Guide


Tutorial 2: Elaborating a Process: Service Tasks 21
|

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:

TIBCO Business Studio - Process Developer’s Guide


22
| Chapter 1 Getting Started

You can see that the parameter mappings are configured in the EAI step as well:

For more information about deployment, see Tutorial 3: Deploying a Process on


page 25 and Deploying a Process on page 64.

Creating an E-Mail Task


In the previous section, we added a call to a web service from the Make a
Payment Activity. This included a Confirmation parameter which indicated
whether the payment was successful. In this section, we will add an email task to
notify the person who submitted the claim when the payment is made. We will
also add a Manual Task in the event that the payment fails.
1. Insert a Gateway after the Make a Payment Activity.

TIBCO Business Studio - Process Developer’s Guide


Tutorial 2: Elaborating a Process: Service Tasks 23
|

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.

TIBCO Business Studio - Process Developer’s Guide


24
| Chapter 1 Getting Started

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:

For more information about deployment, see Tutorial 3: Deploying a Process on


page 25 and Deploying a Process on page 64.

TIBCO Business Studio - Process Developer’s Guide


Tutorial 3: Deploying a Process 25
|

Tutorial 3: Deploying a Process

This tutorial describes creating and deploying a simple Process to an iProcess


Engine.

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.

Task A Create the Process


1. Select New > New Project and follow the wizard to create a new BPM/SOA
Developer Project with the default configuration.
2. Right-click the Process Packages folder and select New > Process Packages.
3. Click Next to accept the Packages folder and file name.
4. Name the Package Tutorial and click Next. The package name will be used to
create the library name when the Process is deployed to iProcess.
5. Select the Create a package using one of the following templates check box,
select the An empty iProcess process item, and click Next.
6. Name the Process DeployTest and click Finish.

TIBCO Business Studio - Process Developer’s Guide


26
| Chapter 1 Getting Started

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:

The template also creates a Participant called sw_starter.


8. Add a User Task and an End event as follows:

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.

Task B Create the Deployment Server

1. Switch to the Process Developer Capability by clicking .


2. Right-click Deployment Servers and select New > Server.
3. Name the server TestDeploy.
4. Accept iProcess Engine Server as the Runtime Environment.
5. Click Next.

TIBCO Business Studio - Process Developer’s Guide


Tutorial 3: Deploying a Process 27
|

6. Enter the runtime server parameters.


— Host - Enter localhost if the server is on your local machine; otherwise
enter the machine name or IP address of the computer where the iProcess
Engine is installed.
— Port - The port number that the iProcess Engine uses for JMX. 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.
— Username - Valid iProcess Engine user with either the PRODEF or ADMIN
permission that can connect to the iProcess Engine (for example,
IPEADMIN).
— Password - Password for the user connecting to the iProcess Engine.
— Repository Type: Select Workspace.
7. Click Finish. The new Server is created and displayed in the Project Explorer.

Task C Connect to the 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 Test Deploy 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.

TIBCO Business Studio - Process Developer’s Guide


28
| Chapter 1 Getting Started

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.

Task D Deploy the Process


Deploy the Process to the iProcess Engine as follows:
1. Right-click the TestDeploy Server and select Deploy Module. The following
dialog is displayed:

TIBCO Business Studio - Process Developer’s Guide


Tutorial 3: Deploying a Process 29
|

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:

If the deployment fails, an error symbol is displayed instead of the


information symbol in the previous dialog. Click Details to get more
information about why the deployment failed.
You can view the newly-deployed Process in the Project Explorer:

TIBCO Business Studio - Process Developer’s Guide


30
| Chapter 1 Getting Started

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:

For more information about managing deployed modules, see Managing


Deployed Modules on page 72.

TIBCO Business Studio - Process Developer’s Guide


| 31

Chapter 2 Concepts and Definitions

This section defines concepts and terminology related to TIBCO Business Studio.

TIBCO Business Studio - Process Developer’s Guide


32
| Chapter 2 Concepts and Definitions

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).

TIBCO Business Studio - Process Developer’s Guide


Deployment 33
|

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.

TIBCO Business Studio - Process Developer’s Guide


34
| Chapter 2 Concepts and Definitions

Project Objects

This section describes Process objects that relate to Process development.

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

If you specify Concepts as Parameters or Data Fields in the TIBCO Business


Studio Process Editor, you cannot export the resulting Process to the iProcess
Engine. This is because the complex data types created in the Concept Modeler
are not supported in the iProcess Engine.

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).

There are several types of Data Field:


• Boolean - true or false

TIBCO Business Studio - Process Developer’s Guide


Project Objects 35
|

• Date Time - combination of date/time

Datetime Data Fields are deployed/exported as two separate date and time
fields in the iProcess Engine (suffixed "_D" and "_T").

• Decimal Number - decimal number of the specified length and decimal


places (for example, the number 130.34 has a length of five and two decimal
places)

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

TIBCO Business Studio - Process Developer’s Guide


36
| Chapter 2 Concepts and Definitions

• Date Time - combination of date/time

Datetime Parameters are deployed/exported as two separate date and time


fields in the iProcess Engine (suffixed "_D" and "_T").

• Decimal Number - decimal number of the specified length and decimal


places (for example, the number 130.34 has a length of five and two decimal
places)

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.

TIBCO Business Studio - Process Developer’s Guide


Standards Support 37
|

Standards Support

TIBCO Business Studio supports several industry standards, namely Business


Process Modeling Notation (BPMN) and XML Process Definition Language
(XPDL).

Business Process Modeling Notation (BPMN)


BPMN is a graphical notation developed by the Business Process Management
Initiative (BPMI) for representing the steps and flow of business procedures. The
TIBCO Business Studio Process Editor supports the core set of this notation and
the Properties View supports the complete set.
For more information, see http://www.bpmn.org.

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.

XML Process Definition Language (XPDL)


XPDL is used to represent the underlying structure of a business process to
TIBCO Business Studio. Packages are stored in XPDL format. Normally, you do
not use XPDL directly, but indirectly by creating a business process using the
Process Editor or by creating a Package. This version of the TIBCO Business
Studio provides support for XPDL2 and uses XPDL1 for deployment to the
iProcess Engine.

TIBCO Business Studio - Process Developer’s Guide


38
| Chapter 2 Concepts and Definitions

TIBCO Business Studio - Process Developer’s Guide


| 39

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

• Elaborating a User Task, page 40


• Adding a Service Call, page 42
• Sending an Email, page 50
• Making a Database Call, page 54
• Creating a Script Activity, page 56
• Associating a Script with a Conditional Flow, page 58
• Calling Java Code, page 60
• Packaging a Process, page 63
• Deploying a Process, page 64

TIBCO Business Studio - Process Developer’s Guide


40
| Chapter 3 Tasks

Elaborating a User Task

You can add Parameters or Data Fields to user tasks as follows:


1. Create the Parameters or Data Fields as described in the TIBCO Business Studio
Modeling User’s Guide.
2. Click the User Task that you want to add Parameters to. In the Properties
view, click the Add button to select inbound and outbound Parameters:

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.

TIBCO Business Studio - Process Developer’s Guide


Elaborating a User Task 41
|

4. Click the Implementation tab. You can do either of the following:


— Specify a URL for any form pages that you want displayed when the Task
is executed:

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.

TIBCO Business Studio - Process Developer’s Guide


42
| Chapter 3 Tasks

Adding a Service Call

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.

Working with UDDI Registries


If you plan to add a WSDL file from your Project, you can create a new registry
either before importing the WSDL file, or as part of the import process. This
section describes how to add a UDDI registry before importing the WSDL.

Adding a UDDI Registry


1. Select New > Other.
2. Expand Services, select Service Registry from the list of wizards and click
Next.
3. Enter the details of the Web Service registry:
— Registry Name - for example XMethods.
— Query Manager (Inquiry) URL - the URL used to retrieve information
about the services and businesses of the registry (for example,
http://uddi.xmethods.net/inquire).
— Lifecycle Manager (Publish) URL - the URL used for publishing services
and businesses to the registry (for example,
https://uddi.xmethods.net/publish).
4. Click Finish.

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.

Creating a Registry Search

1. Click the Add Search button ( ).

TIBCO Business Studio - Process Developer’s Guide


Adding a Service Call 43
|

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.

TIBCO Business Studio - Process Developer’s Guide


44
| Chapter 3 Tasks

Adding a WSDL to the Project


There are several options for getting a WSDL file into your Project. This section
describes:
• Creating a New WSDL
• Copying a WSDL
• Importing the WSDL

Creating a New WSDL


If you do not already have a WSDL file for the service you want to call, you can
create a new WSDL file using the tools provided by Eclipse:

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.

TIBCO Business Studio - Process Developer’s Guide


Adding a Service Call 45
|

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

TIBCO Business Studio - Process Developer’s Guide


46
| Chapter 3 Tasks

• from a UDDI registry


• from TIBCO BusinessWorks
To import a WSDL file, do the following:
1. Select File > Import and select Services > Service Import Wizard from the list,
then click Next.
2. Select one of the following import methods:
— Import from a File - use this method to browse the file system for the
WSDL file.
— Import from a Registry - use this method to select a WSDL from a UDDI
registry that you previously created.
— Import from a URL - use this method to specify a URL that resolves to the
location of the WSDL file.
— Import from BusinessWorks 5.3+ - use this method to import a WSDL
using the BusinessWorks live link feature.

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.

TIBCO Business Studio - Process Developer’s Guide


Adding a Service Call 47
|

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.

Associating the WSDL with a Task


You can associate a WSDL with a Service Task. You can then specify that the
Service Task performs a web services operation at runtime.
1. Select the Service Task.
2. On the Properties view for the Service Task, on the General tab, select Web
Service.

TIBCO Business Studio - Process Developer’s Guide


48
| Chapter 3 Tasks

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.

Using the Mapper


1. Click the Mapping In tab. On the left of the tab are the Parameters and Data
Fields and on the right are the Formal Parameters that the web service
expects.
2. Expand the web service. Highlight a Parameter on the left and drag the
pointer from the parameter to the Formal Parameter on the right to create a
mapping. 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.

TIBCO Business Studio - Process Developer’s Guide


Adding a Service Call 49
|

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:

When executed in the runtime environment, the string "SEBRANCH" is


appended to the input Parameter Reference.
4. Complete the output mapping in a similar fashion using the Mapping Out
tab.

Web service operations that return more than one Parameter are not
supported in the iProcess Engine/iProcess Modeler Destination
Environments.

5. Save the Package that contains the Process.

TIBCO Business Studio - Process Developer’s Guide


50
| Chapter 3 Tasks

Sending an Email

A Service Task can be configured to send an email message as follows:


1. Select the 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:

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.

TIBCO Business Studio - Process Developer’s Guide


Sending an Email 51
|

— 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

TIBCO Business Studio - Process Developer’s Guide


52
| Chapter 3 Tasks

viewing the source of the body text and previewing how it will look to the
recipient.

5. Click Attachments to specify a document to be attached to the message:


— Field Contents: - use this option to attach the contents of a Parameter or
Data Field to the email message.
— Files: use this option to browse the file system and attach a file to the email
message.
6. Click SMTP Configuration to specify Simple Mail Transfer Protocol (SMTP)
settings other than the default:

— 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.

TIBCO Business Studio - Process Developer’s Guide


Sending an Email 53
|

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.

TIBCO Business Studio - Process Developer’s Guide


54
| Chapter 3 Tasks

Making a Database Call

A Service Task can be configured to make a database call as follows:


1. Select the Service Task, then on the General tab of the Properties view for the
Service Task, select the Database option from the Service Type drop-down
list:

2. Specify the following:


— Server, Database - If the stored procedure is not in the local database
instance, you need to provide either the server name or database name or
both. The default instance is the one that your TIBCO iProcess Engine is
currently using.

The meanings of Server and Database differ depending on the particular


database being used. For specific information, refer to the TIBCO iProcess
Database Plug-in User’s Guide.

— Operation - Stored Procedure is the only option available.


— SQL - specify the name of the stored procedure in the format shown in the
above dialog - [owner.]stored_procedure_name.
3. Click Define procedure parameters... or the Database tab to define the
parameter mappings between parameters in the stored procedure and Case

TIBCO Business Studio - Process Developer’s Guide


Making a Database Call 55
|

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.

TIBCO Business Studio - Process Developer’s Guide


56
| Chapter 3 Tasks

Creating a Script Activity

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:

TIBCO Business Studio - Process Developer’s Guide


Creating a Script Activity 57
|

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.

TIBCO Business Studio - Process Developer’s Guide


58
| Chapter 3 Tasks

Associating a Script with a Conditional Flow

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.

TIBCO Business Studio - Process Developer’s Guide


Timer Event Scripts 59
|

Timer Event Scripts

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.

TIBCO Business Studio - Process Developer’s Guide


60
| Chapter 3 Tasks

Calling Java Code

You can call Java code by creating a Service Task as follows:

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:

TIBCO Business Studio - Process Developer’s Guide


Calling Java Code 61
|

2. Click Select Class. The Select Class dialog is displayed:

An alternative to selecting the Class is to select a factory to create the Class. To do


this, click Select Factory. If a factory is available, selecting it populates the Class
and Method fields.

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:

TIBCO Business Studio - Process Developer’s Guide


62
| Chapter 3 Tasks

Complete the Parameter Mapping


Click the Mapping In and Mapping Out tabs to complete the input and output
mapping between any Parameters or Data Fields in your Process and the Java
code. 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.

TIBCO Business Studio - Process Developer’s Guide


Packaging a Process 63
|

Packaging a Process

Packaging happens automatically and is a prerequisite to Deployment. By


default, Project > Build Automatically is selected. This means that when you
save your Package (XPDL2), a version of it is also saved to XPDL1 ready for
deployment to the iProcess Engine. The Process is only available for deployment
using the Deployment wizard if its Destination Environment is set to iProcess
Engine, and it has no errors.
If you choose to package your project manually (for example, because of resource
or memory considerations), de-select Project > Build Automatically. When you
want to package your project, select either Project > Build All or Project > Build
Project.

TIBCO Business Studio - Process Developer’s Guide


64
| Chapter 3 Tasks

Deploying a Process

TIBCO Business Studio allows you to deploy a resource (represented in TIBCO


Business Studio as a Module) on a local or remote system (represented in TIBCO
Business Studio as a Server). In the iProcess Engine, a Module corresponds to a
Process with the Destination Environment set to iProcess Engine, and a Server
represents a running TIBCO iProcess Engine where you want to deploy the
Process.
The iProcess Engine must be running; you cannot start and stop the Server from
within TIBCO Business Studio. However, you can connect and disconnect from
the Server. Once connected, you can manage Modules on the Server. For example,
you can Release, Withdraw, and Undeploy Modules.

Direct Deployment to the TIBCO iProcess Engine is a one-way operation.


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.

TIBCO Business Studio - Process Developer’s Guide


Deploying a Process 65
|

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.

TIBCO Business Studio - Process Developer’s Guide


66
| Chapter 3 Tasks

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.

Preparing a Process for Deployment


To deploy a Process to a TIBCO iProcess Server, do the following:
1. Create the Process and set the Destination Environment to iProcess Engine.
2. Resolve all of the problems reported in the Problems view.

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.

Creating a New Server


To create a new server, do the following:
1. Right-click Deployment Servers and select New > Server.
2. Enter a Server Name (to identify the server within TIBCO Business Studio).

TIBCO Business Studio - Process Developer’s Guide


Deploying a Process 67
|

3. Accept iProcess Engine Server as the Runtime Environment.


4. Click Next.
5. Enter the runtime server parameters.
— Host - Enter localhost if the server is on your local machine; otherwise
enter the machine name or IP address of the computer where the iProcess
Engine is installed.
— Port - The port number that the iProcess Engine uses for the 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.
— Path - Specifies the path on the server to the JMX service, where the JMX
objects are stored. The default for Path is /server (this is the default iProcess
Engine setting). If you have changed the default location of the JMX service,
you must ensure that you also change Path in TIBCO Business Studio so
that both settings match.
— MBean Name - The MBean Name is set in the configuration file
SWDIR\etc\swjmx_config.xml. TIBCO Business Studio uses the default
name TIBCO:IProcessDeployment=default. If you have changed the
default MBean Name setting for the iProcess Engine by editing the
configuration file, you must ensure that you also change MBean Name in
TIBCO Business Studio so that both settings match.
— Username - Valid iProcess Engine user with either the PRODEF or ADMIN
permission that can connect to the iProcess Engine (for example,
IPEADMIN).
— Password - Password for the user connecting to the iProcess Engine.
— Repository Type: Select Workspace to allow the Module to be deployed
from your Eclipse workspace.
6. Click Finish. The new Server is created and displayed in the Project Explorer.

Connecting to a Server
You can connect to a server you have created as follows:
1. In the Project Explorer, expand Deployment Servers.

TIBCO Business Studio - Process Developer’s Guide


68
| Chapter 3 Tasks

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:

TIBCO Business Studio - Process Developer’s Guide


Deploying a Process 69
|

1. Right-click the Server on which you want to deploy and select Deploy
Module. The following dialog is displayed:

2. Select the appropriate Module Type depending on whether your Module is


located in your Workspace or in a local folder, and click Next.

TIBCO Business Studio - Process Developer’s Guide


70
| Chapter 3 Tasks

3. Depending on the option you selected in the previous step, continue as


follows:
— If you selected Workspace iProcess XPDL Module in the previous step,
you are prompted to select the Package that contains the Process you want
to deploy.

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

TIBCO Business Studio - Process Developer’s Guide


Deploying a Process 71
|

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:

You can also click Browse to locate the Module.


4. Click Finish. When the deployment is finished, TIBCO Business Studio
displays the following message:

TIBCO Business Studio - Process Developer’s Guide


72
| Chapter 3 Tasks

Managing Deployed Modules


When a Module is first deployed to the iProcess Engine, the resulting Procedure is
in an Unreleased state. This is indicated in the Properties view:

Right-clicking the Procedure shows the operations that you can perform when the
Procedure is in an Unreleased state:

As shown, you can Release or Undeploy the Procedure.

You cannot undeploy a Procedure with active Cases.

Similarly after you have released a Procedure, you can withdraw or undeploy a
Procedure.

Changing Server Properties


If you need to change a Server’s properties (for example, to change the password
or to change the IP address of the server) do the following:

TIBCO Business Studio - Process Developer’s Guide


Deploying a Process 73
|

1. Select the Server, right-click and select Properties. A dialog similar to the
following is displayed:

2. Make the necessary changes to the properties.


3. Click Auto Deployed Modules to see a list of Modules for which you
specified Deploy on save when you created them. If there are Modules which
you no longer wish to automatically deploy, click Remove to disable
automatic deployment for the selected Module.
4. When you have finished making changes, click OK. The changes take effect
the next time you connect to the Server. You can change the configuration
while connected to the Server, and when you next Connect your changes will
be applied.

TIBCO Business Studio - Process Developer’s Guide


74
| Chapter 3 Tasks

Disconnecting from the Server


To disconnect from a Server, right-click the Server and select Disconnect. The
Server State in the Properties view should change to Disconnected:

TIBCO Business Studio - Process Developer’s Guide


| 75

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.

TIBCO Business Studio - Process Developer’s Guide


76
| Chapter 4 Reference

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.

User Task Properties


When you have selected a User Task in the Process Editor, the following
properties are available:

Tab Property Description


Implementation Form URL You can specify the URL of a
form that you have created.
Upon deployment/import to
the iProcess Engine, the Task
becomes a step with a Form
type of Formflow Form. If you
do not specify a URL, the step
is created with a standard
iProcess Form

Parameters Inbound Parameters Allows you to select the Data


Fields or Parameters that the
Task requires as input.

Outbound Parameters Allows you to select the Data


Fields or Parameters that the
Task requires as output.

TIBCO Business Studio - Process Developer’s Guide


Properties View 77
|

Service Task Properties (Web Service/BusinessWorks Service)


When you have selected a Service Task in the Process Editor with either Web
Service or BW Service as the Service Type, the following properties are available:

Tab Property Description


General Service Name • When you click the Select
button and choose a WSDL
operation, the Service Name
and Port Name fields are
populated from the WSDL.
Note: Except for a WSDL
obtained from BusinessWorks,
the WSDL you select must use
the SOAP over HTTP data
transport mechanism and the
call style must be either
Document Literal or RPC
Encoded. It must also use the
Synchronous Request/Response
Message Exchange Pattern.

Port Name See Service Name description.

Operation Name Click the Select button to choose


a WSDL operation from a WSDL
that you have added to the
Project (see Adding a WSDL to
the Project on page 44).

Use local WSDL Select this option if you have


added the WSDL to the project
and want the WSDL to be
packaged with the Project
during the Packaging phase.

Use remote WSDL Select this option if the WSDL is


located remotely. If this is the
case, it cannot be packaged with
the Project.

TIBCO Business Studio - Process Developer’s Guide


78
| Chapter 4 Reference

Tab Property Description


Mapping In Use this section to create a
mapping from an actual
parameter (Data Field or
Parameter) into the formal
parameters of the selected
service. Create a mapping by
clicking a Parameter, dragging to
the destination Parameter, then
releasing the mouse button.
Note: For deployment to the
iProcess Engine, you must specify
at least one input parameter
mapping.

Mapping Out Use this section to create a


mapping from a formal
parameter of a service to an
actual parameter (Data Field or
Parameter). Create a mapping by
clicking a Parameter, dragging to
the destination Parameter, then
releasing the mouse button.
Note: For deployment to the
iProcess Engine, you must specify
at least one output parameter
mapping, however you cannot
specify more than one output
parameter mapping.

Service Task Properties (Email)


When you have selected a Service Task in the Process Editor with Email as the
Service Type, the following properties are available:

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.

TIBCO Business Studio - Process Developer’s Guide


Properties View 79
|

Tab Property Description


General To Specify the recipient of the email.

Subject Specify a subject line for the message.

Body Specify the body text that comprises the


message.

E-mail > From Select either Use Server Configuration to


Definition use the address of the server from which
the email is sent or select Use Custom
Configuration to select different
configuration details.

To Specify the recipient of the email.

Cc Specify the recipients to whom you want


to send a copy of the email. 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. 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.

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).

Subject Specify a subject line for the message.

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

TIBCO Business Studio - Process Developer’s Guide


80
| Chapter 4 Reference

Tab Property Description


E-mail > Field Contents Specify a document to be attached to the
Attachments message:
• Field Contents: - use this option to
attach the contents of a Parameter or
Data Field to the email message.
• Files: use this option to browse the
file system and attach a file to the
email message.

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.

User Custom Select Use Custom SMTP Configuration


SMTP settings to specify a different Host and
Configuration Port from the server where the 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.

TIBCO Business Studio - Process Developer’s Guide


Properties View 81
|

Service Task (Database)


When you have selected a Service Task in the Process Editor with Database as the
Service Type, the following properties are available:

Tab Property Description


General Server If the stored procedure is not in the
local database instance, you need to
provide either the server name or
database name or both. The default
instance is the one that your TIBCO
iProcess Engine is currently using.

Database See description of Server.

Operation Stored Procedure is the only option


available.

SQL Specify the name of the stored


procedure in the following format:
[owner.]stored_procedure_name

Database Operation See previous description on the


General tab.

SQL See previous description on the


General tab.

TIBCO Business Studio - Process Developer’s Guide


82
| Chapter 4 Reference

Tab Property Description


Parameters Click Define procedure
parameters... or the Database tab to
define the parameter mappings
between parameters in the stored
procedure and Case Fields in the
TIBCO iProcess Engine. These Case
Fields are represented in TIBCO
Business Studio as Data Fields.
• 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.

Service Task (Java)


When you have selected a Service Task in the Process Editor with Java as the
Service Type, the following properties are available:

Tab Property Description


General Project Specifies the Project that contains the
Java code you want to call. You can
automatically populate this field by
clicking Select Class and selecting
the desired class.

Class Displays the Class of which you


want to create an instance (selected
by clicking Select Class or Select
Factory).

TIBCO Business Studio - Process Developer’s Guide


Properties View 83
|

Tab Property Description


Method After you have selected a class, this
drop-down list is populated with the
available methods. Select a Method
from the drop-down list.

Class (factory) As an alternative to clicking Select


Class, you can click Select Factory
to choose a factory class to create an
instance of a Class.

Method Method factory used to create an


(factory) instance of a Class. This is populated
when the Factory is selected.

Mapping In Use this section to create a mapping


from an actual parameter (Data
Field or Parameter) into the
parameters of the selected Method.
Create a mapping by clicking a
Parameter, dragging to the
destination Parameter, then
releasing the mouse button.

Mapping Out Use this section to create a mapping


from a parameter of a Method to an
actual parameter (Data Field or
Parameter). Create a mapping by
clicking a Parameter, dragging to the
destination Parameter, then
releasing the mouse button.

TIBCO Business Studio - Process Developer’s Guide


84
| Chapter 4 Reference

Script Task
When you have selected a Script Task in the Process Editor, the following
properties are available:

Tab Property Description


Implementation Script Enter JavaScript that will be
executed at runtime. The usual
text editing assistance such as
color syntax highlighting,
content assist and error markers
are supported.

Send and Receive Tasks


When you have selected a Send or Receive Task in the Process Editor, the
following properties are available:

Tab Property Description


General Service Type By default this is Unspecified,
but optionally, you can specify
for documentation purposes that
a Send or Receive Task send a
message or receive a message
using a web service. You select a
web service operation for a Send
or Receive Task in the same way
you would for a Service Task
(Web Service) - see Service Task
Properties (Web
Service/BusinessWorks Service)
on page 77. However, note the
following:
• Send Tasks cannot be
deployed.
• If a Receive Task specifies a
web service implementation,
the web service information
is ignored upon deployment.

TIBCO Business Studio - Process Developer’s Guide


Process Validation 85
|

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.

General Rules for Direct Deployment to the TIBCO iProcess Engine


For a Process that you intend to directly deploy to the TIBCO iProcess Engine
(those with the TIBCO iProcess Engine Destination Environment selected), there
are three different sets of validation rules that are applied to the Process:
• TIBCO iProcess Modeler validation - for more information see the TIBCO
Business Studio Modeling User’s Guide.
• TIBCO iProcess Engine validation (described in this section).
Observe the following general rules for Processes that you intend to directly
deploy to the TIBCO iProcess Engine:
• Timer events must have scripts defined. The script must contain a date
expression or a time expression or both; it cannot contain other types of script
expressions.
• Independent Sub-Process step must specify a Sub-Process located within the
same Package.

Rules for Direct Deployment of Scripts


Note the rules listed in this section for Processes that you are deploying to the
TIBCO iProcess Engine.

TIBCO Business Studio - Process Developer’s Guide


86
| Chapter 4 Reference

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

Datetime Process Data


You cannot perform operations on Datetime process data. You can however use
the Date or Time properties of process data in expressions (for example,
MyDateTime.Date="09/05/2007";).

TIBCO Business Studio - Process Developer’s Guide


Process Validation 87
|

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.

Correcting Validation Errors


Any problems that result from validation are shown in the Problems view. To
correct the problem do one of the following:
• Right-click the problem and select Quick Fix (if enabled for the current
problem). The gives you the option of having TIBCO Business Studio correct
the problem for you.
• Right-click the problem and select Go To. This displays the Process in the
Process Editor, allowing you to correct the problem.

TIBCO Business Studio - Process Developer’s Guide


88
| Chapter 4 Reference

TIBCO Business Studio - Process Developer’s Guide


Index 89
|

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

TIBCO Business Studio - Process Developer’s Guide


90
| Index

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

TIBCO Business Studio - Process Developer’s Guide

You might also like