TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... •...

60
TIBCO ActiveMatrix ® BPM SOA Concepts Software Release 2.2.0 September 2013

Transcript of TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... •...

Page 1: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

TIBCO ActiveMatrix® BPM SOAConceptsSoftware Release 2.2.0September 2013

Page 2: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the
Page 3: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Important Information

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

USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF ALICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT,OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENTWHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH ISDUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT ORCLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OFTHE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOURUSE 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 SoftwareInc.

TIBCO, Two-Second Advantage, TIBCO ActiveMatrix, and TIBCO Enterprise Message Service are either registeredtrademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries.

Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform Enterprise Edition (J2EE),and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation in theU.S. and other countries.

All other product and company names and marks mentioned in this document are the property of their respectiveowners and are mentioned for identification purposes only.

THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALLOPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAMETIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFICOPERATING SYSTEM PLATFORM.

THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS ORIMPLIED, 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. CHANGESARE PERIODICALLYADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATEDIN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/ORCHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANYTIME.

THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY,BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITEDTO ANY 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€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the
Page 5: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Contents

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

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

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

Typographical Conventions....................................................................................................11

Connecting with TIBCO Resources........................................................................................14

Chapter 1 Introduction....................................................................15Challenges of Service Delivery..............................................................................................17

Solution Life Cycle..................................................................................................................18

Chapter 2 Design.............................................................................21Design Activities.....................................................................................................................22

Chapter 3 Runtime...........................................................................23Overview................................................................................................................................24

Hosts......................................................................................................................................26

Nodes.....................................................................................................................................27

Features.................................................................................................................................28

Resource Templates...............................................................................................................29

Resource Instances................................................................................................................30

Chapter 4 Administration................................................................31Overview................................................................................................................................32

TIBCO ActiveMatrix Administrator..........................................................................................33

Enterprise...............................................................................................................................34

Environments.........................................................................................................................35

Messaging Bus.......................................................................................................................36

Governance............................................................................................................................37

Monitoring Service.......................................................................................................37

Policy Management.....................................................................................................37

Service Registry..........................................................................................................38

Identity Management...................................................................................................38

Chapter 5 Service Component Architecture.................................39Composites............................................................................................................................40

TIBCO ActiveMatrix BPM SOA Concepts

TOC | 5

Page 6: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Components...........................................................................................................................42

Component Implementation...................................................................................................43

Services and References.......................................................................................................44

Interfaces................................................................................................................................45

Bindings..................................................................................................................................46

Properties...............................................................................................................................48

Message Exchange Patterns.................................................................................................49

Java Components...................................................................................................................50

Composite Components.........................................................................................................51

Mediation Components..........................................................................................................52

WebApp Components............................................................................................................55

Spring Components................................................................................................................56

Glossary................................................................................................................57

TIBCO ActiveMatrix BPM SOA Concepts

6 | TOC

Page 7: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Preface

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

TIBCO ActiveMatrix BPM SOA Concepts

Page 8: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

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 ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

TIBCO Product Documentation

This section lists documentation resources you may find useful.

The following documents form the TIBCO ActiveMatrix documentation set:• Concepts: Read this manual before reading any other manual in the documentation set. This manual

describes terminology and concepts of the 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,and running 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 develop custom Mediation tasks.• WebApp Component Development : Read this manual to learn how to configure and implement Web

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

starting the runtime version of the product, starting TIBCO ActiveMatrix servers, and deployingapplications to the runtime.

• Administration: Read this manual to learn how to manage the runtime and deploy and manage applications.• Hawk ActiveMatrix Plug-in User’s Guide: Read this manual to learn about the Hawk plug-in and its optional

configurations.• Installation and Configuration: Read this manual to learn how to install and configure the software.• 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 Implementation Type for TIBCO Adapters• TIBCO ActiveMatrix Implementation Type for Microsoft CLR• TIBCO ActiveMatrix Binding Type for REST

TIBCO ActiveMatrix BPM SOA Concepts

Preface | 9

Page 10: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

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€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Typographical Conventions

Table 1: General Typographical Conventions

UseConvention

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

ENV_NAME Incompatible products and multiple instances of the same product must be installed intodifferent installation environments. An installation environment consists of the followingproperties:• Name - Identifies the installation environment. The name is appended to the name of

Windows services created by the installer and is a component of the path to the productshortcut in the Windows Start > All Programs menu. This name is referenced indocumentation as ENV_NAME .

• Path - The folder into which the product is installed. This folder is referenced indocumentation as TIBCO_HOME .

The folder that stores configuration data generated by TIBCO products. Configurationdata can include sample scripts, session data, configured binaries, logs, and so on. Thisfolder is referenced in documentation as CONFIG_HOME.

CONFIG_HOME

