Top Banner
TIBCO ActiveMatrix ® BPM SOA Concepts Software Release 2.1.0 February 2013
44

TIBCO ActiveMatrix BPM SOA Concepts

Mar 22, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TIBCO ActiveMatrix BPM SOA Concepts

TIBCO ActiveMatrix® BPM SOAConceptsSoftware Release 2.1.0February 2013

Page 2: TIBCO ActiveMatrix BPM SOA Concepts
Page 3: TIBCO ActiveMatrix BPM SOA Concepts

Important Information

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED ORBUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ONFUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOTLICENSED 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 LICENSEAGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THEREIS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYEDDURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSEFILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSEAGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THISDOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTEACCEPTANCE 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 partof this document may be reproduced in any form without the written authorization of TIBCO Software Inc.

TIBCO, The Power of Now, TIBCO ActiveMatrix, and TIBCO Enterprise Message Service are either registered trademarksor 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 andare mentioned for identification purposes only.

THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATINGSYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THEREADME FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEMPLATFORM.

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 APARTICULAR PURPOSE, OR NON-INFRINGEMENT.

THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGESARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED INNEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGESIN 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 TOANY RELEASE NOTES AND "READ ME" FILES.

Copyright (c) 2005-2013 TIBCO Software Inc. ALL RIGHTS RESERVED.

TIBCO Software Inc. Confidential Information

TIBCO ActiveMatrix BPM SOA Concepts

Page 4: TIBCO ActiveMatrix BPM SOA Concepts
Page 5: TIBCO ActiveMatrix BPM SOA Concepts

Contents

Preface..................................................................................................7Changes from the Previous Release of this Guide..................................................................8

TIBCO Product Documentation................................................................................................9

Other TIBCO Product Documentation....................................................................................10

Third-Party Documentation....................................................................................................11

Typographical Conventions....................................................................................................12

Connecting with TIBCO Resources........................................................................................15

Chapter 1 Introduction....................................................................17TIBCO ActiveMatrix Overview................................................................................................18

Chapter 2 Applications...................................................................19Service Component Architecture...........................................................................................20

Java Components........................................................................................................24

Mediation Components................................................................................................24

Composite Components..............................................................................................26

Web Application Components.....................................................................................27

Application Life Cycle.............................................................................................................28

Chapter 3 Platform..........................................................................29Design....................................................................................................................................30

Runtime..................................................................................................................................31

Administration.........................................................................................................................35

Governance............................................................................................................................39

Glossary................................................................................................................41

TIBCO ActiveMatrix BPM SOA Concepts

TOC | 5

Page 6: TIBCO ActiveMatrix BPM SOA Concepts

TIBCO ActiveMatrix BPM SOA Concepts

6 | TOC

Page 7: TIBCO ActiveMatrix BPM SOA Concepts

Preface

TIBCO ActiveMatrix® BPM is a scalable and extensible platform for developing, deploying, and managing applicationsthat conform to a service-oriented architecture.

TIBCO ActiveMatrix BPM SOA Concepts

Page 8: TIBCO ActiveMatrix BPM SOA Concepts

Changes from the Previous Release of this Guide

This section itemizes the major changes from the previous release of this guide.

TIBCO ActiveMatrix BPM SOA Concepts

8 | Preface

Page 9: TIBCO ActiveMatrix BPM SOA Concepts

TIBCO Product Documentation

The following documents form the TIBCO ActiveMatrix® BPM documentation set:

• SOA Concepts: Read this manual before reading any other manual in the documentation set. This manual describesterminology and concepts of the TIBCO ActiveMatrix platform. The other manuals in the documentation set assumeyou are familiar with the information in this manual.

• Development Tutorials: Read this manual for a step-by-step introduction to the process of creating, packaging, andrunning composites in TIBCO Business Studio.

• Composite Development: Read this manual to learn how to develop and package composites.• Java Component Development: Read this manual to learn how to configure and implement Java components.• Mediation Component Development: Read this manual to learn how to configure and implement Mediation

components.• Mediation API Reference: Read this manual to learn how to configure and implement Mediation components.• Web Application Component Development: Read this manual to learn how to configure and implement Web

Application components.• SOA Administration Tutorials: Read this manual for a step-by-step introduction to the process of creating and starting

the TIBCO ActiveMatrix runtime, starting TIBCO ActiveMatrix servers, and deploying applications to the runtime.• SOA Administration: Read this manual to learn how to manage the runtime and deploy and manage applications.• Solutions: Read this manual to learn how to perform tasks that span the design and administration tools.• Installation and Configuration: Read this manual to learn how to install TIBCO ActiveMatrix BPM software and

create and upgrade runtime objects.• Release Notes: Read this manual for a list of new and changed features, steps for migrating from a previous release,

and lists of known issues and closed issues for the release.

The documentation for the following features is installed separately:

• TIBCO ActiveMatrix Implementation Type for C++• TIBCO ActiveMatrix Binding Type for EJB• TIBCO ActiveMatrix Binding Type for Adapters

TIBCO ActiveMatrix BPM SOA Concepts

Preface | 9

Page 10: TIBCO ActiveMatrix BPM SOA Concepts

Other TIBCO Product Documentation

You may find it useful to read the documentation for the following TIBCO products:

• TIBCO Enterprise Message Service™

TIBCO ActiveMatrix BPM SOA Concepts

10 | Preface

Page 11: TIBCO ActiveMatrix BPM SOA Concepts

Third-Party Documentation

• Service Component Architecture

– Service Assembly Model V1.00– Policy Framework V1.00– Transaction Policy V1.00– Java Component Implementation V1.00– Java Common Annotations and APIs V1.00– Java EE Integration V1.00– JMS Binding V1.00

• World Wide Web Consortium Web Services

– WSDL 1.1– SOAP 1.1– Web Services Addressing

• OASIS

– Web Services Reliable Messaging 1.2– UDDI Version 3

• Internet Engineering Task Force

