Escolar Documentos
Profissional Documentos
Cultura Documentos
Concepts
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
TIBCO ActiveMatrix Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Other TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Third Party Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
How to Contact TIBCO Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Service-Oriented Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Challenges of Service Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
TIBCO ActiveMatrix Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Service Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Service Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
TIBCO ActiveMatrix Platform Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Product Family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
TIBCO ActiveMatrix Service Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Service Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Service Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Service Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Chapter 2 Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Message Exchange Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Messaging Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
MEP Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Messaging Quality of Service Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Best Effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
At Least Once . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
At Most Once . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Chapter 3 Servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Messaging Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Fault Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Optional Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
TIBCO ActiveMatrix Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
TIBCO ActiveMatrix Runtime UDDI Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
TIBCO ActiveMatrix Policy Manager and Policy Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figures
Tables
Preface
Topics
Related Documentation
Typographical Conventions
Convention Use
TIBCO_HOME Many TIBCO products are installed within the same home directory. This
directory is referenced in documentation as TIBCO_HOME. The value of
ENV_NAME
TIBCO_HOME depends on the operating system. For example, on Windows
ENV_HOME systems the default value is C:\tibco.
AMX_HOME Other TIBCO products are installed into an installation environment. A
AMX_ADMIN_HOME 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.
Convention Use
bold code font 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]
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 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.
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
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}
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.
Chapter 1 Introduction
Topics
Service-Oriented Architecture
Service Description
ActiveMatrix software supports an application architecture based on SOA
principles: applications are composed of services that interact by exchanging
messages. ActiveMatrix services are described in documents expressed in Web
Services Description Language (WSDL). The WSDL documents specify the
messages that are required to access a service.
Roles During any service interaction, each service will adopt one of two roles: provider
or consumer. A service provider publishes a WSDL document that describes the
services it offers. A service consumer uses the WSDL document to determine the
available services and the messages required to access the services.
Abstract WSDL There are two types of WSDL documents: abstract and concrete. An abstract
Documents WSDL document defines an abstract messaging model without reference to
protocols or encodings. This abstract model contains the following elements:
• Definitions is the root element. It enumerates the namespaces referenced in
the WSDL document and contains all other elements.
• Types describe the data types of the objects that may be passed in messages.
• Messages consist of one or more logical parts. Each part is associated with a
type from a type system using a message-typing attribute.
• Parts a mechanism for describing the logical abstract content of a message.
• Operations are composed of sequences of messages. The direction of the
messages (input or output) is from the perspective of the service provider.
• Port types (also referred to as interfaces) are collections of operations.
The following WSDL document fragment contains the abstract WSDL elements
for a stock quote service.
<definitions name="StockQuote"
targetNamespace="http://ns.tibco.com/StockQuote"
xmlns:tns="http://ns.tibco.com/StockQuote"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xs:schema
targetNamespace="http://ns.tibco.com/StockQuote/">
<xs:element name="QuoteRequest" type="xs:string"/>
<xs:element name="QuoteResponse" type="xs:float"/>
</xs:schema>
</types>
<message name="QuoteInput">
<part name="symbol" element="tns:QuoteRequest"/>
</message>
<message name="QuoteOutput">
<part name="quote" element="tns:QuoteResponse"/>
</message>
<portType name="StockQuotePortType">
<operation name="getQuote">
<input message="tns:QuoteInput"/>
<output message="tns:QuoteOutput"/>
</operation>
</portType>
...
</definitions>
Concrete WSDL A concrete WSDL document contains the abstract definitions and the
Documents communication protocols and data formats by which the operations defined in
the abstract WSDL document can be invoked. The concrete WSDL document
adds the following elements to the abstract WSDL document:
• Bindings connect a port type to a protocol and data format
• Ports (also referred to as endpoints) are comprised of a binding and a
network address
• Services are collections of ports
The following WSDL document fragment contains the concrete WSDL elements
of the stock quote service.
<binding name="StockQuoteSoapBinding"
type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getQuote">
<soap:operation soapAction="http://ns.tibco.com/getQuote"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort"
binding="tns:StockQuoteSoapBinding">
<soap:address location="http://ns.tibco.com/stockquote"/>
</port>
</service>
Product Family
The TIBCO ActiveMatrix product family is illustrated in Figure 1.
TIBCO ActiveMatrix
Policy Manager
TIBCO
JMS
Adapter
TIBCO Business Studio
Legend
Implementation Binding
Type Type
Service Development
The phases of the ActiveMatrix service development process are covered in the
following sections:
• Design on page 9
• Implementation on page 11
• Configuration on page 14
• Packaging on page 15
The ActiveMatrix development tools consist of TIBCO Business Studio and a set
of ActiveMatrix plug-ins for TIBCO Business Studio and Microsoft Visual Studio.
For an overview of the ActiveMatrix development tools, see Chapter 4,
Development Tools, on page 33.
Design
In ActiveMatrix, the output of the design phase are composites. A composite
exports a cohesive set of business functions as services. Composites support
services implemented with a variety of technologies and the encapsulation of
service implementations into a business solution. Composites and their exported
services typically are constructed by service architects.
Figure 2 Composite
Composite
Composite
Service
Component Component
Composite
Service
Composite
Reference
Component
Composite
Reference
Composite Topic
Service
Component
Component
Composite Composite
Service Reference
Legend
Implementation
During the service implementation phase, developers produce component
implementations. The environment for developing ActiveMatrix component
implementations depends on the component implementation type. TIBCO
ActiveMatrix supports the following component implementation types:
• Java, .NET C# and Visual Basic, and C++. These general purpose
programming languages provide a great deal of power and flexibility in
developing services, but require specialized skills and greater initial effort to
create the services. ActiveMatrix plug-ins for TIBCO Business Studio provide
extensive support for developing Java implementations. ActiveMatrix
Mediation Flows
Mediation is the process of resolving differences between two parties by playing a
role in communications. In software, this sense applies (for example, when
bridging between different transport protocols). In addition, other tasks can be
performed, for example logging and routing.
TIBCO ActiveMatrix software directly supports the design of mediation flows,
which are software programs that perform activities such as routing and
transforming messages between consumers and providers of services. Mediation
flows:
• Map requests for mediation services to target services, possibly routing
requests based on the message content, the context of the messages, or both.
Between receiving a request for a mediation service and readying it for
delivery to a target service, the mediation flow can perform mediation tasks
such as routing, data transformation, and logging.
• Convey messages received by target services to mediation services. Again,
mediation tasks can be performed by the mediation flow between receipt by
the target reference and delivery to the consumer by the mediation service.
• Manage faults. Mediation flows can throw faults, and can catch and send
faults thrown by the mediation flow or by target services.
Figure 3 on page 13 shows how a service consumer invokes a mediation flow and
how the mediation flow interacts with target services.
User
Service
Consumer
Composite
SOAP/JMS European
QEurope Service Provider
SOAP/HTTP American
QUnitedStates Service Provider
Mediation Flow
In this figure:
1. A user accesses a program that is the service consumer. The service consumer
invokes the Query operation in the mediation service to request information,
accessing the mediation service over HTTP.
2. Based on the contents of the message, a Route task within the mediation flow
directs the message to one of three target operations, provided by web
services in Asia, Europe, and the United States. Transport and
interaction-protocol bridging allow communication with the target service
providers to proceed.
3. For Asia and Europe, Transform tasks transform the message structure and
contents provided by the service consumer to ones that the target service
providers can accept.
In summary, mediation provides:
• Service virtualization A mediation service hides the location of service
providers (including which providers are providing services) and details of
how the services are provided (for example, the transport protocol, message
format, and schema) from service consumers. Virtualization enables:
— Location transparency The network locations that provide services are
hidden from service consumers (and replaced with other network
locations). The actual locations are transparent, that is, not visible to the
service consumers.
— Transport and interaction-protocol bridging A composite application
containing one or more mediation components can provide a bridge
between service consumers and service providers that use different
transport protocols, interaction protocols or both.
— Connections between mediation operations and target operations
Mediation flows associate each mediation operation with one or more
target operations.
• Content and context-based routing A routing task placed on the input path in
a mediation flow can route service requests to alternative target services based
on the message content, message context, mediation flow parameters or all of
these. A routing task can also route service requests to Throw Fault tasks, as a
means of rejecting requests.
• Data transformation When routing a service request to alternative service
providers, it might be necessary to transform the message structure, data
types, or contents used by the service consumer to the ones expected by the
service provider, and vice versa. Transform tasks perform these
transformations.
• Fault management Mediation flows provide the ability to map fault types
reported by service providers to ones understood by service consumers. A
mediation flow can also throw faults based on routing cases, rather than
sending every message to a service provider. Finally, mediation flows handle
runtime faults that occur in the mediation flow itself.
• Logging Log tasks can log elements of the message content, message context,
mediation flow context or all of these elements.
• Custom mediation tasks To provide a mediation feature not present in
pre-defined mediation tasks, you can write code that performs a custom
mediation task, and incorporate the task in the Mediation Flow Editor using
wizards.
Configuration
During the service configuration phase, developers configure components and
bindings.
Debugging
The ActiveMatrix debugger allows you to test services while you are developing
them within TIBCO Business Studio. The debugger invokes a standalone runtime
environment independent of the service deployment environment.
Packaging
Before being deployed, services, components, and references are packaged using
TIBCO Business Studio into service assemblies. Service assemblies contain service
units, which group components, services, and references based on container type.
The service units share the same life cycle as the service assembly. When a service
assembly is deployed, the containers register the provided services with the
ActiveMatrix runtime.
Service Execution
The ActiveMatrix runtime supports the execution phase of the service life cycle.
The ActiveMatrix runtime consists of containers, Messaging Bus, nodes, and
TIBCO servers.
Containers
ActiveMatrix software supports a service execution environment that allows
service implementation and access to services via a variety of technologies. In the
ActiveMatrix architecture, the runtime engines supporting these various
technologies are called containers.
Implementation containers host component implementations. For example:
• A Java container hosts components implemented as Java objects
• A .NET container hosts components implemented as Microsoft Common
Language Runtime components
Binding containers host bindings. For example:
• A SOAP container hosts bindings that convert ActiveMatrix messages into
SOAP messages and vice versa.
• A TIBCO Adapter container hosts bindings that convert ActiveMatrix
messages into TIBCO Adapter messages and vice versa.
Messaging Bus
Messaging Bus is the communications backbone that mediates message exchange
between service consumers and providers. When a consumer makes a service
request, it is the responsibility of Messaging Bus to locate providers that offer the
service and deliver the message to a single provider.
Messaging Bus is distributed, with message handling implemented using TIBCO
Enterprise Message Service software. In addition to supporting distributed
enterprise applications, Messaging Bus also enables enhanced features such as
load balancing and fault tolerance. For further discussion of the ActiveMatrix
messaging architecture and functions, see Chapter 2, Messaging, on page 23.
Figure 4 on page 17 shows the message flow that occurs when a consumer in
Container B makes a request for a service exported by a provider running in
Container A. Messaging Bus locates the service and passes the request from the
consumer to the provider.
Container A Container B
provider consumer
4 3 2 1
Legend
EMS TIBCO Enterprise Message Service
Container A Container B
1
provider consumer External
Consumer
6
4 3 5 2
Legend
EMS TIBCO Enterprise Message Service
Nodes
A node is a Java virtual machine running ActiveMatrix containers and the
Messaging Bus. Figure 6 illustrates a node in which four containers have been
installed.
ActiveMatrix Node
.NET Java
Container Container
SOAP
TIBCO Adapter Container
Container
Messaging Layer
Legend
EMS TIBCO Enterprise Message Service
Servers
In addition to Enterprise Message Service server, ActiveMatrix relies on other
TIBCO servers to support various aspects of service development and execution:
• TIBCO ActiveMatrix Registry is a UDDI-compliant registry service for
publishing and discovering services.
• TIBCO ActiveMatrix Policy Manager stores policies and distributes them to
agents in the messaging infrastructure.
For information on these servers, see Chapter 3, Servers, on page 29.
Service Administration
ActiveMatrix administration focuses on the configuring the enterprise assets used
by the ActiveMatrix runtime, defining the ActiveMatrix infrastructure
(environments, nodes, containers, and shared resources) and deploying and
monitoring the services running on the infrastructure.
For an overview of the ActiveMatrix administration architecture and tools, see
Administration Architecture and Tools on page 43. Nodes and containers have
already been introduced in Service Execution on page 15. This section covers
configuration of enterprise assets, environments, and shared resources, service
deployment and infrastructure and service monitoring.
Configuration
Enterprise Assets
Before setting up an ActiveMatrix runtime an administrator must allocate the
enterprise assets within the organization that will be hosting or collaborating with
the runtime. The administrator identifies the machines on which the ActiveMatrix
runtime will be hosted, identifies other servers such as database and
authentication servers, defines software services such as database and messaging
connections, and configure the ActiveMatrix user base and assign permissions.
Environments
An ActiveMatrix environment is a collection of ActiveMatrix nodes administered
as one entity. Services within an environment communicate via Messaging Bus.
Services communicate with services deployed in other environments and external
services via service and reference bindings.
Figure 7 on page 20 illustrates an ActiveMatrix environment containing two
nodes with their installed containers and the ActiveMatrix tools and servers that
support service administration and execution.
Legend
AM
AM TIBCO ActiveMatrix AM Registry
Administrator
EMS TIBCO Enterprise Message Service Database
AM Environment
Node 1 Node 2
AM Policy
Manager
Messaging Messaging
Shared Resources
ActiveMatrix supports resources that can be shared between all the containers in
a node. Shared Resources are files that contain configuration information for
resources that are to be configured in the ActiveMatrix runtime and will be
available for sharing among composites and components. Examples of shared
resources are JDBC connections, HTTP server configurations. Shared resource
definitions are specified at the enterprise level and then installed into nodes as
shared resources. Shared resource definition types include:
• HTTP connections
• Identities
• JDBC connections
• JMS connections
• JNDI configurations
• Rendezvous® connections
• SSL configurations
Composites and components reference the shared resources in shared resource
profiles. You map shared resource profiles to a node’s shared resources when you
deploy a service assembly.
Service Deployment
During deployment, the service units within a service assembly are mapped to
and then deployed into their respective containers and the services provided by
the service units are activated in the ActiveMatrix containers.
Figure 8 on page 21 shows a service assembly containing five service units. The
components in SU1 are implemented with .NET technology. The components in
SU3 are implemented with Java technology. The components in SU4 are
implemented as ActiveMatrix mediation flows. The services in SU5 are
implemented with SOAP technology. The services in SU2 are implemented with
JMS technology. When the service assembly is deployed, the service units are
deployed into their respective containers.
Service Assembly
SU2 SU5
SOAP Container JMS Container
Legend
.NET SOAP Deployment
Component Service Binding
Java
JMS Binding
Component
Service Binding
Mediation
Component
Monitoring
The ActiveMatrix platform provides extensive support for monitoring the health
and performance of infrastructure and deployed services. Figure 9 on page 22
shows the Monitor & Manage perspective in ActiveMatrix Administrator.
Chapter 2 Messaging
Topics
• Overview, page 24
• Message Exchange Patterns, page 25
• Messaging Styles, page 26
• Messaging Quality of Service Options, page 27
Overview
Consumer Provider
Consumer Provider
Consumer Provider
Consumer Provider
Specific containers may support a subset of these MEPs. See TIBCO ActiveMatrix
Composite Editor User’s Guide and TIBCO ActiveMatrix Service Grid Component
Developer’s Guide for details.
Messaging Styles
MEP Support
Table 3 summarizes ActiveMatrix support for MEPs and messaging styles.
Publish-subscribe messaging is compatible only with in-only and out-only MEPs.
Publish-subscribe Y N N Y
Best Effort
With best effort, messages
• May be dropped
• May be delivered more than once
In this option, system messages are not sent when messages are received. If the
Enterprise Message Service server discards messages for any reason (for example
queue limit or authorization failure) then the server does not throw an exception
back to the message producer. Both these factors result in higher throughput.
At Least Once
With at least once, messages
• May not be dropped
• May be delivered more than once
In this option, all messages are logged to persistent storage which causes
degraded message throughput performance compared to the at most once option.
At Most Once
With at most once, messages
• May be dropped
• May not be delivered more than once
If authorization is turned on, then any message discarded by the Enterprise
Message Service server results in an exception being sent back to the message
producer. This is the key difference between best effort and at most once quality
of service.
Chapter 3 Servers
This chapter provides an overview of the servers that support various aspects of
ActiveMatrix service development and execution.
Topics
Messaging Server
Fault Tolerance
Fault tolerance allows messaging between ActiveMatrix nodes and an Enterprise
Message Service server to continue in the event of Enterprise Message Service
server failure. To obtain fault tolerance, you configure two Enterprise Message
Service servers as primary and backup servers. The primary and backup servers
act as a pair, with the primary server accepting client connections and performing
the work of handling messages, and the secondary server acting as a backup in
case of failure. When the active server fails, the backup server assumes operation
and becomes the primary active server.
For fault tolerance, install a pair of EMS servers on two different machines. For
example, a primary Enterprise Message Service server on machine M1 and a
backup server on machine M2. To configure a pair of Enterprise Message Service
servers as a fault tolerant, you must
• Set up shared storage
The shared storage contains information about client connections and
persistent messages. This information enables the backup server to properly
assume responsibility for those connections and messages. The shared storage
must satisfy certain criteria.
• Set parameters in the server configuration files
For information on the combination of hardware and software that can be used to
satisfy the shared storage criteria and the parameters that must be set in
configuration files, see TIBCO Enterprise Message Service User’s Guide.
Optional Servers
TIBCO ActiveMatrix Policy Agent enforces policies at selected endpoints. You can
configure which endpoints (internal, external, or none) will be exposed to Policy
Agent when you configure service assemblies for deployment.
For information on TIBCO ActiveMatrix Policy Manager and Policy Agent, see
the TIBCO ActiveMatrix Policy Manager or Policy Agent documentation set.
Topics
Development Tools
The ActiveMatrix development tools consist of TIBCO Business Studio and a set
of ActiveMatrix plug-ins for TIBCO Business Studio and Microsoft Visual Studio.
The plug-ins support composite development, debugging, and packaging and
mediation flow development.
The following sections provide an overview of the ActiveMatrix development
tools using the examples developed in TIBCO ActiveMatrix Service Grid Getting
Started. For a step-by-step instructions on how to develop the examples, consult
that manual. For detailed task and reference information about the development
tools for each type of container, see TIBCO ActiveMatrix Composite Editor User’s
Guide, TIBCO ActiveMatrix Service Grid Mediation Design Guide, and TIBCO
ActiveMatrix Service Grid Component Developer’s Guide.
• Mediation flows
• Service assemblies
Figure 13 on page 38 shows the property sheets for the JavaSOAPService service.
Table 4 describes the parts of the Mediation Flow Editor, which are displayed in
four columns from the left to right.
Item Description
Mediation Column that contains mediation interfaces that are in the mediation flow.
Interfaces Interfaces and the operations that they contain are displayed. In the
Composite Editor, mediation services are created from operations in the
mediation interfaces.
Input, Output, and Input, Output, and Fault buttons at the top of this column allow you to select
Fault buttons between input, output, and fault message types for an operation.
Item Description
Target Interfaces Column that contains target interfaces that are in the mediation flow.
Interfaces and the operations the interfaces contain are displayed. Target
operations defined in the mediation flow serve as the basis for references
from the mediation component to actual target services.
Palette The Mediation Palette can be displayed or hidden at the far right of the
Mediation Flow Editor. It contains icons for mediation tasks to click and drop
on mediation paths.
Debugger
The TIBCO Business Studio debugger provides a testing environment for
stepping through composite elements and determining the sources of errors.
Figure 15 on page 41 shows the debugger in the process of debugging the
HelloWorld composite from TIBCO ActiveMatrix Service Grid Getting Started.
Breakpoints have been set before and after the Java component executes, and the
debugger is stopped at the before breakpoint. In the Variables view on the
top-right, the value of the request is being examined.
Figure 15 Debugger
Topics
www
Management
AMA Daemon
AMA
Command-Line
Graphical UI
Interface
AM Node
AMA
Machine 2 AM Machine 1
AMA
Server 2 Management
AMA Daemon
Server 1
AMA
Machine 1 AM Node
Authentication
Realm AM Machine 2
Legend
AM TIBCO ActiveMatrix
AMA TIBCO ActiveMatrix Administrator
Service Administration
You administer ActiveMatrix services with ActiveMatrix Administrator graphical
and command-line interfaces. Service administration consists of deployment
tasks and monitoring and management tasks. In the graphical interface, these
tasks are carried out in the Deploy to an Environment and Monitor & Manage
perspectives.
Service Deployment
The first phase of service administration is deployment. During deployment, the
service units within a service assembly are mapped and then deployed into their
respective containers, the services provided by the service units are registered
with the ActiveMatrix container, and the service endpoints are activated.
The choice of how to distribute services across nodes is determined by the desired
level of service performance and availability. Service performance and availability
can be enhanced if you deploy a service unit across multiple nodes, which allows
Messaging Bus to distribute requests between the service instances.
This appendix describes the two WSDL specifications in existence and differences
in terminology between the specifications.
Topics
• Overview, page 50
Overview
There are two versions of WSDL: 1.1 and 2.0. WSDL 1.1 was published in 2001
and is supported by many tools and implementations. WSDL 2.0 is still in draft
state. The current release of ActiveMatrix software supports WSDL 1.1.
types types A container for data type definitions using some type system (such as
XSD).
part NA The logical abstract content of a message. For simple content, part
represents a message parameter. If the message contents are
sufficiently complex, then an alternative syntax may be used to specify
the composite structure of the message using the types directly. In this
usage, only one part may be specified.
port type interface A collection of related operations. A port type or interface can be
implemented by more than one service.
binding binding A concrete protocol and data format specification for the operations
defined by a particular port type or interface.
Glossary
composite
C
The output of the ActiveMatrix design phase. A
cluster container for composite elements. The suffix of a
composite file is .composite.
An group of ActiveMatrix Administrator
servers. Servers in a cluster are maintained as
composite element
clones, that is, they are automatically kept in an
identical state for failover purposes. All servers A child element of a composite. Services,
in a cluster share the same database tables and components, references, and topics, wires, and
authentication realm. the properties that configure components.
consumer I
A software service that sends and receives
messages defined by a WSDL document to a interaction-protocol bridging
provider. Enabling communication between a service
consumer and service provider that use different
container interaction protocols, for example, SOAP or
An ActiveMatrix runtime entity that hosts HTTP
component implementations and service
bindings. interface (WSDL 2.0)
A collection of operations. See also port type
(WSDL 1.1).
E
endpoint (WSDL 2.0) J
A combination of a binding and a network
address. The URL at which a consumer can JDBC
access a service. An internal endpoint is accessible A Java API that allows applications to invoke
only to consumers within an ActiveMatrix SQL commands to create database tables, access
environment. An external endpoint has a binding the data stored in a table, and create and manage
that provides access to consumers outside the distributed transactions.
ActiveMatrix environment. See also port (WSDL
1.1). JMS (Java Message Service)
A Java API that allows applications to create,
environment
send, receive, and read messages. The JMS API
A logical grouping of ActiveMatrix nodes enables communication that is decoupled,
administered as one entity. asynchronous, and reliable.
JMS can deliver messages to a client as they
arrive; a client does not have to request messages
H in order to receive them. JMS can ensure that a
message is delivered once and only once. Lower
HTTP (Hypertext Transfer Protocol) levels of reliability are available for applications
that can afford to miss messages or to receive
The Internet protocol used to retrieve hypertext
duplicate messages.
objects from remote hosts. HTTP messages
consist of requests from client to server and
JNDI (Java Naming and Directory Interface)
responses from server to client. HTTP/S is a
secure version of HTTP. A Java API that allows applications to store and
retrieve named Java objects of any type. In
addition, JNDI provides methods for performing
standard directory operations, such as
associating attributes with objects and searching
for objects using their attributes.
mediation
Performing programmatic tasks on messages in
between service providers and the service N
consumer, to enhance the services provided.
.NET Framework
mediation flow A software component that can be added to the
Software program that performs activities Microsoft Windows operating system. It consists
between consumers and providers of services, of a class library and a runtime environment.
such as routing and transforming messages. The class library provided solutions to common
program requirements and manages the
mediation service execution of programs written specifically for
Service provided by a mediation component. the framework. The class library covers a range
The service provided combines one or more of areas including user interface, data access,
service virtualization
Virtual services abstract the locations from which
services are provided (location transparency)
and conceals details of how the service is
WSDL file
An XML document that describes the services
offered by a service provider. A WSDL file can
take two forms: abstract and concrete. An
X
XML (Extensible Markup Language)
A text-based markup language in which tags
(markup) identify the content, data, and text in
the documents. Although tags can be defined as
needed in the generation of an XML document, a
document type definition (DTD) or XML Schema
is usually used to define the elements allowed in
a particular type of document. An XML
document can be compared by using the rules in
the DTD or XML Schema to determine its
validity and to locate particular elements in the
document.
XML Schema
An XML language for describing the structure of
XML documents. The suffix of an XSD document
is .xsd.
Index
A environments 19
B
best effort 27 I
implementation 11
C
composite element editors 37 L
containers 16
load balanced services 47
D
M
deployment 15
design 9 mediation flow editor 38
development tools 33, 34, 44 MEP support 26
message exchange patterns 25
messaging 23
Messaging Bus 16
E messaging quality of service options 27
messaging server 30
enterprise and environment administration 47 messaging styles 26
environment administration 47 Microsoft Visual Studio 34
P
W
packaging 15
point-to-point 26 WSDL 1.1 and 2.0 Terminology 50
publish-subscribe 26 WSDL 1.1 and 2.0 terminology 50
S
secure communications 31
servers 18, 29
service administration 19, 47
service and binding definition editor 37
service assembly deployment 47
service assembly editor 42
service deployment 47
service description 5
service development process 9
service life cycle 7
service monitoring and management 48
service runtime 15
service-oriented architecture 2
shared resources 20
T
TIBCO ActiveMatrix Administrator 44
TIBCO ActiveMatrix Administrator architecture 44
TIBCO ActiveMatrix BusinessWorks 9