Code font identifies commands, code examples, filenames, pathnames, and outputdisplayed in a command 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.6\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 features.

all:BUILD SUCCESSFUL

BUILD SUCCESSFULTotal time: 2 minutes 18 seconds

TIBCO ActiveMatrix BPM SOA Concepts

Preface | 11

Page 12: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

UseConvention

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 keystore is a database of keys and certificates.• 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 names separated by a comma and space indicate keys pressed one after the other.For example: Esc, Ctrl+Q.

Keycombinations

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 theinformation provided in the current section to achieve a specific result.

The warning icon indicates the potential for a damaging situation, for example, data lossor corruption 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 eachlogical group.

For example, the following command requires two parameters, which can be either thepair param1 and param2, or the pair param3 and param4.

{ }

MyCommand {param1 param2} | {param3 param4}

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

MyCommand {param1 | param2} {param3 | param4}

TIBCO ActiveMatrix BPM SOA Concepts

12 | Preface

Page 13: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

UseConvention

In the next example, the command can accept either two or three parameters. The firstparameter must be param1. You can optionally include param2 as the second parameter.And the last parameter is either param3 or param4.

MyCommand param1 [param2] {param3 | param4}

TIBCO ActiveMatrix BPM SOA Concepts

Preface | 13

Page 14: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Connecting with TIBCO Resources

How to Join TIBCOmmunity

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

How to Access TIBCO Documentation

After you join TIBCOmmunity, you can access the documentation here: http://docs.tibco.com.

How to Contact TIBCO Support

For comments or problems with this manual or the software it addresses, 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

14 | Preface

Page 15: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Chapter

1Introduction

TIBCO ActiveMatrix provides tools for developing and packaging distributed applications, a distributed serviceexecution environment, and tools for managing the runtime environment, applications and the services theapplications provide.

Managing a large number of distributed business applications — starting from deployment, integration, scaling,flexibility for future changes, and monitoring — pose a challenge to information technology departments. TheTIBCO ActiveMatrix products help solve many of these challenges.

TIBCO ActiveMatrix Service Bus, TIBCO ActiveMatrix Service Grid, and TIBCO ActiveMatrix BusinessWorks formthe core of the TIBCO Service Oriented Architecture (SOA) design. Expanding the capabilities of these productsare the adapters that support interactions with non-TIBCO components. TIBCO ActiveMatrix goes a step furtherto consolidate runtime platforms and administration. Moreover, TIBCO ActiveMatrix uses the standardized SOAmodeling based on Service Component Architecture (SCA) and SOA deployment based on OSGi specifications.

TIBCO ActiveMatrix software architecture is shown in the following figure:

TIBCO ActiveMatrix addresses and provides solutions to the following scenarios:

TIBCO ActiveMatrix BPM SOA Concepts

Page 16: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

• Capability to build applications once and reuse• Provides a framework for application lifecycle• Has the ability to host multi-tenancy• Supports multi-domain

In addition, various types of authorization, authentication, and encryption policies can be dynamically configuredto control cloud deployments. TIBCO ActiveMatrix includes complex event processing technology to dynamicallyscale and shrink application resources based on service-level agreements.

Topics

• Challenges of Service Delivery• Solution Life Cycle

TIBCO ActiveMatrix BPM SOA Concepts

16 | Introduction

Page 17: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Challenges of Service DeliveryThe biggest challenge to service delivery is coping with the fast evolving nature of business requirements.

As business requirements, models, and priorities changes, businesses need to:• Add new services, modify existing services, and replace or retire out-dated ones.• Provide legacy services to new consumers and new services to legacy consumers.• Expand the range of available services.

To scale services and meet the business needs of providing services, Information Technology departmentshave to tackle a series of challenges such as:• Accommodating heterogenous software assets• Achieving service-consumer compatibility• Reusing services and common features• Managing different versions of services• Minimizing the disruptions of transitions• Easing of development and maintenance

Services developed and run using the TIBCO ActiveMatrix sofware address all of these challenges.

TIBCO ActiveMatrix BPM SOA Concepts

Introduction | 17

Page 18: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Solution Life CycleThe end-to-end life cycle for business applications involves designing, developing, deploying, and monitoringapplications. TIBCO ActiveMatrix addresses each phase of the process and to the corresponding roles andresponsibility that goes with each task in the life cycle.

Figure 1:TIBCO ActiveMatrix Solution Life Cycle

Design

TIBCO Business Studio is a tool provided in TIBCO ActiveMatrix that caters to application architects andapplication developers. It is an Eclipse-based tool for designing block-level structure of an application, andsubsequent development.

An architect responsible for developing applications can do the following:• Define the high-level building blocks of an application.• Define the data and control flows between modules of an application. In SOA methodology, this is done

