tibco designer - adapter schema management guide

52
TIBCO Designer™ Adapter Schema Management Guide Software Release 4.1.3 November 2002

Upload: naveen

Post on 18-Nov-2014

125 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TIBCO Designer - Adapter Schema Management Guide

TIBCO Designer™

Adapter Schema Management GuideSoftware Release 4.1.3November 2002

Page 2: TIBCO Designer - Adapter Schema Management Guide

Important Information

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.

USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE TIBCO DESIGNER USER’S GUIDE). 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.

Technologies described herein are covered by existing patents and pending patent applications. TIBCO technology is protected under US patent number 6,003,011.

TIB, TIBCO, Information Bus, The Power of Now, TIBCO Adapter, TIBCO BusinessWorks, TIBCO Designer are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries.

EJB, J2EE, JMS 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 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.

Copyright © 1999-2002 TIBCO Software Inc. ALL RIGHTS RESERVED.

TIBCO Software Inc. Confidential Information

Page 3: TIBCO Designer - Adapter Schema Management Guide

| iii

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viTIBCO Designer User’s Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viOther TIBCO Designer™ Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viOther TIBCO Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

How to Contact TIBCO Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Chapter 1 Understanding Schema Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Who Performs Schema Management? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

How TIBCO Applications Use Schema Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Schema Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Configuring Standard Adapter Endpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Creating Schema for Your Custom Adapter—Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Defining a Schema Resource—Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Chapter 2 TIBCO Designer Schema Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Schemas Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Adapter Schemas Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Defining a Class with Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Adding Attributes to a Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Defining a Class with Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Adding Operations to an RPC Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Defining Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Defining Operation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Defining Exception Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Defining Union Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Adding Union Members to Union Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Associations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Association Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

TIBCO Designer Adapter Schema Management Guide

Page 4: TIBCO Designer - Adapter Schema Management Guide

iv | Contents

Appendix A Schema Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Scalar Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Union Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Sequence Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Generic Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Generic Scalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Generic Union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Generic Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Class Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Scalar Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Union Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Sequence Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Appendix B TIBCO Designer Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Folder Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Schemas Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Classes Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Scalars Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Unions Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Sequences Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Associations Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

TIBCO Designer Adapter Schema Management Guide

Page 5: TIBCO Designer - Adapter Schema Management Guide

| v

Preface

TIBCO Designer™ is an easy to use graphical user interface for configuration of TIBCO applications. You create a project, add components to it with a simple drag-and-drop interface, and specify the configuration information for each component.

This document explains how you can use the TIBCO Designer Generic Adapter Configuration resources to configure an adapter you have imported into TIBCO Designer.

Topics

• Related Documentation, page vi

• How to Contact TIBCO Customer Support, page vii

TIBCO Designer Adapter Schema Management Guide

Page 6: TIBCO Designer - Adapter Schema Management Guide

vi | Related Documentation

Related Documentation

This section lists documentation resources you may find useful.

TIBCO Designer User’s Guide The TIBCO Designer User’s Guide is the document about TIBCO Designer functionality that every user should read.

It explains how to customize and use the TIBCO Designer graphical interface, how to use TIBCO Designer resources to configure TIBCO Designer, how to work with variables, and other TIBCO Designer functionality that’s not product specific.

Other TIBCO Designer™ DocumentationSeveral small booklets discuss advanced TIBCO Designer functionality.

• This TIBCO Designer Schema Management Guide

• TIBCO Designer Repository Management Guide

• TIBCO Designer Resource Management Guide

Other TIBCO DocumentationIn addition, you may find the following document useful:

• TIBCO Administrator Server Configuration Guide—For an in-depth understanding on managing projects across your TIBCO Administration Domain, read this document. Most users do not need the detail available in this document. See the Concepts guide for your product for an overview of project management.

TIBCO Designer Adapter Schema Management Guide

Page 7: TIBCO Designer - Adapter Schema Management Guide

Preface | vii

How to Contact TIBCO Customer Support

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.

TIBCO Designer Adapter Schema Management Guide

Page 8: TIBCO Designer - Adapter Schema Management Guide

viii | How to Contact TIBCO Customer Support

TIBCO Designer Adapter Schema Management Guide

Page 9: TIBCO Designer - Adapter Schema Management Guide

| 1

Chapter 1 Understanding Schema Management

This chapter explains TIBCO Designer schema management. After an introduction to schema management, you learn how TIBCO Designer adds schema to your project during configuration. An explanation of schema management for custom adapters follows.

A reference to all resource templates in the schema palette is in the next chapter.

Topics

• Who Performs Schema Management?, page 2

• How TIBCO Applications Use Schema Data, page 3

• Configuring Standard Adapter Endpoints, page 5

• Creating Schema for Your Custom Adapter—Overview, page 7

TIBCO Designer Adapter Schema Management Guide

Page 10: TIBCO Designer - Adapter Schema Management Guide

2 | Chapter 1 Understanding Schema Management

Who Performs Schema Management?

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:

1. You install the adapter on the platform of your choice.

2. During installation, a TIBCO Designer palette for the adapter is installed. This palette becomes available the next time you start TIBCO Designer.

Documentation for the adapter becomes available via the Help menu.

3. You configure your adapter using the adapter palette. During that process, you define schema data, but you do not use the resources discussed in this book. For an overview of the process, see Configuring Standard Adapter Endpoints on page 5.

If, however, no palette is available for your adapter, you use the Adapter Schema Resources palette in conjunction with the Adapter Resources palette to define your adapter. In addition, if you load a legacy adapter into TIBCO Designer, TIBCO Designer uses the resources in those two palettes to display the repository objects in that adapter.

In summary, schema management is only performed if you either edit a legacy adapter or create a new adapter from scratch. This manual therefore assumes you understand adapter configuration concepts. For example, you should know what an endpoint or a session is.