– SMTP RFC 5321– LDAP RFC 4510

• Java Community Process

– JDBC 4.0– JMS 1.1

• Hibernate

TIBCO ActiveMatrix BPM SOA Concepts

Preface | 11

Page 12: TIBCO ActiveMatrix BPM SOA Concepts

Typographical Conventions

Table 1: General Typographical Conventions

UseConvention

TIBCO products are installed into an installation environment. A product installed into an installationenvironment does not access components in other installation environments. Incompatible products

TIBCO_HOME

ENV_NAMEand 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 Windowsservices created by the installer and is a component of the path to the product shortcut in theWindows Start > All Programs menu. This name is referenced in documentation as ENV_NAME.

• Path The folder into which the product is installed. This folder is referenced in documentationas TIBCO_HOME. For example, on Windows systems the default value is C:\ProgramFiles\tibco\amx-3.

A TIBCO configuration folder stores configuration data generated by TIBCO products.Configuration data can include sample scripts, session data, configured binaries, logs, and so on.

CONFIG_HOME

This folder is referenced in documentation as CONFIG_HOME. On Windows platforms, the defaultlocation of the folder is userHome\Application Data\amx-3\data.

Code font identifies commands, code examples, filenames, pathnames, and output displayed in acommand window. For example:

code font

• Use MyCommand to start the foo process.• Code example:

public class HelloWorldImpl extends AbstractHelloWorldImpl {... public HelloResponseDocument sayHello(HelloRequestDocument firstName) { ... System.out.println("--> Generating Java Hello Component Response...");

String name = firstName.getHelloRequest()==null||firstName.getHelloRequest(). equals("")?"Friend":firstName.getHelloRequest(); HelloResponseDocument resp = HelloResponseDocument.Factory.newInstance(); resp.setHelloResponse("Hi " + name + "! " + "This is the Java component.\n");

System.out.println("--> Java Hello Component Response: \n\t\t" + resp.getHelloResponse()); ... }}

• CONFIG_HOME/admin/enterpriseName/samples/remote_props.properties

• Output example:

C:\Program Files\tibco\amx-3\studio\3.5\eclipse>amx_eclipse_ant.exe -buildfile "C:/helloworld1/build.xml" -data "C:/hws"Buildfile: C:/helloworld1/build.xml

createApplicationDAA:[sds.createDAA] Waited for 47ms for workspace refreshes after building

TIBCO ActiveMatrix BPM SOA Concepts

12 | Preface

Page 13: TIBCO ActiveMatrix BPM SOA Concepts

UseConvention

features.

all:BUILD SUCCESSFUL

BUILD SUCCESSFULTotal time: 2 minutes 18 seconds

Bold code font is used in the following ways:bold code font

• 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 is used in the following ways:italic font

• To indicate a document title. For example: See TIBCO BusinessWorks Concepts.• To define new terms. For example: A portal page may contain several portlets. A portlet is a

mini-application that runs in a portal.• To indicate a variable in a command or code syntax that you must replace. For example:

MyCommand pathname.

Key name separated by a plus sign indicate keys pressed simultaneously. For example: Ctrl+C.Key combinations

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, anadditional action required only in certain circumstances.

The tip icon indicates an idea that could be useful, for example, a way to apply the informationprovided in the current section to achieve a specific result.

The warning icon indicates the potential for a damaging situation, for example, data loss orcorruption if certain steps are taken or not taken.

Table 2: Syntax Typographical Conventions

UseConvention

An optional item in command 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 param1 | param2 | param3

A logical group of items in a command. Other syntax notations may appear within each logicalgroup.

{ }

TIBCO ActiveMatrix BPM SOA Concepts

Preface | 13

Page 14: TIBCO ActiveMatrix BPM SOA Concepts

UseConvention

For example, the following command requires two parameters, which can be either the pair param1and 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 eitherparam1 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 parametermust be param1. You can optionally include param2 as the second parameter. And the last parameteris either param3 or param4.

MyCommand param1 [param2] {param3 | param4}

TIBCO ActiveMatrix BPM SOA Concepts

14 | Preface

Page 15: TIBCO ActiveMatrix BPM SOA Concepts

Connecting with TIBCO Resources

How to Join TIBCOmmunity

TIBCOmmunity is an online destination for TIBCO customers, partners, and resident experts, a place to share and accessthe collective experience of the TIBCO community. TIBCOmmunity offers forums, blogs, and access to a variety ofresources. To register, go to http://www.tibcommunity.com.

How to Access All TIBCO Documentation

After you join TIBCOmmunity, you can access the documentation for all supported product versions here:http://docs.tibco.com/TibcoDoc.

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 username and password. If you do not have a username, you can request one.

TIBCO ActiveMatrix BPM SOA Concepts

Preface | 15

Page 16: TIBCO ActiveMatrix BPM SOA Concepts
Page 17: TIBCO ActiveMatrix BPM SOA Concepts

Chapter

1Introduction

TIBCO ActiveMatrix is the TIBCO offering for developing and deploying distributed applications. This chapter describes thepromise and challenges of developing distributed applications and how the TIBCO ActiveMatrix platform addresses thesechallenges. Subsequent chapters describe TIBCO ActiveMatrix applications and the platform components that support theapplications.

Topics

• TIBCO ActiveMatrix Overview

TIBCO ActiveMatrix BPM SOA Concepts

Page 18: TIBCO ActiveMatrix BPM SOA Concepts

TIBCO ActiveMatrix Overview

TIBCO ActiveMatrix is an enterprise ready product for developing and deploying distributed applications. TIBCOActiveMatrix software addresses the scalability, availability, provisioning, and security challenges for distributedapplications.

Using TIBCO ActiveMatrix software, enterprises can rapidly design, implement, and test applications, deploy them totheir operating environment of choice, and monitor and manage the applications end-to-end. TIBCO ActiveMatrixgovernance support allows enterprises to advertise access to their applications.

TIBCO ActiveMatrix software is depicted in the following figure:

Figure 1: TIBCO ActiveMatrix

TIBCO ActiveMatrix defines a platform and an application model. Custom applications implement business functionalityand can be developed using a variety of implementation and binding technologies.

Some product features, such as support for some implementation and binding technologies and system services such asmonitoring and logging, are provided as product applications. Product applications use the same platform capabilitiesas custom applications.

The product applications available in a given installation, in particular the implementation and bindingtechnologies, depend on the particular product package you install.

The platform is divided among the following functional areas:

• Design - application development, testing, and deployment• Runtime - application execution• Administration - application and system life cycle management• Governance - application monitoring, identity management, and policy management

TIBCO ActiveMatrix BPM SOA Concepts

18 | Introduction

Page 19: TIBCO ActiveMatrix BPM SOA Concepts

Chapter

2Applications

TIBCO ActiveMatrix applications conform to a service-oriented architecture (SOA). SOA is a software architecture in whichapplications and data are decomposed into discrete, independent services. Decomposing applications into services allowsenterprise application components to be reused and integrated in flexible and efficient ways. Enterprises achieve agility byvirtue of discrete, independent service deployment because they can plug in and out services as their needs dictate. TIBCOActiveMatrix supports all phases of the service-oriented application life cycle.

Topics

• Service Component Architecture• Application Life Cycle

TIBCO ActiveMatrix BPM SOA Concepts

Page 20: TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture

Service Component Architecture (SCA) defines a model for developing applications based on a service-orientedarchitecture. Business function is provided as a set of components assembled into a structure called a composite. SCAis the foundation of TIBCO ActiveMatrix support for service-oriented applications. This section introduces the elementsof SCA: composites, components, services, references, implementations, properties, interfaces, bindings, and messageexchange patterns.

Composites

As described in SCA Service Assembly Model, a composite is a configuration of services comprising an applicationthat conforms to a service-oriented architecture. A composite contains components, services, references, the wires thatinterconnect them, and properties that are used to configure the components. Composites can be nested (contained byother composites). A root composite equates to an SCA application.

The constituents of a composite can run in a single process on a single computer or be distributed across multipleprocesses on multiple computers. A complete application might be constructed from just one composite or it couldcombine several different composites. The components making up each composite can be built using different technologies.The following figure depicts a composite and illustrates the relationships between composite elements.

Figure 2: Composite

You edit composites in the TIBCO Business Studio Composite Editor.

TIBCO ActiveMatrix BPM SOA Concepts

20 | Applications

Page 21: TIBCO ActiveMatrix BPM SOA Concepts

Figure 3: Composite Editor

Components

A component is the basic element of business function. It is defined at design time.

Components are configured instances of implementations. More than one component can use and configure the sameimplementation.

Components can have services, references, and properties. All of these can be promoted to the composite level duringdesign time. Promotion enables an Administrator to wire or configure services, references, and properties when theapplication is deployed. Services, references, and properties that are not promoted are private to the application and areset at design time only.

Components can have several different types of dependencies. Components can express dependencies on product features,custom features, other components, and resources. All of a component's dependencies must be satisfied for it to bedeployed to a node.

Components can be deployed to multiple nodes for fault tolerance or load balancing.

Component Implementations

A component's implementation concretely provides the business function. TIBCO ActiveMatrix supports the followingimplementation types:

• Java• Mediation• Composite• Web application• C++

An abstract component is a component whose implementation type is unspecified but whose interfaces and connectionsto services, other components, and references are defined. Abstract components can be used by system architects todefer the choice of implementation type while specifying the relationship of a component to other composite elements.Abstract components cannot be packaged or deployed.

Services and References

Applications interact via services and references. Applications offer services and invoke references to other applications.An application's services and references are promoted from the services and references of the components it contains.

TIBCO ActiveMatrix BPM SOA Concepts

Applications | 21

Page 22: TIBCO ActiveMatrix BPM SOA Concepts

Component services can be consumed by other components within the composite or promoted as composite servicesfor use by consumers outside the composite. A composite service has an interface and one or more bindings.

Component references consume services provided by other components in the same composite or services providedoutside the composite. A composite reference has an interface and one binding.

Interfaces

An interface defines the contract for services and references. Services and references can interact only when they havethe same interface. An interface defines one or more operations and each operation has zero or one request (input)message and zero or one response (output) message. The request and response messages may be simple types such asstrings and integers or they may be complex types. In the current release, TIBCO ActiveMatrix supports WSDL 1.1port type interfaces.

Bindings

A binding specifies how communication happens between a reference and a service. A service binding describes themechanism a client uses to access a service. A reference binding describes the access mechanism a reference uses toinvoke a service. References can have at most one binding.

TIBCO ActiveMatrix supports the following types of bindings: Virtualization, SOAP, EJB, Adapter, and JMS.

Virtualization bindings connect services and references to the Messaging Bus. Virtualization bindings are automaticallycreated for every composite service and every wired component service and reference. At design-time, Virtualizationbindings of component services and references are implicit; their properties cannot be viewed.

There are two types of Virtualization bindings: internal and external. An internal binding is associated with a componentservice or reference. An external binding is associated with a service or reference promoted to the root composite.Administrators can create or modify wires connected to external bindings and can monitor, start, and stop externalbindings.

SOAP, EJB, Adapter, and JMS bindings are explicitly created by architects and developers only on promoted servicesand references.

Figure 4: Bindings on page 23 illustrates the different types of bindings. In the figure, bindings are indicated by a icon. The promoted service HelloWorldPT has a SOAP and external Virtualization binding. The components haveinternal Virtualization bindings. The promoted reference DateManagerPT has a SOAP binding. In addition, any time aservice or reference has a binding of type other than Virtualization, a pair of proxy (Virtualization) bindings are createdto connect the service or reference to the component to which the service or reference service is wired.

TIBCO ActiveMatrix BPM SOA Concepts

22 | Applications

Page 23: TIBCO ActiveMatrix BPM SOA Concepts