by defining the API Contracts in the services provided and consumed by each application.• Specify the technology to be used for development such as J2EE web applications, Java, .NET, and Mediation

Flow.

Development

The team responsible for developing an application can use TIBCO Business Studio or a tool of choice suchas native Visual Studio for .NET and C++ development and can do the following:• Implement the business logic for each application using a chosen technology.• Debug, unit test the application to ensure the APIs work as designed.• Use deployment technologies supported by TIBCO ActiveMatrix such as Java, Spring, Webapp, Mediation,

C#, and C++.• Integrate functional components into business applications to provide end-to-end functionality.• Generate TIBCO ActiveMatrix deployment artifacts for each application and hand them over to the

operations staff for deployment.

TIBCO ActiveMatrix BPM SOA Concepts

18 | Introduction

Page 19: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Administration

For the operations group, TIBCO ActiveMatrix provides a web-based tool and a command-line shell scriptto automate following tasks:• Set up infrastructure elements such as machines and database servers required to run business applications.• Upload application artifacts provided by the development team into TIBCO ActiveMatrix Administrator

tool.• Configure, distribute, and deploy business applications. Note: TIBCO ActiveMatrix allows application

configuration to be 'late bound', meaning it can be changed at deployment time.• Monitor and troubleshoot applications.• Upgrade applications to newer versions and iterate over the deployment cycle.

TIBCO ActiveMatrix BPM SOA Concepts

Introduction | 19

Page 20: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the
Page 21: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Chapter

2Design

TIBCO ActiveMatrix Business Studio provides a common modeling, implementation and deployment environmentfor different types of applications. TIBCO Business Studio provides an Eclipse-based design environment which:1. Business analysts can use to capture, design and model all aspects of a business process, including the

organization and data models that underpin it.2. Solution designers can implement the process as an executable application, then deploy the application to the

TIBCO ActiveMatrix runtime for execution.

Applications developed using TIBCO ActiveMatrix design environment conform to the Service ComponentArchitecture (SCA), which is a model for developing applications based on the service-oriented architecture (SOA).

See Service Component Architecture section for more information.

Topics

• Design Activities

TIBCO ActiveMatrix BPM SOA Concepts

Page 22: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Design ActivitiesTIBCO ActiveMatrix design activities are performed in TIBCO Business Studio, an extension of the EclipseSDK Workbench.

In TIBCO Business Studio, analysts, architects, and developers, design, implement, configure, test, andpackage TIBCO ActiveMatrix applications. Beyond the standard Eclipse Workbench features, TIBCO BusinessStudio provides:• 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 more information on TIBCO Business Studio, see Composite Development.

TIBCO ActiveMatrix BPM SOA Concepts

22 | Design

Page 23: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Chapter

3Runtime

The basic runtime elements of the TIBCO ActiveMatrix product suite are the node, host, and the EMS server. Thenode is the container where components, bindings, and resources are deployed. The host is installed on everymachine and represents ActiveMatrix on that machine.

The TIBCO ActiveMatrix Administrator provides the deployment and run-time management for ActiveMatrixenvironments. In reality, the administrator too is an ActiveMatrix component running on a dedicated node.

Topics

• Overview• Hosts• Nodes• Features• Resource Templates• Resource Instances

TIBCO ActiveMatrix BPM SOA Concepts

Page 24: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

OverviewTIBCO ActiveMatrix employs a three-level runtime environment consisting of hosts, nodes, and applicationfragments.

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

Figure 2:TIBCO ActiveMatrix Runtime

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

TIBCO ActiveMatrix BPM SOA Concepts

24 | Runtime

Page 25: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Figure 3: Runtime Configuration

TIBCO ActiveMatrix BPM SOA Concepts

Runtime | 25

Page 26: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

HostsWithin the enterprise, hosts are used to manage nodes. A host can contain nodes from more than oneenvironment. Hosts are responsible for deploying applications and for other administrative tasks. Each hosthas a software repository that contains the application templates, features, and resource adapters availableto the nodes managed by that host.

Hosts have types, but the only type currently supported is TIBCO Host.

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

ActiveMatrix enables isolation of hosts so that enterprises can separate different groups and services. Thefeatures are given below:• A host can be part of any number of environments.• If the host association is changed from All Environments to Specific Environments, support for nodes

already running on the host continues.• Node creation on the isolated host is limited to users in the associated environment or group of

environments. Host not associated with an environment is hidden.• It is not possible to remove a host from an environment if nodes for that environment are running on the

host.

The host that manages the SystemNode node on which the Administrator server runs is named SystemHost.

TIBCO ActiveMatrix BPM SOA Concepts

26 | Runtime

Page 27: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