TIBCO Designer Adapter Schema Management Guide

Page 11: TIBCO Designer - Adapter Schema Management Guide

How TIBCO Applications Use Schema Data | 3

How TIBCO Applications Use Schema Data

TIBCO applications use schema data to describe or constrain data or operations used by the application. For example, you can specify that an adapter only subscribes to data of a prespecified type. The data could be restricted to a predefined type, e.g. an int or string, or a custom type represented by a class. You could also restrict the operations used by a client-server interactions. Here, you would specify the number of required parameters, their type, the return type, and the exceptions.

Schema data effectively isolate the data description from the application data itself. TIBCO Designer is used to define schema data for a project. The schema can then be used by all resources in the project. For example, assume you want to restrict the data a publisher sends. You can define a schema resource, then point to that resource from the publisher, which the program then uses to check whether outgoing data meet the requirements. In a client/server environment, you can define an operation that has a prespecified number of parameters of a certain type and a prespecified return type.

Schema are useful in a variety of situations, for example:

• When several programmers collaborate on an application, a specification document normally defines the data model for several related applications. Inside the TIBCO framework, you can instead define one or more schema objects specifying the data model and update them as needed.

• When the data model of the source or target application changes, programmers do not have to rewrite an adapter. Instead, they change the schema.

• In different business situations, the same adapter can be used with different schema.

Schema BasicsThe 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.

Configuring Standard Adapters

When you configure a standard adapter for which a TIBCO Designer palette exists, you do not define schema data. Instead, you configure the publishers,

TIBCO Designer Adapter Schema Management Guide

Page 12: TIBCO Designer - Adapter Schema Management Guide

4 | Chapter 1 Understanding Schema Management

subscribers, clients, or servers your adapter uses. During that configuration, TIBCO Designer lets you choose the data the publisher, subscriber, etc. should work with. TIBCO Designer automatically creates the schema objects corresponding to the data you choose. For an example, see Configuring Standard Adapter Endpoints, page 5.

Working With Legacy and Custom Adapters

You use the Adapter Schema Resources palette in these situations:

• If you load a legacy adapter, for which no palette exists, TIBCO Designer creates a palette using the Generic Adapter Configuration resources. You can then change the schema for the endpoints in that adapter using the Adapter schema palette.

• If you are creating a custom adapter for from scratch, you use the resources in the Adapter resources palette to define the sessions, endpoints, and other elements. You then have to create schema resources to represent the data the endpoints in your custom adapter work with.

See Creating Schema for Your Custom Adapter—Overview on page 7.

TIBCO Designer Adapter Schema Management Guide

Page 13: TIBCO Designer - Adapter Schema Management Guide

Configuring Standard Adapter Endpoints | 5

Configuring Standard Adapter Endpoints

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.

How TIBCO Designer Works With the Schema Data

When you are setting up the PeopleSoft subscriber TIBCO Designer performs a number of operations:

• Names the subscriber to reflect the component interface to which it subscribes.

• Sets the quality of service appropriate for this component interface.

• Under the Schema tab, displays the schema in that interface. Click on the folders to see the fields and field types (which will translate to attributes and attribute types).

Knowledge or understanding of these operations is not necessary or even useful for adapter configuration. They are included for the sake of completeness.

TIBCO Designer Adapter Schema Management Guide

Page 14: TIBCO Designer - Adapter Schema Management Guide

6 | Chapter 1 Understanding Schema Management

• Creates a session of the appropriate type in the Advanced Settings/Sessions folder.

• Creates a folder in the Schema/classes/ae folder for the application and adds class resources matching the schema with attributes matching the fields.

• Under the Advanced tab, displays the message subject, endpoint reference, and schema class reference.

— The endpoint reference points to the session that was created.

— The schema class reference points to the class created for this component interface.

TIBCO Designer Adapter Schema Management Guide

Page 15: TIBCO Designer - Adapter Schema Management Guide

Creating Schema for Your Custom Adapter—Overview | 7

Creating Schema for Your Custom Adapter—Overview

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

Defining a Schema Resource—ExampleThe following example steps you through creating one Schema object that will restrict outgoing objects published by a publisher to objects with type ui8. If desired, you could create other restrictions using one of these resources:

• Sequence—to restrict the value to one of a sequence of scalar values

• Union—to restrict the value to one of several complex values (e.g. classes)

• Scalar—to restrict the value to a scalar

• Operation—to restrict an operation’s return value

• Association—to restrict the value to an association

To define a single schema resource, follow these steps:

1. In the project tree panel, select the Schemas/Classes/ae folder.

2. If you’re in Palette mode, select the Switch Palette Mode icon, and select the Adapter Resources palette.

TIBCO Designer Adapter Schema Management Guide

Page 16: TIBCO Designer - Adapter Schema Management Guide

8 | Chapter 1 Understanding Schema Management

3. Drag a Classes Folder into the design panel and name it appropriately for your adapter.

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.

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.

TIBCO Designer Adapter Schema Management Guide

Page 17: TIBCO Designer - Adapter Schema Management Guide

| 9

Chapter 2 TIBCO Designer Schema Reference

This chapter contains reference information for each item in the Schema palette.

Topics

• Adapter Schemas Palette, page 10

• Classes, page 11

• Unions, page 23

• Operations, page 17

• Sequences, page 26

• Scalars, page 21

• Associations, page 27

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.

TIBCO Designer Adapter Schema Management Guide

Page 18: TIBCO Designer - Adapter Schema Management Guide

10 | Chapter 2 TIBCO Designer Schema Reference

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.

Adapter Schemas Palette

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:

1. Select the endpoint, e.g. a subscriber, in the project tree.