Figure 4: Bindings

Properties

A property is an externally visible data value. Properties enable object behavior to be configured at deployment time.

A property has a type, which may be either simple or complex. Implementations, components, composites, bindings,and resource templates can have properties. Implementation, component, and composite properties are defined in TIBCOBusiness Studio. Binding and resource template properties are defined by the ActiveMatrix platform.

Properties can have explicit values or may be bound to substitution variables, which can be set at deployment time invarious scopes. Depending on the object possessing the property, the property value can be bound at design time,deployment time, or both:

• At design time you can provide default values and indicate whether a composite or component property value mustbe set at deployment time.

• Some properties can be bound to substitution variables.

At design time, a composite property value can be set to a constant or bound to a substitution variable. Either type ofbinding can be overridden at administration time. However, only the properties of the root composite of an applicationor those on bindings associated with application level services and references can be overridden. If there are nestedcomposites (component of type composite) then their property values cannot be changed by an Administrator.

A composite property is specific to an application. Often the same property may be defined in more than one application.For business reasons or ease of use an Administrator may want to define the value only once and have it be used bymore than one composite property. This is achieved by binding the composite property to a substitution variable, whichcan be defined at the enterprise, host, environment, node, application, and application fragment levels. The followingfigure shows a property named Greeting bound to a substitution variable named Greeting.

TIBCO ActiveMatrix BPM SOA Concepts

Applications | 23

Page 24: TIBCO ActiveMatrix BPM SOA Concepts

A component may be deployed to more than one node and you may want to have different values passed for a componentproperty in every node. In such cases you would set the component property to a substitution variable, and set thesubstitution variable to different values on each node.

Message Exchange Patterns

A provider generates and responds to messages according to the operations defined in the interface it offers. The interfaceis always written from the perspective of the provider. That is, if an interface says that the messages are input and thenoutput, the provider first receives a message and then sends a message. A consumer uses a service, and interprets aninterface in order to consume a service. The consumer handles messages in the opposite direction from the provider.

A message exchange pattern (MEP) defines the sequence and cardinality of messages sent between the provider and theconsumer. MEPs contain both normal and fault messages. TIBCO ActiveMatrix software supports following MEPs:

• One-Way (In-Only) A consumer sends a message to a provider.• Request-Response (In-Out) A consumer sends a message to a provider, with expectation of response. The provider

sends a response message. The provider may generate a fault if it fails to process the message.

Faults are errors that can occur at any point during the processing of a message. Faults can also be thrown by the targetservice while processing messages. In service-oriented applications, clients expect specific fault responses to be returnedwhen errors occur. For example, SOAP clients expect a SOAP fault message to be returned when an error occurs duringprocessing. Each implementation type supports methods for generating faults in response to error conditions.

Java Components

Java components support service implementation using the flexibility and power of a general purpose programminglanguage. A Java component integrates Java classes into the TIBCO ActiveMatrix platform. The integration conformsto SCA Java Component Implementation V1.00.

TIBCO Business Studio facilitates Java component implementation by providing a rich set of automatic code generationand synchronization features. TIBCO Business Studio supports both WSDL-first and code-first development.

You can develop Java components starting from WSDL files and generate classes that conform to the WSDL specification.When you add a service, reference, or property to a Java component, TIBCO Business Studio adds fields and methodsthat represent the service, reference, or property to the component's implementation class.

You can also configure an existing Java class as the implementation of a Java component and update component propertiesto match the implementation.

For information on Java components, see Java Component Development.

Mediation Components

Mediation components provide support for enterprise service bus (ESB) features and manage interactions betweenservice consumers and service providers. Mediation is the process of resolving differences between two entities forexample, when bridging transport or interface differences. TIBCO ActiveMatrix Mediation components are implementedwith Mediation Flows, which are created using the TIBCO ActiveMatrix Mediation Flow Editor. The TIBCO ActiveMatrixMediation Flow Editor provides a zero coding graphical tool that allows you to build mediation flows between serviceconsumers and service providers that are described using WSDL files. The primary building block of a mediation flowis called a mediation task. Mediation tasks are primitives that implement ESB functions such as logging, datatransformation, routing, and so on.

Mediation flows:

• Map requests to one or more service providers. For example route requests based on the message content, the messagecontext, or both.

• Send back response messages received from service providers with or without transforming them.• Manage faults. Mediation flows can throw faults, catch faults from service providers and transform them to the faults

expected by service consumers.• Construct and send reply messages to service consumers without invoking the service providers.

TIBCO ActiveMatrix BPM SOA Concepts

24 | Applications

Page 25: TIBCO ActiveMatrix BPM SOA Concepts

• Provide access to metadata such as security context, SOAP headers and other message context details.• Use custom mediation tasks, which can be developed with custom mediation task wizards. TIBCO ActiveMatrix

mediation features provides wizards and a public API for developing custom mediation tasks.

Composites containing mediation components can address the following ESB scenarios:

• Service virtualization• Transport bridging• Message exchange pattern bridging• Message content and context-based routing• Static and dynamic routing• Data transformation• Data enrichment• Data validation• Message filtering• Log message and context data

By applying one or more ESB scenarios you can implement ESB patterns such as:

• Gateway (Route)• VETO (Validate, Enrich, Transform, Operate)• VETRO (Validate, Enrich, Transform, Route, Operate)

The following figure shows how a service consumer invokes a mediation flow and how the mediation flow interactswith target services.

Figure 5: Mediation

In this figure:

1. The service consumer, accessing the mediation service over SOAP/HTTP, invokes the query operation in the mediationservice to request information.

2. Based on the contents of the message, a route task directs the message to one of three target operations, provided byweb services in Asia, Europe, and the United States. Transport and interaction-protocol bridging allow communicationwith the target service providers to proceed.

3. For Asia and Europe, transform tasks transform the message structure and contents provided by the service consumerto ones that the target service providers can accept.

In summary, TIBCO ActiveMatrix mediation technology provides:

TIBCO ActiveMatrix BPM SOA Concepts

Applications | 25

Page 26: TIBCO ActiveMatrix BPM SOA Concepts

• Service virtualization A mediation service hides the location of service providers and details of how the servicesare provided (for example, the transport protocol, message format, and schema) from service consumers. Virtualizationenables:

– Location transparency The location of the service providers is hidden from service consumers.– Transport 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.– 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 of a mediation flow can route servicerequests to alternative target services based on the message content, message context, mediation flow parameters orall 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 totransform the message structure, data types, or contents used by the service consumer to the ones expected by theservice 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 onesunderstood by service consumers. A mediation flow can also throw faults based on routing cases, rather than sendingevery message to a service provider. Finally, mediation flows handle runtime faults that occur in the mediation flowitself.

• Logging Log tasks can log elements of the message content, message context, mediation flow context or all of theseelements.

• Custom mediation tasks To provide a mediation feature not present in pre-defined mediation tasks, you can writecode that performs a custom mediation task, and incorporate the task in the Mediation Flow Editor using wizards.

The following figure shows a Hello World mediation flow containing a log task opened in the Mediation Editor.

Figure 6: Mediation Flow

For information on Mediation components, see Mediation Component Development.

Composite Components

A composite may serve as the component implementation for a higher level composite. Composite components enablearchitects to structure complex applications as a hierarchical collection of parent and child composites.

When a composite is used as a component implementation the components within that composite cannot be referenceddirectly by the using component. In other words, the internals of the composite are invisible to the using component.The using component can only connect wires to the services and references of the referenced composite and set values

TIBCO ActiveMatrix BPM SOA Concepts

26 | Applications

Page 27: TIBCO ActiveMatrix BPM SOA Concepts

for properties of the composite. The services, references, and properties of the composite define a contract that is reliedupon by the using component.

Web Application Components

A web application delivers services and content over the internet. A Web application component integrates Java EEweb applications into the TIBCO ActiveMatrix platform. The integration conforms to SCA Java EE IntegrationSpecification.

For information on Web application components, see Web Application Component Development.

TIBCO ActiveMatrix BPM SOA Concepts

Applications | 27

Page 28: TIBCO ActiveMatrix BPM SOA Concepts

Application Life Cycle

TIBCO ActiveMatrix applications assume different forms in different phases of the application life cycle.

In the design phase a TIBCO ActiveMatrix application consists of one or more composites. Each application has a rootcomposite. A composite contains components, services, references, and properties. The components, services, andreferences depend on custom features and resources. Services, references, and properties promoted to the root compositecomprise the public interface of the application.

The output of the design phase is a distributed application archive (DAA). A DAA contains custom features and anapplication template, which consists of the root composite and a set of related configuration files: nested composites,resource templates, WSDL files, and substitution variable files.

In the administration phase, you create an application by instantiating an application template. When you upload a DAAfile to Administrator, Administrator extracts the application template and (optionally) the custom features and resourcetemplates.

You can configure the application by setting properties and substitution variables. You also specify a distribution of theapplication to the runtime infrastructure. You can explicitly distribute application fragments—components andbindings—to one or more nodes or you can specify that an application should be distributed to the same nodes as anotherapplication. When you deploy the application, Administrator applies the distribution and the configuration. Customfeatures are automatically distributed with components, but resource instances required by the application must bemanually installed into nodes before deployment. Life cycle operations on the application are translated into life cycleoperations on the application fragments.

The following figure illustrates the application artifacts across the application life cycle.

Figure 7: Application Life Cycle

TIBCO ActiveMatrix BPM SOA Concepts

28 | Applications

Page 29: TIBCO ActiveMatrix BPM SOA Concepts

Chapter

3Platform

The TIBCO ActiveMatrix platform has four functional areas—design, runtime, administration, and governance—that addressall phases of the distributed application life cycle.

Topics

• Design• Runtime• Administration• Governance

TIBCO ActiveMatrix BPM SOA Concepts

Page 30: TIBCO ActiveMatrix BPM SOA Concepts

Design

TIBCO ActiveMatrix design activities are performed in TIBCO Business Studio, an extension of the Eclipse SDKWorkbench. In TIBCO Business Studio, analysts, architects, and developers, design, implement, configure, test, andpackage TIBCO ActiveMatrix applications. Beyond the standard Eclipse Workbench features, TIBCO Business Studioprovides:

• Wizards and editors for creating projects and applications.• Resource template editors for resources such as LDAP and JDBC connections, security providers, and so on.• Editors for specifying intents and creating policies for governed objects.• A distribution editor for specifying constraints on how application components are distributed across nodes.• Rapid application deployment features that support deploying and testing applications on a local deployment

environment.• Tool for generating scripts to deploy applications to a remote deployment environment.• Support for debugging applications running in a remote deployment environment.

For information on TIBCO Business Studio, see Composite Development.

TIBCO ActiveMatrix BPM SOA Concepts

30 | Platform

Page 31: TIBCO ActiveMatrix BPM SOA Concepts

Runtime

TIBCO ActiveMatrix employs a three-level runtime environment consisting of hosts, nodes, and application fragments.A host runs TIBCO ActiveMatrix platform services, manages the life cycle of nodes, and maintains software featuresand resources shared between nodes. Nodes run application fragments.

The following figure illustrates a possible configuration of hosts, nodes, and application fragments. The host managesnode A and node B. Application 1- Fragment A runs on node A. Application 2's fragments are distributed over nodesA and B.

Figure 8: TIBCO ActiveMatrix Runtime

Hosts

A host is the runtime object that serves as the point of contact between nodes and Administrator. Hosts perform operationssuch as software distribution, node life cycling, and application deployment. It is not necessary for a host to be runningto perform administrative operations. Administrator queues operations and processes them when the host and the nodesit manages are available.

A host has a software repository that contains the application templates, features, and resource adapters available to thenodes managed by the host.

Hosts are typed. In the current release, the only supported type is TIBCO Host. TIBCO Host is the TIBCO native hostimplementation.

