Sie sind auf Seite 1von 175

TIBCO ActiveMatrix Composite Editor Users Guide

Software Release 2.1 August 2008

Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN TIBCO ACTIVEMATRIX SERVICE GRID INSTALLATION) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE LICENSE FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIB, TIBCO, TIBCO ActiveMatrix, TIBCO Adapter, TIBCO Administrator, TIBCO AutoMeditate, TIBCO Enterprise Message Service, ActiveMatrix, AutoMediate, Predictive Business, Information Bus, The Power of Now, and TIBCO Rendezvous are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. EJB, Java EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only.

THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. PLEASE SEE THE README.TXT FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM.
THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. Copyright 2005-2008 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information

| iii

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi


Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii TIBCO ActiveMatrix Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Other TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Third Party Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv How to Contact TIBCO Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Chapter 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Introduction to TIBCO Business Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Starting TIBCO Business Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Working with ActiveMatrix SOA Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 ActiveMatrix SOA Projects and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 ActiveMatrix SOA Project Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Creating an ActiveMatrix SOA Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Working with Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Working with UDDI Registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying the Registries View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a UDDI Registry to the Registries View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching a Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with WSDL Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WSDL File Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a WSDL File Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a WSDL File to an ActiveMatrix SOA Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using a Schema Type Definition in a WSDL File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction to Composites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 19 20 22 22 22 23 27 29 30 31 31 32 32 32

TIBCO ActiveMatrix Composite Editor Users Guide

iv

| Contents
Shared Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Links to Composite Elements and Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Validation and Renaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Renaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Chapter 2 Developing Composites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Composite Editor Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Setting Composite Editor Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Adding Elements to a Composite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Working with Composites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Creating a Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Opening a Composite in the Composite Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Deleting a Composite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Adding a Composite Element to a Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Deleting a Composite Element from a Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Editing Composite and Composite Element Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Composite Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Connecting Composite Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Properties and Shared Resource Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Shared Resource Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Specifying Port Types and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Specifying the Port Type of a Composite Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Specifying the Port of a Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Chapter 3 Creating and Configuring Shared Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Working with Shared Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Shared Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting a Shared Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening a Shared Resource in a Resource Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Value of a Shared Resource Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTTP Client Shared Resource Definition Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTTP Server Shared Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identity Shared Resource Definition Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JDBC Shared Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JMS Shared Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JMS Application Properties Shared Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JNDI Shared Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rendezvous Shared Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 24 24 24 27 27 27 29 30 32 34 34 35

TIBCO ActiveMatrix Composite Editor Users Guide

Contents v