2. Find the schema resource in the project tree and, with the endpoint still selected, drag the schema resource into the design panel.

TIBCO Designer creates a reference to that schema and adds it to the endpoint. In the project tree, the reference is displayed underneath the endpoint.

TIBCO Designer Adapter Schema Management Guide

Page 19: TIBCO Designer - Adapter Schema Management Guide

Classes | 11

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.

TIBCO Designer Adapter Schema Management Guide

Page 20: TIBCO Designer - Adapter Schema Management Guide

12 | Chapter 2 TIBCO Designer Schema Reference

Defining a Class with Attributes

To define a class that describes data your adapter retrieves or publishes, follow these steps:

1. In the TIBCO Designer project tree, select the Schemas folder

The Adapter Schemas palette is displayed in the palette panel.

2. In the palette panel, select the Classes folder icon and drag it into the design panel. Rename the folder to match your adapter’s name.

You have added a folder for your own schema data.

3. In the palette panel, select the Generic Class icon and drag it into the design panel.

4. Select the type of the class, which is Class Type (Schema).

5. You can now add attributes to the class.

Adding Attributes to a ClassThe attributes of the class object define the type of data that the schema object you are creating will allow. To add attributes to a class, follow these steps:

1. Select the class in the project tree.

The palette panel now displays the icons for resources you can add to the class.

2. Drag the icon that represents the type of data for this attribute. For example, you could drag a string scalar for string attributes or MBusinessDocument for an attribute that constrains a publisher to that class.

3. Select the object that determines the type of this attribute. You have these choices:

— Adding Class Attributes, page 13

— Adding Union Fields, page 13

— Adding Sequence Fields, page 14

— Adding Scalar Fields, page 14

You cannot add attributes to a class until you have specified its type.

TIBCO Designer Adapter Schema Management Guide

Page 21: TIBCO Designer - Adapter Schema Management Guide

Defining a Class with Attributes | 13

4. Specify the following additional information about the attribute:

— Keyfield. Select the check box if this attribute represents a key field, or leave it unchecked if it does not.

— Default Value. Provide a default value. This property is not available for all attribute types.

— Readable. Select the check box to make the attribute readable, deselect otherwise.

— Writable. Select the check box to make the attribute writable, deselect otherwise.

5. Click Apply.

Adding Class Attributes

To add an attribute whose value must be a class:

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.

Adding Union Fields

To add an attribute whose value must be a union, you must first have defined one or more Union resources. See Unions, page 23:

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.

TIBCO Designer Adapter Schema Management Guide

Page 22: TIBCO Designer - Adapter Schema Management Guide

14 | Chapter 2 TIBCO Designer Schema Reference

Adding Sequence Fields

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.

Adding Scalar Fields

To add an attribute whose value must be a scalar, follow these steps:

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.

TIBCO Designer Adapter Schema Management Guide

Page 23: TIBCO Designer - Adapter Schema Management Guide

Defining a Class with Operations | 15

Defining a Class with Operations

To define a generic class that constrains an operation, follow these steps:

1. In the TIBCO Designer project tree, select the Schemas folder

The Schemas palette is displayed in the palette panel.

2. In the palette panel, select the Classes Folder icon and drag it into the design panel. Rename the folder, e.g., to match your adapter’s name.

You have added a folder for your own schema data.

3. In the palette panel, select the Generic Class icon and drag it into the design panel.

4. Select the type of the class, which is RPC Type.

5. You can now add operations to the class.

Adding Operations to an RPC ClassThe following section gives one example for defining an operation. The exact choices you make depend on the operation you want to define.

To add operations to an RPC class, follow these steps:

1. Select the RPC class in the project tree.

The items in the palette panel now represent the type of fields you can add to the class.

2. Drag the Operation icon into the design panel, then:

a. Name the operation

b. Click Browse and specify the return type.

c. Click the Oneway checkbox if this is a one way operation.

You cannot add operations to a class until you have specified its type.

TIBCO Designer Adapter Schema Management Guide

Page 24: TIBCO Designer - Adapter Schema Management Guide

16 | Chapter 2 TIBCO Designer Schema Reference

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.

TIBCO Designer Adapter Schema Management Guide

Page 25: TIBCO Designer - Adapter Schema Management Guide

Operations | 17

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:

1. Using TIBCO Designer to describe the operations to be performed. This includes parameters and exceptions for the operations.

2. Using TIBCO Adapter SDK classes to implement the behavior in the application code.

Defining OperationsTo 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.

Defining Operation ParametersWhen you define an operation, TIBCO Designer automatically adds two folders:

TIBCO Designer Adapter Schema Management Guide

Page 26: TIBCO Designer - Adapter Schema Management Guide

18 | Chapter 2 TIBCO Designer Schema Reference

Operation Parameter Folder

Use this folder to drag in resources representing the parameter types, as discussed in the following sections.

• Parameters of Type Class

• Parameters of Type Sequence

• Parameters of Type Scalar

• Parameters of Type Union

Operation Exceptions Folder

Use this folder to drag in resources representing the exception types, as discussed in the following sections.

Parameters of Type Class

If you want to add a parameter that has a Schema Class as a type, follow these steps:

1. Create the operation, as discussed in Defining Operations on page 17.

2. In the project tree panel, double-click the Parameters folder.

3. Select a class 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 class you selected as its type.

Parameters of Type Sequence

If you want to add a parameter that has a sequence as a type, follow these steps:

1. Create the operation, as discussed in Defining Operations on page 17.

2. In the project tree panel, double-click the Parameters folder.

TIBCO Designer Adapter Schema Management Guide

Page 27: TIBCO Designer - Adapter Schema Management Guide

Operations | 19

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.