A host is bound to a single Administrator server at a time. Hosts can contain nodes from multiple environments withinone Administrator server.

Nodes

A node is the runtime environment for applications. Nodes exist in an environment and are managed by hosts. Whenmanaged by a host, a node runs in its own OS process and JVM. You can configure a host with multiple nodes. Nodesact as sandboxes for applications.

The reasons to use multiple nodes include:

• Increase throughput.• Run different versions of software and limit the set of affected application fragments when updating software versions.• Allow applications to use different resource instance configurations of the same name.

TIBCO ActiveMatrix BPM SOA Concepts

Platform | 31

Page 32: TIBCO ActiveMatrix BPM SOA Concepts

• Enable fault tolerance.• Implement various security policies by limiting access to certain nodes and resources.

The reasons to share a node include:

• Share resource instances between applications such as thread pools and database connection pools.• Communication between components in a node avoids serialization overheads.• Reduced overall memory utilization.

Application fragments are components or bindings of an application that are distributed and deployed to nodes. Afragment can be distributed to many nodes, and a single node can run many fragments. To increase throughput for acomponent or binding you can deploy multiple copies of the fragment to multiple nodes.

A node has a set of product and custom features shared by resource instances and application fragments running on thenode. You can upgrade or downgrade the features to match the feature versions to those available in the softwarerepository.

The following figure depicts a configuration of environments, hosts, and nodes that illustrates the flexibility achievedwith a multinode setup. The two environments are assigned to groups of users that have responsibility for a specificphase of the application life cycle: Development and Production. Isolation between the groups is achieved by creatingtwo nodes on each host and assigning them to different environments. Nodes A and B are located on Host 1 and nodesC and D are located on Host 2. Nodes A and C are managed by the Development environment and nodes B and D aremanaged by the Production environment. In addition, access to a JDBC resource is restricted to the nodes in the Productionenvironment.

Figure 9: Multiple Node Scenario

Features

A feature is a software package that contains component implementations and libraries. A feature is identified by an IDand a multi-part version.

There are two types of features: product and custom (referred to as shared library in Administrator). Product featuresare defined by a TIBCO ActiveMatrix product or the drivers that are added using TIBCO Configuration Tool.

Custom features contain user-defined component implementations and libraries. When you create a distributed applicationarchive for a composite, the required custom features are bundled in the archive. You can also package standalonecustom features into a distributed application archive.

When you upload a distributed application archive in Administrator while creating an application you can optionallyimport the custom features contained in the archive into the Administrator software repository. When you deploy anapplication, Administrator automatically distributes the custom features to the host that manages the nodes on which

TIBCO ActiveMatrix BPM SOA Concepts

32 | Platform

Page 33: TIBCO ActiveMatrix BPM SOA Concepts

the application is distributed and installs the features on those nodes. You can also manually install features on the othernodes managed by that host.

Resource Templates and Instances

Resource templates are defined at the enterprise level. You create resource templates in two ways:

• Manually via actions in the command-line and web interfaces• Automatically when you import them during the procedure to create an application

In either case you must have the enterprise permission Create Resource Template.

A resource instance is a runtime object that represents a resource, such as an HTTP, JDBC, or LDAP connection. Aresource instance instantiates the configuration defined in a resource template and makes it available to services runningon a node.

Applications, components, bindings, and resource templates can have properties whose type is the name of a resourceinstance. For example, an HTTP client resource template's SSL property configuration includes a property whose valueis the name of SSL Client Provider resource instance:

The following figure illustrates a possible configuration of hosts, nodes, features, resource instances, and applicationfragments. In the figure the host has three product features: PF1, PF2, and PF3, one custom feature CF1, and one resourcetemplate A. Custom feature CF1 is dependent on product feature PF2. On Node A all the available features are installed.Node B has one installed product feature and one installed resource instance. Application 1- Fragment A on node A isdependent on two product features: PF1 and PF3. Application 2- Fragment A is dependent on custom feature CF1 andproduct feature PF1. Application 2- Fragment B is dependent on resource instance A. Application3 - Fragment A isdependent on the product feature PF3.

TIBCO ActiveMatrix BPM SOA Concepts

Platform | 33

Page 34: TIBCO ActiveMatrix BPM SOA Concepts

Figure 10: Runtime Configuration

TIBCO ActiveMatrix BPM SOA Concepts

34 | Platform

Page 35: TIBCO ActiveMatrix BPM SOA Concepts

Administration

TIBCO ActiveMatrix administration is supported by TIBCO ActiveMatrix Administrator and TIBCO Business Studio.In TIBCO ActiveMatrix Administrator, administrators configure environments and messaging buses, register hosts andassociate them with environments, provision nodes with features and resources, and deploy, configure, and manageapplications. In TIBCO Business Studio developers deploy and debug applications.

The following figure illustrates the relationship between TIBCO ActiveMatrix Administrator and the objects it manages.This section provides an overview of Administrator, environments, and Messaging Bus. Runtime on page 31 discusseshosts, nodes, applications, features, and resources. Governance on page 39 discusses TIBCO ActiveMatrix RuntimeUDDI Server.

Figure 11: TIBCO ActiveMatrix Administration

TIBCO ActiveMatrix Administrator

TIBCO ActiveMatrix Administrator consists of the following components:

• Administrator server• Administrator server clients

– Administrator web interface– Administrator command-line interface– TIBCO Business Studio

TIBCO ActiveMatrix BPM SOA Concepts

Platform | 35

Page 36: TIBCO ActiveMatrix BPM SOA Concepts

In the following figure the Administrator web interface is opened to the welcome screen.

Figure 12: TIBCO ActiveMatrixAdministrator

The communication channel between Administrator server and its clients can be secured with SSL.

Administrator server hosts TIBCO Credential Server, which provides credentials to secure communication betweenTIBCO ActiveMatrix Administrator server, hosts, and nodes using SSL.