NodesA node is the runtime environment for applications. Nodes exist in an environment and are managed byhosts. When managed by a host, a node runs in its own OS process and JVM. You can configure a host withmultiple nodes. Nodes act 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.• 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 tonodes. A fragment can be distributed to many nodes, and a single node can run many fragments. To increasethroughput for a component or binding you can deploy multiple copies of the fragment to multiple nodes.

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

The node on which the Administrator server runs is named SystemNode.

The following figure depicts a configuration of environments, hosts, and nodes that shows the flexibilityachieved with a multi-node setup. The two environments are assigned to groups of users that haveresponsibility for a specific phase of the application life cycle: Development and Production. Isolation betweenthe groups is achieved by creating two nodes on each host and assigning them to different environments.Nodes A and B are located on Host 1 and nodes C and D are located on Host 2. Nodes A and C are managedby the Development environment and nodes B and D are managed by the Production environment. Inaddition, access to a JDBC resource is restricted to the nodes in the Production environment.

Figure 4: Multiple Node Scenario

TIBCO ActiveMatrix BPM SOA Concepts

Runtime | 27

Page 28: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

FeaturesA feature is a software package that contains plug-ins, which in turn contain component implementationsand libraries. A feature is identified by an ID, a multi-part version, and its dependencies on other features.There are two types of features: system and shared library.

System features are part of a TIBCO ActiveMatrix product or contain the drivers that are installed usingTIBCO Configuration Tool. Shared library features contain component implementations and libraries. Whenyou create a distributed application archive containing a composite, you can package the composite's requiredfeatures in the application archive or you can package the features as a standalone distributed applicationarchive.

When you upload a distributed application archive containing a composite in Administrator you can optionallyimport the features contained in the archive into the Administrator software repository. When you deployan application, Administrator automatically distributes the features (and any features that it depends on) tothe host that manages the nodes on which the application is distributed and installs the features on thosenodes. You can also manually install features on the other nodes managed by that host.

TIBCO ActiveMatrix BPM SOA Concepts

28 | Runtime

Page 29: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Resource TemplatesA resource template specifies configuration details for resources.

One resource template can be used to configure many resource instances. Resource instances allow sharingof resources such as connection pools. They also eliminate the need to provide such details in services,component implementations, and references. Instead, you specify a property of the type of required resourcein the service, component, or reference. While configuring an application for deployment, the property of aresource instance in the node is mapped to the application.

Resource templates are defined at the enterprise, environment, or application level. A resource templatedefined at enterprise level is available to all environments and applications in the enterprise; a resourcetemplate defined at an environment level is available only to applications in that environment; a resourcetemplate defined at an application level is available only to that application.

You can create resource templates in two ways:• Manually using the command-line and web interfaces.• Automatically when you import the resource templates while creating an application.

In either case you must have enterprise permission to create a resource template.

TIBCO ActiveMatrix BPM SOA Concepts

Runtime | 29

Page 30: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Resource InstancesA resource instance is a runtime object that represents a resource, such as an HTTP, JDBC, or LDAP connection.

A resource instance instantiates the configuration defined in a resource template and makes it available toservices running on a node.

Applications, components, bindings, logging appenders, and resource templates can have properties whosevalue is the name of a resource. For example, an HTTP client resource template's SSL property configurationincludes a property whose value is the name of SSL Client Provider resource. Figure 5: TIBCO Business StudioResource Instance on page 30 and Figure 6: Administrator Resource Instance on page 30 show how to set aresource property in TIBCO Business Studio and Administrator respectively.

Figure 5: TIBCO Business Studio Resource Instance

Figure 6: Administrator Resource Instance

TIBCO ActiveMatrix BPM SOA Concepts

30 | Runtime

Page 31: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Chapter

4Administration

TIBCO ActiveMatrix Administrator is a central administration server that let you create, deploy, and manageapplications in TIBCO Administrator using a browser-based interface. There is also a set of command-line utilitiesavailable for creating EAR files and deploying applications.

Topics

• Overview• TIBCO ActiveMatrix Administrator• Enterprise• Environments• Messaging Bus• Governance

TIBCO ActiveMatrix BPM SOA Concepts

Page 32: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

OverviewTIBCO ActiveMatrix Administrator provides a UI interface and runtime interface.

TIBCO ActiveMatrix administration is supported by TIBCO ActiveMatrix Administrator and TIBCO BusinessStudio. System administrators can do the following:• configure environments and messaging buses• register hosts and associate them with environments• provision nodes with features and resources• deploy, configure, and manage applicationsIn TIBCO Business Studio developers deploy and debug applications.

The following figure illustrates the relationship between TIBCO ActiveMatrix Administrator and the objectsit manages. This section provides an overview of the environment and Messaging Bus. Runtime on page 23discusses hosts, nodes, applications, features, and resources.

Figure 7:TIBCO ActiveMatrix Administration