Parameters of Type Scalar

If you want to add a parameter that has a scalar as a type, follow these steps:

1. Create the operation, as discussed in Defining Operations on page 17.

2. In the project tree panel, double-click the Parameters folder.

3. Select a scalar 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 scalar you selected as its type.

Parameters of Type Union

If you want to add a parameter that has a union as a type, follow these steps:

1. Create the operation, as discussed in Defining Operations on page 17.

2. In the project tree panel, double-click the Parameters folder.

3. Select a union in the project tree and drag it into the design panel, or click Browse and find the class you want to use.

TIBCO Designer Adapter Schema Management Guide

Page 28: TIBCO Designer - Adapter Schema Management Guide

20 | Chapter 2 TIBCO Designer Schema Reference

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 union you selected as its type.

Defining Exception ParametersWhen you define an operation, TIBCO Designer creates an Exceptions folder for you. You can specify the type of exceptions the operation should return as follows:

1. Create the operation, as discussed in Defining Operations on page 17.

2. In the project tree panel, double-click the Exceptions folder.

3. Drag the object representing the type of exception you wish to have delivered into the design panel. For example, for an exception of type MAdvisoryDocument, select an MAdvisoryDocument object.

4. Click Apply.

5. Add more exceptions to the operation as needed.

TIBCO Designer Adapter Schema Management Guide

Page 29: TIBCO Designer - Adapter Schema Management Guide

Scalars | 21

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.

To define a custom scalar:

1. In the project tree, select one of the folders inside the Scalars folder in the project tree or, to define a new scalar type, create a new folder first.

2. From the palette panel, drag a Generic Scalar into the design panel.

3. In the configuration panel, specify the information about your scalar, then click Apply.

To add a scalar attribute to a custom class:

1. In the project tree panel, select the Classes folder.

2. In the palette panel, select a Generic Class and drag it into the design panel.

3. In the configuration panel, select Class Type (Schema).

4. To add a scalar attribute, select the new schema class, then drag a Generic Scalar from the palette panel into the design panel.

TIBCO Designer Adapter Schema Management Guide

Page 30: TIBCO Designer - Adapter Schema Management Guide

22 | Chapter 2 TIBCO Designer Schema Reference

5. Specify the information about the attribute you have added:

— Name—Name of the attribute

— Type—Select the appropriate type from the pop-up.

— Default Value—Specify the default value for this field. This information is optional and no type checking is performed.

— Keyfield—Select if this is a key field.

— Readable—Select if you want for this field to be readable.

— Writable—Select if you want for this field to be writable.

6. Click Apply.

TIBCO Designer Adapter Schema Management Guide

Page 31: TIBCO Designer - Adapter Schema Management Guide

Unions | 23

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.

Defining Union Objects

Define one or more Union objects as follows:

1. Select the Union folder.

2. From the palette panel, drag a Generic Union into the design panel.

Adding Union Members to Union ObjectsWhen you specify the union members for a union, TIBCO Designer creates references to the object you add. This section discusses the process for the different resource types:

• Adding Class Reference Union Members on page 23

• Adding Sequence Reference Union Members on page 24

• Adding Scalar Reference Union Members on page 24

• Adding Union Reference Union Members on page 25

Adding Class Reference Union Members

When you add a class union member to a union, TIBCO Designer creates a class reference. To define union members that are classes, follow these steps:

1. Select a union in the project tree.

2. From the project tree, drag an existing class, e.g. an MBusinessDocument into the design panel.

TIBCO Designer creates a reference to MBusinessDocument makes it the first union member.

3. Drag a second class, e.g. an MAdvisoryDocument into the design panel.

TIBCO Designer Adapter Schema Management Guide

Page 32: TIBCO Designer - Adapter Schema Management Guide

24 | Chapter 2 TIBCO Designer Schema Reference

TIBCO Designer creates a second class reference.

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 of type MBusinessDocument or MAdvisoryDocument.

You can add more than 2 class references as union members. You can also mix class references and other references.

Adding Sequence Reference Union Members

When you add a sequence union member to a union, TIBCO Designer creates a sequence reference. To define union members that are sequences, follow these steps:

1. Select a union in the project tree.

2. From the project tree, drag an existing sequence into the design panel. See Sequences on page 26.

TIBCO Designer creates a reference to the sequence.

3. From the project tree, drag an second sequence into the design panel.

TIBCO Designer creates a reference to the second sequence.

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 either match one or the other sequence.

You can add more than 2 sequence references as union members. You can also mix sequence references and other references.

Adding Scalar Reference Union Members

When you add a scalar as a union member to a union, TIBCO Designer creates a scalar reference. To define union members that are scalars, follow these steps:

1. Select a union in the project tree.

2. From the project tree, drag a scalar into the design panel. See Scalars on page 21.

TIBCO Designer creates a reference to the scalar.

3. From the project tree, drag a second scalar into the design panel.

TIBCO Designer creates a reference to the second scalar.

TIBCO Designer Adapter Schema Management Guide

Page 33: TIBCO Designer - Adapter Schema Management Guide

Unions | 25

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.

Adding Union Reference Union Members

When you add a union as a union member to an existing union, TIBCO Designer creates a union reference.

To define a union members that are, in turn, unions, follow these steps:

1. Select a union in the project tree.

2. From the project tree, drag a union into the design panel. See Unions on page 23.

TIBCO Designer creates a reference to the union.

3. From the project tree, drag a second union into the design panel.

TIBCO Designer creates a reference to the second union.

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 union, that is, any of the elements in either union.

You can add more than 2 union references as union members. You can also mix union references and other references.

TIBCO Designer Adapter Schema Management Guide

Page 34: TIBCO Designer - Adapter Schema Management Guide