The node on which the Administrator server runs product applications that provide various platform services:

FunctionService

Aggregates log data from nodes and saves to persistent store.Log

Stores and retrieves large payloads for log entries.Payload

Aggregates performance data from nodes and saves to persistent store.Monitoring

Servers

Administrator servers interact with other servers:

• Database - maintains Administrator server configuration, performance, log, and payload data• Authentication realm - maintains user data• Notification - propagates status messages between Administrator server, hosts, and nodes• Messaging Bus - propagates messages between applications• UDDI server - (optional) maintains published service data

The communication channels between Administrator servers and other servers can be secured with SSL. For informationon SSL support, see the installation manual for your product.

Enterprise

In the TIBCO ActiveMatrix platform the term enterprise has meaning in two different contexts: runtime and administrative.

TIBCO ActiveMatrix BPM SOA Concepts

36 | Platform

Page 37: TIBCO ActiveMatrix BPM SOA Concepts

In the runtime, enterprise refers to the collection of runtime objects that share the Enterprise Message Service serverthat functions as the notification server. The enterprise is identified by a name specified when you create an Administratorserver.

In Administrator, enterprise refers to the top-level administration object. An enterprise contains environments, hosts,and objects shared between all the environments in an enterprise.

Environments

An environment is a logical grouping of applications and nodes. An Administrator server can have multiple environments.For example, you can define environments distinguished by product life cycle function such as development andproduction, by geographical area, or by business unit.

Environments provide a way to isolate one group of applications and nodes from another. This is useful for security,optimizing network traffic (each environment has its own Enterprise Message Service server for service buscommunication) and visual organization in the Administrator UI.

Environments contain the following types of objects:

• Applications The services and references defined by an application can be promoted to the application's environment.Services and references promoted to the environment level can be wired to each other. The following figure illustratesa service and reference exposed by a component, promoted to the composite level, promoted again to the environmentlevel, and wired between the promoted reference and service.

Figure 13: Cross Environment Wires

• Nodes Nodes are runtime sandboxes that run application logic. Node names must be unique within an environmentand within a host.

• Messaging Bus configuration

Administrator Environment

The environment containing the node on which the Administrator server runs, SystemNode, is named SystemEnvironment.

TIBCO ActiveMatrix BPM SOA Concepts

Platform | 37

Page 38: TIBCO ActiveMatrix BPM SOA Concepts

Messaging Bus

An environment's Messaging Bus is the communications backbone that mediates message exchange between serviceconsumers and providers. When a consumer makes a service request, it is the responsibility of Messaging Bus to locateproviders that offer the service and deliver the message to a provider.

Messaging Bus enables service virtualization. With service virtualization, a reference does not need to know about thebinding details of the service with which it is communicating. It only needs to know the name of the service. Servicevirtualization allows applications within an environment to communicate without requiring the applications' promotedservices and references to have bindings.

For information on TIBCO ActiveMatrix Administrator, see SOA Administration.

TIBCO ActiveMatrix BPM SOA Concepts

38 | Platform

Page 39: TIBCO ActiveMatrix BPM SOA Concepts

Governance

Governance involves the application and assurance of organizational mandates and guidelines. In the SOA realm,operational governance assures service execution, ensuring that services are behaving according to the specified mandatesand guidelines. It can include service monitoring, resource optimization, fault tolerance and access control. Severalfeatures in the design, runtime, and administration components of the TIBCO ActiveMatrix platform support operationalgovernance. At design-time, TIBCO Business Studio allows application developers to specify intents and policy sets.At administration time, TIBCO ActiveMatrix Administrator supports metrics collection and monitoring and credentialsthat support identity management.

Policy Management

Policy management involves specifying a capability of or constraint on a governed object—composite, component,service, or reference—to affect runtime behavior such as security, reliability, transactions, threading, and quality ofservice. Such constraints and capabilities are managed separately from the core business logic of your application. Toenable policy management, an application designer specifies intents and policy sets.

An intent describes abstract constraints on the behavior of a component, or on interactions between components. Intentslet application designers specify requirements in a high-level, abstract form, independent of the configuration details ofthe runtime and bindings. Intents guide administrators as they configure bindings, policies, and runtime details.

A policy set contains one or more policies. Adding a policy set to a governed object applies its policies at the object.

A policy is a configuration that specifies the precise details that TIBCO ActiveMatrix needs to enforce a constraintdeclared in an intent. A policy can also be specified without an intent.

TIBCO ActiveMatrix support for intents, policy sets, and policies conforms to SCA_Policy_Framework_V100 and SCATransaction_Policy V100.

Policies specified at design time are packaged into the deployment archive and enforced via a governance agent embeddedin the TIBCO ActiveMatrix runtime.

Monitoring

The monitoring service and dashboards in TIBCO ActiveMatrix Administrator provide summary and detailed viewsinto the operational health and performance of your TIBCO ActiveMatrix infrastructure, applications, and services.

The monitoring service is a TIBCO ActiveMatrix application that aggregates performance data from runtime objects.

Dashboards display runtime object performance statistics. They allow you to monitor the overall health and performanceof infrastructure objects, applications, and resources.

Identity Management

Identity management is supported by security resource instances that you define in TIBCO ActiveMatrix Administratorand install in runtime nodes. The resource instances are invoked when policies are enforced by the governance agent.

Service Registry

TIBCO ActiveMatrix Runtime UDDI Server is a lightweight Universal Description, Discovery, and Integration (UDDI)registry and metadata repository that provides a standards-based system of record for discovering and publishing reusablebusiness and IT services based on business classification and usage models.

TIBCO ActiveMatrix Runtime UDDI Server can be used by other TIBCO ActiveMatrix components. When developingapplications in TIBCO Business Studio you can search TIBCO ActiveMatrix Registry for services. You can configurea UDDI server in Administrator so that when you deploy an application in Administrator, the service is automaticallyregistered in TIBCO ActiveMatrix Runtime UDDI Server.

TIBCO ActiveMatrix BPM SOA Concepts