TIBCO ActiveMatrix BPM SOA Concepts

32 | Administration

Page 33: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

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

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

Figure 8: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 communicationbetween the TIBCO ActiveMatrix Administrator server, hosts, and nodes using SSL.

The node on which the Administrator server runs product applications that provide various platform services:• Log - Aggregates log data from nodes and saves to persistent store.• Payload - Stores and retrieves large payloads for log entries.• Monitoring -Aggregates performance data from nodes and saves to persistent store.

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. Forinformation on SSL support, see the installation manual for your product.

For information on TIBCO ActiveMatrix Administrator, see SOA Administration.

TIBCO ActiveMatrix BPM SOA Concepts

Administration | 33

Page 34: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

EnterpriseIn TIBCO ActiveMatrix terms, the enterprise is the top-level object in the hierarchy of administration. Theenterprise contains the hierarchy of environments, hosts, and nodes; and also contains Shared Objects thatare available across the enterprise. The objects are available in the Administrator UI.

In the runtime, enterprise refers to the collection of runtime objects that share the Enterprise Message Serviceserver that functions as the notification server. The enterprise is identified by a name specified when youcreate an Administrator server.

The following table lists the enterprise objects and their location in the Administrator UI.

Table 3: Enterprise Objects

LocationEnterprise Object

Infrastructure > Software Management > Application TemplatesApplication Template

Infrastructure > EnvironmentsEnvironment

Infrastructure > Software Management > FeaturesFeature

Infrastructure > HostsHost

Shared Objects > Logging AppendersLogging appender

Shared Objects > Resource TemplatesResource template

Shared Objects > Substitution VariablesSubstitution variable

Governance > Users and GroupsUser, superuser, and group

Governance > Enterprise PermissionsEnterprise permission

TIBCO ActiveMatrix BPM SOA Concepts

34 | Administration

Page 35: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

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

Environments provide a way to isolate one group of applications and nodes from another. This is useful forsecurity, optimizing network traffic (each environment has its own Enterprise Message Service server forservice bus communication) and visual organization in the Administrator UI. Hosts can also be isolated andassociated with one or more environments.

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. Thefollowing figure illustrates a service and reference exposed by a component, promoted to the compositelevel, promoted again to the environment level, and wired between the promoted reference and service.

Figure 9: Cross Environment Wires

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

• Messaging Bus configuration

Administrator Environment

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

Development Environment

When you create an Administrator server you have the option to create a development environment andnode. By default, the environment is named DevEnvironment and the node is named DevNode.

TIBCO ActiveMatrix BPM SOA Concepts

Administration | 35

Page 36: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Messaging BusAn environment's Messaging Bus is the communications backbone that mediates message exchange betweenservice consumers and providers. When a consumer makes a service request, it is the responsibility ofMessaging Bus to locate providers 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 knowabout the binding details of the service with which it is communicating. It only needs to know the name ofthe service. Service virtualization allows applications within an environment to communicate without requiringthe applications' promoted services and references to have bindings.

TIBCO ActiveMatrix BPM SOA Concepts

36 | Administration

Page 37: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

GovernanceGovernance is a concept to exercise organizational control over development, deployment, and operationsof services.

In service-oriented architecture, operational governance assures service execution to ensure that servicesbehave according to the specified mandates and guidelines. It can include service monitoring, resourceoptimization, fault tolerance and access control. Several features in the design, runtime, and administrationcomponents of the TIBCO ActiveMatrix platform support operational governance. At design-time, TIBCOBusiness Studio allows application developers to specify intents and policy sets. At administration time,TIBCO ActiveMatrix Administrator supports metrics collection and monitoring and credentials that supportidentity management.

Monitoring ServiceThe monitoring service and dashboards in TIBCO ActiveMatrix Administrator provide summary and detailedviews into the operational health and performance of your TIBCO ActiveMatrix infrastructure, applications,and services.

The monitoring service is created when you create an Administrator server. For details, see the installationmanual for your product. The monitoring service is configured with a database for storing performance dataand the notification server that conveys the performance data from runtime objects to the monitoring service.

Basic monitoring provides one hour and since started time periods and a select number of metrics such asruntime state, requests, faults, response time. These features support advanced performance troubleshooting,but impose an additional load on the machine on which Administrator runs.

Policy ManagementPolicy management involves specifying a capability or constraint on a governed object — composite,component, service, or reference — to affect runtime behavior such as security, reliability, transactions,threading, and quality of service.

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.

Policies specified at design time are packaged into the deployment archive and enforced via a governanceagent embedded in the TIBCO ActiveMatrix runtime.

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

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

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

TIBCO ActiveMatrix support for intents, policy sets, and policies conforms to the SCA Policy specification.

TIBCO ActiveMatrix BPM SOA Concepts