26 | Chapter 2 TIBCO Designer Schema Reference

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:

1. Select the Sequence folder.

2. From the palette panel, drag a Generic Sequence into the design panel.

3. In the configuration panel, select the name, type of the elements, and length of the sequence.

The maxium length is the number of elements in the sequence.

TIBCO Designer Adapter Schema Management Guide

Page 35: TIBCO Designer - Adapter Schema Management Guide

Associations | 27

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.

TIBCO Designer Adapter Schema Management Guide

Page 36: TIBCO Designer - Adapter Schema Management Guide

28 | Chapter 2 TIBCO Designer Schema Reference

TIBCO Designer Adapter Schema Management Guide

Page 37: TIBCO Designer - Adapter Schema Management Guide

| 29

Appendix A Schema Resource Reference

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, page 30

• Scalar Reference, page 30

• Union Reference, page 30

• Sequence Reference, page 31

• Generic Class, page 31

• Generic Scalar, page 31

• Generic Union, page 32

• Generic Sequence, page 32

• Class Field, page 33

• Scalar Field, page 33

• Union Field, page 33

• Sequence Field, page 33

TIBCO Designer Adapter Schema Management Guide

Page 38: TIBCO Designer - Adapter Schema Management Guide

30 | Appendix A Schema Resource Reference

Class Reference

TIBCO Designer creates a schema class reference in these situations:

• When you add a class to a union as a union member. See Adding Class Reference Union Members on page 23.

• When you add a class as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 20.

• When you add a class to an endpoint to restrict the data it should work with. See Defining a Schema Resource—Example on page 7.

Scalar Reference

TIBCO Designer creates a scalar reference in these situations:

• When you add a scalar to a union as a union member. See Adding Scalar Reference Union Members on page 24.

• When you add a scalar as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 20.

• When you add a scalar to an endpoint to restrict the data it should work with. See Defining a Schema Resource—Example on page 7.

Union Reference

TIBCO Designer creates a union reference in these situations:

• When you add a union to a union as a union member. See Adding Union Reference Union Members on page 25.

• When you add a union as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 20.

• When you add a union to an endpoint to restrict the data it should work with. See Defining a Schema Resource—Example on page 7.

TIBCO Designer Adapter Schema Management Guide

Page 39: TIBCO Designer - Adapter Schema Management Guide

Sequence Reference | 31

Sequence Reference

TIBCO Designer creates a sequence reference in these situations:

• When you add a sequence to a union as a union member. See Adding Sequence Reference Union Members on page 24.

• When you add a sequence as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 20.

• When you add a sequence to an endpoint to restrict the data it should work with. See Defining a Schema Resource—Example on page 7.

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.

TIBCO Designer Adapter Schema Management Guide

Page 40: TIBCO Designer - Adapter Schema Management Guide

32 | Appendix A Schema Resource Reference

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

TIBCO Designer Adapter Schema Management Guide

Page 41: TIBCO Designer - Adapter Schema Management Guide

Class Field | 33

• If the current selection is a Union or the Exceptions folder inside an operation, TIBCO Designer creates a sequence reference. See Sequence Reference on page 31.

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.

TIBCO Designer Adapter Schema Management Guide

Page 42: TIBCO Designer - Adapter Schema Management Guide

34 | Appendix A Schema Resource Reference

TIBCO Designer Adapter Schema Management Guide

Page 43: TIBCO Designer - Adapter Schema Management Guide

| 35

Appendix B TIBCO Designer Folders

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, page 36

• Schemas Folder, page 36

• Classes Folder, page 36

• Scalars Folder, page 36

• Unions Folder, page 37

• Sequences Folder, page 37

• Associations Folder, page 37

Folders in the Generic Adapter Configuration point to this appendix (because they are folders) are discussed separately in Appendix A of the the TIBCO Designer Adapter Resource Management Guide. Choose Help > Help For > Adapter Resources to access that document.

TIBCO Designer Adapter Schema Management Guide

Page 44: TIBCO Designer - Adapter Schema Management Guide

36 | Appendix B TIBCO Designer Folders

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.

TIBCO Designer Adapter Schema Management Guide

Page 45: TIBCO Designer - Adapter Schema Management Guide

Unions Folder | 37

• The ae folder contains TIBCO ActiveEnterprise scalars. For information on mapping between those scalars and C++ and Java types, see the TIBCO Adapter SDK C++ Programmer’s Guide and the TIBCO Adapter SDK Java Programmer’s Guide.

• The resources in the other folders are available in TIBCO Repository, but not directly supported by the TIBCO Adapter SDK. They may, however, be supported by your custom adapter.

For more information, see Scalars on page 21

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

TIBCO Designer Adapter Schema Management Guide

Page 46: TIBCO Designer - Adapter Schema Management Guide

38 | Appendix B TIBCO Designer Folders

TIBCO Designer Adapter Schema Management Guide

Page 47: TIBCO Designer - Adapter Schema Management Guide

TIBCO Software Inc. End User License Agreement | 39

TIBCO Software Inc. End User License AgreementREAD THIS END USER LICENSE AGREEMENT CAREFULLY. BY DOWNLOADING OR INSTALLING THE SOFTWARE, YOU AGREE TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO THESE TERMS, DO NOT DOWNLOAD OR INSTALL THE SOFTWARE AND RETURN IT TO THE VENDOR FROM WHICH IT WAS PURCHASED. RETURNS BY THE ORIGINAL PURCHASER WITHIN THIRTY (30) DAYS OF THE PURCHASE DATE WILL RECEIVE A FULL REFUND.