Platform | 39

Page 40: TIBCO ActiveMatrix BPM SOA Concepts

Figure 14: TIBCO ActiveMatrixRuntime UDDI Server Service Console

TIBCO ActiveMatrix BPM SOA Concepts

40 | Platform

Page 41: TIBCO ActiveMatrix BPM SOA Concepts

Glossary

abstract component

A component whose implementation type is unspecified but whose interfaces and connections to services, othercomponents, and references are defined. Abstract components can be used by system architects to specify therelationship of a component to other composite elements while deferring the choice of implementation type.

application

An instance of an application template.

application fragment

A component or binding running on a node.

application template

A root composite and a set of related configuration files including nested composites, WSDL files, substitutionvariable files, and resource templates.

binding

A transport configuration that specifies how messages are transported from service consumers to providers. Aservice can have multiple bindings. A reference can have one binding.

component

A configured implementation that provides a business function as a service and consumes other services.

composite

An assembly of components, services, references, and properties and the wires that encapsulate the connectionsbetween these elements.

distributed application archive (DAA)

A package for applications and libraries. A DAA contains zero or more application templates, custom features,and an optional distribution.

distribution

Specifies a mapping of one or more application fragments to one or more logical nodes.

endpoint

A runtime object that manages each direction of the messages associated with the operation supported by a binding.

environment

A logical grouping of applications and nodes.

feature

A software package that specifies the Eclipse plug-ins it includes and the features on which it depends. A featureis identified by an ID and a multi-part version. There are two types of features: product and custom. Productfeatures are defined by the TIBCO ActiveMatrix product. Component implementations and user-defined librariesare packaged in custom features.

governed object

An element at which TIBCO ActiveMatrix can enforce policies. The following elements can be governed objects:

• Composite• Component• Component service or reference

TIBCO ActiveMatrix BPM SOA Concepts

Page 42: TIBCO ActiveMatrix BPM SOA Concepts

• Promoted service or reference• Binding

host

Runtime entity that manages nodes and installed TIBCO ActiveMatrix software.

identity provider

A resource that encapsulates a user identity. The identity may be implemented using usernames and passwords orother credentials.

intent

Describes abstract constraints on the behavior of a component, or on interactions between components. Intents letapplication designers specify requirements in a high-level, abstract form, independent of the configuration detailsof the runtime and bindings. Intents guide administrators as they configure bindings, policies, and runtime details.

keystore

A database of keys and certificates. Keystores contain keystore entries, which serve as identities for participantsin SSL sessions.

keystore provider

A resource that encapsulates a keystore credential.

logical node

A heterogeneous group of application fragments that must be deployed to the same physical node. You cannotdistribute fragments to different nodes if they are contained in the same logical node.

message

The basic unit of communication between a requestor and a service. An abstract, typed definition of the datarequired by an operation.

message exchange pattern (MEP)

The sequence of messages in an operation. This sequence includes the order, direction, and cardinality of thenormal and fault messages.

node

The runtime environment for application fragments.

operation

The set of messages required to perform a single abstract action. An operation has zero or one request (input)message and zero or one response (output) message, and zero or more fault messages.

policy

A configuration that specifies the precise details that TIBCO ActiveMatrix needs to enforce a constraint declaredin an intent. A policy can also be specified without an intent.

policy set

Contains one or more policies. Adding a policy set to a governed object applies its policies at the object. Whenyou add a policy set, you are explicitly requesting that TIBCO ActiveMatrix enforce all its policies for the governedobject.

promotion

The process whereby services and references defined by an object are made visible at the level of its containerobject. The service and references of a component can be promoted to its containing composite and the servicesand references of an application can be promoted to its containing environment.

TIBCO ActiveMatrix BPM SOA Concepts

42 | Glossary

Page 43: TIBCO ActiveMatrix BPM SOA Concepts

property

Data that influences the behavior of an application fragment. Property values can be configured when the fragmentis deployed.

reference

The set of services required by a component or composite.

resource instance

An instance of a resource template.

resource template

A configuration of the properties required by a resource.

service

A set of operations and the messages required by the operations.

service-oriented architecture (SOA)

A software architecture in which applications are decomposed into discrete, operationally independent services,which can be executed in a highly distributed manner. SOA is based on three principles:

• Modularity Breaking tasks and services into smaller tasks or services.• Encapsulation Clearly defined interfaces that insulate a service's internal workings from outside contact.• Reuse Re-assembling services into composite applications that support new business processes.

SOA inherently encompasses a heterogeneous collection of platforms and sources. Enterprise applications maybe hosted on Java and .NET platforms, as well as third-party packaged systems and legacy applications. SOAinfrastructure spans these varied application architectures and provides mediation between them.

service component architecture (SCA)

A set of specifications that describe a model for constructing composite applications that conform to aservice-oriented architecture.

service virtualization

The messaging configuration specified in an environment that enables message transport between the environment'swired service providers and consumers in the absence of associated bindings.

software repository

A set of folders on the file system that act as a source of software features. The file system folders must be accessiblefrom an Administrator server. The software repository holds metadata about products and product features.Administrator uses the following software repositories:

• Product A read-only software repository containing the TIBCO products installed by TIBCO installers.• Administrator Read-write software repository containing features uploaded into Administrator.

substitution variable

A variable that you can reuse in resource and application configurations. Substitution variables enable late bindingof property values to values available in Administrator at deployment time. At design time, instead of explicitlysetting property values, they are bound to a substitution variable. Administrators set the substitution variablesvalues to values supported by the resources available on the node on which the resources are installed andapplications are deployed.

trust provider

A resource that encapsulates access to a trust store.

trust store

A keystore containing trusted certificates.

TIBCO ActiveMatrix BPM SOA Concepts

Glossary | 43

Page 44: TIBCO ActiveMatrix BPM SOA Concepts

wire

A connection between a service and a reference.

TIBCO ActiveMatrix BPM SOA Concepts

44 | Glossary