SSL Client Shared Resource Definition Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 SSL Server Shared Resource Definition Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Chapter 4 Developing Services and References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Working with Services and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using a Shared Resource Profile in a Service or Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Navigating to a WSDL File from a Service or Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Target of a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Common Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Developing Services and References with AMX Bindings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Service or Reference with an AMX Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying the Target of a Service with an AMX Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying the Service Name of a Reference with an AMX Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dynamic Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Developing Services and References with SOAP Bindings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Service or Reference with a SOAP Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring the Bindings SOAP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring the Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating a Concrete WSDL File from a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reference Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web Services (WS) Specification Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WS-Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WS-Transfer (ActiveMatrix Service Grid only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WS-Eventing (ActiveMatrix Service Grid only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WS-Enumeration (ActiveMatrix Service Grid only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WS-Reliable Messaging (ActiveMatrix Service Grid only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Developing References with Adapter Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIBCO Adapter Project Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Reference with an Adapter Binding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Navigating to a Shared Resource from an Adapter Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reference Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Developing Services and References with JMS Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Service or Reference with a JMS Binding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JMS Service and Reference Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 43 43 43 44 45 45 46 46 46 48 48 49 49 50 51 54 58 58 67 71 77 82 86 86 87 87 90 91 93 93 94 94

Chapter 5 Developing Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Service Roles and Messaging Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

TIBCO ActiveMatrix Composite Editor Users Guide

vi

| Contents
Developing Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Creating a Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Setting a Topics Subscribers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Topic Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Services Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operation Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 105 105 105

Chapter 6 Packaging Services, Components, and References . . . . . . . . . . . . . . . . . . . . . . . . 107


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Working with Service Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Creating a Service Assembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Creating a Deployable Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Service Assembly Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Component Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service and Reference Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 114 114 115 115

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

TIBCO ActiveMatrix Composite Editor Users Guide

| vii

Figures

Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17

Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Composite Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Service and Reference Subelements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 In-Only MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Out-Only MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 SOAP Service Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ActiveMatrix Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Transfer Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Event Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Enumeration Composite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 WS-RM Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Reliable Messaging Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Adapter Project Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Consumer-Topic-Provider Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Service Assembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

TIBCO ActiveMatrix Composite Editor Users Guide

viii

| Figures

TIBCO ActiveMatrix Composite Editor Users Guide

| ix

Tables

Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Table 8 Table 9 Table 10 Table 11 Table 12 Table 13 Table 14 Table 15 Table 16 Table 17 Table 18 Table 19 Table 20 Table 21 Table 22 Table 23 Table 24 Table 25

General Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Syntax Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi Composite Editor Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 HTTP Client Shared Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 HTTP Server Shared Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Identity Shared Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 JDBC Shared Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Database Drivers and URL Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 JMS Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 JNDI Shared Resource Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Rendezvous Shared Resource Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 SSL Client Shared Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 SSL Server Shared Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Message Header Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Message Information Header Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Fault Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Service Role versus Messaging Role. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Operation Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Command Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Service Assembly Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Service Unit Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Component Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

TIBCO ActiveMatrix Composite Editor Users Guide

| Tables

TIBCO ActiveMatrix Composite Editor Users Guide

| xi

Preface

ActiveMatrix is a scalable and extensible platform for developing, deploying, and managing service-oriented architecture applications.

Topics
Related Documentation, page xii Typographical Conventions, page xiv How to Contact TIBCO Support, page xvii

TIBCO ActiveMatrix Composite Editor Users Guide

xii

| Related Documentation
Related Documentation
This section lists documentation resources you may find useful.

TIBCO ActiveMatrix Documentation


The following documents form the core of the TIBCO ActiveMatrix documentation set: TIBCO ActiveMatrix Concepts: Read this manual before reading any other manual in the documentation set. This manual describes terminology and concepts of the ActiveMatrix platform. The other manuals in the documentation set assume you are familiar with the information in this manual. TIBCO ActiveMatrix Installation: Read this manual to learn how to install ActiveMatrix products. TIBCO ActiveMatrix Composite Editor Users Guide: Read this manual to learn how to develop and package ActiveMatrix composites. TIBCO ActiveMatrix Administration: Read this manual to learn how to manage the ActiveMatrix runtime and deploy and manage ActiveMatrix services.

Other TIBCO Product Documentation


You may find it useful to read the documentation for the following TIBCO products: TIBCO ActiveMatrix Service Bus TIBCO ActiveMatrix Service Grid TIBCO ActiveMatrix BusinessWorks TIBCO ActiveMatrix Registry TIBCO ActiveMatrix Policy Manager TIBCO Enterprise Message Service TIBCO Adapter TIBCO Administrator TIBCO Hawk TIBCO Rendezvous

TIBCO ActiveMatrix Composite Editor Users Guide

Preface xiii

Third Party Documentation


TIBCO ActiveMatrix software supports the following standards: Service Component Architecture http://www.osoa.org/display/Main/Service+Component+Architecture+Sp ecifications World Wide Web Consortium web services activity http://www.w3.org/2002/ws/ Simple Object Access Protocol (SOAP) 1.1 W3C Note http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ WSDL 1.1 W3C Note http://www.w3.org/TR/wsdl OASIS http://www.oasis-open.org/committees/tc_cat.php?cat=ws UDDI Version 3 OASIS Standard http://www.oasis-open.org/specs/index.php#uddiv2

TIBCO ActiveMatrix Composite Editor Users Guide

xiv

| Typographical Conventions
Typographical Conventions
The following typographical conventions are used in this manual. Table 1 General Typographical Conventions Convention
TIBCO_HOME ENV_NAME ENV_HOME AMX_HOME AMX_ADMIN_HOME

Use Many TIBCO products are installed within the same home directory. This directory is referenced in documentation as TIBCO_HOME. The value of TIBCO_HOME depends on the operating system. For example, on Windows systems the default value is C:\tibco. Other TIBCO products are installed into an installation environment. A product installed into an installation environment does not access components in other installation environments. Incompatible products and multiple instances of the same product must be installed into different installation environments. An installation environment consists of the following properties:
Name Identifies the installation environment. The name is appended to

the name of Windows services created by the installer and is used in the path to the product in the Windows Start > All Programs menu. This directory is referenced in documentation as ENV_NAME.
Description Provides information about what the environment contains or is used for. Path The directory into which the product is installed. This directory is referenced in documentation as ENV_HOME. The value of ENV_HOME

depends on the operating system. For example, on Windows systems the default value is C:\tibco. TIBCO ActiveMatrix installs into a directory inside ENV_HOME. This directory is referenced in documentation as AMX_HOME. The value of AMX_HOME depends on the operating system. For example, on Windows systems the default value is C:\tibco\amx\. TIBCO ActiveMatrix Administrator installs into a directory inside
ENV_HOME. This directory is referenced in documentation as AMX_ADMIN_HOME. The value of AMX_ADMIN_HOME depends on the

operating system. For example, on Windows systems the default value is


C:\tibco\amxadministrator\. code font

Code font identifies commands, code examples, filenames, pathnames, and output displayed in a command window. For example: Use MyCommand to start the foo process.

TIBCO ActiveMatrix Composite Editor Users Guide

Preface xv

Table 1 General Typographical Conventions (Contd) Convention


bold code font

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

italic font

Italic font is used in the following ways: To indicate a document title. For example: See TIBCO ActiveMatrix BusinessWorks Concepts. To introduce new terms For example: A portal page may contain several portlets. Portlets are mini-applications that run in a portal. To indicate a variable in a command or code syntax that you must replace. For example: MyCommand pathname

Key combinations

Key name separated by a plus sign indicate keys pressed simultaneously. For example: Ctrl+C. Key names separated by a comma and space indicate keys pressed one after the other. For example: Esc, Ctrl+Q. The note icon indicates information that is of special interest or importance, for example, an additional action required only in certain circumstances. The tip icon indicates an idea that could be useful, for example, a way to apply the information provided in the current section to achieve a specific result. The warning icon indicates the potential for a damaging situation, for example, data loss or corruption if certain steps are taken or not taken.

TIBCO ActiveMatrix Composite Editor Users Guide

xvi

| Typographical Conventions

Table 2 Syntax Typographical Conventions Convention


[ ]

Use An optional item in a command or code syntax. For example:


MyCommand [optional_parameter] required_parameter

A logical OR that separates multiple items of which only one may be chosen. For example, you can select only one of the following parameters:
MyCommand para1 | param2 | param3

{ }

A logical group of items in a command. Other syntax notations may appear within each logical group. For example, the following command requires two parameters, which can be either the pair param1 and param2, or the pair param3 and param4.
MyCommand {param1 param2} | {param3 param4}

In the next example, the command requires two parameters. The first parameter can be either param1 or param2 and the second can be either param3 or param4:
MyCommand {param1 | param2} {param3 | param4}

In the next example, the command can accept either two or three parameters. The first parameter must be param1. You can optionally include param2 as the second parameter. And the last parameter is either param3 or param4.
MyCommand param1 [param2] {param3 | param4}

TIBCO ActiveMatrix Composite Editor Users Guide

Preface xvii

How to Contact TIBCO Support


For comments or problems with this manual or the software it addresses, please contact TIBCO Support as follows. For an overview of TIBCO Support, and information about getting started with TIBCO Support, visit this site: http://www.tibco.com/services/support If you already have a valid maintenance or support contract, visit this site: https://support.tibco.com Entry to this site requires a user name and password. If you do not have a user name, you can request one.

TIBCO ActiveMatrix Composite Editor Users Guide

xviii How to Contact TIBCO Support

TIBCO ActiveMatrix Composite Editor Users Guide

|1
Chapter 1

Overview

The TIBCO ActiveMatrix development tools consist of the TIBCO Business Studio and a set of ActiveMatrix plug-ins. This chapter introduces TIBCO Business Studio and the features it provides to support ActiveMatrix SOA projects.

Topics
Introduction to TIBCO Business Studio, page 2 Working with ActiveMatrix SOA Projects, page 5 Working with UDDI Registries, page 19 Working with WSDL Files, page 22 Introduction to Composites, page 29 Validation and Renaming, page 34

TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 1

Overview

Introduction to TIBCO Business Studio


The TIBCO ActiveMatrix development tools consist of TIBCO Business Studio and a set of ActiveMatrix plug-ins. This section describes how to start TIBCO Business Studio. For introductory information on TIBCO Business Studio, refer to Workbench User Guide in the TIBCO Business Studio online help. To view the online help, select Help > Help Contents.

Starting TIBCO Business Studio


To start TIBCO Business Studio: 1. Run the following:
Windows From the Start menu, follow the path All Programs > TIBCO > ENV_NAME > TIBCO Business Studio. From the command line, run ENV_HOME\BusinessStudio\TIBCOBusinessStudio.exe. UNIX Run ENV_HOME\BusinessStudio\TIBCOBusinessStudio.sh.

2. The Workspace Launcher appears. Accept the default workspace or browse to or create a new workspace. 3. Click OK.

TIBCO ActiveMatrix Composite Editor Users Guide

Introduction to TIBCO Business Studio 3

4. The first time you run TIBCO Business Studio it displays a Welcome screen. Dismiss the screen by clicking the X next to Welcome. TIBCO Business Studio opens in the Modeling perspective: Menu bar Toolbar

Project Explorer

Editor

Outline

Notebook

The screen contains a menu bar and toolbar, and the set of views defined by the Modeling perspective:
Project Explorer Displays a tree containing all the project resources such as project folders, shared resource definition files, WSDL files, composite files, service assembly files, and so on. Outline Provides a overview of the object opened in the active editor. You can

easily navigate from one part of the object to another. When you select a object element in the Outline tree, the corresponding artifact in the editor becomes selected. In this view you can delete the contents of the object.
Editor area Displays editors for different types of resources contained in the project. TIBCO Business Studio is distributed with the following types of editors: composite, mediation, service assembly, shared resource, WSDL file, and substitution variables.
TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 1

Overview

Notebook Contains the following views:

Properties Displays property sheets for objects opened in an editor. When you select an object in an editor, this view shows the properties of the object in a vertical tabbed notebook. Problems Displays errors and warnings. Registries Lists UDDI registries and the WSDL files returned from searching a registry.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with ActiveMatrix SOA Projects 5

Working with ActiveMatrix SOA Projects


This section introduces ActiveMatrix SOA projects and folders, describes how to create ActiveMatrix SOA projects, and discusses substitution variables.

ActiveMatrix SOA Projects and Folders


ActiveMatrix SOA projects contain assets that you can develop with TIBCO Business Studio. Before you create any type of asset you must first create an ActiveMatrix SOA project. During project creation you have the option to create ActiveMatrix folders designed to contain the following asset types:
ActiveMatrix ActiveMatrix assets

Composites

Composite files Service assembly files and archives Shared resource files Mediation flows

Deployment Packages Shared Resources Mediation Flows

Services Service related assets

Service Descriptors

Service descriptors such as WSDL files

The ActiveMatrix folders created in an ActiveMatrix SOA project have the following features: Asset-specific behavior in the Project Explorer. For example, in the Service Descriptors folder you can expand the WSDL file to view its constituent operations and messages.

Assets of the type can be created via a context-specific right-click menu selection. For example, when you right-click the Composites folder, you can select New > Composite. The folder type can be toggled via a right-click menu selection. To convert an ActiveMatrix folder into a normal folder, right-click the folder and select

TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 1

Overview

Special Folders > Do not use as .... To convert a normal folder into an ActiveMatrix folder, right-click and select Special Folders > Use as .... You are not required to use ActiveMatrix folders to contain ActiveMatrix assets and ActiveMatrix folders can contain any type of asset. For example, the Composites folder can contain WSDL files.

ActiveMatrix SOA Project Templates


To support rapid development of commonly used service scenarios, ActiveMatrix supports six SOA project templates:
Basic SOA Project Creates an ActiveMatrix SOA project and empty

composite.
SOA Project from WSDL (ActiveMatrix Service Grid only) Creates an ActiveMatrix SOA project, composite, services, and Java component implementation for a set of port types selected from WSDL files. (ActiveMatrix Service Grid only) SOA Project from Implementation (ActiveMatrix Service Grid only) Creates an

ActiveMatrix SOA project, composite, services, and component whose port types are defined by an imported implementation. (ActiveMatrix Service Grid only)
WS-Transfer SOA Project (ActiveMatrix Service Grid only) Creates an ActiveMatrix SOA project, composite, services and Java implementation of the WS-Transfer service. (ActiveMatrix Service Grid only) WS-Eventing SOA Project (ActiveMatrix Service Grid only) Creates an

ActiveMatrix SOA project, composite, services, and Java implementation of the WS-Eventing service. (ActiveMatrix Service Grid only)
WS-Enumeration SOA Project (ActiveMatrix Service Grid only) Creates an

ActiveMatrix SOA project, composite, services, and Java implementation of the WS-Enumeration service. (ActiveMatrix Service Grid only)

Creating an ActiveMatrix SOA Project


Creating an ActiveMatrix SOA project consists of the following tasks: Task A, Specifying the Project Name and Template, on page 6 Task B, Creating Project Assets, on page 8

Task A Specifying the Project Name and Template 1. Select File > New > ActiveMatrix Resources... > ActiveMatrix SOA Project.
TIBCO ActiveMatrix Composite Editor Users Guide

Working with ActiveMatrix SOA Projects 7

2. Click Next. The New ActiveMatrix SOA Project screen displays:

3. Type a name in the Project name field.

TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 1

Overview

4. Select a project template from the Available Templates list. The Basic SOA Project template creates a project with an empty composite. To create a Basic SOA Project, select Basic SOA Project and skip to Task B. (ActiveMatrix Service Grid only) Otherwise, choose one of the following: Click SOA Project from WSDL, click Next, then follow the steps in SOA Project from WSDL (ActiveMatrix Service Grid only) on page 9. Click SOA Project from Implementation, click Next, then follow the steps in SOA Project from Implementation (ActiveMatrix Service Grid only) on page 10. Click WS-Transfer SOA Project, click Next, then follow the steps in WS-Transfer SOA Project (ActiveMatrix Service Grid only) on page 11. Click WS-Eventing SOA Project, click Next, then follow the steps in WS-Eventing SOA Project (ActiveMatrix Service Grid only) on page 13. Click WS-Enumeration SOA Project, click Next, then follow the steps in WS-Enumeration SOA Project (ActiveMatrix Service Grid only) on page 15. Task B Creating Project Assets 1. To accept the default folders and folder names for the project, click Finish. Otherwise, click Next and proceed with the remaining steps.
Specify asset types

2. Uncheck the checkboxes next to the asset types you dont want to create in the project. (ActiveMatrix Service Grid only) For all project types except Basic SOA Project, certain asset types are required and the checkbox cannot be unchecked. For example, an SOA Project from WSDL requires the Composites folder. 3. Click Next to step through the asset types and configure the names of a special folders containing the assets. 4. Click Finish. The wizard creates a new project folder and special folders for the asset types you specify. A composite file named ProjName.composite, where ProjName is the project name you typed in step 3, is added to the Composites folder. A service assembly file named ProjName.saf is added to the Deployment Packages folder. Business Studio also creates project type specific resources. See the sections describing each project type for details.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with ActiveMatrix SOA Projects 9

SOA Project from WSDL (ActiveMatrix Service Grid only) The SOA Project from a WSDL wizard supports using WSDL files already in the workspace or importing a WSDL file from the file system. To import WDSL files from other sources, see Importing a WSDL File Using the Service Import Wizard on page 23. For limitations on WSDL files, see WSDL File Limitations on page 22. To create an SOA project from a WSDL file: 1. Perform Task A on page 6.
Specify port types

2. Select one or more port types that will be exposed by the composite defined in the project: a. If there are no available WSDL files, click the Browse button next to Import WSDL File. Browse to a WSDL file and click Open. b. In the List of Files field, type the first few letters of the port type or expand the nodes in the Resource Picker until you see the port type you want to use. c. Double-click the port type or click the port type and click the Add button. The port type is added to the Selected Port Types list. 3. Click Next.

Specify services

4. Click each port type and check the checkbox next to the service binding types you want the composite to expose. For each service type, click the Service Name column and rename the service as desired and click Next. 5. In the Component Name field, accept the default name or type a new name and click Next. 6. Fill in the component implementation parameters. For information on how to fill in the parameters, see the appropriate chapter in the TIBCO ActiveMatrix Service Grid Component Developers Guide or the documentation for the selected implementation type and click Next. 7. Complete Task B on page 8. When you complete the task, Business Studio creates a project containing a composite in the Composites folder containing the following resources: A Java component and one or more services An HTTP shared resource profile named ResourceProfile0

Specify component

TIBCO ActiveMatrix Composite Editor Users Guide

10

| Chapter 1

Overview

It also: Adds the WSDL file to the Service Descriptors folder. Creates an HTTP shared resource named HTTP_Server in the Shared Resources folder. Creates a substitution variables file in the Shared Resources folder. Creates a Java component implementation project containing an implementation skeleton. To complete the implementation, follow the procedures in Developing Java Components in TIBCO ActiveMatrix Service Grid Component Developers Guide. SOA Project from Implementation (ActiveMatrix Service Grid only) The SOA Project from Implementation project wizard creates a project, composite, services, and component whose port types are defined by an imported implementation. To create an SOA project from an existing implementation: 1. Perform Task A on page 6.
Build implementation

2. Create and build the implementation using the Visual Studio TIBCO ActiveMatrix project wizard described in Developing .NET Component Implementations in TIBCO ActiveMatrix Service Grid Component Developers Guide. 3. Copy the WSDL file you used to create the implementation into the same directory as the DLL file.

Specify component

4. In the Component Name field, accept the default name or type a new name and click Next. 5. In the Import Implementation field, click the File System... button to import from the file system or the Workspace... button to use an implementation that has already been imported into the workspace. The Implementation DLL field is filled in. 6. In the Class field, select the class that provides the component implementation and click Next. 7. In the Available Port Types list, check the checkboxes next to the port types you want to expose and click Next. 8. For each port type, check the checkboxes next to the service types you want the composite to expose. For each service, click the Service Name column and rename the service as desired and click Next. 9. Complete Task B on page 8.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with ActiveMatrix SOA Projects 11

When you complete the task, Business Studio creates a project containing the following resources: A composite containing one or more services and a component. An HTTP shared resource profile named ResourceProfile0. It also: Adds the WSDL file to the Service Descriptors folder. Creates an HTTP shared resource named HTTP_Server in the Shared Resources folder. Creates a substitution variables file in the Shared Resources folder. WS-Transfer SOA Project (ActiveMatrix Service Grid only) The WS-Transfer SOA project wizard creates an ActiveMatrix SOA project, composite, services and Java component implementation of the WS-Transfer (see WS-Transfer (ActiveMatrix Service Grid only) on page 67) service. To create a WS-Transfer SOA project: 1. Perform Task A on page 6.
Specify services

2. Click each WS-Transfer port type (Resource and ResourceFactory), check the checkbox next to the SOAP binding type, then click the Service Name column and rename the service as desired and click Next. 3. In the Component Name field, accept the default name or type a new name and click Next. 4. Fill in the component implementation parameters. For information on how to fill in the parameters, see Java Implementation Dialog in the TIBCO ActiveMatrix Service Grid Component Developers Guide. 5. Leave the Generate Shared Resources checkbox checked to generate the JDBC resources required by the implementation or uncheck if you want to use a non-JDBC based resource or want to manually create the shared resources. If you uncheck the checkbox, the methods defined in the WS-Transfer port types will not be implemented. Click Next.

Specify component

TIBCO ActiveMatrix Composite Editor Users Guide

12

| Chapter 1

Overview

Specify asset types

6. Complete Task B on page 8. When you complete the task, Business Studio creates a project and composite in the Composites folder containing the following resources: An HTTP shared resource profile named ResourceProfile0 and a JDBC shared resource profile named ResourceProfile1. A Java component and one or more services. The Java component has a JDBC shared resource profile named ResourceProfile11 whose target is set to ResourceProfile1.

It also: Adds a WSDL file (http://schemas.xmlsoap.org/ws/2004/09/transfer/transfer.wsdl) containing the transfer service definition in the Service Descriptors folder. Creates an HTTP server shared resource named HTTP_Server and JDBC shared resource named JDBC in the Shared Resources folder. Creates a substitution variables file in the Shared Resources folder. Creates a Java component implementation project. 7. Expand the Shared Resources folder and configure the shared resources: a. The HTTP_Server.sharedhttp shared resource is configured with hostname localhost and port 80. Double-click HTTP_Server.sharedhttp, configure the properties as needed, and save the file. b. The JDBC.sharedjdbc shared resource contains a default selection for the database driver, a templatized driver URL, and username property set to the system user name. Double-click JDBC.sharedjdbc, configure these properties, and save the file.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with ActiveMatrix SOA Projects 13

WS-Eventing SOA Project (ActiveMatrix Service Grid only) The WS-Eventing SOA project wizard creates an ActiveMatrix SOA project, composite, services, and Java component implementations of WS-Eventing and event source (see WS-Eventing (ActiveMatrix Service Grid only) on page 71) services. To create a WS-Eventing SOA project:
Create event source

1. Define an event source WSDL file. The WSDL file must define port types with out-only MEPs. 2. Perform Task A on page 6.

Specify port types

3. Select port type that will be exposed by the composite defined in the project: a. If there are no available WSDL files, click the Browse button next to Import WSDL. Browse to a WSDL file you created in step 1 and click Open. b. In the List of Files field, type the first few letters of the port type or expand the nodes in the Resource Picker until you see the port type you want to use. c. Double-click the port type or click the port type and click the Add button. The port type is added to the Selected Port Types list. 4. Click Next.

Specify services

5. Click each WS-Eventing port type (EventSource and SubscriptionManager), check the checkbox next to the SOAP binding type, then click the Service Name column and rename the service as desired and click Next. 6. In the Component Name field, accept the default name or type a new name and click Next. 7. Fill in the component implementation parameters. For information on how to fill in the parameters, see Java Implementation Dialog in the TIBCO ActiveMatrix Service Grid Component Developers Guide. Click Next.

Specify component

TIBCO ActiveMatrix Composite Editor Users Guide

14

| Chapter 1

Overview

Specify asset types

8. Complete Task B on page 8. When you complete the task, Business Studio creates a project and composite in the Composites folder containing the following resources: An HTTP shared resource profile named ResourceProfile0. Two Java components and two SOAP services.

It also: Adds a WSDL file (http://schemas.xmlsoap.org/ws/2004/08/eventing/eventing.wsdl) containing the event service definition in the Service Descriptors folder. Creates an HTTP server shared resource named HTTP_Server. Creates a JDBC resource. Creates a substitution variables file in the Shared Resources folder. Creates a Java component implementation project and a Java implementation. 9. Expand the Shared Resources folder and configure the shared resources: a. The HTTP_Server.sharedhttp shared resource is configured with hostname localhost and port 80. Double-click HTTP_Server.sharedhttp, configure the properties as needed, and save the file. b. The JDBC.sharedjdbc shared resource contains a default selection for the database driver, a templatized driver URL, and username property set to the system user name. Double-click JDBC.sharedjdbc, configure these properties, and save the file.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with ActiveMatrix SOA Projects 15

WS-Enumeration SOA Project (ActiveMatrix Service Grid only) The WS-Enumeration SOA project wizard creates an ActiveMatrix SOA project, composite, services, and Java component implementation of the WS-Enumeration (see WS-Enumeration (ActiveMatrix Service Grid only) on page 77) service. To create a WS-Enumeration SOA project: 1. Perform Task A on page 6.
Specify services

2. Click the WS-Enumeration port type (Data Source), check the checkbox next to the SOAP binding type, click the Service Name column and rename the service as desired, and click Next. 3. In the Component Name field, accept the default name or type a new name and click Next. 4. Fill in the component implementation parameters. For information on how to fill in the parameters, see Java Implementation Dialog in the TIBCO ActiveMatrix Service Grid Component Developers Guide. 5. Leave the Generate Shared Resources checkbox checked to generate the JDBC resources required by the implementation, or uncheck if you want to manually create the resources. If you uncheck the checkbox, the methods defined in the WS-Enumeration port types will not be implemented. Click Next.

Specify component

Specify asset types

6. Complete Task B on page 8. When you complete the task, Business Studio creates a project and composite in the Composites folder containing the following resources: An HTTP shared resource profile named ResourceProfile0 and a JDBC shared resource profile named ResourceProfile1. A Java component and SOAP services. The Java component has a JDBC shared resource profile named ResourceProfile11 whose target is set to ResourceProfile1. Two AMX references that point to a sample ActiveMatrix WS-Transfer service.

TIBCO ActiveMatrix Composite Editor Users Guide

16

| Chapter 1

Overview

It also: Adds a WSDL file (http://schemas.xmlsoap.org/ws/2004/09/enumeration/enumeration. wsdl) containing the enumeration service definition in the Service Descriptors folder. Creates an HTTP server shared resource named HTTP_Server and JDBC shared resource named JDBC in the Shared Resources folder. Creates a substitution variables file in the Shared Resources folder. Creates a Java component implementation project. 7. Expand the Shared Resources folder and configure the shared resources: a. The HTTP_Server.sharedhttp shared resource is configured with hostname localhost and port 80. Double-click HTTP_Server.sharedhttp, configure the properties as needed, and save the file. b. The JDBC.sharedjdbc shared resource contains a default selection for the database driver, a templatized driver URL, and username property set to the system user name. Double-click JDBC.sharedjdbc, configure these properties, and save the file. 8. Click the Save button .

Working with Substitution Variables


Substitution variables provide an easy way to store constants that you can reuse throughout your ActiveMatrix SOA project. You create a variable and set its value and then at a later time bind it to a property value in any resource contained within the project. At deployment time, (see Chapter 8, Deploying Service Assemblies in TIBCO ActiveMatrix Administration) you can override the value of the substitution variable. Substitution variables are defined in substitution variables files. When you create an ActiveMatrix SOA project, a file named SubstitutionVariables.substvar is automatically added to the project in the Shared Resources folder. By default, the file does not have any variables defined. You can also create additional substitution variables files. Creating a Substitution Variables File To create a substitution variables file in the Shared Resources folder: 1. Right-click the Shared Resources folder and select New > Substitution Variables. 2. In the File name field, accept the default file name or type a new one.
TIBCO ActiveMatrix Composite Editor Users Guide

Working with ActiveMatrix SOA Projects 17

3. Click Finish. Creating a Substitution Variable To create a substitution variable: 1. In the Project Explorer view, expand the Shared Resources folder and double-click a substitution variables file. The file is opened in the substitution variables editor:
:

2. Click Add. 3. In the Name field, type a name for the variable. 4. Type an optional description. 5. Select the variables type from the Type drop-down list. 6. Set the value in the Value field. 7. Click the Save button Deleting a Substitution Variable To delete a substitution variable: 1. In the Project Explorer view, expand the Shared Resources folder in the project and double-click a substitution variables file. .

TIBCO ActiveMatrix Composite Editor Users Guide

18

| Chapter 1

Overview

2. Select the variable you wish to delete. 3. Click Delete. 4. Click the Save button Duplicating a Substitution Variable To duplicate a substitution variable: 1. In the Project Explorer view, expand the Shared Resources folder in the project and double-click a substitution variables file. 2. Select the variable you wish to duplicate. 3. Click Duplicate. 4. Click the Save button . .

Binding a Property or Variable to a Substitution Variable To bind a property or variable to a substitution variable: 1. In the Properties view, display the list of properties. 2. Click the row containing the property in the Binding Type column. The down arrow icon displays . Click the arrow and select SVar from the drop-down list. 3. Click the row in the Value column. The ellipsis button displays. Click the button. The Substitution Variable picker appears displaying the substitution variables whose type matches the property or variable. a. Click the row containing the substitution variable you want to bind as the value. b. Click OK.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with UDDI Registries 19

Working with UDDI Registries


A UDDI registry is an implementation of the UDDI specification. The UDDI specification (http://www.oasis-open.org/committees/uddi-spec/doc/spec/v3/uddi-v3.0.220041019.htm) is a platform-independent, XML-based framework for describing services, discovering businesses, and integrating business services. UDDI provides a uniform mechanism for service providers to publish service listings and consumers to discover service providers. In TIBCO Business Studio you work with UDDI registries in the Registries view. This section describes how to display the Registries view, add a UDDI registry to the view, and search for services in a registry. Once you have discovered services you can import a WSDL file describing the service following the procedures described in Importing a WSDL File From a Registry Search on page 24.

Displaying the Registries View


1. Select Window > Show View > Other. 2. Expand Web Service Registries and select Registries. 3. The Registries view opens and displays the UDDI registries you have added.

Adding a UDDI Registry to the Registries View


1. Display the Registries view. 2. Click the Add Registry button select Add Registry. 3. Type the details of the registry: Name The name that you want to be displayed for the registry in the Service Explorer. Query Manager (Inquiry) URL The URL used to retrieve information about the services and businesses of the registry. Lifecycle Manager (Publish) URL The URL used for publishing services and businesses to the registry. If you are using TIBCO ActiveMatrix Registry, the format of the URLs are described in the Installation Summary section (2.3.2) of TIBCO ActiveMatrix Registry Installation Guide and the registry startup scripts in the Command-line Scripts section (2.4).
TIBCO ActiveMatrix Composite Editor Users Guide

or right-click in the Registries view and

20

| Chapter 1

Overview

4. Click Finish.

Searching a Registry
1. Click the Add Search button Search. or right-click the registry and select Add

2. Select the type of search you want to perform (either for a business or for a service) and click Next. 3. Type the service search criteria: Name The name to display in the Registries view for the search. Search Criteria The search criteria. You can use a percent sign (%) as a wildcard to specify search criteria. For example, specifying c% would return all businesses or services that start with the character c. Not all registries support this wildcard syntax; however the TIBCO ActiveMatrix Registry does.

4. Click Finish. If the search is successful, the Registries view displays the results. If the search is not successful, a message is displayed and you should check the error log (Window > Show View > Other... > PDE Runtime > Error Log) for more details. For example, the following search shows the results of a search for the criteria shown in step 3:
:

TIBCO ActiveMatrix Composite Editor Users Guide

Working with UDDI Registries 21

Search results are preserved for subsequent browsing, but may be refreshed. Changing the Properties of a Registry or Search You can change the properties of a registry or search that you have created as follows: 1. Do one of the following: Double-click the registry or search. Right-click the registry or search and select Properties. Select the registry or search and select File > Properties. 2. From the resulting Properties dialog, change the settings as necessary, then: Click Apply to effect any changes you have made. Click OK to exit the dialog. Click Cancel to exit the dialog without applying your changes.

TIBCO ActiveMatrix Composite Editor Users Guide

22

| Chapter 1

Overview

Working with WSDL Files


TIBCO ActiveMatrix services are described using WSDL files. ActiveMatrix supports services that comply with the WSDL 1.1 specification, maintained by the World Wide Web Consortium (W3C) at http://www.w3.org/TR/wsdl. This section describes the constraints imposed on WSDL files by ActiveMatrix and how to add WSDL files to ActiveMatrix SOA projects.

WSDL File Limitations


ActiveMatrix does not support the following elements in WSDL files: Mixing in-* and out-* messages within a port type; all operations in a port type must start with either an input or an output message. Specifying the type of a fault's message part in a type attribute. Instead, specify the type of the fault's message part in an element attribute.

Certain project and component implementation types may impose additional limitations on WSDL files. See Working with ActiveMatrix SOA Projects on page 5 and implementation type documentation, for example TIBCO ActiveMatrix Service Grid Component Developers Guide, for specifics.

Creating a WSDL File Folder


When you create an ActiveMatrix SOA project, a WSDL file folder (see ActiveMatrix SOA Projects and Folders on page 5) named Service Descriptors is created automatically. You can also manually create a folder and designate the folder as a special folder. To manually create a special folder to hold WSDL files: 1. Right-click the project in which to create the folder where you want to create the folder and select New > Folder. 2. Enter the parent directory and folder name, then click Finish.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with WSDL Files 23

3. Right-click the folder and select Special Folders > Use as Service Descriptors folder. When you add a WSDL file to the folder you can expand the WSDL file in the Project Explorer as follows:

Adding a WSDL File to an ActiveMatrix SOA Project


There are several options for adding a WSDL file to your ActiveMatrix SOA project. This section covers the following options: Importing a WSDL File Using the Service Import Wizard on page 23 Importing a WSDL File From a Registry Search on page 24 Creating a New Abstract WSDL File on page 26

Importing a WSDL File Using the Service Import Wizard Using the Service Import wizard, you can import a WSDL file from the following locations: File URL UDDI registry search results

To import a WSDL file: 1. Right-click the Service Descriptors folder into which you want to import the WSDL and select Import > Service Import Wizard.

TIBCO ActiveMatrix Composite Editor Users Guide

24

| Chapter 1

Overview

2. Click the radio button next to one of the import methods: Import from a File Browse the file system for the WSDL file. Import from a URL Specify a URL that resolves to the location of the WSDL file. Import from a UDDI Registry Select a WSDL file from UDDI registry search results. To add a registry and search for services, follow the instructions in Working with UDDI Registries on page 19. Click Next. 3. Depending on the option that you chose in the previous step: Import from a File Click the ellipsis button at the right of the Source Location field to browse to specify the Location of the WSDL file. Select the file and click Open. Import from a URL Enter the URL for the WSDL file. Import from a UDDI Registry Expand a registrys search results tree and select a WSDL file. 4. Click Next. 5. Click the ellipsis button next to the Project Location field to browse to the folder in which to store the WSDL file. Select the target folder and click OK. 6. Click Finish. If the WSDL file is located remotely, there may be slight delay while the WSDL file is imported. Importing a WSDL File From a Registry Search Before you can import a WSDL file from a UDDI registry search, you must add the registry and search for services. To add a registry and search for services, follow the instructions in Working with UDDI Registries on page 19. The two ways to import WSDL files from a registry search are described in sections: Importing a WSDL File on page 25 Dragging a WSDL File on page 25

TIBCO ActiveMatrix Composite Editor Users Guide

Working with WSDL Files 25

Importing a WSDL File To import a WSDL file from a registry search: 1. Identify the WSDL file and select the Import action by doing one of the following: Right-click the file and select Import. Select the file and click the Import WSDL file button the Registries view. in the title bar of

2. Click the ellipsis button next to the Location field to browse to the folder in which to store the WSDL file. 3. In the File Name field, accept the default name or type a new one. 4. Click Finish. The WSDL file is imported. Dragging a WSDL File To drag a WDSL file returned from a registry search and drop it into a Service Descriptors folder: 1. Expand the registry search results tree. 2. Click the WSDL file and drag it into the Service Descriptors folder.
The AccountService WSDL file being dragged into the Service Descriptors folder

TIBCO ActiveMatrix Composite Editor Users Guide

26

| Chapter 1

Overview

3. The WSDL Import wizard is launched with the Project Location field set to the location where you dropped the WSDL file.

4. Click Finish. The WSDL file is imported. Creating a New Abstract WSDL File If you do not already have an abstract WSDL file you can create a new WSDL file and then edit it using the WSDL editor or a text editor. This section provides a summary of how to create a WSDL file using the WSDL editor. For a full explanation of all the necessary settings and advice on creating and editing WSDL files, see Help > Help Contents > Web Application Development User Guide. To create a new WSDL file: 1. Select File > New > Other, expand Web Services and click WSDL and click Next. The New WSDL File dialog displays. 2. Specify the parent folder and file name for the WSDL file and click Next.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with WSDL Files 27

3. Configure the following options or accept the defaults: Target namespace The target namespace for the WSDL file. You must specify a valid URI (for example, http://www.company.com/service/). Prefix The prefix associated with the target namespace. 4. Uncheck Create WSDL Skeleton (because the WSDL skeleton is not required for an abstract WSDL file). 5. Click Finish. The WSDL file opens in the WSDL editor. 6. Right-click and select Add Port Type.

Using a Schema Type Definition in a WSDL File


You can import an XSD schema and use a type defined within it to set the type of a message part. To use a type defined in a schema in a message part: 1. Import the schema file into your workspace. 2. Open the WSDL file in the WSDL Editor. 3. Click the message part twice. After the first click the part background turns yellow. After the second click a drop-down list of types appears:

TIBCO ActiveMatrix Composite Editor Users Guide

28

| Chapter 1

Overview

4. Click the Browse button in the drop-down list. The Set Type resource picker displays:

5. In the Search Scope area, click the Workspace radio button. 6. In the Types list, click the type. 7. Click OK.

TIBCO ActiveMatrix Composite Editor Users Guide

Introduction to Composites 29

Introduction to Composites
In the ActiveMatrix platform, a composite exports a cohesive set of business functions as services. Composites support services implemented with a variety of technologies and encapsulate a group of service implementations into a business solution. Figure 1 on page 29 shows a composite and illustrates various types of relationships between composite elements. Figure 1 Composite
Composite
Composite Service Component Composite Service Composite Reference Component Composite Reference Component

Composite Service

Topic

Component Component

Composite Service

Composite Reference

Legend Component Service Component Reference Composite Property Component Property

A composite contains one or more components, which implement the business functions provided by the composite. Components export their business functions as component services, which can be used by other components within the same composite or which can be made available for use outside the composite by composite services.

TIBCO ActiveMatrix Composite Editor Users Guide

30

| Chapter 1

Overview

Components can rely on services provided by other components. These dependencies are called component references. References can either be connected to services provided by other components in the same composite or to services provided outside the composite. Services provided outside the composite are invoked via composite references. A component contains a configured implementation, where the implementation provides the business functions. The component configures the implementation with specific values for custom properties and by connecting component references to component services or composite references. The connections between references and services are represented by wires. In general, connections are point-to-point. However, topics, which represent publish-subscribe messaging channels between services and references, support one-to-many connections. Composites, services, components, references, and topics reference various types of resources defined in the ActiveMatrix SOA project: substitution variables, properties, and shared resources and shared resource profiles.

Services
A service represents a port type. A composite service enables consumers outside the ActiveMatrix environment to access port types implemented within ActiveMatrix. A component or topic service enables ActiveMatrix composite elements to access a port type implemented by a component or topic. The service attributes are: Name Port types provided by the service (Composite service) Links to components, references, or topics that implement the provided port types (Composite service) Bindings that enable external consumers to access the provided port types Links to resources

ActiveMatrix supports the following types of composite service bindings: AMX SOAP JMS

TIBCO ActiveMatrix Composite Editor Users Guide

Introduction to Composites 31

Components
A component represents an implementation of one or more port types using a particular technology. The component attributes are: Name Port types provided and consumed by the component Component services for the provided port types Component references for the consumed port types Implementation type Links to artifacts that provide the implementation Links to resources Properties

ActiveMatrix supports the following component implementation types: Java .NET Visual C# and Basic C++ Mediation flows

References
A reference represents a consumed port type. A composite reference describes a port type consumed by ActiveMatrix composite elements that are implemented outside ActiveMatrix. A component or topic reference describes a port type consumed by ActiveMatrix composite elements. The reference attributes are: Name Port types consumed by the reference (Composite reference) Bindings that enable access to the consumed port types

ActiveMatrix supports the following types of composite reference bindings: AMX SOAP Adapter JMS

TIBCO ActiveMatrix Composite Editor Users Guide

32

| Chapter 1
Topics

Overview

A topic represents a publish-subscribe messaging channel between service consumers and providers. Multiple consumers can bind to a topic and a topic can consume multiple providers. Topics may not consume other topics. The topic attributes are: Name Port type provided by the topic Links to components or composite references that provide the port types

Wires
Wires connect services, components, references, and topics. See Connecting Composite Elements on page 11.

Properties
A property is a variable used to configure a component whose value can be set independently of the components implementation. Properties are defined in the scope of a composite or a component. A propertys value can be set during composite or component configuration (see Properties on page 15). If you set the property value to a substitution variable, the value can be overridden when you configure the component during deployment.

Shared Resources
Services, components, and references often require access to physical resources such as transport configurations and database connections. In ActiveMatrix, you can define resources that represent connection details for specific physical resources. In an ActiveMatrix project, you define shared resources which can be reused across multiple composites. Services, components, and references use shared resources via shared resource profiles, which specify only the type of resources the service, component, or reference requires, not the actual resources themselves. You can define shared resource profiles at the composite and component levels. Services and references that use shared resources refer to shared resource profiles defined at the composite level.

TIBCO ActiveMatrix Composite Editor Users Guide

Introduction to Composites 33

The mapping between a shared resource profile and a shared resource propertys value can be set during composite or component configuration (see Shared Resource Profiles on page 18) and at deployment time in ActiveMatrix Administrator (see Chapter 8, Deploying Service Assemblies, on page 213 in TIBCO ActiveMatrix Administration).

Links to Composite Elements and Resources


With the exception of references, all ActiveMatrix composite elements can have links to other ActiveMatrix composite elements. In addition, components, services, and references can have shared resource profiles that are linked to shared resources. The benefits of these links are that Services, components, and topics are not hard-coded to consume specific components, references, topics, or resources Components, references, topics, and shared resources can be reused by many composite elements

TIBCO ActiveMatrix Composite Editor Users Guide

34

| Chapter 1

Overview

Validation and Renaming


This section describes how TIBCO Business Studio validates data you provide when configuring composites and composite elements, and the renaming operations supported by TIBCO Business Studio.

Validation
TIBCO Business Studio validates information that you provide when you are creating and configuring composite elements. Validation occurs while entering data in wizards and property sheets. When a validation rule is violated, the following occurs:
:

Wizard Either the Next button will continue to be disabled or the wizard will display a popup describing the error. For example:

The composite element that violates a validation rule and any container (composite, service assembly, folder, project) containing that element will be marked with an error icon .

If a component, service, or reference that has a validation error is deleted and a new component, service, or reference is added with the same name, validation errors will still be seen. To remove the errors, save the composite. Problems view An error is added to the Problems tab:

The following sections enumerate the types of rules checked by TIBCO Business Studio.

TIBCO ActiveMatrix Composite Editor Users Guide

Validation and Renaming 35

Required Properties Each composite element type has properties that require a value. Examples include names and partner bindings. References The references from a composite element to a WSDL file must be valid. References become invalid if you delete a WSDL file or delete some of the port types.

Names Names cannot contain the characters: /\\<>|*.%: QNames A QName's local part cannot contain the characters: /\\<>|*.% A QName's namespace cannot contain the characters: /\\<>|*.% A version can only contain numbers and "."

ActiveMatrix Service Grid A Java class name cannot start or end with a "." A Java package name cannot start or end with a "." A property, partner, or shared resource profile name for a Java component implementation cannot contain the characters: `~!@#$%^&*()-=+[]{}\\|;:'\",<>./?

Values in Lists Values in lists must be unique. For example, the endpoint URLs in a service have to be unique across all the SOAP/HTTP transport configurations. TIBCO Business Studio ensures unique values whenever there is a list or a table. The following types of names appear in lists: Shared resource profile names Partner names Property names Service unit names

TIBCO ActiveMatrix Composite Editor Users Guide

36

| Chapter 1

Overview

Renaming
When you rename objects, TIBCO Business Studio automatically updates all references to those objects. The following sections describe supported and unsupported renaming operations. Supported Operations Renaming of the following object types is supported: Shared resources WSDL files Partners

For example, if a WSDL file is renamed, a composite element that references the file will be updated automatically. References are not updated if you delete any of these objects. The broken references will show up as validation errors for the referencing object. Unsupported Operations The following renaming operations are not supported: Changes to the contents of the file, such as renaming an operation in a port type.

ActiveMatrix Service Grid Any renaming that would trigger a code regeneration in a Java. For example, if a WSDL file referenced by a Java component is renamed, the associated code that was generated from the component would not be updated.

TIBCO ActiveMatrix Composite Editor Users Guide

|1
Chapter 2

Developing Composites

This chapter describes how to develop composites.

Topics
Composite Editor Overview, page 2 Working with Composites, page 8 Properties and Shared Resource Profiles, page 15 Specifying Port Types and Ports, page 20

TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 2

Developing Composites

Composite Editor Overview


The Composite Editor is a graphical editor for developing composites. Figure 2 shows the Composite Editor window opened to the empty composite file created when you create an ActiveMatrix basic SOA project. Figure 2 Composite Editor

On the left side of the editor is the canvas. On the right hand side of the editor is the palette, which contains elements that can be selected and dropped onto the canvas.

Setting Composite Editor Preferences


Composite editor preferences are specified in the Preferences dialog. To open the dialog, select Window >Preferences.... Setting the Namespace Prefix Every composite has a namespace property constructed as follows:
namespaceprefix/compositename

TIBCO ActiveMatrix Composite Editor Users Guide

Composite Editor Overview 3

By default, the namespace prefix is set to http://www.example.com. To change the default namespace prefix: 1. Open the preferences dialog. 2. Click the ActiveMatrix node. 3. Specify the namespace prefix in the Default Namespace field. Setting Diagram Preferences The composite editor supports a number of diagramming preferences, such as whether tooltips should be displayed. To configure these preferences: 1. Open the preferences dialog. 2. Expand the Diagram node. 3. Click Composite. 4. Set the diagram preferences listed in Table 3. 5. Click OK. Table 3 Composite Editor Preferences Field Editor Minimum Size Description Specifies the minimum width and height in pixels. Default: 677Wx371H.

Diagram Preferences Disable Connection Animation Show Detailed Tooltips Specifies whether an active wire displays an animation. Default: False. Specifies whether a tooltip displaying details about a composite element displays when you mouse over the element. Default: True. Highlight Compartments Specifies whether the Services, References, or Components canvas section on which the resource can be dropped is highlighted when you select a resource from the palette and move your mouse over to the canvas. Default: True.

TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 2

Developing Composites

Adding Elements to a Composite


The Composite Editor provides two mechanismspopup toolbars and the palettefor adding elements to a composite. These are described in the sections: Popup Toolbars Business Studio supports two popup toolbars: composite and component. The toolbars provides the following two benefits: They allow you to add composite and component elements to the canvas without having to use the palette They enable you to hide the palette (see Toggling the Palette on page 6) so that the canvas has increased screen area Popup Toolbars on page 4 Palette on page 5

The composite toolbar displays when the focus of the cursor is a composite. The component toolbar displays when the focus of the cursor is a component. The toolbars display for a few seconds and then disappear. The contents of the toolbars are:
Composite SOAP service, AMX service, JMS service, Mediation flow, Java component (ActiveMatrix Service Grid only), .NET component (ActiveMatrix Service Grid only), SOAP reference, Adapter reference, AMX reference, JMS reference, topic. Business Studio plug-ins can add icons to the toolbar.

Component Component service and component reference

Enabling and Disabling Popup Toolbars To specify whether a context-sensitive popup toolbar should display when you mouse over a composite or composite element: 1. Select Window >Preferences.... 2. Click the Diagram node. 3. Check the Show popup bars checkbox. 4. Click OK.
TIBCO ActiveMatrix Composite Editor Users Guide

Composite Editor Overview 5

Palette As shown in Figure 3, the palette contains a Select button, three named sections Services, Components, and Referencesand one unnamed group. The Select button allows you to select elements within the canvas. The named sections contain icons for adding elements of that section to the composite. The named sections are extensible. Business Studio plug-ins can add elements of new types to these sections. The unnamed section contains icons for topics, services, references, and wires. Figure 3 Palette

The palette has several features that enable you to control whether the palette is displayed and which sections within the palette are displayed. These features allow you to control the screen real estate occupied by the palette.

TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 2

Developing Composites

Toggling the Palette To hide the palette, click the right arrow icon in the Palette heading:

To display the palette, click the left arrow icon at the top of the closed palette. Toggling Sections within the Palette To toggle whether a section within the palette is displayed, click the group heading. Toggling Whether Sections are Pinned within the Palette To toggle whether a section is pinned, click the pushpin icon heading. in the group

When a section is pinned that tool section will remain open when you click other tool groups. Otherwise, when there is not enough space to keep both sections open and you click a tool section, that group opens and the other groups close. Scrolling Through the Icons in a Section If there are too many icons in a section to display, some of the icons are hidden and down and up scroll arrows alternately appear as you scroll through the icons:

Selecting a Composite Element To select a composite element, click the element. In the palette, the element button appears depressed:

Once a composite element has been selected the only operations you can perform are left-click to drop the element on the canvas or click another element in the palette.
TIBCO ActiveMatrix Composite Editor Users Guide

Composite Editor Overview 7

Unselecting a Composite Element To unselect a composite element, click the Select button in the palette. The Select button appears depressed and the previously selected composite element button is restored.

TIBCO ActiveMatrix Composite Editor Users Guide

| Chapter 2

Developing Composites

Working with Composites

Creating a Composite
When you create an ActiveMatrix project with a Composites folder, a composite is automatically created in that folder. To manually create a composite: 1. Start TIBCO Business Studio. 2. Create an ActiveMatrix SOA project. 3. There are two ways to create a composite: To create the composite in the Composites folder, right-click the folder in the project and select New > Composite. a. In the File name field, type the name of the composite. b. Click Finish. A composite is opened in the canvas of the Editor area and a file named CompositeName.composite, where CompositeName is the name you entered in the preceding step, is created in the Composites folder. To create a composite in any folder, select File > New > Other... > TIBCO ActiveMatrix > Composite. a. Click Next. b. Select the project folder in which to store the composite. c. In the File name field, enter the name of the composite. d. Click Finish. A composite is opened in the canvas of the Editor area and a file named CompositeName.composite, where CompositeName is the name you entered in step c, is created in the Project Explorer.

Opening a Composite in the Composite Editor


To open a composite, do one of the following in the Project Explorer view: Double-click the composite. Right-click the composite and select Open. Right-click the composite and select Open With > Composite Editor.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Composites 9

Deleting a Composite
Deleting a composite deletes the composite file and all elements contained within the composite. To delete a composite: 1. In the Project Explorer, right-click the composite file and select Delete.

Adding a Composite Element to a Composite


To add a composite element to a composite, do one of the following: Hover over the canvas until the popup toolbar (see Popup Toolbars on page 4) displays and then click a composite element in the toolbar. Use the Palette: a. Click a composite element in the Palette. b. Move the cursor over the canvas. The cursor changes to a dashed box:

c. Left-click to drop the element on the canvas. With both methods, composite references are added to the References area of the canvas, components and topics are added to the Components area of the canvas, and composite services are added to the Services area of the canvas. The element is added to the composite with the cursor in an activated name area. Type the name of the element or accept the default name, which is ServiceN, ComponentN, TopicN, or ReferenceN, where N is number that is incremented every time you add an element of a particular type. The element is added to the composite with default properties. Depending on the type of element, a dialog may display where you can enter properties and other information required for code generation. For information about specific types of composite elements, see Chapter 4, Developing Services and References, on page 41 and TIBCO ActiveMatrix Service Grid Component Developers Guide.

TIBCO ActiveMatrix Composite Editor Users Guide

10

| Chapter 2

Developing Composites

Deleting a Composite Element from a Composite


To delete a composite element from a composite, right-click the element in the canvas and select Delete. The element will be deleted from the Editor area and the composite file. If the composite element has a connection to another element (see Connecting Composite Elements on page 11), the connection will also be deleted.

Editing Composite and Composite Element Properties


To edit a property of a composite or composite element: 1. Click the composite or composite element in the Editor area. 2. Click the Properties view tab below the Editor area. If the Properties view is not visible, display it using right-click and select Show Properties View.The properties are context sensitive and change with the selection on the canvas. 3. Select the tab containing the properties you wish to edit: General General information about the composite or composite element Binding Service and reference binding properties. Implementation Properties of a components implementation. Services A list of the services provided by a component. References A list of the services consumed by a component. Properties A list of custom properties defined for a composite or component. Shared Resource Profiles A list of shared resource profiles defined for a composite or component. Target The target service or reference of a composite service. Subscribers The subscribers of a topic. Appearance Visual properties, such as the font and size of the elements label or how wires are routed. 4. Change the desired property values in the Properties view. The changed values are immediately reflected in the composite.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Composites 11

Composite Reference
General Tab Table 4 General Tab Field Name Description Namespace Description Required. The composite name. A short description of the composite. Required. The namespace of the composite. The namespace is inherited by the service assembly and is the namespace of concrete WSDL files generated from the service. Default: http://www.example.com/Name, where Name is the name of the composite. To change the default prefix, see Setting the Namespace Prefix on page 2. Version The version of the composite.

Shared Resource Profiles Tab See Shared Resource Profiles on page 18. Properties Tab See Properties on page 15. Appearance and Rulers & Grid Tabs These tabs are used to control the type, size, and weight of fonts used int he composite and the spacing, features, and visibility of grid and rulers.

Connecting Composite Elements


Connections between the composite elements represent wires. The following connections can exist between the different types of composite elements: Composite services to component services, topics, and composite references Component references to component services and composite references Topics can have connections to composite services, component services, and composite references

TIBCO ActiveMatrix Composite Editor Users Guide

12

| Chapter 2

Developing Composites

To connect composite elements: 1. Select Wire in the Palette. 2. Position the mouse cursor over a service or reference. 3. Click and drag the mouse to a reference or service with a matching port type. 4. A wire will be drawn that connects the service and reference. An entry will be added to the References tab of each component. An entry will be added to the Target tab of each service. Component Services and References As shown in Figure 4, a connection from a composite service to a component or topic occurs via a component service. Similarly, a connection from a component or topic to a composite reference occurs via a component reference. The service and reference subelements of some component types are automatically added when implementation or port type of the component is configured. For other component types, subelements can be added after you create the component. Service and reference subelements have an associated port type. You can create connections between composite and component services and composite and component references that have the same port type. Figure 4 Service and Reference Subelements
Composite Legend
Component Service Service Component Reference Component Reference

Composite

Service

Topic

Reference

Number of Connections As described in the following sections, the number of connections allowed depends on the MEP offered by the provider.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Composites 13

In-Only MEP Any number of elements can bind to a provider offering services that contain an in-only MEP. Figure 5 depicts possible bindings between consumers, topics, and providers for an in-only MEP. Figure 5 In-Only MEP

C onsum er C onsum er Publisher Topic C onsum er Publisher Legend Publish-Subscribe Point-to-Point Provider Subscriber

Provider Subscriber

Out-Only MEP Elements that offer out-only MEPs may be consumed by only one consumer, whether that is a topic, component, service, or reference. To allow the MEP to be consumed by more than one consumer, use a topic. This is illustrated in Figure 6 on page 14, which depicts possible bindings between consumers, topics, and provider for an out-only MEP.

TIBCO ActiveMatrix Composite Editor Users Guide

14

| Chapter 2

Developing Composites

Figure 6 Out-Only MEP


Consumer Subscriber Topic Consumer Subscriber Provider Publisher

TIBCO ActiveMatrix Composite Editor Users Guide

Properties and Shared Resource Profiles 15

Properties and Shared Resource Profiles


This section describes how to use properties and shared resource profiles in composites and composite elements.

Properties
A property is a variable used to configure a component whose value can be set independently of the components implementation. For example, the greeting for a Hello, World style service can be stored in a property and customized for each deployment of the service. The properties used to configure components can be defined at the composite or component level. For procedures for working with each type of property, see the sections: Composite Properties Adding a Property to a Composite To add a property to a composite: 1. Click the canvas in which a composite is displayed.
Display properties view

Composite Properties on page 15 Component Properties on page 17

2. If the Properties tab is not visible in the notebook below the canvas, click the canvas and select Show Properties View. or Click the Properties tab below the canvas. 3. In the Properties view, click the Properties tab. 4. Click the button to the right of the table or click the ellipsis button the Name column. A row is created in the table. 5. In the newly created row, click the Name column and type the name of the property or accept the default. in

Set the type

6. Click the row containing the property in the Type column. The type is set to String and binding type is set to Inline. To change the type, click the row again. The down arrow icon displays . Click the down arrow and select the type of the property.
TIBCO ActiveMatrix Composite Editor Users Guide

16

| Chapter 2

Developing Composites

7. Click the Save button

Displaying Composite Properties To display composite properties: 1. If the Properties view is not visible in the notebook below the canvas, click the canvas and select Show Properties View. 2. In the Properties view, click the Properties tab. Setting the Value of a Property The value of a property may be set directly in a composite configuration or it may be bound to substitution variable. If you bind the property to a substitution variable you can rebind the property at deployment time in ActiveMatrix Administrator (see Chapter 8, Deploying Service Assemblies in TIBCO ActiveMatrix Administration). 1. If you are binding the value to a substitution variable, create the variable by following the procedure in Creating a Substitution Variable on page 17. 2. Click the composite.
Display properties view

3. Display the composites properties as described in Displaying Composite Properties on page 16. 4. Click the row containing the property in the Binding Type column. The down arrow icon displays . Do one of the following:

Inline

Click the down arrow and select Inline. Click the row in the Value column. Enter a value in the Value column. Click the down arrow and select SVar. Click the row in the Value column. The ellipsis button displays. Click the button. The Substitution Variable picker appears displaying the substitution variables whose type matches the property or variable. a. Click the row containing the substitution variable you want to bind as the value. b. Click OK. 5. Click the Save button .

Svar

TIBCO ActiveMatrix Composite Editor Users Guide

Properties and Shared Resource Profiles 17

Component Properties Adding a Property to a Component To add a property to a component, follow the procedures in the components design manual. Displaying Component Properties To view a components properties, ensure that the Properties view is open (Window > Show View > Properties) and then do one of the following: Click the Properties icon on the component. If you choose this method, the other tabs within the Properties view will close. Click the component. In the Properties view, click the Properties tab.

Setting the Value of a Property The value of a property can be set inline or bound to a composite property or a substitution variable. If you bind the property to a substitution variable you can rebind the property at deployment time in ActiveMatrix Administrator (see Chapter 8, Deploying Service Assemblies in TIBCO ActiveMatrix Administration). To bind the property value: 1. If you are binding the value to a substitution variable, create the variable by following the procedure in Creating a Substitution Variable on page 17. 2. Click the component.
Display properties view

3. Display the components properties as described in the preceding section. 4. Click the row containing the property in the Binding Type column. The down arrow icon displays . Do one of the following: Click the down arrow and select Inline. Click the row in the Value column. Enter a value in the Value column. Click the down arrow and select Composite. Click the row in the Value column. The ellipsis button displays. Click the button. The Composite Properties picker appears displaying properties whose type matches the component property. a. Click the row containing the composite property you want to bind as the value. b. Click OK.

Inline

Composite

TIBCO ActiveMatrix Composite Editor Users Guide

18

| Chapter 2

Developing Composites

Svar

Click the down arrow and select SVar. Click the row in the Value column. The ellipsis button displays. Click the button. The Substitution Variable picker appears displaying the substitution variables whose type matches the property or variable. a. Click the row containing the substitution variable you want to bind as the value. b. Click OK. 1. Click the Save button .

Shared Resource Profiles


You can create shared resource profiles in composites and certain types of component. The profile can optionally be bound to a shared resource. To create and configure a shared resource profile: 1. Optionally create and configure the shared resource following the procedures described in Chapter 3, Creating and Configuring Shared Resources, on page 21. 2. Add a shared resource profile to a composite by following the procedure described in Adding a Shared Resource Profile to a Composite on page 18 or to a Java component by following procedures described in TIBCO ActiveMatrix Service Grid Component Developers Guide. 3. Optionally bind the shared resource profile to a shared resource by following the procedure described in Binding a Shared Resource Profile to a Shared Resource on page 19. Adding a Shared Resource Profile to a Composite To add a shared resource profile to a composite: 1. Click the canvas in which a composite is displayed. 2. Click the Properties tab below the canvas. 3. Click the Shared Resources tab. 4. Click the button to the right of the table or click the ellipsis button the Name column. A row is created in the table. 5. In the newly created row, click the Name column and type the name of the profile or accept the default. 6. Select the type of shared resource profile from the Type column. 7. Click the Save button . in

TIBCO ActiveMatrix Composite Editor Users Guide

Properties and Shared Resource Profiles 19

Binding a Shared Resource Profile to a Shared Resource To bind a shared resource profile contained in a composite or component to a shared resource: 1. Click the composite or component. 2. Click the Properties tab below the canvas. 3. Click the Shared Resource Profiles tab. 4. In the row containing the shared resource profile you wish to bind, click the ellipsis button in the Target column. a. In the Matching Resources area, click ResourceName.xxx, where ResourceName is the name you gave to the resource when you created it and xxx is id, sharedhttp, sharedjdbc, sharedjmsapp, sharedjmsconn, or rvtransport. b. In the In Container area, click the project containing the shared resource you want to use. c. Click OK. 5. Click the Save button .

TIBCO ActiveMatrix Composite Editor Users Guide

20

| Chapter 2

Developing Composites

Specifying Port Types and Ports

Specifying the Port Type of a Composite Element


To specify the port type of a composite element: 1. Click the element. 2. In the Properties view, click the General tab. 3. Click the Browse button at the right of the Port Type field. The Resource Picker will display. a. In the List of Files field, type the first few letters of the port type or expand the nodes in the Resource Picker until you see the port type want to use. b. Click the port type and click OK. The Port Type field is set and the WSDL Location field is filled in. 4. Click the Save button .

Specifying the Port of a Reference


To specify the port of a reference: 1. Click the reference. 2. In the Properties view, click the General tab. 3. Click the Browse button at the right of the Port Name field. The Resource Picker displays. a. In the List of Files field, type the first few letters of the port or expand the nodes in the Resource Picker until you see the port want to use. b. Click the port and click OK. The Port Name field is set and the Port Type and WSDL Location fields are filled in. 4. Click the Save button .

TIBCO ActiveMatrix Composite Editor Users Guide

| 21
Chapter 3

Creating and Configuring Shared Resources

This chapter describes how to create and configure shared resources.

Topics
Overview, page 22 Working with Shared Resources, page 23 Resource Definition Reference, page 27

TIBCO ActiveMatrix Composite Editor Users Guide

22

| Chapter 3

Creating and Configuring Shared Resources

Overview
Shared resources provide connection details for specific physical resources used by services, components, and references. During development, services, components, and references dont explicitly contain connection details. Instead, a composite or component developer specifies a shared resource profile that declares the types of physical resources the service, component, or reference require. The profiles may be bound to shared resources or may be left unbound. When you configure the service assembly for deployment, you map the profile to a shared resource available on the node. The life cycle of shared resource profiles is summarized as follows:
]

1. Create shared resource profiles in a composite. See Adding a Shared Resource Profile to a Composite on page 18. 2. Create services, components, and references. 3. Pick a shared resource profile defined in the composite in a service or reference. 4. Optionally create shared resources in an ActiveMatrix SOA project. See Creating a Shared Resource on page 23. 5. Optionally bind a shared resource profiles to shared resources. See Binding a Shared Resource Profile to a Shared Resource on page 19.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Shared Resources 23

Working with Shared Resources

Creating a Shared Resource


To create a shared resource: 1. Start TIBCO Business Studio. 2. In the TIBCO Resource wizard, select Shared Resources > XXX, where XXX is HTTP Client, HTTP Server, Identity, JDBC, JMS, JMS Application Properties, JNDI, Rendezvous, SSL Client, or SSL Server. 3. Click Next. 4. Click a project or type the name of a project in which to store the resource. 5. In the File name field, type the resources file name 6. Click Finish. The shared resource is displayed in its editor. 7. In the Name field, type a name for the resource or accept the default name. The resource name is used as the name of the shared resource in ActiveMatrix Administrator when it is imported during service assembly upload. 8. Configure the shared resource by consulting the field description tables described in the sections: HTTP Client See HTTP Client Shared Resource Definition Reference on page 27. HTTP Server HTTP Server Shared Resource Definition Reference on page 27. Identity See Identity Shared Resource Definition Reference on page 29. JDBC See JDBC Shared Resource Definition Reference on page 30. JMS See JMS Shared Resource Definition Reference on page 32. JMS Application Properties See JMS Application Properties Shared Resource Definition Reference on page 34. JNDI See JNDI Shared Resource Definition Reference on page 34. Rendezvous See Rendezvous Shared Resource Definition Reference on page 35. SSL Client See SSL Client Shared Resource Definition Reference on page 38. SSL Server SSL Server Shared Resource Definition Reference on page 39.

TIBCO ActiveMatrix Composite Editor Users Guide

24

| Chapter 3

Creating and Configuring Shared Resources

Deleting a Shared Resource


To delete a shared resource: 1. In the Project Explorer view, right-click the resource and select Delete.

Opening a Shared Resource in a Resource Editor


To open a shared resource in a resource editor: 1. In the TIBCO Business Studio Project Explorer view, double-click the shared resource or right-click the shared resource and select Open With > XXX Shared Resource Editor, where XXX is HTTP Client, HTTP Server, Identity, JDBC, JMS, JNDI, Rendezvous, SSL Client, or SSL Server.

Setting the Value of a Shared Resource Property


The three ways to set the values of a shared resource property are described in the sections: Inline To set the value of a shared resource property inline, type the value in the property field. Substitution Variables Binding a Shared Resource Property to a Substitution Variable Shared resource properties can be bound to substitution variables. To bind a shared resource property to a substitution variable: 1. If the variable does not exist, create one whose type matches the property by following the procedure in Creating a Substitution Variable on page 17. 2. Open the shared resource in a resource editor. 3. Click the icon at the top right of the configuration screen. The Binding Editor displays with a list of substitutable properties. 4. Click a property. Inline on page 24 Substitution Variables on page 24 Shared Resource Definition on page 25

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Shared Resources 25

5. Click the Pick... button. 6. To filter the list of variables, type a string in the Filter field. Click a substitution variable. 7. Click OK twice. An icon is added to left of the property label and the label and value are greyed out. For example: Clearing a Binding Between a Shared Resource Property and a Substitution Variable To clear a binding between a shared resource property and a substitution variable: 1. Open the shared resource in a resource editor. 2. Click the icon at the top right of the configuration screen. The Binding Editor will display with a list of substitutable properties. 3. Click a property. 4. Click the Clear button. 5. Click OK. Shared Resource Definition Sometimes the value of a shared resource property is another shared resource. For example, the SSL Configuration property of an HTTP server is an SSL Server shared resource. Binding a Shared Resource Property to a Shared Resource To bind a shared resource property to a shared resource: 1. Click the down arrow to the right of the picker icon picker presents the resource picker menu. . The resource

TIBCO ActiveMatrix Composite Editor Users Guide

26

| Chapter 3

Creating and Configuring Shared Resources

2. To view resources that match the property type, select Browse. A resource picker is displayed.

3. Click a resource and click OK. Clearing a Binding Between a Shared Resource Property and a Shared Resource To clear a shared resource property binding, display the resource picker menu and select Clear. Navigating to a Bound Shared Resource To open the shared resource editor to the existing setting, display the resource picker menu and select Go To.

TIBCO ActiveMatrix Composite Editor Users Guide

Resource Definition Reference 27

Resource Definition Reference

HTTP Client Shared Resource Definition Reference


An HTTP client shared resource describes an HTTP connection. HTTP client shared resources are used by references. Table 5 HTTP Client Shared Resource Reference Field Name Description The name of the resource. Names are case sensitive. Default: HTTP_Client. Description Connect URL Connection Timeout Short description of the resource. The URL to connect to the HTTP server. The URLs protocol is either http or https. The number of milliseconds the connector will wait, after accepting a connection, for the specific URI the request is sending to be presented. Default: 0, which means there is no timeout. SSL SSL Client Configuration The SSL client shared resource to use for the connection.

HTTP Server Shared Resource Definition Reference


An HTTP server shared resource describes an HTTP connection. HTTP server shared resources are used by services. Table 6 HTTP Server Shared Resource Reference Field Name Description The name of the resource. Names are case sensitive. Default: HTTP_Server. Description Short description of the resource.

TIBCO ActiveMatrix Composite Editor Users Guide

28

| Chapter 3

Creating and Configuring Shared Resources

Table 6 HTTP Server Shared Resource Reference (Contd) Field Host Description Specifies the name of the host that accepts the incoming requests. For machines that have only one network card, the default value localhost specifies the current machine. For machines that have more than one network card, this field specifies the host name of the card that will be used to accept incoming HTTP requests. If there is more than one network card on the machine, and you specify localhost in this field, all network cards on the machine will listen for incoming HTTP requests on the specified port. Only one HTTP server can be started on each port. Therefore make certain that all HTTP connection resources that use the same host name specify different port numbers. Default: localhost. Note that localhost signifies the host on which the ActiveMatrix node is running, not the ActiveMatrix Administrator server. This property can be bound to a substitution variable. Port Port number on which to listen for incoming HTTP requests. Default: 80. This property can be bound to a substitution variable. More Options Minimum Threads The minimum number of threads available for incoming HTTP requests. The HTTP server creates the number of threads specified by this parameter when it starts up. Default: 10. Maximum Threads The maximum number of threads available for incoming HTTP requests. The HTTP server will not create more than the number of threads specified by this parameter. When a client sends a request that cannot be processed because no threads are available, the ActiveMatrix node returns a ConnectionRefused exception to the client. Default: 75. SSL Configuration The SSL server shared resource to use for the connection. The field label is a link to the resource.

TIBCO ActiveMatrix Composite Editor Users Guide

Resource Definition Reference 29

Identity Shared Resource Definition Reference


An identity shared resource contain identity information that is used to authorize a connection. Identity resources are used by SSL clients and servers. There are two types of identity information: username and password and public key. Table 7 Identity Shared Resource Reference Field Name Description The name of the resource. Names are case sensitive. Default: Identity. Shared Resource Type Description Identity Type Identity. Short description of the resource. When you choose an identity type, appropriate fields display for you to enter the values required:
Public Key Identity A keystore provides the identity. See Public Key Identity. Username/Password A username and password provide the identity. See

Username/Password. Public Key Identity Keystore URL The URL to the keystore. Select from the drop-down list of keystore. The drop-down list displays keystores already created in the Enterprise Assets > Keystores screen. Type the keystore URL or Browse to one by clicking the Browse button. Keystore Type Password Entry Alias Alias Password The type of the file containing the keystore. JKS (Java keystore) is the only supported type. The password to open the keystore. No special characters or spaces allowed. A private key in the keystore that identifies a user. The password used to access the private key.

Username/Password Username The user name that identifies the user.

TIBCO ActiveMatrix Composite Editor Users Guide

30

| Chapter 3

Creating and Configuring Shared Resources

Table 7 Identity Shared Resource Reference (Contd) Field Password Description The password that identifies the user.

JDBC Shared Resource Definition Reference


A JDBC shared resource describes a JDBC connection. JDBC connections are used by components and logging configurations. Table 8 JDBC Shared Resource Reference Field Name Description The name of the resource. Names are case sensitive. Default: JDBC. Description Connection Type Short description of the resource. When you choose a connection type, appropriate fields appear for you to enter the values required:
JDBC See JDBC Connection Type, page 30 JNDI See JNDI Connection Type, page 31

JDBC Connection Type JDBC Driver Required. The name of the JDBC driver class. You can select from a drop-down list of supported drivers or type the name of a custom driver. For a list of drivers in the drop-down list, see Table 9 on page 31. Only the databases in the rows with the light blue background are supported by ActiveMatrix. When you select a driver, the Database URL field is populated with a template for the URL of the driver. Default: org.hsqldb.jdbcDriver.

TIBCO ActiveMatrix Composite Editor Users Guide

Resource Definition Reference 31

Table 8 JDBC Shared Resource Reference (Contd) Field Database URL Description Required. The URL to use to connect to the database. A template of the URL is supplied for the driver you select in the JDBC Driver field or you can type the name of a custom URL. For a list of templates, see Table 9 on page 31. Only the databases in the rows with the light blue background are supported by ActiveMatrix. You must supply the portions of the URL shown between angle brackets and remove the angle brackets. Default: jdbc:hsqldb:hsql://localhost:<port#>/<db_instancename>. Username User name to use when connecting to the database. Default: Your username. Password Maximum Connections Login Timeout Password to use when connecting to the database. The maximum number of database connections to allocate. Default: 10. The minimum value that can be specified is 0. Time (in seconds) to wait for a successful database connection. Only JDBC drivers that support connection timeouts can use this configuration field. If the JDBC driver does not support connection timeouts, the value of this field is ignored. Most JDBC drivers support connection timeouts. Default: 0. JNDI Connection Type JNDI Configuration Name Datasource Name The JNDI Configuration shared resource definition that specifies the JNDI connection information. The JNDI name of the data source that is registered in the JNDI provider.

Table 9 Database Drivers and URL Templates Database


HSQLDB

Driver
org.hsqldb.jdbcDriver tibcosoftwareinc.jdbc.sqlser ver.SQLServerDriver

URL Template
jdbc:hsqldb:hsql://localhost:<port#>/<db_instancename> jdbc:tibcosoftwareinc:sqlserver://<hostname>:<port#>;datab aseName=<databaseName>

MS SQL

TIBCO ActiveMatrix Composite Editor Users Guide

32

| Chapter 3

Creating and Configuring Shared Resources

Table 9 Database Drivers and URL Templates (Contd) Database Oracle Sybase1 Sybase DB2OS390 DB2AS400 DB2UDB Infomix Ingres Driver
tibcosoftwareinc.jdbc.oracle. OracleDriver jdbc.7.driver=com.sybase.jd bc3.jdbc.SybDriver tibcosoftwareinc.jdbc.sybase .SybaseDriver tibcosoftwareinc.jdbc.db2.D B2Driver com.ibm.as400.access.AS400 JDBCDriver tibcosoftwareinc.jdbc.db2.D B2Driver com.informix.jdbc.IfxDriver

URL Template
jdbc:tibcosoftwareinc:oracle://<hostname>:<port#>;SID=<db _instancename> jdbc.7.url_template=jdbc:sybase:Tds:<host>:<port#>/<databa seName> jdbc:tibcosoftwareinc:sybase://<servername>:5000;Database Name=<databasename> jdbc:tibcosoftwareinc:db2://<servername>:<port>;locationN ame=<locationName>;packageName=<packageName> jdbc:as400://<server_ip>;libraries=<lib>

jdbc:tibcosoftwareinc:db2://<servername>:50000;databaseNa me=<databaseName>;packageName=DEF00 jdbc:informix-sqli://<host>:<port>/<database>:informixserv er=<server> jdbc:edbc://<host>:<port>/<database>

ca.edbc.jdbc.EdbcDriver

1. Sybase native drivers are not distributed with ActiveMatrix products and the driver class and URL template are not available in the drop-down lists for those fields. To use the native drivers, type the driver class and URL into the fields.

JMS Shared Resource Definition Reference


A JMS shared resource describes a JMS connection. JMS connections are used by services and references. Table 10 JMS Settings Field Name Description The name of the resource. Names are case sensitive. Default: JMS. Description Short description of the resource.

TIBCO ActiveMatrix Composite Editor Users Guide

Resource Definition Reference 33

Table 10 JMS Settings (Contd) Field Connection Type Description When you choose a connection type, appropriate fields display for you to enter the values required:
Direct See the Direct Connection Type section. JNDI See the JNDI Connection Type section.

In both cases you can click More Options. See More Options. Direct Connection Type Provider URL The server URL used to create the connection factory. This field is required only for connections to a TIBCO Enterprise Message Service server. See documentation for TibjmsConnectionFactory in TIBCO Enterprise Message Service product documentation (Javadoc) for more information. Default: tcp://localhost:7222. JNDI Connection Type JNDI Configuration Connection Factory A JNDI shared resource definition that specifies the JNDI connection information. The ConnectionFactory object stored in JNDI. This object is used to create a topic or queue connection with a JMS application. See your JNDI provider documentation for more information about creating and storing ConnectionFactory objects. Default: GenericConnectionFactory. More Options User Identity User identity of type Username/Password. If the JMS provider does not require access control, this field can be empty. Not all JMS servers require user names and passwords. Refer to your JMS provider documentation and consult your system administrator to determine if your JMS server requires a user name and password. Client ID Client ID for the connection. Typically JMS providers have a provider-specific format for client IDs. See your JMS providers documentation for more information about client IDs. If specified, the client ID must be unique within the scope of connections within the server.

TIBCO ActiveMatrix Composite Editor Users Guide

34

| Chapter 3

Creating and Configuring Shared Resources

JMS Application Properties Shared Resource Definition Reference


The JMS application properties resource describes any JMS message properties that a JMS application expects. The Properties table lists application-specific properties. Use the Add and Delete buttons to the right of the table to add and delete properties. Use the Duplicate button to duplicate an existing property. Properties have the following aspects:
Name The name of the property. Names are case sensitive. Default: JMS

Application Properties.
Types The data type of the property. Select from the drop-down list of valid data types. Cardinality Whether the property is optional or required. Select either optional

or required in the drop-down list.

JNDI Shared Resource Definition Reference


The JNDI shared resource provides a way to specify JNDI connection information that can be shared by other resources. This resource can be referenced in any resource that permits JNDI connections. JDBC and JMS shared resources can use JNDI connections. Table 11 JNDI Shared Resource Reference Field Name Description The name of the resource. Names are case sensitive. Default: JNDI. Description Context Factory Short description of the resource. The name of the JNDI context factory. You can select from a drop-down list of supported initial context factory classes for accessing a JNDI service provider. (javax.naming.Context.INITIAL_CONTEXT_FACTORY) or type the name of a custom context factory class. The URL to the JNDI service provider (javax.naming.Context.PROVIDER_URL). An example URL is provided when one of the supported JNDI context factory classes is selected. See your JNDI provider documentation for the syntax of the URL. More Options

Context URL

TIBCO ActiveMatrix Composite Editor Users Guide

Resource Definition Reference 35

Table 11 JNDI Shared Resource Reference (Contd) Field User Identity Application Properties Name Type Value Description An identity resource of type Username/Password. You can add and define application properties as needed. Name of the property. Data type of the property. Value of the property.

Rendezvous Shared Resource Definition Reference


A Rendezvous shared resource describes a TIBCO Rendezvous transport. Rendezvous resources are used by services and references. See the TIBCO Rendezvous documentation for more information about specifying these fields. Table 12 Rendezvous Shared Resource Reference (Sheet 1 of 3) Field Name Description The name of the resource. Names are case sensitive. Default: Rendezvous. Description Daemon Network Service Short description of the resource. The host name followed by the socket number of the machine on which the Rendezvous daemon is running. The network to be used by the Rendezvous daemon. Contains the host name, IP address, network name, or interface name. Service name in one of the following formats: service_name or port_number.

TIBCO ActiveMatrix Composite Editor Users Guide

36

| Chapter 3

Creating and Configuring Shared Resources

Table 12 Rendezvous Shared Resource Reference (Sheet 2 of 3) Field Connection Type Description When you choose a delivery method, appropriate fields display for you to enter the values required:
Certified See Certified, page 36. Distributed Queue See Distributed Queue, page 36. Reliable No additional settings are required when you choose Reliable.

See TIBCO Rendezvous documentation for details. Certified CM Name Ledger File The name of the delivery-tracking session. This name is in the same format as Rendezvous subject names. The name and location of the persistent ledger file that tracks certified messages. If not specified, the certified message ledger is kept in memory only. Specifies whether to keep the ledger file synchronous with the current messages. Default: No. Relay Agent Name of the relay agent to use. Relay agents are useful when clients are disconnected from the network from time to time. The relay agents store inbound certified messages and labeled messages (and other messages related to certified delivery features) on behalf of their disconnected client programs. When a client is connected, it receives inbound messages immediately. Specifies whether to require the retention of messages for which delivery has not been confirmed. These messages will be resent. Default: No. Message Timeout The time limit (in seconds) for certified message delivery. Default: 0. Distributed Queue CMQ Name The name of the distributed queue. This name is in the same format as Rendezvous subject names.

Sync Ledger File

Require Old Messages

TIBCO ActiveMatrix Composite Editor Users Guide

Resource Definition Reference 37

Table 12 Rendezvous Shared Resource Reference (Sheet 3 of 3) Field Worker Weight Description The weight of the worker (this pertains to the worker processing queue requests, not to BusinessWorks process engines). Relative worker weights assist the scheduler in assigning tasks. When the scheduler receives a task, it assigns the task to the available worker with the greatest worker weight. Default: 1 Worker Tasks Sets the task capacity for the worker (this pertains to the worker processing queue requests). Task capacity is the maximum number of tasks that a worker can accept. When the number of accepted tasks reaches this maximum, the worker cannot accept additional tasks until it completes one or more of them. Default: 10 Worker Complete Time The amount of time the scheduler waits for a worker process to complete. If the worker process does not complete in the specified period, the scheduler reassigns the message to another worker. Default: 0. Scheduler Weight Weight represents the ability of this member to fulfill the role of scheduler, relative to other members with the same name. Cooperating distributed queue transports use relative scheduler weight values to elect one transport as the scheduler; members with higher scheduler weight take precedence. Acceptable values range from 1 to 65535. Default: 1. Scheduler Heartbeat The scheduler sends heartbeat messages at this interval (in seconds). All members with the same name must specify the same value for this parameter. The value must be positive. Default: 0.1. Scheduler Activation When the heartbeat signal from the scheduler has been silent for this interval (in seconds), the member with the greatest scheduler weight takes its place as the new scheduler. All members with the same name must specify the same value for this parameter. The value must be positive. Default: 0.3.

TIBCO ActiveMatrix Composite Editor Users Guide

38

| Chapter 3

Creating and Configuring Shared Resources

SSL Client Shared Resource Definition Reference


An SSL client shared resource describes an SSL client. SSL client shared resources are used by HTTPS client shared resources. Table 13 SSL Client Shared Resource Reference Field Name Description The name of the resource. Names are case sensitive. Default: SSL_Client. Description Identity Cipher Strength Short description of the resource. An identity shared resource of type public key identity. Specifies the number of bits in the key used to encrypt data. The greater the number of bits in the key (cipher strength), the more possible key combinations and the longer it would take to break the encryption. No Restriction No Export Grade At Least 128 More Than 128 At Least 256

Trusted Certificate Authorities Type Certificate Store Password Only the Java keystore type is supported. The location of the the certificate store. The password for the certificate store.

TIBCO ActiveMatrix Composite Editor Users Guide

Resource Definition Reference 39

SSL Server Shared Resource Definition Reference


An SSL server shared resource describes an SSL server. SSL server shared resources are used by HTTPS server shared resources. Table 14 SSL Server Shared Resource Reference Field Name Description The name of the resource. Names are case sensitive. Default: SSL_Server. Description Identity Cipher Strength Short description of the resource. An identity shared resource of type public key identity. Specifies the number of bits in the key used to encrypt data. The greater the number of bits in the key (cipher strength), the more possible key combinations and the longer it would take to break the encryption. Client Authentication Required No Restriction No Export Grade At Least 128 More Than 128 At Least 256

When checked clients are required to present their digital certificate before connecting to the HTTP server. When checked, the Trusted Certificate Authorities fields will be displayed.

Trusted Certificate Authorities File Type Certificate Store Password Only the Java keystore type is supported. The location of the certificate store. The password for the certificate store.

TIBCO ActiveMatrix Composite Editor Users Guide

40

| Chapter 3

Creating and Configuring Shared Resources

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References 41

Chapter 4

Developing Services and References

This chapter describes how to create and configure services and references.

Topics
Overview, page 42 Working with Services and References, page 43 Developing Services and References with AMX Bindings, page 45 Developing Services and References with SOAP Bindings, page 48 Web Services (WS) Specification Support, page 58 Developing References with Adapter Bindings, page 87 Developing Services and References with JMS Bindings, page 94

TIBCO ActiveMatrix Composite Editor Users Guide

42

| Chapter 4

Developing Services and References

Overview
A service represents an endpoint exported by the composite. A reference represents an endpoint outside the composite. You configure services and references in the Properties view. Figure 7 shows a service with a SOAP binding. Figure 7 SOAP Service Properties

Tabs

On the left side of the Properties view is a set of tabs:


General General properties of the service or reference. Binding Properties of the endpoint provided by the service or consumed by

the reference. The left side of the tab is a tree whose nodes are the contents of the service or reference. The elements displayed in the tree are: Service Reference Endpoint Operation Messages Input Output
Property sheets Target The target component that implements the provided service. Appearance Visual properties of the component.

Endpoint Operation

On the right side of the Properties view are property sheets that change as you select different tabs. The property sheets allow you to edit properties of the service or reference.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Services and References 43

Working with Services and References


This section describes actions that can be performed on all types of services and references.

Using a Shared Resource Profile in a Service or Reference


To use a shared resource profile in a service or reference: 1. Add a shared resource to the composite following the procedure described in Adding a Shared Resource Profile to a Composite on page 18 2. Click the service or reference. 3. In the Properties view, click the Binding tab. 4. In the tree on the left, click the endpoint node .

5. Expand the Transport Configuration area on the right. 6. Select the resource profile in the Resource Profile drop-down list. 7. Click the Save button .

Navigating to a WSDL File from a Service or Reference


To navigate to a WSDL file from service or reference: 1. Click the service or reference. 2. In the Properties view, click the General tab. 3. Click the label of the WSDL Location field.

Setting the Target of a Service


The target of a service is the services implementation. Before you can set the target of a service, you must first select the services port type by following the procedure described in Specifying the Port Type of a Composite Element on page 20. To bind a target to a component service or composite reference do one of the following: Draw a wire: a. Select the Wire element in the Palette. b. Draw a connection between the service and the component service or composite reference.
TIBCO ActiveMatrix Composite Editor Users Guide

44

| Chapter 4

Developing Services and References

From the Properties view: a. Click a service. b. In the Properties view, click the Target tab. c. In the table, click the button next to a component service or composite reference. A wire will be drawn between the service and the component service or composite reference.

Click the Save button

Common Reference
This section describes reference information common across all types of services and references. General Tab Field Name Description Type Readonly? N N Y Description The name of the service. The name can only be an ASCII string. Short description of the service. The binding type.

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with AMX Bindings 45

Developing Services and References with AMX Bindings


Services and references with AMX bindings enable you to reuse components defined in another composite within the same TIBCO Business Studio workspace. As shown in Figure 8, an AMX reference is bound to an AMX service. Figure 8 ActiveMatrix Bindings

Composite 1
Composite Service AMX Reference

Component Component

Composite 2

Legend Component Service Component Reference

AMX Service

Component Component

Creating a Service or Reference with an AMX Binding


To create a service or reference with an AMX binding: 1. Start TIBCO Business Studio. 2. Create an ActiveMatrix SOA project. 3. Add one or more WSDL files to the project. 4. Create a composite. 5. Click the canvas and click the AMX service or reference icon in the popup toolbar (see Popup Toolbars on page 4) or click AMX in the Services or References group in the Palette and click the canvas. An AMX service or reference is added to the Services or References area. 6. Type a name in the service or references activated input field. The name cannot contain spaces.
Select port type

7. Select the port type of a service or reference by following the procedure described in Specifying the Port Type of a Composite Element on page 20.
TIBCO ActiveMatrix Composite Editor Users Guide

46

| Chapter 4

Developing Services and References

8. Click the Save button

Specifying the Target of a Service with an AMX Binding


Specify the target of service with an AMX binding by following the procedure described in Setting the Target of a Service on page 43.

Specifying the Service Name of a Reference with an AMX Binding


To specify the service name of an reference with an ActiveMatrix binding: 1. Ensure that you have created an service with an ActiveMatrix binding in another composite. 2. Click the reference. 3. In the Properties view, click the Binding tab. 4. In the tree on the left, click the endpoint node 5. In the Service Name field, click the ellipsis Resource Picker is displayed. . to the right of the field. A

a. In the List of files field, type the first letters of the service name or expand the nodes until you see the service you want to bind to the reference. b. Click the service. c. Click OK. 6. Click the Save button .

Dynamic Routing
Dynamic routing is the ability for a component to decide at runtime which service will be invoked by a composite reference to which the component reference is bound. Instead of statically specifying the binding configuration at design or deploy time, the binding is determined by the component during runtime. The service that gets invoked by the composite reference can depend on input coming into the component. Dynamic routing is enabled in both the component and the composite reference to which it is bound. Dynamic routing is supported only by mediation components and AMX references. For information on dynamic references in mediation components, see TIBCO ActiveMatrix Service Grid Mediation Design Guide. A dynamic AMX reference appears as follows:

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with AMX Bindings 47

Enabling and Disabling Dynamic Routing There are two ways to change the dynamic routing setting in an AMX reference:
Properties view Check the Dynamic Binding checkbox in the General tab. When the checkbox is checked, the fields on the references Binding tab are disabled. For example, the button next to the Service Name field is not active. To disable dynamic routing, uncheck the checkbox. Menu selection Right-click the AMX reference and select Make dynamic. To disable dynamic routing, select Make static.

If a static reference has fields configured on the Binding tab and the reference is changed to dynamic routing then the configuration will remain but it will not be used at runtime. Invalid Wiring Configurations TIBCO Business Studio issues validation errors when an invalid wiring configuration exists between two elements. Invalid wires can arise during configuration or as a result of converting a reference from static to dynamic binding or vice versa. The following are invalid wiring configurations: Composite service to dynamic composite reference Static component reference to dynamic composite reference Dynamic component reference to static composite reference

TIBCO ActiveMatrix Composite Editor Users Guide

48

| Chapter 4

Developing Services and References

Developing Services and References with SOAP Bindings


The SOAP specification is maintained by the World Wide Web Consortium (W3C) at http://www.w3.org/TR/SOAP. ActiveMatrix can send and receive messages that comply with the 1.1 version of the SOAP specification. The SOAP container serves as a gateway for inbound and outbound SOAP messages over HTTP/S or JMS transport. The SOAP container exposes endpoints that accept requests from external consumers and endpoints for invoking external SOAP services. The SOAP container supports the following features: SOAP message style-encoding: doc-literal and RPC-literal Message exchange patterns: one-way, request-response, and fault HTTP, HTTPS, and JMS transports SOAP headers

To expose an ActiveMatrix service to external consumers, you specify its binding configuration and transport details in a service. To expose an external service to ActiveMatrix consumers, you specify its binding configuration and transport details in a reference. The service or reference includes SOAP binding attributes, and operation, message, and message part configuration.

Creating a Service or Reference with a SOAP Binding


To create a service or reference with a SOAP binding: 1. Start TIBCO Business Studio. 2. Create an ActiveMatrix SOA project. 3. Add one or more WSDL files to the project. 4. Open a composite. 5. Click the canvas and click the SOAP service or reference icon in the popup toolbar (see Popup Toolbars on page 4) or click SOAP from the Services or References group in the Palette and click the canvas. A SOAP service or reference is added to the Services or References area. 6. Type a name in the service or references activated input field. The name cannot contain spaces.
Select port type

7. Select the port type of a service by following the procedure described in Specifying the Port Type of a Composite Element on page 20.

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with SOAP Bindings 49

Select port

8. Select the port of a reference by following the procedure described in Specifying the Port of a Reference on page 20. 9. For services, specify the target by following the procedure described in Setting the Target of a Service on page 43. 10. Specify the shared resource profile by following the procedure described in Using a Shared Resource Profile in a Service or Reference on page 43. 11. Click the Save button .

Specify target

Specify shared resource profile

Configuring the Bindings SOAP Configuration


To configure the bindings SOAP configuration: 1. In the Properties view, click the Binding tab and expand the nodes in the tree.

2. In the tree on the left, click the endpoint node

3. In the SOAP Default Configuration area on the right, select the style of SOAP binding in the Style drop-down list. 4. Click the Save button .

Configuring the Transport


For services with SOAP bindings you can select HTTP/S or JMS transport. To configure the transport: 1. In the Properties view, click the Binding tab. 2. In the tree on the left, click the endpoint node .

3. Configure the transport as described in the sections HTTP/S Transport/S or JMS Transport. 4. Click the Save button .

TIBCO ActiveMatrix Composite Editor Users Guide

50

| Chapter 4

Developing Services and References

HTTP/S Transport To configure HTTP/S transport: 1. In the Transport Configuration area on the right: a. Select HTTP/S from the Transport Type drop-down list. b. Select an HTTP/S resource profile from the Resource Profile drop-down list. c. Type a name in the Endpoint Path field. The Endpoint URI field will display http://HostName:Port/Name, where HostName and Port are the host name and port specified for the HTTP shared resource, and Name is the name you provided for Endpoint Path. JMS Transport To configure JMS transport: 1. In the Transport Configuration area on the right: a. Select JMS from the Transport Type drop-down list. b. Select a JMS resource profile from the Resource Profile drop-down list. c. Select a message type from the Message Type drop-down list. d. Accept the default Destination Type or provide a new one. e. Accept the default Destination Name or provide a new one. f. In the Default Outbound Setting area, configure the message priority, expiration, and delivery mode. .

2. Click the Save button

Generating a Concrete WSDL File from a Service


In order to generate a concrete WSDL file, the shared resource profile referenced by the service bindings transport configuration must be bound to a shared resource. To generate a concrete WSDL file from a service: 1. Click the service. 2. In the Properties view, click the Binding tab. 3. Click the endpoint node .

4. Click the Generate WSDL button. TIBCO Business Studio generates a WSDL file named WSDLFilename_PortTypeName_RandomNumber.wsdl, where WSDLFilename is the name of the WSDL file containing the port type and

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with SOAP Bindings 51

PortTypeName is the port type the service exports. If the Composites folder exists, the WSDL file is automatically created in the Composites folder.

Service Configuration
General Tab Field Port Type WSDL Location Readonly? N Y Description The port type exported by the service. The location of the WSDL file that defines the service. The field label is a link to the WSDL file.

Binding Tab Endpoint Node Field Endpoint Name Description Enable WS Addressing Enable Anonymous Request Enable WS Reliable Messaging N N N The name of the endpoint. Short description of the endpoint. Indicate whether to enable WS-Addressing headers. When checked, the Enable Anonymous Request field is enabled. See WS-Addressing on page 58. Indicate whether synchronous responses are returned to the client. Readonly? Description

Indicate whether to enable WS-Reliable Messaging behavior. See WS-Reliable Messaging (ActiveMatrix Service Grid only) on page 83.

SOAP Default Configuration Version N The version of the SOAP specification. Set to 1.1.

TIBCO ActiveMatrix Composite Editor Users Guide

52

| Chapter 4
Field Style

Developing Services and References

Readonly? N

Description The SOAP binding style. Document or RPC. Default: Document.

Encoding

The encoding type for the body of the SOAP input and output messages. Set to Literal.

Transport Configuration - Common Transport Type Resource Profile N N The type of transport supported by the binding. HTTP or JMS. The shared resource profile that references the shared resource providing the transport.

Transport Configuration - HTTP Field Endpoint Path Endpoint URI Readonly? N Y Description The endpoint name. The endpoint URI. Composed of the transport URL and the Endpoint Path.

Transport Configuration - JMS Field Message Type Readonly? N Description The type of the message. One of the following:
Byte A stream of bytes. Text A java.lang.String.

Default: Byte. Target Destination Type Target Destination Name N N Type of destination where messages are sent. Set to Queue. Name of the destination where messages are sent. Default: queue.sample

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with SOAP Bindings 53

Field

Readonly?

Description

Default Inbound Setting Acknowledgement Mode N The acknowledgement mode for incoming messages. Set to Auto, meaning that the message is automatically acknowledged when it is received.

Default Outbound Setting Priority N The priority of the message. Priority is a value from 0-9. Higher numbers signify a higher priority (that is, 9 is a higher priority than 8). Default: 4. Expiration(ms) N How long the message can remain active. 0 means that the message does not expire. Default: 0. Delivery Mode N The delivery mode of messages:
Persistent Messages are stored and forwarded. Non-Persistent Messages are not stored and may be lost due to

failure. Default: Non-Persistent. Operation Node Field Operation Name Description The operation name. Short description of the operation. Description

SOAP General Configuration SOAP Action Style The SOAP action that is expected from incoming SOAP requests. See the SOAP specification for more information about SOAP action. Document, RPC, or Inherit from parent.

TIBCO ActiveMatrix Composite Editor Users Guide

54

| Chapter 4
Field Encoding

Developing Services and References

Description Literal or Inherit from parent. Input or Output Message Node

Field

Description

Input or Output Message Configuration Part Name Part Type The name of the message part. The type of the message part. Body or Header.

Reference Configuration
General Tab Field Port Name Port Type WSDL Location Binding Tab HTTP Endpoint Node Field Endpoint Name Description Location N N Y The name of the endpoint. Short description of the endpoint. The endpoints URL. Readonly? Description Readonly? Y N Y Description The port name. The port type exported by the service. The location of the WSDL file that defines the service. The field label is a link to the WSDL file.

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with SOAP Bindings 55

Field Enable WS Addressing

Readonly? N

Description Indicate whether to enable WS-Addressing headers. When checked, the Enable Anonymous Request field is enabled. See WS-Addressing on page 58. An HTTP server shared resource with the WS-Addressing resource function enable must be installed in any node hosting SOAP references that require non-anonymous WS-Addressing support. See Enabling and Disabling Resource Functions in TIBCO ActiveMatrix Administration.

Enable Anonymous Request Enable WS Reliable Messaging

Indicate whether synchronous responses are returned to the client.

Indicate whether to enable WS-Reliable Messaging behavior. See WS-Reliable Messaging (ActiveMatrix Service Grid only) on page 83.

Transport Configuration New Location Y The endpoints new URL. You could use this to override the location instead of modifying the services WSDL when an external service has a proxy setting. To set, click Browse and select an HTTP client shared resource. See HTTP Client Shared Resource Definition Reference on page 27.

JMS Endpoint Node Field Resource Profile Target Destination Type Target Destination Name Reply Destination Name Readonly? N N N Description The shared resource profile that references the shared resource providing the transport. Type of destination where messages are sent. Set to Queue. Name of the destination to which request messages are sent. Default: queue.sample. N Name of the destination to which reply messages are sent.

TIBCO ActiveMatrix Composite Editor Users Guide

56

| Chapter 4
Field

Developing Services and References

Readonly? N

Description The length of time to wait before a request to the provider times out. Default: 0.

Timeout(sec)

JMS Setting Field Default Inbound Setting Acknowledgement Mode Default Outbound Setting Priority The priority of the message. Priority is a value from 0-9. Higher numbers signify a higher priority (that is, 9 is a higher priority than 8). Default: 4. Expiration(ms) The length of time the message can remain active. 0 means that the message does not expire. Default: 0. Delivery Mode The delivery mode of messages:
Persistent Messages are stored and forwarded. Non-Persistent Messages are not stored and may be lost due

Description

The acknowledgement mode for incoming messages. Set to Auto: the message is automatically acknowledged when it is received.

to failure. Default: Non-Persistent. Operation Node Field Operation Name SOAP Action Description The name of the operation. The SOAP action that is expected from incoming SOAP requests. See the SOAP specification for more information about SOAP action.

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with SOAP Bindings 57

Field Style

Description Document, RPC, or Inherit from parent.

TIBCO ActiveMatrix Composite Editor Users Guide

58

| Chapter 4

Developing Services and References

Web Services (WS) Specification Support


ActiveMatrix SOAP services and references provide support for the following WS specifications: WS-Addressing on page 58 WS-Transfer (ActiveMatrix Service Grid only) on page 67 WS-Eventing (ActiveMatrix Service Grid only) on page 71 WS-Enumeration (ActiveMatrix Service Grid only) on page 77 WS-Reliable Messaging (ActiveMatrix Service Grid only) on page 83

WS-Addressing
The SOAP protocol does not provide a standard way to specify message destination, where to return a response, or how to report an error. Traditionally these details have usually been handled by the transport layer. For example, when a SOAP request is sent over HTTP, the URI of the HTTP request determines the message's destination. The message response is packaged in the HTTP response and received by the client over the HTTP connection. When a SOAP request message is sent asynchronously through JMS, a destination for responses might be specified in the JMS message headers, incorporated into the message body, or left up to the service implementation. The WS-Addressing specification (see http://www.w3.org/Submission/ws-addressing/) provides a uniform method for incorporating delivery, reply-to, and fault handler addressing information into a SOAP envelope. WS-Addressing defines two constructs that convey such addressing information: endpoint references and message information headers. A Web service endpoint is a resource where Web service messages can be targeted. An endpoint reference conveys the information needed to identify a Web service endpoint, and may be used in several different ways: endpoint references are suitable for conveying the information needed to access a Web service endpoint, but are also used to provide addresses for individual messages sent to and from Web services. Message information headers allow uniform addressing of messages independent of underlying transport. These message information headers convey end-to-end message characteristics including addressing for source and destination endpoints as well as message identity.

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 59

Enabling WS-Addressing To enable WS-Addressing: Check the Enable WS-Addressing checkbox on a SOAP endpoint. See Endpoint Node on page 51 and HTTP Endpoint Node on page 54. Enable WS-Addressing on ActiveMatrix nodes that host SOAP references configured for non-anonymous WS-Addressing. To enable WS-Addressing on a node where the SOAP reference will be deployed, you must install a shared resource of type HTTP server with the WS-Addressing resource function enabled. See Resource Functions in TIBCO ActiveMatrix Administration.

Accessing WS-Addressing Properties For information on how to access WS-Addressing properties in a Java component implementation, see Accessing WS-Addressing Properties in a Java Component Implementation in TIBCO ActiveMatrix Service Grid Component Developers Guide. Endpoint References An endpoint reference contains an address (a URI), reference properties, reference parameters, a port type, and a service name. The only required element of an endpoint reference is the address; the other elements are all optional. Thus, the simplest endpoint reference is a URI:
<wsa:Address> http://localhost:9090/axis2/services/billing_service </wsa:Address>

The port type and service name elements are very similar to their WSDL counterparts. A reference property is used to identify the endpoint at which a service is deployed. Two endpoint references that share a URI but specify different reference property values represent two different services. Reference properties are used to dispatch a request to the appropriate service. A reference parameter is used to identify a resource managed by a particular service. Reference parameters tell a service which resources to handle. They do not identify the service. Endpoint Reference Schema The schema of an endpoint reference is:
<wsa:EndpointReference> <wsa:Address>xs:anyURI</wsa:Address> <wsa:ReferenceProperties>... </wsa:ReferenceProperties> ? <wsa:ReferenceParameters>... </wsa:ReferenceParameters> ? <wsa:PortType>xs:QName</wsa:PortType> ? <wsa:ServiceName PortName="xs:NCName"?>xs:QName</wsa:ServiceName> ?

TIBCO ActiveMatrix Composite Editor Users Guide

60

| Chapter 4

Developing Services and References

<wsp:Policy> ... </wsp:Policy>* </wsa:EndpointReference>

Example
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:example="example.com"> <wsa:Address>http://example.com/weather</wsa:Address> <wsa:ReferenceProperties> <example:ServiceLevel>Basic</example:ServiceLevel> </wsa:ReferenceProperties> <wsa:ReferenceParameters> <example:CityCode>NYC</example:CityCode> </wsa:ReferenceParameters> </wsa:EndpointReference>

Message Information Headers The message information headers define the types of addressing information that can be attached to a SOAP message. Most of the elements are optional; the only required element is Action elements. If present, the request is delivered to the URI specified in the To element. The Action URI indicates the action to be taken. In an HTTP request, these would be the same URI. In a non-HTTP request, the To URI may differ from the Action URI. Message Information Header Properties The message information headers augment a message with the properties listed in Table 15. Table 15 Message Header Properties Property [action] : URI (1..1) Description An absolute URI that uniquely identifies the semantics implied by this message. The value of the [action] property should be an URI identifying an input, output, or fault message within a WSDL interface or port type. An action may be explicitly or implicitly associated with the corresponding WSDL definition. See Configuring the Action Property on page 63. [destination] : URI (1..1) The address of the intended receiver of this message.

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 61

Table 15 Message Header Properties (Contd) Property [fault endpoint] : endpoint reference (0..1) Description An endpoint reference that identifies the intended receiver for faults related to this message. If the [fault endpoint] is absent, the sender may use the contents of the [reply endpoint] to formulate the fault message. If both the [fault endpoint] and [reply endpoint] are absent, the sender may use the contents of the [source endpoint] to formulate the fault message. This property may be absent if the sender cannot receive fault messages (for example, is a one-way application message). If this property is present, the [message id] property is required. A URI that uniquely identifies this message in time and space. No two messages with a distinct application intent may share a [message id] property. A message may be retransmitted for any purpose including communications failure and may use the same [message id] property. Corresponds to the value of the [reference parameters] property of the endpoint reference to which the message is addressed. A pair of values that indicate how this message relates to another message. The type of the relationship is identified by a QName. The related message is identified by a URI that corresponds to the related message's [message id] property. The message identifier URI may refer to a specific message, or be the following well-known URI that means "unspecified message": http://schemas.xmlsoap.org/ws/2004/08/addressing/id/unspecified The WS-Addressing specification has one predefined relationship type: wsa:Reply Indicates that this is a reply to the message identified by the URI. A reply message must contain a [relationship] property consisting of wsa:Reply and the message id property of the request message. [reply endpoint] : endpoint reference (0..1) An endpoint reference that identifies the intended receiver for replies to this message. If a reply is expected, a message must contain a [reply endpoint]. If the [reply endpoint] is absent, the contents of the [source endpoint] may be used to formulate a message to the source. This property may be absent if the message has no meaningful reply. If this property is present, the [message id] property is required. Reference of the endpoint where the message originated from.

[message id] : URI (0..1)

[reference parameters] xs:any (0..unbounded) [relationship] : (URI, URI) (0..unbounded)

[source endpoint] : endpoint reference (0..1)

TIBCO ActiveMatrix Composite Editor Users Guide

62

| Chapter 4

Developing Services and References

Message Information Header Elements Table 16 lists the syntax of the message information header elements. Table 16 Message Information Header Elements Element /wsa:Action Description Required. Conveys the action related to a message. For example, the wsa:Action property can be used to identify the operation to be invoked upon receiving a request message. Provides the fault endpoint reference. Indicates where the fault message should be sent to in case there is a fault. If this is not present, usually the fault will be sent back to the endpoint where the request came from. Provides the source endpoint reference. Indicates where the message came from. Conveys the ID of a message that can be used to uniquely identify a message. Contributes one abstract [relationship] property value, in the form of an (URI, URI) pair. The content of this element (of type xs:anyURI) conveys the [message id] of the related message. Provides the reply endpoint reference. Indicates where the reply for the request message should be sent to. If this is not present, usually the reply will be sent back to the endpoint where the request came from. Provides the destination URI. This property indicates where the message will be sent to. If this element is not present then the value of the [destination] property is http://www.w3.org/2005/08/addressing/anonymous. Each element information item found in [reference parameters] (including all of that elements [children], [attributes] and [in-scope namespaces]) is represented as is. Example
<soapenv:Envelope xmlns:soapenv='http://www.w3.org/2003/05/soap-envelope'> <soapenv:Header xmlns:wsa='http://www.w3.org/2005/08/addressing'> <wsa:To>http://localhost:9090/axis2/services/order_service</wsa: To> <wsa:Action>http://tibco.com/addr/order</wsa:Action> <wsa:ReplyTo> <wsa:Address> http://localhost:9090/axis2/services/billing_service </wsa:Address>

/wsa:FaultTo

/wsa:From /wsa:MessageID /wsa:RelatesTo

/wsa:ReplyTo

/wsa:To

/[reference parameters]*

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 63

</wsa:ReplyTo> <wsa:FaultTo> <wsa:Address> http://localhost:9090/axis2/services/reorder_service </wsa:Address> </wsa:FaultTo> <wsa:MessageID>a4dfb94a-593b-1dc1-36d2-000000000000</wsa:Message ID> </soapenv:Header> <soapenv:Body> </soapenv:Body> </soapenv:Envelope>

Configuring the Action Property WS-Addressing defines two mechanisms to associate a value of the [action] property with input, output, and fault elements within a WSDL description: explicit and defaulting. Explicit Association In an explicit association, the [action] property value is set from the value of the Action elements specified for the input, output, and fault messages or the value of the soapAction attribute set in the transport header. Example:
<?xml version="1.0" encoding="utf-8"?> <definitions targetNamespace="someuri"> <portType name="Hello_PortType"> <operation name="sayHello"> <input message="SayHelloRequest" wsam:Action="http://tibco.com/HelloService/Request"/> <output message="SayHelloResponse" wsam:Action="http://tibco.com/HelloService/Response"/> </operation> </portType> Input message [action] = "http://tibco.com/HelloService/Request" Output message [action] = "http://tibco.com/HelloService/Response"

Default Association If neither the Action elements or soapAction attribute is specified, the [action] property value is constructed as follows: Input and output messages
targetnamespace/porttypename/messagename

Fault message
targetnamespace/porttypename/operationname/Fault/messagename
TIBCO ActiveMatrix Composite Editor Users Guide

64

| Chapter 4

Developing Services and References

Example:
<?xml version="1.0" encoding="utf-8"?> <definitions targetNamespace="http://tibco.com/defaulting "> <portType name="Hello_PortType"> <operation name="sayHello"> <input message="SayHelloRequest"/> <output message="SayHelloResponse" /> <fault message="InvalidMessage" name="InvalidRequest"/> </operation> </portType> Input message [action] = "http://tibco.com/defaulting/ Hello_PortType/SayHelloRequest" Output message [action] = "http://tibco.com/defaulting/ Hello_PortType/SayHelloResponse" Fault message [action] = "http://tibco.com/defaulting/Hello_PortType/ sayHello/Fault/InvalidRequest"

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 65

Validation and Fault Handling Most WS-Addressing elements are optional. If these elements are omitted, the SOAP container does not return a fault message. To enable validation, configure the endpoint as described in Endpoint Node on page 51. The faults defined in this section are generated if the condition stated in the preamble in each subsection is met. They are sent to the [fault endpoint], if present and valid. Otherwise they are sent to the [reply endpoint] if present. If neither is present faults may be sent to the [source endpoint]. The [action] property designates WS-Addressing fault messages (this URI is also used as default Action value for WSDL fault messages: http://schemas.xmlsoap.org/ws/2004/08/addressing/fault The definitions of faults use the following properties: Table 17 Fault Properties Property [Code] [Subcode] or [Subsubcode] [Details] Description The fault code. The fault subcode. The detail element. If absent, no detail element is defined for the fault.

SOAP Binding Flags The handling of WS-Address headers depends on the state of the SOAP binding flags:
Enable WS Addressing When checked, the WS-Addressing headers are

validated. If unchecked, the request URI (see Endpoint URI on page 52) determines the service name and the soapAction transport header (see SOAP Action on page 53) determines the operation. The following sections describe the behavior of the SOAP container when incoming requests are missing WS-Addressing header elements: /wsa:Action on page 66 /wsa:To on page 66 /wsa:ReplyTo on page 66 /wsa:FaultTo on page 67

TIBCO ActiveMatrix Composite Editor Users Guide

66

| Chapter 4

Developing Services and References

Enable Anonymous Request When checked, the response is synchronously

sent back to the client. /wsa:Action Missing /wsa:Action The SOAP container returns a fault message with the details:
<ProblemAction xmlns="http://www.w3.org/2005/08/addressing"> <Action>NULL</Action> </ProblemAction>

If this header is set but is invalid, the SOAP container returns a fault message with the details:
<ProblemAction xmlns="http://www.w3.org/2005/08/addressing"> <Action>invalidAction</Action> </ProblemAction>

/wsa:To Missing /wsa:To The value of the [destination] property is set to http://www.w3c.org/2005/08/addressing/anonymous. Missing Both /wsa:Action and /wsa:To The SOAP container returns a fault message with the details:
<ProblemAction xmlns="http://www.w3.org/2005/08/addressing"> <Action>NULL</Action> </ProblemAction>

/wsa:ReplyTo Missing /wsa:ReplyTo The [address] property of the [reply endpoint] is set to http://www.w3c.org/2005/08/addressing/anonymous. If this element is missing or invalid, the SOAP container synchronously returns a response message to the client with WS-Addressing header populated. Missing /wsa:ReplyTo/Addressing If /wsa:ReplyTo element is present, but is missing the required address subelement, the SOAP container returns a fault message with subcode=InvalidAddressingHeader and subsubcode=MissingAddressInEPR. The [action] property is set to http://www.w3.org./2005/08/addressing/soap/fault.

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 67

/wsa:FaultTo Missing /wsa:FaultTo If the reply is a fault message the [reply endpoint] property is used. Missing Both /wsa:FaultTo and /wsa:ReplyTo The response is sent back to the client directly. The [action] property is set to http://www.w3.org./2005/08/addressing/soap/fault. Missing /wsa:FaultTo/Addressing If the /wsa:FaultTo element is present, but is missing the required Address subelement, the SOAP container returns a fault message with subcode InvalidAddressingHeader and subsubcode=MissingAddressInEPR. The [action] property is set to http://www.w3.org./2005/08/addressing/soap/fault. Missing /wsa:MessageID The SOAP container returns a fault message with subcode=MessageAddressingHeaderRequired.

WS-Transfer (ActiveMatrix Service Grid only)


The WS-Transfer submission (see http://www.w3.org/Submission/WS-Transfer/) defines a SOAP-based protocol for creating and accessing XML representations of resources accessible via a web service. WS-Transfer enables state creation and state transfer by defining how to invoke a simple set of familiar verbs (Create, Get, Post, Put, and Delete) using SOAP. The specification defines two port types:
Resource factories Entities that can create a new resource from an XML

representation
Resources Entities addressable by an endpoint reference that provide an

XML representation Running a WS-Transfer Service Running a WS-Transfer Service involves the following tasks: Task A, Create a WS-Transfer Project, on page 68 Task B, Create or Identify the Transfer Database, on page 68 Task C, Deploy Services, on page 68

TIBCO ActiveMatrix Composite Editor Users Guide

68

| Chapter 4

Developing Services and References

Task A Create a WS-Transfer Project In TIBCO Business Studio: 1. Create a WS-Transfer SOA project following the instructions in Creating an ActiveMatrix SOA Project on page 6). The WS-Transfer SOA project wizard creates a project, a composite (see Figure 9), which contains two SOAP services and a Java component, and a Java implementation of the WS-Transfer service. The wizard also creates a service assembly file. 2. Generate a service assembly archive. Figure 9 Transfer Composite

Task B Create or Identify the Transfer Database 1. Create and populate or identify a database containing the data to access using the transfer service. Task C Deploy Services To deploy the services, in ActiveMatrix Administrator: 1. Upload the transfer service assembly archive you created in Task A, Create a WS-Transfer Project, on page 68. 2. Configure the JDBC resource created in step 1 to reference the database in Task B, Create or Identify the Transfer Database, on page 68. 3. Configure the HTTP shared resource created in step 1. 4. Deploy and start the service assemblies.

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 69

Supported Operations and Required Elements The following lists the supported operations and required elements:
Get TableName and primary key Put TableName and any column name

Sample Table Schema


create table customer( AGE INTEGER, NAME char(2000), BIRTHDAY Timestamp, )

Get Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa='http://www.w3.org/2005/08/addressing'> <soapenv:Header> <wsa:MessageID>uuid:BB29FC40-CA47-1067-B31D-00DD010662DA</wsa:Mess ageID> <wsa:To>http://localhost:8089/resource</wsa:To> <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</ws a:Action> <name xmlns="" wsa:IsReferenceParameter='true'>Daphne Liu</name> <TableName xmlns="" wsa:IsReferenceParameter='true'>customer</TableName> </soapenv:Header> <soapenv:Body> <Resource> </Resource> </soapenv:Body> </soapenv:Envelope>

Get Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply" xmlns="http://www.w3.org/2005/08/addressing">uuid:BB29FC40-CA47-10 67-B31D-00DD010662DA</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing">http://schemas.xmlsoa p.org/ws/2004/09/transfer/GetResponse</Action> </SOAP-ENV:Header> <SOAP-ENV:Body> <Resources> <Resource> <AGE>8</AGE>

TIBCO ActiveMatrix Composite Editor Users Guide

70

| Chapter 4

Developing Services and References

<BIRTHDAY>2005-10-10T17:00:00Z</BIRTHDAY> <NAME>Daphne Liu</NAME> </Resource> </Resources> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Put Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa='http://www.w3.org/2005/08/addressing'> <soapenv:Header> <wsa:MessageID>uuid:BB29FC40-CA47-1067-B31D-00DD010662DA</wsa:Mess ageID> <wsa:To>http://localhost:8089/resource</wsa:To> <!--wsa:Action>Get</wsa:Action --> <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/transfer/Put</ws a:Action> <name xmlns="" wsa:IsReferenceParameter='true'>Daphne Liu</name> <TableName xmlns="" wsa:IsReferenceParameter='true'>customer</TableName> </soapenv:Header> <soapenv:Body> <Resource> <birthday>2005-10-10T12:00:00-05:00</birthday> </Resource> </soapenv:Body> </soapenv:Envelope>

Put Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply" xmlns="http://www.w3.org/2005/08/addressing">uuid:BB29FC40-CA47-10 67-B31D-00DD010662DA</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing">http://schemas.xmlsoa p.org/ws/2004/09/transfer/PutResponse</Action> </SOAP-ENV:Header> <SOAP-ENV:Body/> </SOAP-ENV:Envelope>

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 71

WS-Eventing (ActiveMatrix Service Grid only)


WS-Eventing (see http://www.w3.org/Submission/WS-Eventing/) defines a standard that enables interoperable publish-subscribe systems. The WS-Eventing specification defines two types of services: an event source that allows clients to subscribe to notifications and defines the format of the notifications and a subscription manager that allows clients to manage the subscriptions. The WS-Eventing submission defines two port types:
EventSource An operation for creating a subscription: SubscribeOp SubscriptionManager Operations for renewing a subscription, unsubscribing,

and getting status about a subscription: RenewOp, GetStatusOp, and UnsubscribeOp. When an event source accepts a request to create a subscription, it typically does so for a given amount of time, although an web service may accept an indefinite subscription. If the subscription manager accepts a renewal request, it updates that amount of time. During that time, notifications are delivered to the client. An event source sends notifications until the subscription manager accepts an unsubscribe request for the subscription or the subscription expires without being renewed. Event Source A WSDL file that defines an event source must: Include
xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" wsdl:definitions

in the

element.

Define a notification operation containing at least one wsdl:output message. Only define port types with out-only MEPs The event source port type must have the wse:EventSource attribute set to true.

For example, the following WSDL file has an operation named WindMsg with one output message named WindReport. The WindMsg operation is contained in the Warnings port type, which has a wse:EventSource attribute set to true:
<wsdl:definitions targetNamespace="http://www.example.org/oceanwatch" xmlns:tns="http://www.example.org/oceanwatch" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <wsdl:import namespace="http://schemas.xmlsoap.org/ws/2004/08/eventing" location=

TIBCO ActiveMatrix Composite Editor Users Guide

72

| Chapter 4

Developing Services and References

"http://schemas.xmlsoap.org/ws/2004/08/eventing/eventing.wsdl" /> <wsdl:types> <xs:schema targetNamespace="http://www.example.org/oceanwatch" elementFormDefault="qualified" blockDefault="#all" > <xs:element name="WindReport" > <xs:complexType> <xs:sequence> <xs:element name="Date" type="xs:string" /> <xs:element name="Time" type="xs:string" /> <xs:element name="Speed" type="xs:string" /> <xs:element name="Location" type="xs:string" /> <xs:element name="County" type="xs:string" /> <xs:element name="State" type="xs:string" /> <xs:element name="Lat" type="xs:string" /> <xs:element name="Long" type="xs:string" /> <xs:element name="Comments" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </wsdl:types> <wsdl:message name="WindMsg" > <wsdl:part name="body" element="tns:WindReport" /> </wsdl:message> <wsdl:portType name="Warnings" wse:EventSource="true" > <wsdl:operation name="WindOp" > <wsdl:output message="tns:WindMsg" /> </wsdl:operation> </wsdl:portType> </wsdl:definitions>

Running a WS-Eventing Service Running a WS-Eventing service involves the following tasks: Task A, Create a WS-Eventing SOA Project, on page 72 Task B, Create Subscription Database Tables, on page 73 Task C, Deploy Services, on page 73

Task A Create a WS-Eventing SOA Project In TIBCO Business Studio: 1. Create a WS-Eventing project following the instructions in Creating an ActiveMatrix SOA Project on page 6. The WS-Eventing SOA project wizard creates a project and a composite (see Figure 10 on page 73), which contains two SOAP services, two Java components, a Java implementation of the WS-Eventing EventSource port type, and an implementation of your event source application service. The wizard also creates a service assembly file.
TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 73

2. Generate a service assembly archive. Figure 10 Event Composite


.

Task B Create Subscription Database Tables 1. Create a database to hold WS-Eventing subscription information. 2. Create the subscription table in the database using the SQL script AMX_HOME\2.1\amxservices\eventing-service\sql.txt. Task C Deploy Services To deploy the services, in ActiveMatrix Administrator: 1. Upload the WS-Eventing manager service assembly archive in
AMX_HOME\2.1\amxservices\eventing-service\Ws-Eventing-Manager
\Deployment Packages\Ws_Eventing-Manager.zip.

When you upload the archive HTTP server and JDBC shared resource definitions are created.

You must deploy a WS-Eventing manager service assembly on each node on which you run WS-Eventing services. 2. Upload the event source service assembly archive you created in Task A, Create a WS-Eventing SOA Project, on page 72. 3. Configure the JDBC resource created in step 1 to reference the database you created in Task B, Create Subscription Database Tables, on page 73. 4. Configure the HTTP shared resources for your environment.
TIBCO ActiveMatrix Composite Editor Users Guide

74

| Chapter 4

Developing Services and References

5. Deploy and start the service assemblies. Supported Operations This section lists the supported operations and provides sample requests and responses: SubscribeOp GetStatusOp RenewOp UnsubscribeOp

Subscription with No Expiration


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:even="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:add="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing"> <soapenv:Header> <wsa:MessageID>uuid:6tB29FC40-CA47-1067-B31D-00DD010662DA</wsa:Mes sageID> <wsa:To>http://localhost:8094/eventsource</wsa:To> <wsa:FaultTo> <wsa:Address>http://localhost:8089/soap-java-inout</wsa:Address> </wsa:FaultTo> <wsa:Action>SubscribeOp</wsa:Action> </soapenv:Header> <soapenv:Body> <wse:Subscribe> <wse:Delivery> <wse:NotifyTo> <wsa:Address>http://localhost:9091/vacation</wsa:Address> </wse:NotifyTo> </wse:Delivery> </wse:Subscribe> </soapenv:Body> </soapenv:Envelope>

Subscription Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply" xmlns="http://www.w3.org/2005/08/addressing">uuid:6tB29FC40-CA47-1 067-B31D-00DD010662DA</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing">SubscribeOp</Action>

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 75

</SOAP-ENV:Header> <SOAP-ENV:Body> <SubscribeResponse xmlns="http://schemas.xmlsoap.org/ws/2004/08/eventing"> <SubscriptionManager> <Address xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://lo calhost:8094/subscriptionmanager</Address> <ReferenceParameters xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <Identifier xmlns="http://schemas.xmlsoap.org/ws/2004/08/eventing">6eec2510-20 9a-4adf-b9be-942e17c13486</Identifier> </ReferenceParameters> </SubscriptionManager> </SubscribeResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

The subscribe response provides the subscription manager URL as http://localhost:8094/subscriptionmanager. The port number is the same as the port on which the event source is running. However when you deploy the eventing manager its possible that eventing manager is running on different port, for example 9996. You should use the correct URL in any requests to the subscription manager. GetStatus Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:even="http://schemas.xmlsoap.org/ws/2004/08/eventing"> <soapenv:Header> <wsa:MessageID>uuid:6B29FC41-CA47-1067-B31D-00DD010662DA</wsa:Mess ageID> <wsa:To>http://localhost:9996/subscriptionmanager</wsa:To> <wsa:Action>GetStatusOp</wsa:Action> <wse:Identifier>6eec2510-209a-4adf-b9be-942e17c13486</wse:Identifi er> </soapenv:Header> <soapenv:Body> <even:GetStatus/> </soapenv:Body> </soapenv:Envelope>

GetStatus Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply"

TIBCO ActiveMatrix Composite Editor Users Guide

76

| Chapter 4

Developing Services and References

xmlns="http://www.w3.org/2005/08/addressing">uuid:6B29FC41-CA47-10 67-B31D-00DD010662DA</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing">GetStatusOp</Action> </SOAP-ENV:Header> <SOAP-ENV:Body> <GetStatusResponse xmlns="http://schemas.xmlsoap.org/ws/2004/08/eventing"/> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Renew Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing"> <soapenv:Header> <wsa:MessageID>uuid:6B29FC41-CA47-1067-B31D-00DD010662DA</wsa:Mess ageID> <wsa:To>http://localhost:9996/subscriptionmanager</wsa:To> <wsa:Action>RenewOp</wsa:Action> <wse:Identifier>6eec2510-209a-4adf-b9be-942e17c13486</wse:Identifi er> </soapenv:Header> <soapenv:Body> <wse:Renew> <wse:Expires>2008-07-29T11:24:37.824-07:00</wse:Expires> </wse:Renew> </soapenv:Body> </soapenv:Envelope>

Renew Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply" xmlns="http://www.w3.org/2005/08/addressing">uuid:6B29FC41-CA47-10 67-B31D-00DD010662DA</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing">RenewOp</Action> </SOAP-ENV:Header> <SOAP-ENV:Body> <RenewResponse xmlns="http://schemas.xmlsoap.org/ws/2004/08/eventing"> <Expires>2008-07-29T11:24:37.824-07:00</Expires> </RenewResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 77

Unsubscribe Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:even="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:add="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing"> <soapenv:Header> <wsa:MessageID>uuid:6B29FC40-CA47-1067-B31D-00DD010662DA</wsa:Mess ageID> <wsa:ReplyTo> <wsa:Address>http://localhost:8084/soap-java-inout</wsa:Address> </wsa:ReplyTo> <wsa:To>http://localhost:9996/subscriptionmanager</wsa:To> <wsa:FaultTo> <wsa:Address>http://localhost:8089/soap-java-inout</wsa:Address> </wsa:FaultTo> <wsa:Action>UnsubscribeOp</wsa:Action> <wse:Identifier>6eec2510-209a-4adf-b9be-942e17c13486</wse:Identifi er> </soapenv:Header> <soapenv:Body> <wse:Unsubscribe /> </soapenv:Body> </soapenv:Envelope>

Unsubscribe Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply" xmlns="http://www.w3.org/2005/08/addressing">uuid:6B29FC40-CA47-10 67-B31D-00DD010662DA</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing">UnsubscribeOp</Action > </SOAP-ENV:Header> <SOAP-ENV:Body/> </SOAP-ENV:Envelope>

WS-Enumeration (ActiveMatrix Service Grid only)


The WS-Enumeration submission (see http://www.w3.org/Submission/WS-Enumeration/) describes a SOAP-based protocol suitable for traversing logs, message queues, or other linear information sets. The submission defines a single port type: DataSource. This port type

TIBCO ActiveMatrix Composite Editor Users Guide

78

| Chapter 4

Developing Services and References

contains operations for initializing an enumeration, producing a sequence of XML elements, renewing an enumeration, getting status on the enumeration, releasing the enumeration, and notifying when an enumeration terminates: EnumerateOp, PullOp, RenewOp, GetStatusOp, ReleaseOp, EnumerationEnd. An enumeration is initiated by invoking an Enumerate operation on a data source. The data source returns a session abstraction, called an enumeration context, which represents a logical cursor through a sequence of data items. When the Pull operation is invoked in the context of a specific enumeration, the data source produces a sequence of XML elements in the body of a SOAP message. Each subsequent Pull operation returns a specified number of elements in the sequence. Running a WS-Enumeration Service Running a WS-Enumeration service involves the following tasks: Task A, Create WS-Enumeration SOA Project, on page 78 Task B, Create or Identify the Enumeration Database, on page 79 Task C, Configure Enumeration Table Name in Generated Implementation, on page 79 Task D, Create Enumeration Resource Database Tables, on page 79 Task E, Deploy Services, on page 79

Task A Create WS-Enumeration SOA Project In TIBCO Business Studio: 1. Create a WS-Enumeration source composite following the instructions in Creating an ActiveMatrix SOA Project on page 6. The WS-Enumeration SOA project wizard creates a project and composite (see Figure 11), which contains a SOAP service, Java component, and AMX references that reference a sample transfer service and a Java implementation of the WS-Enumeration service.The wizard also creates a service assembly file. 2. Generate a service assembly archive.

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 79

Figure 11 Enumeration Composite

Task B Create or Identify the Enumeration Database 1. Create and populate or identify a database containing the data to access using the enumeration service. Task C Configure Enumeration Table Name in Generated Implementation 1. The implementation of the Java component generated in Task A, Create a WS-Eventing SOA Project, on page 72 returns the name of the enumeration database table in the following statement:
protected String getTableName() { return "log4jparamtype"; }

Replace log4jparamtype with the name of the database table you created in Task B, Create or Identify the Enumeration Database, on page 79. 2. Update the service assembly file and rebuild the archive created in Task A. Task D Create Enumeration Resource Database Tables 1. Create a database to hold enumeration resource information. 2. Create the enumeration resource table in the database using the SQL script AMX_HOME\2.1\amxservices\transfer-service\sql.txt. Task E Deploy Services To deploy the services, in ActiveMatrix Administrator: 1. Upload the WS-Transfer sample service assembly archive in
AMX_HOME\2.1\amxservices\transfer-service\AmfTransferServices

TIBCO ActiveMatrix Composite Editor Users Guide

80

| Chapter 4

Developing Services and References

\Deployment Packages\AmfTransferService.zip.

When you upload the archive HTTP server and JDBC shared resource definitions are created.

You must deploy a WS-Transfer sample service on each node on which you run WS-Enumeration services. 2. Configure the JDBC shared resource definition created when you uploaded the WS-Transfer service assembly archive to reference the database discussed in Task B, Create or Identify the Enumeration Database, on page 79. 3. Upload the enumeration service assembly archive you created in Task A, Create WS-Enumeration SOA Project, on page 78. 4. Configure the JDBC shared resource definition created when you uploaded the enumeration service assembly archive that references the database you created in Task D, Create Enumeration Resource Database Tables, on page 79. 5. Configure HTTP shared resources for your environment. 6. Deploy and start the service assemblies. Supported Operations and Required Elements This section lists the supported operations and required elements and provides sample requests and responses: EnumerateOp
wsa:action.

PullOp wsa:action and wsen:EnumerationContext. If maxElements is not present, all rows in the table are pulled. GetStatusOp ReleaseOp RenewOp

Enumerate Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:enum="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:MessageID>uuid:6B29FC40-CA47-1067-B31D-00DD010662DB</wsa:Mess ageID> <wsa:To>http://localhost:8082/datasource</wsa:To> <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enum erate</wsa:Action> </soapenv:Header> <soapenv:Body>

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 81

<enum:Enumerate> <enum:EndTo> <wsa:Address>http://localhost:8082/test</wsa:Address> </enum:EndTo> <enum:Expires>2008-06-14T10:00:00-07:00</enum:Expires> </enum:Enumerate> </soapenv:Body> </soapenv:Envelope>

Enumerate Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply" xmlns="http://www.w3.org/2005/08/addressing">uuid:6B29FC40-CA47-10 67-B31D-00DD010662DB</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing"/> </SOAP-ENV:Header> <SOAP-ENV:Body> <EnumerateResponse xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration"> <Expires>2008-06-14T10:00:00-07:00</Expires> <EnumerationContext>8534ac02-dd3c-4e87-87ea-334b322a7895</Enumerat ionContext> </EnumerateResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Pull Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:enum="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:MessageID>uuid:6B29FC40-CA47-1067-B31D-00DD010662DB</wsa:Mess ageID> <wsa:To>http://localhost:8082/datasource</wsa:To> <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull </wsa:Action> <wsa:FaultTo> <wsa:Address>http://localhost:5018/test</wsa:Address> </wsa:FaultTo> <wsa:ReplyTo> <wsa:Address>http://localhost:5017/test</wsa:Address> </wsa:ReplyTo> <wsa:From> <wsa:Address>http://localhost:8080/test</wsa:Address> </wsa:From> </soapenv:Header> <soapenv:Body> <enum:Pull>

TIBCO ActiveMatrix Composite Editor Users Guide

82

| Chapter 4

Developing Services and References

<enum:EnumerationContext>8534ac02-dd3c-4e87-87ea-334b322a7895</enu m:EnumerationContext> <enum:MaxElements>2</enum:MaxElements> </enum:Pull> </soapenv:Body> </soapenv:Envelope>

Pull Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RelatesTo RelationshipType="{http://www.w3.org/2005/08/addressing}Reply" xmlns="http://www.w3.org/2005/08/addressing">uuid:6B29FC40-CA47-10 67-B31D-00DD010662DB</RelatesTo> <Action xmlns="http://www.w3.org/2005/08/addressing">PullOp</Action> </SOAP-ENV:Header> <SOAP-ENV:Body> <PullResponse xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration"> <EnumerationContext>72689ec6-3841-45ca-a40d-af5891fcdb2b</Enumerat ionContext> <Items> <Items> <item id="0" xmlns=""> <FIRSTNAME>fname2</FIRSTNAME> <LASTNAME>lname2</LASTNAME> <SSN>2</SSN> <AGE>2</AGE> </item> <item id="1" xmlns=""> <FIRSTNAME>fname3</FIRSTNAME> <LASTNAME>lname3</LASTNAME> <SSN>3</SSN> <AGE>3</AGE> </item> </Items> </Items> </PullResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 83

WS-Reliable Messaging (ActiveMatrix Service Grid only)


The WS-Reliable Messaging 1.1 specification (see http://docs.oasis-open.org/ws-rx/wsrm/200702/wsrm-1.1-spec-os-01.html) describes a protocol that allows messages to be transferred reliably in the presence of software component, system, or network failures. The protocol is described in this specification in a transport-independent manner allowing it to be implemented using different network technologies. To support interoperable Web services, a SOAP binding is defined within the specification. As illustrated in Figure 12 on page 83, the participants in reliable messaging are application source (AS), application destination (AD), reliable message source (RMS), and reliable message destination (RMD). Figure 12 WS-RM Participants

Application Source Send Reliable Message Source

Application Destination Deliver Reliable Message Destination

WS-RM

An AS wants to reliably send messages to an AD over an unreliable infrastructure. To accomplish this it uses a reliable message source (RMS) and a reliable message destination (RMD). The AD sends a message to the RMS. The RMS uses the WS-Reliable Messaging (WS-RM) protocol to transmit the message to the RMD. The RMD delivers the message to the AD. If the RMS cannot transmit the message to the RMD for some reason, raises an exception or otherwise indicates to the AS that the message was not transmitted. The AS and RMS can be implemented within the same process space or they be separate components. Similarly, the AD and RMD can exist within the same process space or be separate components. Delivery Guarantees WS-Reliable Messaging supports the following delivery guarantees:
At Least Once Each message is delivered to the AD at least once. If a message

cannot be delivered, an error must be raised by the RMS, RMD or both.

TIBCO ActiveMatrix Composite Editor Users Guide

84

| Chapter 4

Developing Services and References

Messages may be delivered to the consumer more than once (that is, the consumer may get duplicate messages).
At Most Once Each message is delivered to the AD at most once. Messages may not be delivered to the AD, but the AD will never get duplicate messages. Exactly Once Each message will be delivered to the AD exactly once. If a message cannot be delivered, an error must by raised by the RMS, RMD, or both. The Ad will never get duplicate messages. In Order Messages will be delivered from the RMD to the AD in the order that they are sent from the AS to the RMS. This guarantee can be combined with any of the other guarantees.

The current ActiveMatrix release supports In Order, Exactly Once delivery guarantees. Composition with WS-Addressing When the WS-RM protocol is composed with the WS-Addressing specification, the following rules prescribe the constraints on the value of the wsa:Action header: When an endpoint generates a message that carries an RM protocol element in the body of a SOAP envelope, that endpoint must include in that envelope a wsa:Action SOAP header block whose value is an IRI that is a concatenation of the WS-RM namespace URI, followed by a "/", followed by the value of the local name of the child element of the SOAP body. For example, for a Sequence creation request message, the value of the wsa:Action IRI would be http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequence. When an endpoint generates an acknowledgement message that has no element content in the SOAP body, then the value of the wsa:Action IRI must be http://docs.oasis-open.org/ws-rx/wsrm/200702/SequenceAcknowledgeme nt. When an endpoint generates an acknowledgement request that has no element content in the SOAP body, then the value of the wsa:Action IRI must be http://docs.oasis-open.org/ws-rx/wsrm/200702/AckRequested. When an endpoint generates an RM fault, the value of the wsa:Action IRI must be http://docs.oasis-open.org/ws-rx/wsrm/200702/fault.

TIBCO ActiveMatrix Composite Editor Users Guide

Web Services (WS) Specification Support 85

Enabling Reliable Messaging As shown in Figure 12 on page 83, there are four roles in a reliable messaging scenario. Figure 13 on page 85 illustrates how the roles are mapped to composite elements. This section describes how to enable reliable messaging in the participating elements. Figure 13 Reliable Messaging Participants
Composite 1
Application Source SOAP Reference

Composite 2
Application Destination

Component 1 Component

SOAP Reference

Component 2 Component

Reliable Message Source Legend Component Service Component Reference Binding Message Flow

Reliable Message Destination

As shown in the figure, the Application Source role is performed by Component 1 and a SOAP reference. Reliable messaging commences when Component 1 initiates a reliable conversation. For a description of how to configure Java component references to initiate reliable conversations, see Using References In a Java Component in TIBCO ActiveMatrix Service Grid Component Developers Guide. In order for the SOAP reference to participate in reliable messaging you must enable WS-Reliable Messaging for the SOAP reference as described in HTTP Endpoint Node on page 54. When reliable messaging is enabled, the SOAP reference communicates with a Reliable Message Source implemented by the ActiveMatrix infrastructure. The Application Destination role is performed by a SOAP service, which like the reference must be enabled for WS-Reliable Messaging (see Endpoint Node on page 51) and Component 2. The SOAP service communicates with a Reliable Message Destination implemented by the ActiveMatrix infrastructure.

TIBCO ActiveMatrix Composite Editor Users Guide

86

| Chapter 4

Developing Services and References

Because WS-Reliable Messaging requires WS-Addressing you must also enable WS-Addressing (see Enabling WS-Addressing on page 59) on both the SOAP reference and service.

TIBCO ActiveMatrix Composite Editor Users Guide

Developing References with Adapter Bindings 87

Developing References with Adapter Bindings


TIBCO Adapters provide bridges between third-party enterprise applications and standard TIBCO messaging infrastructures. The Adapter models the operations supported by the target application and converts them into TIBCO Rendezvous or JMS messages. To learn about TIBCO Adapters, see the TIBCO Adapter product documentation. Adapter references integrate TIBCO Adapter applications, or any applications built with the TIBCO Adapter SDK, with ActiveMatrix. The references convert Adapter messages to ActiveMatrix messages and vice versa.

Use Cases
The Adapter container supports the following reference use cases and corresponding MEPs: ActiveMatrix publisher communicating with an Adapter subscriber
In-Only An ActiveMatrix component generates a message, which gets sent to the Adapter container. The publisher running in the Adapter container publishes the message, which is then received by the Adapter subscriber.

ActiveMatrix subscriber Communicating with an Adapter publisher


Out-Only An Adapter publishes a message. The message is received by a

subscriber running in the Adapter container, which then sends the message to an ActiveMatrix component. Adapter RPC client communicating with an ActiveMatrix server
Out-In An Adapter RPC client sends a request to the RPC server running in

the Adapter container. The Adapter container sends a message to an ActiveMatrix component and then sends the response back to the Adapter RPC client.
Out-Only A variation of this use case occurs when the Adapter RPC client

does a one-way invoke on the Adapter RPC server running in the Adapter container. In this case, the Adapter container does not send a reply back. ActiveMatrix RPC client communicating with an Adapter RPC server
In-Out An ActiveMatrix component sends a message to the Adapter container. The RPC client running in the Adapter container sends a request to the Adapter RPC server.

TIBCO ActiveMatrix Composite Editor Users Guide

88

| Chapter 4

Developing Services and References

In-Only A variation of this use case occurs when the RPC client running in the

Adapter container does a one-way invoke of the Adapter RPC server. In this case, the Adapter RPC server does send a reply back. ActiveMatrix supports the WSDL 1.1 standard, which does not contain a Robust In-Only MEP. Therefore the publish-subscribe scenarios and the one-way invocation variations of the RPC client-server scenarios do not handle exceptions or faults that may arise during one-way send or invocation.

TIBCO Adapter Project Restrictions


The following restrictions apply to TIBCO Adapter projects that are integrated with ActiveMatrix: Before importing TIBCO Adapter for Files projects, you must specify Reference for the Endpoint Type in all the associations for child records in the native schema of both FAReader and FAWriter. This field is not mandatory when testing the adapter locally. For Rendezvous transport, the supported QoS and wire formats are: QoS: Reliable/Certified Wire format: ActiveEnterprise Message, XML Message For JMS transport, the supported Connection Factory Type and wire formats are: Connection Factory Type: Topic or Queue Wire format: XML Message You should have only one service per Adapter configuration file especially for client and server endpoints. If you have client and server endpoints in the same adapter WSDL, you will not be able to generate a concrete WSDL for a SOAP service that uses the Adapter reference; TIBCO Business Studio will emit errors regarding the message sequence being changed from in-out to out-in.

Creating a Reference with an Adapter Binding


To create a reference with an Adapter binding: 1. Start TIBCO Business Studio. 2. Create a project by executing File > New > Project > General > Project. 3. Import the TIBCO Adapter project into the folder you created in step 2. 4. Create an ActiveMatrix SOA project.
TIBCO ActiveMatrix Composite Editor Users Guide

Developing References with Adapter Bindings 89

Generate the concrete WSDL.

5. Right-click the AdapterConfigurationFileName.adapter file in the TIBCO Adapter project and select Generate Adapter WSDL. The Target Project dialog displays. Select the project you created in step 4. As shown in Figure 14 on page 89, TIBCO Business Studio adds two folders to the ActiveMatrix SOA project folder: schema and AdapterConfigurationFileName_resources. Figure 14 Adapter Project Files
Imported Adapter project Adapter configuration file ActiveMatrix SOA project

Resources folder

Schema folder

The schema folder contains schema files, which have type definitions referenced by the endpoints. You must create an ActiveMatrix SOA project for each Adapter project. If you generate WSDL files for two Adapter projects into the same ActiveMatrix SOA project, the baseDocument.xsd file contained in the schema\ae folder will be overridden when you generate the WSDL file for the second project.

TIBCO ActiveMatrix Composite Editor Users Guide

90

| Chapter 4

Developing Services and References

The AdapterConfigurationFileName_resources folder contains: A .dat file named AdapterConfigurationFileName_number.dat, where AdapterConfigurationFileName is the name of the adapter configuration file name in the adapter project you imported in step 3. The .dat file contains information used by the container to communicate with the adapter. A file named AdapterConfigurationFileName.adendpoints. The adapter endpoints file contains the endpoints supported by the adapter. A WSDL file named AdapterConfigurationFileName.wsdl. The adapter configuration file contains the service endpoints supported by the adapter. The generated WSDL file references the schema and .dat files. A substitution variable file named AdapterConfigurationFileName.substvar. The substitution variables are imported from the adapter configuration file. A shared resource that defines the transport used to communicate with the adapter. If the Adapter project referenced global variables, the shared resource will reference substitution variables defined in AdapterConfigurationFileName.substvar. If the Adapter project uses a JNDI connection in a JMS resource you must ensure the following: Use global variables for all JNDI parameters in the Adapter project. After generating the adapter WSDL you must create a JNDI shared resource and assign it to the generated JMS resource named DefaultJMSSession.

If more than one Adapter reference in the same composite uses a Rendezvous CM shared resource you must ensure that every adapter reference uses a different Rendezvous CM shared resource. If the same Rendezvous CM shared resource is used the Rendezvous resource will fail with a "Not Permitted" exception while creating the ledger file for the second reference. To ensure that every Adapter reference uses a different Rendezvous CM shared resource, inTIBCO Designer you must edit the RVCM session name (DefaultRVCMSession) that Designer assigns by default. See the product documentation for TIBCO Designer. All the generated files are included when you package the reference into a service assembly. Finally, TIBCO Business Studio also creates a shared resource profile in the composite that references the shared resource. 6. Add the variables AppName and InstanceId of type String with any value, to AdapterConfigurationFileName.substvar.
TIBCO ActiveMatrix Composite Editor Users Guide

Developing References with Adapter Bindings 91

7. Open a composite.
Add adapter reference to composite

8. Click the canvas and click the Adapter reference icon in the popup toolbar (see Popup Toolbars on page 4) or click Adapter in the References group of the Palette and click the canvas. An Adapter reference is added to the References area. 9. Type a name in the references activated input field. The name cannot contain spaces.

Select endpoint

10. In the Properties view, click the General tab. 11. Click the Browse button to the right of the Adapter Endpoint field. 12. Expand the project, AdapterConfigurationFileName_resources, and AdapterConfigurationFileName.adendpoints nodes in the Resource Picker. 13. Click the desired endpoints and click OK. 14. Click the Save button .

Navigating to a Shared Resource from an Adapter Reference


To navigate to a shared resource from an adapter reference: 1. In the Properties view, click the Binding tab. 2. In the tree on the left, click the endpoint node 3. Click the Shared Resource field label on the right. .

TIBCO ActiveMatrix Composite Editor Users Guide

92

| Chapter 4

Developing Services and References

Reference Configuration
General Tab Field Adapter Endpoint SDK Application Name Configuration URI Repository URI Port Type WSDL Location Readonly? Y Y Y Y Y Y Description The name of the endpoint provided by the reference. The name of the Adapter SDK application. The Configuration URI for the adapter instance. The name of the .dat file generated by TIBCO Business Studio. The port type used by the reference. The location of the WSDL file that defines the reference. The field label is a link to the WSDL file.

Binding Tab Endpoint Node Field Shared Resource Name Endpoint Type Transport Type AE Schema Class Description The shared resource profile that references the shared resource providing the transport. The field label is a link to the shared resource. The SDK component name for the endpoint. The SDK endpoint type: PUBLISHER, SUBSCRIBER, CLIENT, or SERVER. The SDK endpoint transport type: Rendezvous, Rendezvous certified, or JMS. The AE Schema class reference used by endpoint. Inferred from the element used by the operation's message part.

complexType

Operation Node Field Operation Name Description The name of the operation.

TIBCO ActiveMatrix Composite Editor Users Guide

Developing References with Adapter Bindings 93

Field Description

Description Short description of the operation.

TIBCO ActiveMatrix Composite Editor Users Guide

94

| Chapter 4

Developing Services and References

Developing Services and References with JMS Bindings


Java Message Service 1.1 (JMS) is a Java specification for messaging between applications. JMS is based on creation and delivery of messages. Messages are structured data that a JMS application sends to another JMS application. The creator of the message is known as the publisher and the receiver of the message is known as the subscriber. The TIBCO Enterprise Message Service server acts as an intermediary for the message and manages its delivery to the correct destination. To learn about TIBCO Enterprise Message Service, see the TIBCO Enterprise Message Service product documentation. JMS services and references integrate JMS applications with ActiveMatrix. The services and references convert JMS messages to ActiveMatrix messages and vice versa.

Use Cases
The JMS container supports the following service and reference use cases and corresponding MEPs. Service Use Cases You can create a service referencing port types of a component hosted inside ActiveMatrix. The component hosted inside ActiveMatrix dictates the WSDL file and provides services. ActiveMatrix publisher communicating with a JMS subscriber - Out-Only ActiveMatrix subscriber communicating with a JMS publisher - In-Only ActiveMatrix server communicating with a JMS requestor - In-Out ActiveMatrix client communicating with a JMS responder - Out-In

Reference Use Cases You can create a reference for endpoints in an existing JMS application. The JMS application dictates the WSDL file and provides services. ActiveMatrix publisher communicating with a JMS subscriber - In-Only ActiveMatrix subscriber communicating with a JMS publisher - Out-Only ActiveMatrix server communicating with a JMS requestor - Out-In ActiveMatrix client communicating with a JMS responder - In-Out

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with JMS Bindings 95

Creating a Service or Reference with a JMS Binding


To create a service or reference with a JMS binding: 1. Start TIBCO Business Studio. 2. Create an ActiveMatrix SOA project. 3. Create a WSDL file that describes the JMS application and import it into the project. 4. Open a composite. 5. Click the canvas and click the JMS service or reference icon in the popup toolbar (see Popup Toolbars on page 4) or select JMS in the Services or References group in the Palette and drop it onto the canvas. A JMS service or binding is added to the Services or References area. 6. Type a name in the service or references activated input field. The name cannot contain spaces.
Select port type

7. Select the port type of a service or reference by following the procedure described in Specifying the Port Type of a Composite Element on page 20. 8. For services, specify the target by following the procedure described in Setting the Target of a Service on page 43. 9. Specify the shared resource profile by following the procedure described in Using a Shared Resource Profile in a Service or Reference on page 43. 10. Click the Save button .

Specify target

Specify shared resource profile

JMS Service and Reference Configuration


Binding Tab Endpoint Node Field Endpoint Endpoint Name Target Destination Type Y N Required. The name of the port type in the WSDL file. Type of destination where messages are sent. Default: Queue.
TIBCO ActiveMatrix Composite Editor Users Guide

Readonly?

Description

96

| Chapter 4
Field

Developing Services and References

Readonly? N

Description Name of the destination to which one-way or request messages are sent. Default: Endpoint Name.

Target Destination Name

Operation Property Connection Config Advanced Settings Reply Destination Type Reply Destination Name Fault Property

N N

If there are multiple operations on a JMS destination, this message property contains the operation name. A JMS shared resource.

N N Y

Enabled only if this is a two-way operation. Select if this is a Topic or Queue. Required. Enabled only if this is a two-way operation. Static name of the destination or lookup name. Required only if this is a two-way operation with possibility of a fault response. Property where the JMS application expect or sends the fault information if the request-response exchange resulted in abnormal behavior.

Default Settings Default Inbound Setting Acknowledgement Mode Default Outbound Setting Priority The priority of the message. Priority is a value from 0-9. Higher numbers signify a higher priority (that is, 9 is a higher priority than 8). Default: 4. The acknowledgement mode for incoming messages. Set to Auto which means that the message is automatically acknowledged when it is received.

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with JMS Bindings 97

Field Delivery Mode

Readonly?

Description The delivery mode of messages:


Non-Persistent Messages are not stored and may be lost due to

failure.
Persistent Messages are stored and forwarded. TIBCO EMS Reliable The server never sends the producer a

receipt confirmation or access denial and the producer does not wait for it. Reliable mode decreases the volume of message traffic, allowing higher message rates. Default: Non-Persistent. Expiration How long the message can remain active (sec). 0 sec means that the message does not expire. Default: 0. Operation Node Field Operation Operation Name Target Destination Type Target Destination Name Properties Advanced Settings Reply Destination Type N Type of the destination to which reply messages are sent: One of: Inherit from Parent Queue Topic
TIBCO ActiveMatrix Composite Editor Users Guide

Readonly?

Description

Y N

The name of the interface in the WSDL file. Type of destination where messages are sent. Default: Queue.

N N

Name of the destination to which request messages are sent. A JMS application properties resource. See JMS Application Properties Shared Resource Definition Reference on page 34.

98

| Chapter 4
Field

Developing Services and References

Readonly? N

Description Enabled if Reply Destination Type is Queue or Topic. Name of the destination to which reply messages are sent. Required. Property where the JMS application expect or sends the fault information if the request-response exchange resulted in abnormal behavior. Available only for In-out and Out-in MEPs with faults. The length of time to wait before a request to the provider times out. Available only for In-out and Out-in MEPs.

Reply Destination Name Fault Property

Timeout(sec)

Inbound Message Node Field Schema JMS Message Type Readonly? Y N Description Message schema referenced in WSDL file. The type of the message. One of:
XML-Text A text message carrying XML payload that confirms to specified schema. Bytes Binary data.

Default: XML-Text. Acknowledgement Mode Durable N The acknowledgement mode for incoming messages. Set to Auto which means that the message is automatically acknowledged when it is received. Specifies a durable subscription. You must specify a name in the Durable name field that is registered with the JMS application as the durable subscription name. The subscription name registered with the JMS application for durable subscriptions. This field is only available when the Durable field is checked. Message selector for subscription and operation selector for request- response.

Durable Name

Message Selector

TIBCO ActiveMatrix Composite Editor Users Guide

Developing Services and References with JMS Bindings 99

Outbound Message Node Field Schema JMS Message Type Readonly? Y N Description Message schema referenced in WSDL file. The type of the message. One of:
XML-Text A text message carrying XML payload that confirms to specified schema. Bytes Binary data.

Default: XML-Text. Priority N Priority of the message. You can set the priority to a value from 0-9. Default: 4. Delivery Mode N The delivery mode of the message. Can be one of the following:
Persistent Messages are stored and forwarded. Non-Persistent Messages are not stored and may be lost due to failures in transmission. TIBCO EMS Reliable The consumer never sends the provider a

receipt confirmation or access denial and the provider does not wait for it. Reliable mode decreases the volume of message traffic, allowing higher message rates. Default: Non-Persistent. Expiration N How long the message can remain active in milliseconds. If set to 0, the message does not expire. Default: 0. Fault Message Node Field Schema JMS Message Type Readonly? Y N Description Message schema referenced in WSDL file. The type of the message. Set to XML-Text which is a text message carrying XML payload that confirms to specified schema.

TIBCO ActiveMatrix Composite Editor Users Guide

100

| Chapter 4

Developing Services and References

TIBCO ActiveMatrix Composite Editor Users Guide

| 101
Chapter 5

Developing Topics

This chapter describes how to create and configure topics.

Topics
Overview, page 102 Developing Topics, page 104 Topic Reference, page 105

TIBCO ActiveMatrix Composite Editor Users Guide

102

| Chapter 5

Developing Topics

Overview
A topic represents a publish-subscribe messaging channel between service consumers and providers. A message producer is referred to as publisher and the message consumer is referred to as subscriber. In publish-subscribe message system, a message has many potential recipients. As illustrated in Figure 15, many publishers may publish on a given topic and a message from one publisher may be consumed by many subscribers subscribing to a given topic. Figure 15 Consumer-Topic-Provider Binding
Consumer Provider

Consumer

Topic Definition

Provider

Consumer

Provider

You specify a topic in the ActiveMatrix design-time environment. At runtime, the topic is implemented with a JMS topic and served by TIBCO Enterprise Message Service. There are the following constraints on the bindings between topics and providers: A topic cannot bind to another topic A topic can bind only to providers that expose in-only or out-only MEPs

You configure topics in the Properties view. Figure 16 on page 103 shows a topic opened to the General property sheet.

TIBCO ActiveMatrix Composite Editor Users Guide

Overview 103

Figure 16 Topic

Tabs

On the left side of the Properties view is a set of tabs:


General General properties of the topic. Services The services provided by the topic. Subscribers A list of the topics subscribers. Appearance Visual properties of the topic.

Property sheets

On the right side of the Properties view are property sheets that change as you select different tabs. The property sheets allow you to edit properties of the topic.

Service Roles and Messaging Roles


The messaging roles that service consumers and providers play depends on the type of MEP involved in the service interaction. Table 18 summarizes the mapping of service roles to messaging roles for the MEPs supported by publish-subscribe messaging. Table 18 Service Role versus Messaging Role Service Role Consumer Provider Out-Only MEP Subscriber Publisher In-Only MEP Publisher Subscriber
TIBCO ActiveMatrix Composite Editor Users Guide

104

| Chapter 5

Developing Topics

Developing Topics

Creating a Topic
To create a topic: 1. Start TIBCO Business Studio. 2. Create an ActiveMatrix SOA project by following the procedure in Creating an ActiveMatrix SOA Project on page 6. 3. Add one or more WSDL files for which you are creating the topic to the project. 4. Create a TIBCO composite by following the instructions in Creating a Composite on page 8 or use the default composite. 5. Click the canvas and click the Topic icon in the popup toolbar (see Popup Toolbars on page 4) or click Topic in the Palette and click the canvas in the Components area. A topic is added to the Components area. 6. Type a name in the topics activated input field. The name cannot contain spaces.
Select port type

7. Select the port type by following the procedure described in Specifying the Port Type of a Composite Element on page 20. A component service and reference are added to the topic. To bind the reference to a subscriber, follow the procedure described in the next section.

Setting a Topics Subscribers


To set a topics subscribers: 1. Click the topic. 2. In the Properties view, click the Subscribers tab. 3. Check the checkbox next to the components that you want to subscribe to the topic. A wire will be drawn between the topic and the component.

TIBCO ActiveMatrix Composite Editor Users Guide

Topic Reference 105

Topic Reference

General Information
Table 19 General Information Field Name Description Port Type WSDL Location Readonly? N N Y Y Description The name of the topic. Short description of the topic. To set, click the Browse button to the right of the field and browse to a WSDL file within the project. To view the WSDL file, click the WSDL Location link.

Services Configuration
Table 20 Interface Configuration Field Name Description Readonly? Y Y Description The name of the interface. Short description of the interface.

Operation Configuration
Table 21 Operation Configuration Field Operation Name Description Readonly? Y Y Description The name of the operation. Short description of the operation.

TIBCO ActiveMatrix Composite Editor Users Guide

106

| Chapter 5

Developing Topics

TIBCO ActiveMatrix Composite Editor Users Guide

| 107
Chapter 6

Packaging Services, Components, and References

This chapter describes how to package services, components, and references into a service assembly and create a deployable service assembly archive.

Topics
Overview, page 108 Working with Service Assemblies, page 109 Service Assembly Reference, page 114

TIBCO ActiveMatrix Composite Editor Users Guide

108

| Chapter 6

Packaging Services, Components, and References

Overview
The unit of packaging in ActiveMatrix is a service assembly. You configure service assemblies in the Service Assembly Editor. Figure 17 shows a service assembly opened in the Service Assembly Editor. Figure 17 Service Assembly

Tree

On the left side of the editor is a tree whose nodes are the contents of the service assembly. The elements displayed in the tree are: Service assembly Composite Element Adapter Reference JMS Service Mediation Flow SOAP Service or Reference or Reference

Service Unit
Property sheets

Adapter JMS Mediation SOAP

On the right side of the editor are property sheets that change as you select different nodes in the tree. The property sheets allow you to edit properties of the node or properties of elements contained within the node. In the figure, the service assembly node is selected. On the right side you see service assembly properties listed in the Service Assembly Configuration area.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Service Assemblies 109

Working with Service Assemblies


This section describes the following aspects of working with service assemblies: Creating a Service Assembly on page 109 Creating a Deployable Archive on page 112 Service Assembly Reference on page 114

Creating a Service Assembly


There are two ways to create a service assembly: automatic and manual. Automatically Creating a Service Assembly The automatic method for creating a service assembly uses defaults for the service assembly file name and location and the archive file name and location. If the name of the composite is aComp.composite, the service assembly file name will be aComp.saf and the archive file name will be aComp.zip. After the service assembly is created you can edit the properties following the descriptions in Table 23 on page 114. When the Deployment Packages folder exists, the service assembly and archive file will be created in that folder. When the Deployment Packages folder does not exist, the service assembly and archive files are created in the same folder as the composite. The automatic method also assigns all components of a specific type to a single service unit of that type and all services and references of a specific type to single service unit of that type. To automatically create a service assembly, do one of the following: In a composite, right-click and select Service Assembly In the Project Explorer, right-click the composite file and select Service Assembly

TIBCO ActiveMatrix Composite Editor Users Guide

110

| Chapter 6

Packaging Services, Components, and References

Refreshing a Service Assembly Any changes you make to a composite after you generate the service assembly are not automatically reflected in the service assembly. To propagate such changes, click the Refresh icon in the top right of the service assembly editor. If you manually add or remove a service unit or element using the operations described in the next section, and later Refresh the service assembly, the element will be added back if you have not removed the element from the composite or removed if you have not added it to the composite linked to the service assembly. Manually Creating a Service Assembly To manually create a service assembly, do one of the following: Select File > New > ActiveMatrixResources... a. Click Service Assembly. b. Click Next. or Right-click the Deployment Packages folder and select Service Assembly.

Configure the assembly and archive files as follows: 1. Type the service assembly name in the Name field. a. Click a TIBCO project folder. b. If you wish to store the service assembly in a subfolder of the project folder, click Create new folder. Type the subfolder name in the Folder name field and click OK. c. Click OK. 2. Accept the default location or click the Browse... button next to the Location field. a. Select a folder in which to store the assembly file. b. Click OK. 3. Click the Browse... button next to the Composite field. a. Click a composite file and click OK.

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Service Assemblies 111

4. Accept the default archive file or click the Browse... button next to the Archive File field. a. Select a folder in which to store the archive that you generate in Creating a Deployable Archive on page 112. b. Accept the default name, which is the same as the service assembly name, or change the archive file name in the File Name field. c. Click OK. 5. Click Finish. A service assembly is created with one service unit per composite element type. Once you have created the service assembly you can add service units and composite elements by following the procedures in the next three sections. Adding a Service Unit to a Service Assembly To add a service unit to a service assembly: 1. Open the service assembly in the Service Assembly Editor. 2. In the Service Assembly editor, click the service assembly. 3. Click the Add Service Unit button. a. Select the service unit type from the Type drop-down list. b. Click OK. TIBCO Business Studio creates a service unit of the type you selected in step a and adds it to the service assembly. Adding a Composite Element to a Service Assembly To add a composite element to a service assembly: 1. Open the service assembly in the Service Assembly Editor. 2. In the Service Units tree, click the service assembly or a service unit node. 3. Click the Add Element button. a. Select the type from the Type drop-down list. b. Click the elements you wish to add to the assembly. c. Click OK. TIBCO Business Studio creates a service unit of the type you selected in step a, adds the elements to the service unit, and then adds the service unit to the service assembly. Topics referenced by the elements are implicitly added to the service assembly.

TIBCO ActiveMatrix Composite Editor Users Guide

112

| Chapter 6

Packaging Services, Components, and References

Removing a Service Unit or Element from a Service Assembly To remove a service unit or element from a service assembly: 1. Open the service assembly in the Service Assembly Editor. 2. In the Service Units tree, click the service unit or a element node. 3. Click the Remove button.

Creating a Deployable Archive


To create a deployable archive either right-click the service assembly in the Project Explorer view and select Build Archive or click the Archive icon in the top right of the service assembly editor. Creating a Deployable Archive From the Command-Line To create a deployable archive from the command-line, execute the following in a command window:
JAVA_HOME\bin\java -jar ENV_HOME\BusinessStudio\startup.jar
[-clean] -refresh -application com.tibco.matrix.ant.task.service.jbi.assembly.AMXCreateDeployableArchive -data workspacepath -saf serviceassemblypath -archive archivepath

where JAVA_HOME references a Java 1.5 or later installation and the parameters are described in Table 22. If an error occurs, error messages are logged to the console window and to the file workspacepath\.metadata\.log, Table 22 Command Line Parameters Parameter
clean

Description Cleans cached data used by the OSGi framework and Eclipse runtime. Run the command line once with this option if you observe startup errors after install, update, or using a shared configuration. For example, if Explorer is open on the folder where the service assembly archive is being created using the command line tool, sometimes archive creation fails. Whenever this happens, use the -clean option when you invoke the command-line packager. Performs a global refresh of the workspace. This reconciles any changes that were made in the file system since the command was last run.

refresh

TIBCO ActiveMatrix Composite Editor Users Guide

Working with Service Assemblies 113

Table 22 Command Line Parameters (Contd) Parameter


workspacepath

Description A fully-qualified path to the TIBCO Business Studio workspace containing the service assembly file. The project containing the service assembly file and files referenced by the composite must have been imported into the workspace and in an open state. A fully-qualified path to the service assembly file or a path within the workspace. A fully-qualified path to the service assembly archive file or a path within the workspace.

serviceassemblypath

archivepath

TIBCO ActiveMatrix Composite Editor Users Guide

114

| Chapter 6

Packaging Services, Components, and References

Service Assembly Reference

Service Assembly
Service Assembly Configuration Table 23 Service Assembly Configuration Field Name Description Version Author Created On Archive File Readonly? N N N N Y N Description The name of the service assembly. The name can only be an ASCII string. Short description of the service assembly. The version of service assembly. The creator of the service assembly. The date and time that the service assembly was created. The location of the service assembly archive file.

Service Unit
Service Unit Configuration Table 24 Service Unit Configuration Field Name Description Version Container Readonly? N N N Y Description The name of the service unit. The name can only be an ASCII string. Short description of the service unit. The version of the service unit. Type of container that the service unit will be deployed to: SOAP, JMS, or Adapter.

TIBCO ActiveMatrix Composite Editor Users Guide

Service Assembly Reference 115

Component Reference
Component Configuration Table 25 Component Configuration Field Service Name Description Version Readonly? Y Y Y Description The name of the component. Short description of the component. The version of the component.

Services The service exported by the component.

Service and Reference Configuration


Service or Reference Configuration Field Name Composite Element Type Readonly? Y Y Description The name of the service or reference. The type of the element: Service or Reference.

TIBCO ActiveMatrix Composite Editor Users Guide

116

| Chapter 6

Packaging Services, Components, and References

TIBCO ActiveMatrix Composite Editor Users Guide

| 117

Index

Symbols
/wsa Action 66 FaultTo 67 ReplyTo 66 To 66

binding a shared resource property to a substitution variable 24 binding tab 51, 54, 91, 94

C
changing the properties of a registry or search 21 clearing a binding between a shared resource property and a shared resource 26 clearing a binding between a shared resource property and a substitution variable 25 common reference 44 component configuration 115 component properties 17 component reference 115 component services and references 12 components 31 composite editor overview 2 composite element 108 composite properties 15 composite reference 11 composition with WS-Addressing 84 configuring the Action property 63 configuring the bindings SOAP configuration 49 configuring the transport 49 connecting composite elements 11 connection type JDBC shared resources 30 consumer 103 creating a composite 8 creating a deployable archive 112 creating a deployable archive from the command-line 112 creating a new Abstract WSDL file 26 creating a reference with an Adapter binding 87 creating a service assembly 109 creating a service or reference with a JMS binding 94
TIBCO ActiveMatrix Composite Editor Users Guide

A
accessing WS-Addressing properties 59 ActiveMatrix SOA project templates 6 ActiveMatrix SOA projects and folders 5 adding a composite element to a composite 9 adding a composite element to a service assembly 111 adding a property to a component 17 adding a property to a composite 15 adding a service unit to a service assembly 111 adding a shared resource profile to a composite 18 adding a UDDI Registry to the registries view 19 adding a WSDL File to an ActiveMatrix SOA project 23 adding elements to a composite 4 advanced settings 95, 96 appearance and rulers & grid tabs 11 automatically creating a service assembly 109

B
binding a property or variable to a substitution variable 18 binding a shared resource profile to a shared resource 19 binding a shared resource property to a shared resource 25

118

| Index
creating a service or reference with a SOAP binding 48 creating a service or reference with an AMX binding 45 creating a shared resource 23 creating a substitution variable 17 creating a substitution variables file 16 creating a topic 104 creating a WSDL file folder 22 creating an ActiveMatrix SOA project 6

E
editing composite and composite element properties 10 enabling and disabling dynamic routing 47 enabling and disabling Popup toolbars 4 enabling reliable messaging 84 Enabling WS-Addressing 59 endpoint 51, 54, 94 endpoint node 51, 91, 94 endpoint reference schema 59 endpoint references 59 enumerate request 80 enumerate response 80 event source 71 example 60, 62 explicit association 63

D
default association 63 default inbound setting 53, 56 default outbound setting 53, 56 default settings 95 deleting a composite 9 deleting a composite element from a composite 10 deleting a shared resource 24 deleting a substitution variable 17 delivery guarantees 83 developing references with Adapter bindings 86 developing services and references with AMX bindings 45 developing services and references with JMS bindings 93 developing services and references with SOAP bindings 48 developing topics 104 diagram preferences 3 Direct connection type, in JMS shared resources 33 displaying component properties 17 displaying composite properties 16 displaying the registries view 19 dragging a WSDL file 25 duplicating a substitution variable 18 dynamic routing 46

F
fault message node 98

G
general information 105 general tab 11, 44, 51, 54, 91 generating a concrete WSDL file from a service 50 Get request 69 Get response 69 GetStatus request 75 GetStatus response 75

H
host and port HTTP shared resources 28 How to Contact TIBCO Support xvii HTTP client shared resource definition reference 27 HTTP endpoint node 54

TIBCO ActiveMatrix Composite Editor Users Guide

Index 119

HTTP server shared resource definition reference 27 HTTP shared resources 27 host and port 28 minimum and maximum threads 28 HTTP/S transport 50

L
links to composite elements and resources 33

M I
Identity shared resource definition reference 29 importing a WSDL file 25 importing a WSDL File from a registry search 24 importing a WSDL File using the service import wizard 23 inbound message node 97 inline 24 In-Only MEP 13 input or output message configuration 54 input or output message node 54 introduction to composites 29 introduction to TIBCO Business Studio 2 invalid wiring configurations 47 manually creating a service assembly 110 message information header elements 62 message information header properties 60 message information headers 60 minimum and maximum threads, HTTP shared resources 28

N
names 35 navigating to a bound shared resource 26 navigating to a shared resource from an adapter reference 90 navigating to a WSDL File from a service or reference 43 number of connections 12

J
JDBC connection type, in JDBC shared resources 30 JDBC drivers and database URLs 30 JDBC shared resource definition reference 30 JDBC shared resources 30 connection type 30 JDBC connection type 30 JNDI connection type 31 JMS endpoint node 55 JMS service and reference configuration 94 JMS setting 56 JMS shared resource definition reference 32 JMS shared resources 32 direct connection type 33 JNDI connection type 33 JMS transport 50 JNDI connection type, in JDBC shared resources 31 JNDI connection type, in JMS shared resources 33

O
opening a composite in the composite editor 8 opening a shared resource in a resource editor 24 operation 53, 96 operation configuration 105 operation node 53, 56, 91, 96 outbound message node 98 out-only MEP 13 overview 22, 42, 102, 108

P
palette 5
TIBCO ActiveMatrix Composite Editor Users Guide

120

| Index
popup toolbars 4 properties 32, 15 properties and shared resource profiles 15 properties tab 11 provider 103 pull request 81 pull response 81 Put request 70 Put response 70 service assembly reference 114 service configuration 51 service or reference configuration 115 service roles and messaging roles 103 service unit 108, 114 service unit configuration 114 service use cases 93 services 30, 115 services configuration 105 setting a topics subscribers 104 setting composite editor preferences 2 setting diagram preferences 3 setting the namespace prefix 2 setting the target of a service 43 setting the value of a property 16, 17 setting the value of a shared resource property 24 shared resource definition 25 shared resource profiles 18 shared resource profiles tab 11 shared resources 32 HTTP 27 JDBC 30 JMS 32 Rendezvous 35 SOA project from implementation 10 SOA project from wsdl 9 SOAP binding flags 65 SOAP default configuration 51 SOAP general configuration 53 specifying port types and ports 20 specifying the port of a reference 20 specifying the port type of a composite element 20 specifying the service name of a reference with an AMX binding 46 specifying the target of a service with an AMX binding 46 SSL client shared resource definition reference 38 SSL server shared resource definition reference 39 starting TIBCO Business Studio 2 subscription response 74 subscription with no expiration 74 substitution variables 24 supported operations 36, 74 supported operations and required elements 69, 80

R
reference 42 reference configuration 54, 91 reference use cases 93 references 31, 35 refreshing a service assembly 110 related documentation xii removing a service unit or element from a service assembly 112 renaming 36 rendezvous shared resource definition reference 35 Rendezvous shared resources 35 renew request 76 renew response 76 required properties 35 resource definition reference 27 running a WS-Enumeration service 78 running a WS-Eventing service 72 running a WS-Transfer service 67

S
sample table schema 69 scrolling through the icons in a section 6 searching a registry 20 selecting a composite element 6 service 42 service and reference configuration 115 service assembly 114 service assembly configuration 114
TIBCO ActiveMatrix Composite Editor Users Guide

Index 121

T
TIBCO Adapter project restrictions 87 TIBCO_HOME xiv toggling sections within the palette 6 toggling the palette 6 toggling whether sections are pinned within the palette 6 topic reference 105 topics 32 transport configuration 55 transport configuration - common 52 transport configuration - HTTP 52 transport configuration - JMS 52

working with service assemblies 109 working with services and references 43 working with shared resources 23 working with substitution variables 16 working with UDDI registries 19 working with WSDL files 22 WS-Addressing 58 WSDL file limitations 22 WS-Enumeration 77 WS-Enumeration SOA project 15 WS-Eventing 71 WS-Eventing SOA project 13 WS-Reliable Messaging 82 WS-Transfer 67 WS-Transfer SOA project 11

U
unselecting a composite element 7 unsubscribe request 76 unsubscribe response 77 unsupported operations 36 use cases 86, 93 using a schema type definition in a WSDL file 27 using a shared resource profile in a service or reference 43

V
validation 34 validation and fault handling 65 validation and renaming 34 values in lists 35

W
Web Services (WS) specification support 58 wires 32 working with ActiveMatrix SOA projects 5 working with composites 8
TIBCO ActiveMatrix Composite Editor Users Guide

Das könnte Ihnen auch gefallen