Upon acceptance, the following shall govern your use of the Software except to the extent all or any portion of the Software (a) is subject to a separate written agreement, (b) includes a separate “click-on” license agreement as part of the download or installation process, or (c) is provided by a third party under the terms set forth in an addendum at the end of this Agreement, in which case the terms of such addenda shall control over inconsistent terms with regard to such portion(s).

License Grant. The Software is the property of TIBCO or its licensors and is protected by copyright and other laws. While TIBCO continues to own the Software, TIBCO hereby grants to Customer a limited, non-transferable, non-exclusive, license to use the number of Permitted Instances set forth in the Ordering Document, in machine-readable, object code form and solely for Customer’s internal business use.

Restrictions. Customer agrees not to (a) make more copies than the number of Permitted Instances plus a reasonable number of backups; (b) provide access to the Software to anyone other than employees, contractors, or consultants of Customer; (c) sublicense, transfer, assign, distribute to any third party, pledge, lease, rent, or commercially share the Software or any of Customer’s rights under this Agreement; (d) use the Software for purposes of providing a service bureau, including, without limitation, providing third-party hosting, or third-party application integration or application service provider-type services, or any similar services; (e) use the Software in connection with ultrahazardous activities, or any activity for which failure of the Software might result in death or serious bodily injury to Customer or a third party; or (f) directly or indirectly, in whole or in part, modify, translate, reverse engineer, decrypt, decompile, disassemble, make error corrections to, create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the Software.

Beta and Evaluation Licenses. Notwithstanding the foregoing, if the Software is being provided for demonstration, beta testing, or evaluation purposes, then Customer agrees (a) to use the Software solely for such purposes, (b) that the Software will not be used or deployed in a production environment, and (c) that such use shall automatically terminate upon the earlier of thirty days from the date Customer receives the right to install the Software, or Customer’s receipt of notice of termination from TIBCO.

Additional Licenses. If Customer desires to increase the number of Permitted Instances, Customer may request the same by submission of an additional Ordering Document and upon acceptance by TIBCO, Customer shall be permitted to deploy such additional Permitted Instances, all of which shall otherwise be subject to the terms of this Agreement.

Technical Support. Provided Customer has paid applicable support fees (not included with Software fees unless separately listed), TIBCO shall provide support for generally available TIBCO Software on an annual basis commencing on the Purchase Date, as follows (“Support”): Customer shall designate as technical support contacts

that number of Customer’s employees as are permitted under the level of Support purchased (contacts are changeable upon 48-hours prior written notice to TIBCO). Each contact may contact TIBCO for problem resolution during TIBCO’s published support hours corresponding to the level of Support fees paid.

Upon notice from a contact of a Software problem which can be reproduced at a TIBCO support facility or via remote access to Customer’s facility, TIBCO shall use reasonable efforts to correct or circumvent the problem according to its published support objectives. TIBCO reserves the right to make changes only to the most currently available version. TIBCO will use reasonable efforts to support the previously released version of the Software for a maximum of six months. Software may be transferred to another site or operating system only upon written notice to TIBCO and subject to TIBCO’s transfer policies and fees then in effect. Software may be transferred without notice or additional cost from one machine to another at the same site if the second machine runs the same operating system software and otherwise there is no increase in the Permitted Instances.

TIBCO shall have no obligation to support the Software (i) for use on any computer system running other than the operating system software for which the Software is approved (as set forth in the Software documentation) and licensed hereunder, or (ii) if Customer has modified the Software in breach of this Agreement. TIBCO shall have no obligation to modify any version of the Software to run with any new versions of any operating system, or any other third party software or hardware. If Customer purchases Support for any Software, Customer must purchase the same level of Support for all copies of the Software for which it is licensed.

Support may be extended for one year periods on the anniversary of each Purchase Date at the standard amounts set forth in its price list, for as long as TIBCO offers Support. Customer may reinstate lapsed support for any then currently supported Software by paying all Support fees in arrears and any applicable reinstatement fee. Upgrades, patches, enhancements, bug fixes, new versions and/or new releases of the Software provided from time to time under Support shall be used only as replacements to existing Permitted Instances, and shall not be deemed to increase that number, and use thereof shall be governed by the terms of this Agreement, except for the first paragraph of the Limited Warranty and any right of return or refund.

Consulting Services. Customer may request additional services (“Services”) either in an Ordering Document, or by a separate mutually executed work order, statement of work or other work-request document incorporating this Agreement (each, a “Work Order”). Unless otherwise expressly agreed to in a Work Order, all Services and any work product therefrom shall be (a) performed on a time and materials basis, plus meals, lodging, travel, and other expenses reasonably incurred in connection therewith, (b) deemed accepted upon delivery, and (c) exclusively owned by TIBCO (except for confidential information of Customer identified to TIBCO in the Ordering Document), including all right, title and intellectual property or other right or interest therein. Each Work Order is intended to constitute an independent and distinct agreement of the parties, notwithstanding that each shall be construed to incorporate all applicable provisions of this Agreement. Fees for Services shall be due and payable in United States dollars net30 from the date of TIBCO’s invoice.

TIBCO Designer Adapter Schema Management Guide

Page 48: TIBCO Designer - Adapter Schema Management Guide

40 | TIBCO Software Inc. End User License Agreement

Limited Warranty. If Customer obtained the Software directly from TIBCO, then TIBCO warrants that for a period of thirty (30) days from the Purchase Date: (i) the media on which the Software is furnished will be free of defects in materials and workmanship under normal use; and (ii) the Software will substantially conform to its published specifications. This limited warranty extends only to the original Customer hereunder. Customer’s sole and exclusive remedy and the entire liability of TIBCO and its suppliers under this limited warranty will be, at TIBCO’s option, repair, replacement, or refund of the Software and applicable Support fees, in which event this Agreement shall terminate upon payment thereof.

