Beruflich Dokumente
Kultur Dokumente
Concepts
Software Release 2.0
November 2007
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED
OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED
ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED
SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR
ANY OTHER PURPOSE.
USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A
LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE
AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER
LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE
SOFTWARE (AND WHICH IS DUPLICATED IN TIBCO 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-2007 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
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 Policy Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figures
Tables
Preface
Topics
Related Documentation
Typographical Conventions
Convention Use
code font Code font identifies commands, code examples, filenames, pathnames, and
output displayed in a command window. For example:
Use MyCommand to start the foo process.
Key Key name separated by a plus sign indicate keys pressed simultaneously. For
combinations example: Ctrl+C.
Key names separated by a comma and space indicate keys pressed one after the
other. For example: Esc, Ctrl+Q.
The note icon indicates information that is of special interest or importance, for
example, an additional action required only in certain circumstances.
The tip icon indicates an idea that could be useful, for example, a way to apply
the information provided in the current section to achieve a specific result.
The warning icon indicates the potential for a damaging situation, for example,
data loss or corruption if certain steps are taken or not taken.
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 username and password. If you do not have a
username, 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
Service Grid .NET
.NET Java
Java
TIBCO ActiveMatrix
ActiveMatrix
TIBCO ActiveMatrix
TIBCO ActiveMatrix
TIBCO ActiveMatrix
ServiceService
Bus Bus
Policy Manager
Mediation
Mediation Mediation BusinessWorks
Registry
Editor
TIBCO ActiveMatrix
Foundation
EMS
SOAP
JMS
Adapter JMS
Others
Business Composite TIBCO ActiveMatrix
Studio Editor Administrator
Legend
EMS TIBCO Enterprise Message Server
Service Development
The phases of the ActiveMatrix service development process are covered in the
following sections:
• Design on page 9
• Implementation on page 11
• 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.
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 either be used by other components
within the same composite or which are made available for use outside the
composite as composite services. Components are implemented by service
developers.
Figure 2 Composite
Composite
Composite
Service
Composite
Service Component Component
Composite
Reference
Component
Topic Composite
Composite Reference
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 and .NET 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
Mediation Flows
In every-day life, the word mediation is used to mean helping to resolve
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.
Service
Consumer
Composite
Mediation Flow
Asian
SOAP/HTTP
JMS Service
Query QAsia Provider
European
SOAP/JMS Service
QEurope Provider
American
SOAP/HTTP Service
QUnitedStates Provider
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.
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 a service assembly (SA). Within a service assembly are
service units (SU), 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.
Some containers host the business logic in an ActiveMatrix environment. For
example:
• A Java container hosts components implemented as Java objects
• A .NET container hosts components implemented as Microsoft Common
Language Runtime (CLR) components
Other containers host bindings. Service bindings enable consumers outside the
ActiveMatrix environment to consume services provided by ActiveMatrix and
reference bindings enable consumers within ActiveMatrix to access external
services. 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.
Container A Container B
provider consumer
3. 2. 4. 1.
Legend
EMS TIBCO Enterprise Message Service
Container A Container B
1. External
provider consumer
Consumer
6.
4. 3. 2. 5.
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
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 19 illustrates an ActiveMatrix environment containing two
nodes with their installed containers and the ActiveMatrix tools and servers that
support service administration and execution.
AM
AM Registry
Administrator
AM Database
AM Environment
Node 1 Node 2
Messaging Messaging
EMS Server
Messaging Bus
Legend
AM TIBCO ActiveMatrix AM Policy
Manager
EMS TIBCO Enterprise Message System
Shared Resources
ActiveMatrix supports resources that can be shared between all the containers in
a node. 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 20 shows a service assembly containing four 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 SU2 are
implemented with SOAP technology. When the service assembly is deployed, the
service units are deployed into their respective containers.
Service Assembly
SU2
SOAP Container
Legend
.NET Mediation Deployment
Component Component
Monitoring
The ActiveMatrix platform provides extensive support for monitoring the health
and performance of infrastructure and deployed services. Figure 9 on page 21
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 the container
documentation in 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
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 Developer’s Guide, and TIBCO
ActiveMatrix Service Grid Component Developer’s Guide.
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.
Topics
S h e ll W e b B ro w s e r
AMA M anagem ent
AMA
C o m m a n d -L in e D aem on
G ra p h ic a l U I
In te rfa c e
AM N ode
AMA
M a c h in e 2 A M M a c h in e 1
AMA
S e rv e r 2 M anagem ent
AM A D aem on
S e rv e r 1
AMA
M a c h in e 1 AM N ode
A u th e n tic a tio n
R e a lm A M M a c h in e 2
A M A C lu s te r
A M D a ta b a s e
Legend
AM T IB C O A c tiv e M a trix
AM A T IB C O A c tiv e M a trix A d m in is tra to r
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
container for composite elements. The suffix of a
cluster composite file is .composite.
An group of ActiveMatrix Administrator
composite element
servers. Servers in a cluster are maintained as
clones, that is, they are automatically kept in an A child element of a composite. Services,
identical state for failover purposes. All servers components, references, and topics, wires, and
in a cluster share the same database tables and the properties that configure components.
authentication realm.
composite reference
component
See reference.
Represents an implementation of one or more
port types. The component attributes are: composite service
• Name See service.
• Implementation type
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 environment administration 46
environments 18
ActiveMatrix Administrator cluster 45
ActiveMatrix Administrator server 45
ActiveMatrix Database 45
ActiveMatrix resource wizard 35 F
administration architecture and tools 43, 44
administration tools 41, 44 fault tolerance 30
at least once 27
at most once 27
authentication realm 46
H
highly available services 47
B
best effort 27
I
implementation 11
C
composite element editors 37
containers 15 L
customer support xiv
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 15
E messaging quality of service options 27
messaging server 30
enterprise and environment administration 46 messaging styles 26
S
secure communications 31
servers 18, 29
service administration 18, 47
service and binding definition editor 37
service assembly deployment 47
service assembly editor 40
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 19
support, contacting xiv