Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
TIBCO Designer User’s Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Other TIBCO Designer™ Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Other TIBCO Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
How to Contact TIBCO Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Preface
Topics
Related Documentation
For comments or problems with this manual or the software it addresses, please
contact TIBCO Product Support at:
http://support.tibco.com
Entry to this site requires a username and password. If you do not have a
username, you can request one. You must have a valid maintenance or support
contract to use this site.
Your browser must support cookies or an error informs you that you cannot
access the information.
Topics
TIBCO Designer is the new TIBCO adapter configuration tool. TIBCO Designer is
used by integration specialists, who can be business analysts or programmers that
know about the source or target system to which the adapter connects.
Business analysts use TIBCO Designer to configure adapters to get data into and
out of another system. A target system can be SAP R/3, PeopleSoft, Siebel or any
of the many systems for which TIBCO provides adapters.
For most adapters, the configuration process is as follows:
Schema Basics
The TIBCO schema resources form the basis for model-driven computing with
your adapter. Applications use schema to describe the data a particular subscriber
or publisher receives from or publishes to TIBCO Rendezvous. That means that
the schema data describe the TIBCO Rendezvous messages the adapter deals
with.
This example illustrates how you choose the schema information in a standard
adapter and how TIBCO Designer creates the corresponding resources. The
example configures a PeopleSoft adapter subscriber which retrieves data from a
PeopleSoft application.
Follow these steps:
1. With the project displayed in the Design panel, drag a PeopleSoft Adapter
Configuration resource template from the palette panel into the design panel.
2. Find the adapter instance in the project tree, and open its Adapter Services
folder.
Three operation templates are now displayed.
3. Drag a Subscribe Event into the Design panel.
In the Configuration panel, the Configuration tab allows you to specify
configuration information.
4. Click Fetch Component Interface Name.
TIBCO Designer displays a window in which you can select the component
interface to which you want to subscribe.
5. Choose Product, click OK, then click Apply in the Configuration Panel.
You can now save your project with the new subscriber.
In some situations, for example, when you are creating an adapter for which no
palette exists, you may need to define schema resources yourself. In the Adapter
Schema palette, TIBCO Designer includes the following resource templates:
• Generic Class
• Generic Sequence
• Generic Union
• Generic Scalar
• Operation
• Association
For more information, see Chapter 2, TIBCO Designer Schema Reference
3. Drag a Classes Folder into the design panel and name it appropriately for
your adapter.
You should always create a folder for your adapter. If you store all custom classes
in the classes/ae folder instead, there is no class description preloading instead. If
you create a specific folder, you can then set the Load URL resource in the
Metadata URL folder of the adapter, as discussed in the TIBCO Designer Adapter
Resource Management Guide.
4. Select the classes folder. In the palette panel, select the Adapter Schema palette
and drag a Generic Class into the design panel. Name the class MyData.
This is the class you will use to restrict the incoming or outgoing data.
5. Open the Scalars/ae folder and drag a ui8 Resource into the design panel,
which still displays MyData. (You may have to resect MyData).
You have now added a scalar attribute to the class.
6. Change the name and, if desired, other properties of this attribute.
To add this schema object to an endpoint (e.g. a publisher), follow these steps:
1. In the project panel, select the endpoint while the schema object is visible.
2. From the project panel, drag the schema object into the design panel with the
endpoint still selected.
TIBCO Designer creates a reference to the schema object and includes it below
the endpoint in the hierarchy.
This chapter contains reference information for each item in the Schema palette.
When you configure an adapter, you do not usually add schema to an adapter
explicitly. Instead, you specify configuration information and the adapter adds
the appropriate schema to the Schemas folder.
This reference is therefore for developers who do a custom configuration.
Topics
Schemas Folder
When you launch TIBCO Designer, the project tree always includes a Schemas
folder right under the top-level folder.
The Schemas folder is a repository for all schema data used by all applications in
your project.
• When you configure a standard adapter, TIBCO Designer creates schema
resources and places them in the appropriate location in the Schemas folder.
• When you configure a custom adapter, you create Schemas inside the Schemas
folder. You then add schema references to the endpoints in your application.
Some examples are given in this chapter.
When you select an item inside the Schemas folder, for example, a Classes folder
or an individual class resource in the project tree, the Adapter Schema palette is
displayed in the palette panel.
You use this palette to define schema resources for your custom adapter. You can
then associate schemas with endpoints in your custom adapter as follows:
Classes
Many TIBCO applications produce or consume data that are structured as objects.
These objects are described by schemas.
A generic class can be used for several purposes:
• Define a class object to represent schema data for your adapter. See Defining a
Class with Attributes on page 12 and Defining a Class with Operations on
page 15.
• Add a class field to your class object. See Adding Class Attributes on page 13.
Classes describe data to be used by adapter instances. Each class can have a set of
attributes and operations.
• Each attribute must have an attribute type that describes the types of data that
attribute can contain. The type is a class. This class can be a predefined class,
e.g. a string, or a custom class.
• Each operation represents behavior that can be carried out by this class.
Operations are used by clients and servers. Each operation can in turn have
parameters and raise exceptions.
For classes that have superclasses, an attribute or operation must not overload or
hide one of the same name in a superclass.
To define a class that describes data your adapter retrieves or publishes, follow
these steps:
You cannot add attributes to a class until you have specified its type.
1. Specify the class that should restrict the attribute value, if it does not yet exist.
2. Select the class to which you want to add attributes, or drag a Generic Class
into the design panel and choose Schema as the type.
3. With the Schema class selected, drag the class that should restrict the value
into the design panel.
4. Click Apply.
See Classes, page 11 for more information.
1. Specify the union that should restrict the attribute value, if it does not yet
exist. Add union members.
2. Select the class to which you want to add attributes, or drag a Generic Class
into the design panel and choose Schema as the type.
3. Drag the Union resource into the design panel.
You have now specified that that union is the choices of attribute values. For
example, you could drag both a string and an integer.
4. Click Apply.
See Unions, page 23 for more information.
To add an attribute of type sequence, you must have first defined a sequence.
1. Specify the sequence that should restrict the attribute value, if it does not yet
exist.
2. Select the class to which you want to add attributes, or drag a Generic Class
into the design panel and choose Schema as the type.
3. Drag the sequence into the design panel.
4. Specify a Name, Element Type, and length for your sequence. The length is
the number of elements in the sequence.
5. Click Apply.
See Sequences, page 26 for more information.
1. Specify the scalar that should restrict the attribute value, if it does not yet
exist.
2. Select the class to which you want to add attributes, or drag a Generic Class
into the design panel and choose Schema as the type.
3. Drag the scalar into the design panel.
4. Specify a name, then bring up the pop-up to specify the type of scalar.
The values you can choose from are the types available as part of the Adapter
SDK class library. See the TIBCO Adapter SDK Java Programmer’s Guide and the
TIBCO Adapter SDK C++ Programmer’s Guide for a mapping of these types to
Java or C++ types.
5. Specify other information as appropriate, then click Apply.
You cannot add operations to a class until you have specified its type.
3. Select the Parameters folder and drag resources representing the parameter
type into the design panel. For example, assume you want to specify an input
parameter of type string:
a. Drag a Generic Scalar into the design panel.
b. Specify a name, the type (String), and optional direction (In).
— In—In parameter. Client can set the value and invoke the operation.
— In/Out—Both client and server can set the value.
— Out—Only server can set the value and send the reply back to client.
c. Click Apply.
d. Specify additional parameters by repeating steps a-c as desired.
4. Select the Exceptions folder and drag a resource representing the exception
type into the design panel. For an error code, you could use a scalar with the
appropriate type. You could also specify a class, as follows:
a. Drag a Generic Class into the design panel.
b. Specify a name and click Browse to select a class.
c. Choose Schemas/ae/MAdvisoryDocument to indicate this exception
returns an MAdvisoryDocument instance.
d. Click Apply.
e. Specify additional exceptions by repeating steps a-c as desired.
Operations
SDK remote operations are described in the metadata objects in the repository.
The operation description can be shared across TIBCO ActiveEnterprise products
and introspected at run time for dynamic invocation.
Implementing ActiveEnterprise operations consists of two tasks:
Defining Operations
To define an operation, follow these steps:
1. Select the Classes folder and drag a second Classes folder into it for your
operations. Name the folder.
2. Select your new Classes folder and drag a Generic Class into it.
3. In the configuration panel, select RPC Operation Class, then click Apply.
4. Select the RPC Operation Class in the project tree. From the palette panel,
drag an Operation into the design panel.
5. Specify the following information for the operation:
— Name. Define the operation name.
— Returns: Click Browse and select the return type for the operation.
— Oneway. Click this check box if the operation can be invoked without
waiting for a return value or acknowledgment.
6. Select the Parameters folder of the operation. From the project tree, drag in the
resources representing the parameter types. See Defining Operation
Parameters on page 17.
7. Select the Exceptions folder of the operation. From the project tree, drag in the
resources representing the exception types.
3. Select a sequence in the project tree and drag it into the design panel, or click
Browse and find the class you want to use.
4. Select the operation direction.
— In—In parameter. Client can set the value and invoke the operation.
— In/Out—Both client and server can set the value.
— Out—Only server can set the value and send the reply back to client.
5. Click Apply.
Your operation now expects a parameter which has the sequence you selected as
its type.
Scalars
Within TIBCO Designer, the term Scalar refers to a primitive object that describes
a data type, such as int, long, char, byte, and date. You select the appropriate
folder (e.g. ae or sql) and object to determine what kind of primitive data type
describes the object and which attributes must therefore be set.
When an adapter repository is created, a number of scalar objects are included by
default.
In addition, you can work with parameterized primitive data types (for example,
ae/fixed, ae/binary, ae/char), where you can derive an infinite number of
types from a base type by changing various data type attributes. You can use
these types, for example, to create a bounded binary or bounded char type. If
there is a base data type, then it will be pre-loaded, but you are required to create
any other instances as you need them, just as you would for sequence types.
You can use one of the scalar resources that are already included with TIBCO
Designer, or define a custom scalar used by your application.
Unions
Unions may be placed alongside classes within a Classes folder. Like classes,
unions are containers of data items, but the contents of a union are alternatives.
Only one alternative is actually present in the union instance. Like classes, unions
may have an associated property list.
Unions have a name and have one or more union members. Each union member,
in turn, has a name and a type. Union and union member elements may have
attributes.
4. If you now add the union as an attribute to a schema class, and assign that
schema to an endpoint, the endpoint will only accept data that match either
one or the other scalar.
You can add more than 2 scalar references as union members. You can also mix
scalar references and other references.
Sequences
Sequence objects describe ordered sets of the same type, for example, an ordered
set of integers. The sequence is described by its optional maximum length and the
type of element in the sequence. Because the sequence is parameterized both by
length and element type, there are an infinite number of sequence types.
Create a sequence as follows:
Associations
An association has two endpoints and each association has attributes such as
multiplicity and navigability.
Association Types
To better support mapping to relational databases, the XML standard defines an
association type, which is one of the following:
• CONTAINMENT. Implies that an instance of class A "owns" one or more
instances of class B. No other class has ownership of the same B instance. If
class A is deleted, logically the B instance should be deleted also.
• REFERENCE. An instance of class A is associated with zero or more instances
of class B. The B instances may be referenced by more than one instance of A.
This is the most general form of association and is the default if no type is
specified.
• CONSTRAINT_REF. An instance of class A and an instance of class B together
contain enough key information to uniquely associate them with an instance
of class C. Deletion of A or B instances should cause deletion of all C instances
which are no longer referenced. The relation of A or B to C is of type
CONSTRAINT_REF.
A Note on Multiplicity
Both ends of an association can have a multiplicity. For example, a 1 to 1 relation
has multiplicity = 1 on both ends. One to n (i.e. unlimited) has 1 at one end and -1
(unlimited) on the other. In these cases, there is only one multiplicity number and
minMultiplicity and MaxMultiplicity will be equal.
In rather rare cases, you would specify a different minimum and maximum. One
example given in the "UML Distilled" book is that a car can have 2 to 4 doors. So
in this case the "car" end of the association would have multiplicity 1 and the
"door" end would have minMultiplicity = 2 and maxMultiplicity = 4.
See any reference on UML for more details.
This appendix lists resources created by TIBCO Designer under certain special
conditions. The appendix is not meant to be read sequentially, instead, it is
accessed by the online help when you click "What is this" on any of the resources.
You may also find it helpful when you are interested in information about a
specific resource.
Topics
Class Reference
Scalar Reference
Union Reference
Sequence Reference
Generic Class
A generic class is a resource template in the palette panel that you can drag into
the design panel. The actual resource TIBCO Designer creates from the generic
class depends on the current selection.
• If the current selection is any of the folders or subfolder inside the Schemas
folder, TIBCO Designer creates a generic class. You can then select the class
type (Schema or Operation class) and TIBCO Designer creates a resource of
that type. See Classes on page 11.
• If the current selection is a Schema class, the Generic class becomes a Class
field, that is, a field inside the class that has that class as the type. See Adding
Class Attributes on page 13.
• If the current selection is a Union or the Exceptions folder inside an operation,
TIBCO Designer creates a class reference. See Class Reference on page 30.
Generic Scalar
A generic scalar is a resource template in the palette panel that you can drag into
the design panel. The actual resource TIBCO Designer creates from the generic
scalar depends on the current selection.
• If the current selection is any of the folders or subfolder inside the Schemas
folder, TIBCO Designer creates a Scalar Type resource. See Scalars on page 21.
• If the current selection is a Schema class, the Generic sequence becomes a
Union field, that is, a field of type Union inside the class. See Adding Union
Fields on page 13.
• If the current selection is a Union or the Exceptions folder inside an operation,
TIBCO Designer creates a union reference. See Union Reference on page 30.
Generic Union
A generic union is a resource template in the palette panel that you can drag into
the design panel. The actual resource TIBCO Designer creates from the generic
union depends on the current selection.
• If the current selection is any of the folders or subfolder inside the Schemas
folder, TIBCO Designer creates a Union Type resource. See Unions on page 23.
• If the current selection is a Schema class, the Generic sequence becomes a
Union field, that is, a field of type Union inside the class. See Adding Union
Fields on page 13.
• If the current selection is a Union or the Exceptions folder inside an operation,
TIBCO Designer creates a union reference. See Union Reference on page 30.
Generic Sequence
A generic sequence is a resource template in the palette panel that you can drag
into the design panel. The actual resource TIBCO Designer creates from the
generic sequence depends on the current selection.
• If the current selection is any of the folders or subfolder inside the Schemas
folder, TIBCO Designer creates a Sequence Type resource. See Sequences on
page 26.
• If the current selection is a Schema class, the Generic sequence becomes a
Sequence field, that is, a field of type Sequence inside the class. See Adding
Sequence Fields on page 14.
Class Field
TIBCO Designer creates a class field when you drag a Class into the design panel
while a schema resource is selected. See Adding Class Attributes on page 13.
Scalar Field
TIBCO Designer creates a scalar field when you drag a Scalar into the design
panel while a schema resource is selected. See Adding Scalar Fields on page 14.
Union Field
TIBCO Designer creates a union field when you drag a Union into the design
panel while a schema resource is selected. See Adding Union Fields on page 13.
Sequence Field
TIBCO Designer creates a sequence field when you drag a Sequence into the
design panel while a schema resource is selected. See Adding Sequence Fields on
page 14.
This appendix briefly discussed TIBCO Designer folders. The appendix is not
meant to be read sequentially, instead, it is accessed by the online help when you
click "What is this" on any of the folders. You may also find it helpful when you
are interested in information about a specific folder.
Topics
Folder Resource
Folder resources are used to organize projects. For example, you can add one
folder each for each adapter instance you are designing. TIBCO Designer uses
folders inside the Schemas folder to organize Schema resources.
Schemas Folder
The Schemas folder is a container for all schema data used by all applications in
your project.
• When you configure a standard adapter, TIBCO Designer creates schema
resources and places them in the appropriate location in the Schemas folder.
• When you configure a custom adapter, you create Schemas inside the Schemas
folder. You then add schema references to the endpoints in your application.
Some examples are given in this chapter.
Classes Folder
The Classes folder is a container for all classes used by all applications in your
project. It contains the ae/baseDocument folder, which in turn contains some
class objects stored in TIBCO Repository and supported by the TIBCO Adapter
SDK. See the TIBCO Adapter SDK C++ Programmer’s Guide and the TIBCO Adapter
SDK Java Programmer’s Guide for more information.
Scalars Folder
The Scalars folder is a container for all scalars used by all applications in your
project. It contains folders for scalars commonly used by applications.
Unions Folder
The Unions folder is a repository for all unions used by all applications in your
project. For more information, see Unions on page 23
Sequences Folder
The Sequences folder is a repository for all sequences used by all applications in
your project. It contains by default the ae/classes/ae/baseDocument folder,
which contains sequence[MDataSection]. This sequence is used by the SDK class
MBusinessDocument. See the TIBCO Adapter SDK C++ Programmer’s Guide and
the TIBCO Adapter SDK Java Programmer’s Guide.
For more information on using sequences, see Sequences on page 26
Associations Folder
The Associations folder is a repository for all associations used by all applications
in your project. For more information, see Associations on page 27
Index
A F
adapter endpoints 5 fields
adapter schemas palette 10 type class 13
adapters type scalar 14
configuring 3 type sequence 14
adding class fields 13 type union 13
adding class union members 23
adding operations 15
adding scalar union members 24
adding sequence union members 24 L
adding unions as union members 23
associations 27 legacy adapters 4
types 27
attributes 12
adding 12
M
multiplicity 27
C
class 11, 12, 15
adding attributes 12 O
class fields 13
class reference 23 operation exceptions folder 18
configuring standard adapters 3 operation parameter folder 18
custom adapters 4, 7 operation parameters 17
customer support vii operations 15, 17
defining 17
exception parameters 20
parameters 17
E
endpoints 5
exception parameters 20 P
exceptions folder 18
parameter folder 18
R
RPC class 15
S
scalar fields 14
scalar reference 24
scalars 21
schemas
and tibco designer 5
basics 3
example 7
folder 10
for custom adapters 7
overview 3
sequence fields 14
sequence reference 24
sequences 26
standard adapter endpoints 5
standard adapters 3
support, contacting vii
T
technical support vii
U
union fields 13
union members 23, 24