This warranty does not apply to any Software which (a) is licensed for beta, evaluation, testing or demonstration purposes for which TIBCO does not receive a license fee, (b) has been altered or modified, except by TIBCO, (c) has not been installed, operated, repaired, or maintained in accordance with instructions supplied by TIBCO, (d) has been subjected to abnormal physical or electrical stress, misuse, negligence, or accident, or (e) is used in violation of any other term of this Agreement. Customer agrees to pay TIBCO for any Support or Services provided by TIBCO related to a breach of the foregoing on a time, materials, travel, lodging and other reasonable expenses basis. If Customer obtained the Software from a TIBCO reseller or distributor, the terms of any warranty shall be as provided by such reseller or distributor, and TIBCO provides Customer no warranty with respect to such Software.

EXCEPT AS SPECIFIED IN THIS LIMITED WARRANTY, THE SOFTWARE, SUPPORT AND SERVICES ARE PROVIDED “AS IS”, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS, AND WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OR CONDITION OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, SATISFACTORY QUALITY OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE, ARE HEREBY EXCLUDED TO THE EXTENT ALLOWED BY APPLICABLE LAW. NO WARRANTY IS MADE REGARDING THE RESULTS OF ANY SOFTWARE, SUPPORT OR SERVICES OR THAT THE SOFTWARE WILL OPERATE WITHOUT ERRORS, PROBLEMS OR INTERRUPTIONS, OR THAT ERRORS OR BUGS IN THE SOFTWARE WILL BE CORRECTED, OR THAT THE SOFTWARE’S FUNCTIONALITY OR SERVICES WILL MEET CUSTOMER’S REQUIREMENTS. NO TIBCO DEALER, DISTRIBUTOR, AGENT OR EMPLOYEE IS AUTHORIZED TO MAKE ANY MODIFICATIONS, EXTENSIONS OR ADDITIONS TO THIS WARRANTY.

Limitation of Liability. IN NO EVENT WILL TIBCO BE LIABLE FOR ANY LOST DATA, LOST REVENUE, LOST PROFITS, DAMAGE TO REPUTATION, BUSINESS INTERRUPTION, OR ANY OTHER INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, PUNITIVE, EXEMPLARY OR ANY SIMILAR TYPE DAMAGES ARISING OUT OF THIS AGREEMENT, THE USE OR THE INABILITY TO USE THE SOFTWARE, OR THE PROVISION OF ANY SUPPORT OR SERVICES, EVEN IF TIBCO HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

IN NO EVENT SHALL TIBCO'S LIABILITY TO CUSTOMER, WHETHER IN CONTRACT, TORT (INCLUDING ACTIVE OR PASSIVE NEGLIGENCE), BREACH OF WARRANTY, CLAIMS BY THIRD PARTIES OR OTHERWISE, EXCEED THE PRICE PAID BY CUSTOMER UNDER THE APPLICABLE ORDERING DOCUMENT.

THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF THE ABOVE-STATED REMEDY OR LIMITED WARRANTY FAILS OF ITS ESSENTIAL PURPOSE. BECAUSE SOME STATES OR JURISDICTIONS DO NOT ALLOW LIMITATION OR EXCLUSION OF

CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO CUSTOMER.

Confidentiality. Aspects of the Software, Support and Services, including the specific design and structure thereof, constitute trade secrets and/or copyrighted material of TIBCO and Customer agrees not to disclose, provide, or otherwise make available the same in any form to any third party. Customer agrees to implement reasonable security measures to protect trade secrets and copyrighted material and to affix to all copies of Software or other confidential or trade secret information, appropriate TIBCO copyright, confidentiality, and proprietary notices.

Export. TIBCO SOFTWARE CONTAINS ENCRYPTION TECHNOLOGY. You may not download or otherwise export or reexport the Software or any underlying information or technology except in full compliance with all United States and other applicable laws and regulations. None of the Software or underlying information or technology may be downloaded or otherwise exported or reexported (i) into (or to a national or resident of) Cuba, Iraq, Libya, Sudan, North Korea, Iran, Syria or any other country to which the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Denial Orders. By downloading or using the Software, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list.

Government Use. If the Customer is an agency, department, or other entity of the United States Government ("Government"), the use, duplication, reproduction, release, modification, disclosure or transfer of the Software, or any related documentation of any kind, including technical data or manuals, is restricted in accordance with Federal Acquisition Regulation ("FAR") 12.212 for civilian agencies and Defense Federal Acquisition Regulation Supplement ("DFARS") 227.7202 for military agencies. The Software is commercial computer software and commercial computer software documentation. Use of the Software and related documentation by the Government is further restricted in accordance with the terms of this Agreement, and any modification thereto.

Interoperability. To the extent required by law, at Customer’s request, TIBCO shall provide Customer with the interface information needed to achieve interoperability between the Software and another independently created program, on payment of TIBCO's applicable fee. Customer agrees to observe strict obligations of confidentiality with respect to such information.

Acceptance; Integration. An Ordering Document shall be deemed accepted only by issuance of a TIBCO invoice and solely for purposes of administrative convenience. None of the terms of the Ordering Document (other than the Software product name, number of Permitted Instances, level of Support, description of Services, and fees due in connection therewith), shall apply for any reason or purpose whatsoever, regardless of any statement on any Ordering Document to the contrary, unless countersigned by TIBCO. This Agreement constitutes the entire agreement between the parties with respect to the use of the Software, Support and Services, and supersedes all proposals, oral or written, and all other representations, statements, negotiations and undertakings relating to the subject matter hereof. All future orders of Software, Support or Services by Customer from TIBCO shall be deemed to occur under the terms of this Agreement (with or without reference to this Agreement), unless expressly superseded by a signed written Agreement between the parties.