Administration | 37

Page 38: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Service RegistryTIBCO ActiveMatrix can be configured to use any Universal Description, Discovery, and Integration (UDDI)registry and metadata repository that provides a standards-based system of record for discovering andpublishing reusable business and IT services based on business classification and usage models.

When developing applications in TIBCO Business Studio you can search a standards-based UDDI registryfor services. You can configure a UDDI server in Administrator so that when you deploy an application inAdministrator, the service is automatically registered in configured UDDI Server.

Identity Management

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

TIBCO ActiveMatrix BPM SOA Concepts

38 | Administration

Page 39: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Chapter

5Service Component Architecture

Service Component Architecture (SCA) defines a model for developing applications based on a service-orientedarchitecture. SCA is the foundation of TIBCO ActiveMatrix support for service-oriented applications. Businessfunction is provided as a set of components assembled into a structure called a composite. This section introducesthe elements of SCA.

Topics

• Composites• Components• Component Implementation• Services and References• Interfaces• Bindings• Properties• Message Exchange Patterns• Java Components• Composite Components• Mediation Components• WebApp Components• Spring Components

TIBCO ActiveMatrix BPM SOA Concepts

Page 40: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

CompositesA composite is a configuration of services comprising an application that conforms to a service-orientedarchitecture. A composite contains components, services, references, the wires that interconnect them, andproperties that are used to configure the components. Composites can be nested (contained by othercomposites). A root composite equates to an SCA application.

See the SCA Assembly specification for information on service-oriented architectures.

The constituents of a composite can run in a single process on a single computer or be distributed acrossmultiple processes on multiple computers. A complete application might be constructed from just onecomposite or it could combine several different composites. The components making up each composite canbe implemented using different technologies.

Figure 10: Composite

You edit composites in the TIBCO Business Studio Composite Editor shown in the following screen shot.

TIBCO ActiveMatrix BPM SOA Concepts

40 | Service Component Architecture

Page 41: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Figure 11: Composite Editor

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 41

Page 42: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

ComponentsA 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 configurethe same implementation.

Components can have services, references, and properties. All of these can be promoted to the compositelevel during design time. Promotion enables an Administrator to wire or configure services, references, andproperties when the application is deployed. Services, references, and properties that are not promoted areprivate to the application and are set at design time only.

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

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

TIBCO ActiveMatrix BPM SOA Concepts

42 | Service Component Architecture

Page 43: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Component ImplementationA component's implementation concretely provides the business function.

The TIBCO ActiveMatrix family of products supports the following implementation types in different products:• Java• Mediation• Composite• WebApp• Spring• C++• Adapters

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

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 43

Page 44: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Services and ReferencesApplications interact via services and references. A service is a set of operations and the messages requiredby the operations. A reference identifies the service consumed by a component or composite. Applicationsoffer services and invoke references to other services.

An application's services and references are promoted from the services and references of the componentsit contains.

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

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

TIBCO ActiveMatrix BPM SOA Concepts

44 | Service Component Architecture

Page 45: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

InterfacesAn interface defines the contract for services and references. Services and references can interact only whenthey have the same interface. An interface defines one or more operations and each operation has zero orone request (input) message and zero or one response (output) message. The request and response messagesmay be simple types such as strings and integers or they may be complex types. In the current release, TIBCOActiveMatrix supports WSDL 1.1 port type interfaces.

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 45

Page 46: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

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

TIBCO ActiveMatrix supports the following binding types:• Virtualization• REST• SOAP• JMS• EJB• Adapters

Virtualization bindings connect services and references to the Messaging Bus. Virtualization bindings areautomatically created for every composite service and every wired component service and reference. Atdesign-time, Virtualization bindings of component services and references are implicit; their properties cannotbe viewed.

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

SOAP, EJB, Adapters, and JMS bindings are explicitly created by architects and developers only on promotedservices and references.

TIBCO Business Studio and TIBCO ActiveMatrix Administrator provide the option to choose betweenTIBCO's SOAP/JMS and W3C SOAP/JMS on SOAP binding type and a target service while addinga binding to a service.

Figure 12: Bindings on page 47 illustrates the different types of bindings. In the figure, bindings are indicatedby a icon. The promoted service HelloWorldPT has a SOAP and external Virtualization binding. Thecomponents have internal Virtualization bindings. The promoted reference DateManagerPT has a SOAPbinding. In addition, any time a service or reference has a binding of type other than Virtualization, a pairof proxy (Virtualization) bindings are created to connect the service or reference to the component to whichthe service or reference service is wired.

TIBCO ActiveMatrix BPM SOA Concepts

46 | Service Component Architecture

Page 47: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Figure 12: Bindings

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 47

Page 48: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

PropertiesA property is an externally visible data value. Properties enable object behavior to be configured at deploymenttime.

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