TIBCO Designer Adapter Schema Management Guide

Page 49: TIBCO Designer - Adapter Schema Management Guide

TIBCO Software Inc. End User License Agreement | 41

Term and Termination. Customer may terminate this Agreement at any time by destroying all copies of the Software. This Agreement will terminate immediately without notice from TIBCO if Customer fails to comply with any of its provisions if not cured within fifteen days of such failure, or and, upon such termination, Customer must cease using and return or destroy all copies of the Software. Customer’s obligation to pay accrued charges and fees as well as the sections entitled “Confidentiality”, “Limited Warranty” and “Limitation of Liability” shall survive any such termination.

Authority. You hereby represent and warrant that you have full power and authority to accept the terms of this Agreement on behalf of Customer, and that Customer agrees to be bound by this Agreement.

General. Fees on the Ordering Document (all to be paid on the latter of thirty days from Invoice by TIBCO or the date set forth in the Ordering Document) do not include sales, use, withholding, value-added or similar taxes, and Customer agrees to pay the same, excluding therefrom taxes related to TIBCO’s income and corporate franchise tax. Customer agree to pay all reasonable costs incurred (including reasonable attorneys’ fees) in collecting past due amounts under this Agreement. No delay in the performance of any obligation by either party, excepting all obligations to make payment, shall constitute a breach of this Agreement to the extent caused by force majeure. Customer hereby grants TIBCO and its independent auditors the right to audit Customer’s compliance with this Agreement. If any portion of this Agreement is found to be void or unenforceable, the remaining provisions shall remain in full force and effect. This Agreement shall be governed by and construed in accordance with the laws of the State of California, United States of America, as if performed wholly within the state and without giving effect to the principles of conflict of law. The state and/or federal courts in San Francisco, California, shall have exclusive jurisdiction of any action arising out of or relating to this Agreement. The United Nations Convention on Contracts for the International Sale of Goods is excluded from application hereto. If any portion hereof is found to be void or unenforceable, the remaining provisions of this Agreement shall remain in full force and effect.

Definitions. In connection with this Agreement, the following capitalized terms shall have the following meaning: “Agreement” means this End User License Agreement; “Customer” means the original purchaser or licensee of the Software and any permitted successors and assigns; “Development” means used for software development purposes only; “Enterprise” means an unlimited number of Permitted Instances for a period of one year from the Purchase Date (unless otherwise set forth in the Ordering Document), at which time existing licenses convert to perpetual and Customer may not thereafter deploy additional Permitted Instances, and in any event, shall (during the one-year unlimited deployment period) exclude any entity which acquires, is acquired by, merged into, or otherwise combined with Customer if, upon such combination, the combined annual revenues or head count is greater by ten percent (10%) than exists as of the Purchase Date (and Customer hereby agree to provide TIBCO with notice of the number of Permitted Instances deployed at the end of such one-year period within thirty days thereafter); “Fab” means unlimited use for shop-floor manufacturing applications at a Site; “Workstation” shall mean a single end-user computer that is generally intended to be accessed by one person at a time; “Ordering Document” means any purchase order or similar document or agreement requesting Software, Support or Services; “Permitted Instance(s)” means the number of copies of Software running on a Server Instance, Workstation, User, or Development basis, on a designated Platform, as set forth in an Ordering Document, including, without limitation, Enterprise, Site and Fab licensing; “Platform” means the operating system set forth in an Ordering Document; “Purchase Date” means the date of the Ordering

Document; “Server Instance” means a computer performing common services for multiple Desktop machines; “Site” means an unlimited number of Permitted Instances at a specific physical address set forth in the Ordering Document (or, in the absence of any address, at Customer’s corporate headquarters); “Software” means the software products listed in an Ordering Document (except as provided in the second paragraph hereof), in whole and in part, along with their associated documentation; “TIBCO” means TIBCO Software Inc.; and “User” means the number of named users with access to the Software.

Copyright © 1997-2002 TIBCO Software Inc. ALL RIGHTS RESERVED.

TIBCO Designer Adapter Schema Management Guide

Page 50: TIBCO Designer - Adapter Schema Management Guide

42 | TIBCO Software Inc. End User License Agreement

TIBCO Designer Adapter Schema Management Guide

Page 51: TIBCO Designer - Adapter Schema Management Guide

| 43

Index

A

adapter endpoints 5adapter schemas palette 10adapters

configuring 3adding class fields 13adding class union members 23adding operations 15adding scalar union members 24adding sequence union members 24adding unions as union members 23associations 27

types 27attributes 12

adding 12

C

class 11, 12, 15adding attributes 12

class fields 13class reference 23configuring standard adapters 3custom adapters 4, 7customer support vii

E

endpoints 5exception parameters 20exceptions folder 18

F

fieldstype class 13type scalar 14type sequence 14type union 13

L

legacy adapters 4

M

multiplicity 27

O

operation exceptions folder 18operation parameter folder 18operation parameters 17operations 15, 17

defining 17exception parameters 20parameters 17

P

parameter folder 18

TIBCO Designer Adapter Schema Management Guide

Page 52: TIBCO Designer - Adapter Schema Management Guide

44 | Index

parameterstype class 18type scalar 19type sequence 18type union 19

R

RPC class 15

S

scalar fields 14scalar reference 24scalars 21schemas

and tibco designer 5basics 3example 7folder 10for custom adapters 7overview 3

sequence fields 14sequence reference 24sequences 26standard adapter endpoints 5standard adapters 3support, contacting vii

T

technical support vii

U

union fields 13union members 23, 24

union reference 23unions 23

TIBCO Designer Adapter Schema Management Guide