Properties can have explicit values or may be bound to substitution variables, which can be set at deploymenttime in various scopes. Depending on the object possessing the property, the property value can be boundat design time, deployment time, or both:• At design time you can provide default values and indicate whether a composite or component property

value must be 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. Eithertype of binding can be overridden at administration time. However, only the properties of the root compositeof an application or those on bindings associated with application level services and references can beoverridden. If there are nested composites (component of type composite) then their property values cannotbe changed by an Administrator.

A composite property is specific to an application. Often the same property may be defined in more than oneapplication. For business reasons or ease of use an Administrator may want to define the value only onceand have it be used by more than one composite property. This is achieved by binding the composite propertyto a substitution variable, which can be defined at the enterprise, host, environment, node, application, andapplication fragment levels. The following figure shows a property named Greeting bound to a substitutionvariable named Greeting.

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

TIBCO ActiveMatrix BPM SOA Concepts

48 | Service Component Architecture

Page 49: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Message Exchange PatternsA message exchange pattern (MEP) defines the sequence and cardinality of messages sent between theprovider and the consumer.

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

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 thrownby the target service while processing messages. In service-oriented applications, clients expect specific faultresponses to be returned when errors occur. For example, SOAP clients expect a SOAP fault message to bereturned when an error occurs during processing. Each implementation type supports methods for generatingfaults in response to error conditions.

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 49

Page 50: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Java ComponentsJava components integrate Java classes into the TIBCO ActiveMatrix platform.

The integration conforms to SCA-J specifications. Java components support service implementation usingthe flexibility and power of a general purpose programming language.

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

You can develop Java components and generate classes that conform to the WSDL interface specification ofthe component's services and references. When you add a service, reference, or property to a Java componentand regenerate the implementation, TIBCO Business Studio adds fields and methods that represent theservice, 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 componentproperties to match the implementation.

For information on Java components, see Java Component Development .

TIBCO ActiveMatrix BPM SOA Concepts

50 | Service Component Architecture

Page 51: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Composite ComponentsA composite may serve as the component implementation for a higher level composite. Composite componentsenable architects 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 bereferenced directly by the using component. In other words, the internals of the composite are invisible tothe using component. The using component can only connect wires to the services and references of thereferenced composite and set values for properties of the composite. The services, references, and propertiesof the composite define a contract that relies upon using the component.

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 51

Page 52: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Mediation ComponentsMediation is the process of resolving differences between two entities for example, when bridging transportor interface differences.

Mediation components provide support for enterprise service bus (ESB) features and manage interactionsbetween service consumers and service providers. TIBCO ActiveMatrix Mediation components areimplemented with Mediation Flows, which are created using the Mediation Flow Editor. The TIBCOActiveMatrix Mediation Flow Editor provides a zero coding graphical tool that allows you to build mediationflows between service consumers and service providers that are described using WSDL files. The primarybuilding block of a mediation flow is called a mediation task. Mediation tasks are primitives that implementESB functions such as logging, data transformation, routing, and so on.

Mediation flows:• Map requests to one or more service providers. For example route requests based on the message content,

the message context, 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.• 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 mediationtasks.

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 flowinteracts with target services.

TIBCO ActiveMatrix BPM SOA Concepts

52 | Service Component Architecture

Page 53: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Figure 13: Mediation

In this figure:1. The service consumer, accessing the mediation service over SOAP/HTTP, invokes the query operation

in the mediation service to request information.2. Based on the contents of the message, a route task directs the message to one of three target operations,

provided by web services in Asia, Europe, and the United States. Transport and interaction-protocolbridging allow communication with the target service providers to proceed.

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

In summary, TIBCO ActiveMatrix mediation technology provides:• Service virtualization A mediation service hides the location of service providers and details of how the

services are provided (for example, the transport protocol, message format, and schema) from serviceconsumers. Virtualization enables:– 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 routeservice requests to alternative target services based on the message content, message context, mediationflow parameters or all of these. A routing task can also route service requests to Throw Fault tasks, as ameans of rejecting requests.

• Data transformation When routing a service request to alternative service providers, it might be necessaryto transform the message structure, data types, or contents used by the service consumer to the onesexpected 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 providersto 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 faultsthat occur in the mediation flow itself.

• Logging Log tasks can log elements of the message content, message context, mediation flow context orall of these elements.

• Custom mediation tasks To provide a mediation feature not present in pre-defined mediation tasks, youcan write code that performs a custom mediation task, and incorporate the task in the Mediation FlowEditor using wizards.

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 53

Page 54: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

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

Figure 14: Mediation Flow

For information on Mediation components, see Mediation Component Development.

TIBCO ActiveMatrix BPM SOA Concepts

54 | Service Component Architecture

Page 55: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

WebApp ComponentsA web application delivers services and content over the internet.

WebApp components integrate Java EE web applications into the TIBCO ActiveMatrix platform. The integrationconforms to SCA-J specifications.

For information on WebApp components, see WebApp Component Development.

TIBCO ActiveMatrix BPM SOA Concepts

Service Component Architecture | 55

Page 56: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Spring ComponentsSpring components integrate Spring Beans into the TIBCO ActiveMatrix platform.

A Spring component is very similar to Java component, but its implementation can consist of more than oneJava class. The classes are specified in a Spring Bean configuration file. Each Spring Bean corresponds to aJava class. In Spring components, each service, reference, and property is associated with a Bean (as opposedto all being associated with the same Java class in the case of Java components).

TIBCO ActiveMatrix BPM SOA Concepts

56 | Service Component Architecture

Page 57: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

Glossary

abstract componentA component whose implementation type is unspecified but whose interfaces and connections to services,other components, and references are defined. Abstract components can be used by system architects tospecify the relationship of a component to other composite elements while deferring the choice ofimplementation type.

applicationAn instance of an application template.

application fragmentA component or binding running on a node.

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

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

bundleAn OSGi mechanism for grouping Java classes into a modular, sharable unit. In TIBCO Business Studio, aplug-in implements a bundle.

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

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

distributed application archive (DAA)A package for applications, libraries, and adapter archives. A DAA contains zero or more application templates,custom features, and an optional distribution.

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

endpointA runtime object that manages each direction of the messages associated with the operation supported by abinding.

enterprise archive (EAR)A TIBCO ActiveMatrix Adapters deployment package. An EAR file is created in TIBCO Designer and isassembled from one or more adapter archives. The EAR file is uploaded to Administrator when creating anapplication. During uploading and parsing an EAR file adapter configurations are identified, global variablesare collected and an application template containing a TIBCO ActiveMatrix Implementation Type for TIBCOAdapters component is created.

environmentA logical grouping of applications and nodes.

featureA software package that specifies the plug-ins (bundles) it includes and the features on which it depends.There are two types of features:• System, which are defined by the TIBCO ActiveMatrix product.• Shared library, which contain component implementations and libraries.

governed objectAn element at which TIBCO ActiveMatrix can enforce policies. The following elements can be governedobjects:• Composite• Component• Component service or reference

TIBCO ActiveMatrix BPM SOA Concepts

Page 58: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

• Promoted service or reference• Binding

hostRuntime entity that manages nodes and installed TIBCO ActiveMatrix software.

identity providerA resource that encapsulates a user identity. The identity may be implemented using usernames and passwordsor other credentials.

intentDescribes 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 configurationdetails of the runtime and bindings. Intents guide administrators as they configure bindings, policies, andruntime details.

interfaceDefines the contract for services and references.

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

keystore providerA resource that encapsulates a keystore credential.

log appenderAn output destination for a logger.

logging configurationAn object that identifies the level of events to be logged and whether to pass messages to a parent logger.

logical nodeA heterogeneous group of application fragments that must be deployed to the same physical node. Youcannot distribute fragments to different nodes if they are contained in the same logical node.

messageThe basic unit of communication between a requester 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.

nodeThe runtime environment for application fragments.

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

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

policy setContains 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 thegoverned object.

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

propertyData that influences the behavior of an application fragment. Property values can be configured when thefragment is deployed.

referenceIdentifies the service consumed by a component or composite.

resource instanceAn instance of a resource template.

resource template

TIBCO ActiveMatrix BPM SOA Concepts

58 | Glossary

Page 59: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the

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 independentservices, 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 applicationsmay be hosted on Java and .NET platforms, as well as third-party packaged systems and legacy applications.SOA infrastructure 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 virtualizationThe messaging configuration specified in an environment that enables message transport between theenvironment's wired service providers and consumers in the absence of associated bindings.

software repositoryA set of folders on the file system that act as a source of software features. The file system folders must beaccessible from an Administrator server. The software repository holds metadata about products and productfeatures. 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 variableA variable that you can reuse in resource and application configurations. Substitution variables enable latebinding of property values to values available in Administrator at deployment time. At design time, insteadof explicitly setting property values, they are bound to a substitution variable. Administrators set thesubstitution variables values to values supported by the resources available on the node on which the resourcesare installed and applications are deployed.

trust providerA resource that encapsulates access to a trust store.

trust storeA keystore containing trusted certificates.

wireA connection between a service and a reference.

TIBCO ActiveMatrix BPM SOA Concepts

Glossary | 59

Page 60: TIBCO ActiveMatrix BPM SOA Concepts€¦ · TIBCO ActiveMatrix BPM SOA Concepts. Contents ... • Administration Tutorial: Read this manual for a step-by-step introduction to the