Professional Documents
Culture Documents
Tib BW Concepts
Tib BW Concepts
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN TIBCO BUSINESSWORKS CONCEPTS). USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIB, TIBCO, Information Bus, The Power of Now, TIBCO Rendezvous, TIBCO InConcert,TIBCO Administrator, TIBCO Adapter, and TIBCO BusinessWorks are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. This software may be available on multiple operating systems. However, not all operating system platforms for a specific software version are released at the same time. Please see the readme.txt file for the availability of this software version on a specific operating system platform. THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. Copyright 2001- 2007 TIBCO Software Inc. ALL RIGHTS RESERVED. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. TIBCO Software Inc. Confidential Information
| iii
Contents
iv
Contents
Phase 3: Services Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adapter Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web Services Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Services Used by the Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase 4: Process Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Activities Used by the Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase 5: Deployment Configuration and Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase 6: Production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30 30 31 31 32 32 33 34 35
Contents v
Process Design Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 1: Define Shared Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 2: Create Process Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 3: Add a Process Starter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 4: Add Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 5: Optionally, Add Manual Work Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 6: Create Transitions Between Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 7: Perform Mapping and Transformation for Each Activity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 8: Optionally, Group Activities As Needed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 9: Test the Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63 64 65 66 67 68 70 71 72 73
vi
Contents
Figures vii
Figures
Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19 Figure 20 Figure 21 Figure 22 Figure 23 Figure 24
TIBCO BusinessWorks communication throughout the enterprise . . . . . . . . . . . . . . . . . . . . . . . . . 2 Example scenario components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Example scenario run-time implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 TIBCO BusinessWorks components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Components of a TIBCO administration domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 TIBCO Designer main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 TIBCO BusinessWorks project and resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Resources in project tree and design pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Process instances created from a process definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Example scenario data flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Adapter data flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Example process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 XML files conforming or not conforming to XSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Domain setup for example program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Adding an adapter to the project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Adding a service to an adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Adding activities that access adapter services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Business process flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Shared resources in your project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Adding process definitions to your project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Adding a process starter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Adding activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Project development phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Communication inside a TIBCO administration domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
viii
Figures
| ix
Preface
This preface gives some information on the TIBCO BusinssWorks documentation set, related documentation, and on conventions used in TIBCO manuals.
Topics
Related Documentation, page x Typographical Conventions, page xii How to Contact TIBCO Customer Support, page xiii
Preface
Related Documentation
Other Documentation
TIBCO BusinessWorks is used with other products. You will therefore find the documentation for those products useful: TIBCO Designer documentation. TIBCO Designer is an easy to use graphical user interface for design-time configuration of TIBCO applications. TIBCO Designer includes online help for each palette.
Related Documentation xi
TIBCO Administrator documentation. TIBCO Administrator is the monitoring and managing interface for new-generation TIBCO products such as TIBCO BusinessWorks. TIBCO Adapter product documentation
xii
Preface
Typographical Conventions
The following typographical conventions are used in this manual. Table 1 General Typographical Conventions Convention
code font
Use Code font identifies commands, code examples, filenames, pathnames, and output displayed in a command window. For example: Use M y C o m m a n d to start the foo process.
Bold code font is used in the following ways: In procedures, to indicate what a user types. For example: Type the username
admin.
In large code samples, to indicate the parts of the sample that are of particular interest. In command syntax, to indicate the default value.
italic font
Italic font is used in the following ways: To indicate a document title. For example: See TIBCO BusinessWorks Concepts for more details. To introduce new terms For example: A portal page may contain several portlets. Portlets are mini-applications that run in a portal. To indicate a variable in a command or code syntax that you must replace. For example: M y C o m m a n d pathname
Key combinations
Key name separated by a plus sign indicate keys pressed simultaneously. For example: Ctrl+C. Key names separated by a comma and space indicate keys pressed one after the other. For example: Esc, Ctrl+Q.
xiv
Preface
|1
Chapter 1
Business Integration
TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop integration projects. TIBCO BusinessWorks includes a graphical user interface (GUI) for defining business processes and an engine that executes the process. TIBCO BusinessWorks also works with TIBCO Administrator, a web-based GUI for monitoring and managing run-time components. This chapter discusses what is required of an integration platform, and how TIBCO BusinessWorks meets these requirements.
Topics
The Challenge of Application Integration, page 2 Business Integration Scenario, page 4 The TIBCO BusinessWorks Integration Platform, page 8 Architecture, page 12 TIBCO BusinessWorks Features, page 19
| Chapter 1
Business Integration
Integration Benefits
The integrated enterprise works seamlessly. Different departments and groups share communications and can together respond quickly to customer needs. With less time spent on administrative and manual tasks, employees become more productive and the integrated system yields a significant return on investment. This return increases as the company grows. The illustration below shows how TIBCO BusinessWorks connects to applications of different types, databases, trading partners and exchanges, etc. This capability allows you to use TIBCO BusinessWorks to integrate all aspects of your enterprise. Figure 1 TIBCO BusinessWorks communication throughout the enterprise
.NET
J2EE
Trading partners
Exchanges
Mainframes
| Chapter 1
Business Integration
Problem Definition
EasyWare Incorporated is a manufacturer of computer hardware. So far, the department responsible for purchase order management has received orders by telephone and has manually entered them into a PeopleSoft Order Management system. The customer service department uses the information in the PeopleSoft system as well, but finds that not all information they need is available there. An additional concern is that shipping information is not included in the Order Management system. As a result, customers do not receive notification when items are shipped and customer service representatives must access the shipping information in a two-step process: first extracting the Order ID from the PeopleSoft system, then extracting the shipping information from the shipping log using the Order ID. Because a high volume of sales cannot be handled efficiently with this setup, and because currently information available to the customer service department is incomplete, customer satisfaction becomes an issue. Management decides to make the following changes: Make order entry possible by way of a secure web server outside the firewall which communicates with an application server that supports JMS. Add a Siebel customer service system that receives information about each purchase order. Before order fulfillment, require approval by a credit check specialist for orders over $10 000. Before the order is entered into the Siebel system, add information about shipping date and time to each item. The information should be retrieved interactively from the shipping companys web site via the Internet. Customer service representatives can then have easy access to all ordering information.
| Chapter 1
Business Integration
Adapter
Application Server
Business Process Internet Shipping Schedule SOAP Service Credit check manual step
4. TIBCO BusinessWorks transforms the order, which was supplied in XML to a format PeopleSoft expects and the PeopleSoft adapter submits the order to the PeopleSoft Order Management system. 5. The PeopleSoft system accepts or rejects the order. When it accepts the order, it includes an Order ID. 6. If the order amount is greater than $10,000, the order is sent out for credit check. When the credit check is not successful, the customer is informed immediately and the order placed on indefinite hold. Otherwise, if approval arrives, the process continues.
7. TIBCO BusinessWorks checks the shipping schedule using a web service activity and adds the ship date to the order. 8. TIBCO BusinessWorks sends the information about the order, including the Order ID and the shipping information, to a Siebel adapter. The Siebel adapter adds a new customer service record to the Siebel system. Figure 3 Example scenario run-time implementation
Siebel (Customer Service) Peoplesoft (Order Management) Sales order + ID 5 Adapter Internet 2 Application Server
JMS
WWW
1 Order Entry
Sales order 4
Adapter
RV
RV
Shipping Schedule
| Chapter 1
Business Integration
TRA is a prerequisite for TIBCO BusinessWorks and must be installed and configured before TIBCO BusinessWorks is installed. TIBCO Administrator, TIBCO Adapters, and TIBCO InConcert are separately purchased, installed, and configured. See the documentation for each of these products for more information. TIBCO BusinessWorks was designed using a plug-in architecture. As a result, plug-in modules can be added to TIBCO BusinessWorks. The illustration below shows how the components work together.
Runtime environment
Dep loy
10
| Chapter 1
Business Integration
A TIBCO administration domain consists of these elements, numbered correspondingly in Figure 5: 1. TIBCO Administration ServerEach administration domain has one and only one TIBCO Administration Server. 2. ComponentsComponent software includes the TIBCO BusinessWorks engine and adapters. 3. MachinesEach TIBCO administration domain contains one or more machines. A machine can be added to an administration domain when a TIBCO BusinessWorks component or adapter is installed. By default, all machines within an administration domain are expected to be in the same network subnet. You can, however, set up your system to use TIBCO Rendezvous rvrd and can then use TIBCO BusinessWorks across subnets. 4. User and Access InformationUser and authorization information is specified with the TIBCO Administrator GUI and stored in the domain data store. See Security below. 5. ProjectsA project is created and with the TIBCO Designer GUI. You create an Enterprise Archive file (EAR file) for the project with TIBCO Designer, then send that file to the machine where administration server resides. You can then deploy the project with TIBCO Administrator. Once deployed, the project becomes visible in the TIBCO Administrator GUI and its components can be started, stopped, and monitored from there. See Projects on page 14.
Security The TIBCO Administration Server supports centralized authentication and authorization. Using the TIBCO Administrator GUI, users with full administrative privileges can define which users should have access to which part of the system. AuthenticationThe verification of the identity of a person or process. AuthorizationPermission to view or execute. An administrator gives users access rights to the functionality of the product they need. For example, access rights are given to view or to write to projects at design time from TIBCO Designer or to view or to manage modules from the TIBCO Administrator console. The TIBCO Administration Server controls that access.
TIBCO BusinessWorks supports authentication and authorization for both data stores and components (process engines or adapters) in the administration domain. For example, only authorized users may start or stop process engines or adapters. This fine-grained user authorization scheme allows you to customize the system to your companys needs. Monitoring and Managing the Domain The TIBCO Administrator GUI allows you to monitor and manage the different elements of the administration domain if you are authorized to do so. View, add, and delete users and assign access privileges to each user. Monitor and manage the machines in the administration domain. Monitor deployments. This includes viewing component status and throughput and looking at traces, which can also be exported to a file. Manage deployments. This includes stopping and starting process engines and adapters.
12
| Chapter 1
Business Integration
Architecture
This section explains the TIBCO BusinessWorks architecture at design time and runtime. It discusses these topics: Fundamentals on page 12 Design-Time Architecture, page 13 Run-Time Architecture, page 16
Fundamentals
The TIBCO BusinessWorks architecture is based on the following set of fundamentals: Support for Standards Your integration platform must support standards for several reasons. A standards-based integration platform supports you best as you add applications to your enterprise or need to communicate with new business partners. Standards are essential as you are planning for the future of the project because standards facilitate updates. Some of the applications you use may already be using standards, and integration development will be faster and easier. Support for standards also removes dependency on one companys services and makes applications from different companies interact more easily. TIBCO BusinessWorks supports the most widely used standards for the different aspects of an integration project: J2EE CompliantJMS, EJB, JNDI ProtocolsWeb services (SOAP, WSDL), HTTP, HTTPS MessagingJMS, TIBCO Rendezvous Data DescriptionNative support for DTD, XSD, and TIBCO AE Schema Data Representation and ExpressionsNative support for XML, XPath Data TransformationXSLT Support for Standards on page 12 Integrated Development Environment on page 13 Extensibility and Scalability on page 13
Architecture 13
Integrated Development Environment Your integration project must be supported by an integrated development environment that spans all phases of the project. With TIBCO BusinessWorks, the process design, deployment, and run-time environment are tightly integrated even though the run-time environment supports a distributed architecture. 1. At design time, you use TIBCO Designer to configure services, such as adapters, and design your business processes. 2. You can use the TIBCO Designer in test mode to debug the process definitions in your integration project. 3. You can use TIBCO Administrator to deploy processes to process engines and to deploy adapter services to adapters on the individual machines. 4. Optionally, you can configure manual activities using TIBCO Designer. When you deploy the project, that information is then used by InConcert. The users authorized to handle the manual activities can be specified in TIBCO Administrator, then exported to TIBCO InConcert. 5. You can start the processes using the TIBCO Administrator GUI. You can then monitor and manage all processes using TIBCO Administrator. Extensibility and Scalability As your enterprise grows, new applications are added and volume of data increases. Scalability to support higher volume and extensibility to support additional applications or a larger number of process engines or adapter instances become paramount. TIBCO BusinessWorks has been designed to be extensible and scalable. Working in a distributed fashion, you deploy the different adapter services and business processes on different machines in the administration domain. When the business process applications volume increases, you add machines to the domain. As you acquire new applications for your enterprise, you install the appropriate adapters into the domain. You configure the adapter, modify your process definition, then deploy the adapter service on the machine of your choice.
Design-Time Architecture
At design time, you work with the TIBCO Designer GUI to configure adapter services and design business processes. You design a business process by dragging activities (e.g. R e a d F i l e or S e n d M a i l ) into the design window and joining the activities using transitions. The TIBCO Designer test mode allows you to debug the business process.
14
| Chapter 1
Business Integration
You can provide input, add breakpoints, supply values for variables, and so on. See the TIBCO Designer Users Guide for more information. TIBCO Designer Layout The TIBCO Designer main window has three or four panels that contain the design-time components of an integration project. You can configure the TIBCO Designer GUI to either display the project and palette panels separately or together. The TIBCO Designer GUI is discussed in more detail in the TIBCO Designer Users Guide. Figure 6 TIBCO Designer main window
Palette Panel
Configuration Panel
Projects A project consists of resources that contain the functionality needed for your integration system. This includes services (producers and consumers of information) and any business logic that may be applied to that information. In TIBCO Designer, you click the project folder to display the projects resources. The I n t e g r a t i o n P r o j e c t project, shown in the project tree panel in Figure 7, consists of several components: A JMS shared resource (J M S C o n n e c t i o n ) Two process definitions (P r o c e s s O r d e r and S h i p p i n g S c h e d u l e ) A shared resource used by the SOAP activity (H T T P C o n n e c t i o n )
Architecture 15
A Siebel adapter and a PeopleSoft adapter (S B L A c c o u n t and P S o f t _ R e q R e p ) An Enterprise Archive for the project (P r o j e c t A r c h i v e )
For a description of the example scenario that was used as the basis for this project, see Business Integration Scenario on page 4. Figure 7 TIBCO BusinessWorks project and resources
IntegrationProject project
Resources Resources are the components of a project. A TIBCO Designer resource corresponds to an object in a TIBCO application, such as an FTP activity, a process definition, or a specific adapter instance. Figure 8 Resources in project tree and design pane
Resources in project tree Resources in design panel
16
| Chapter 1
Palettes
Business Integration
Context-sensitive palettes organize resources into related groups. Which palette is displayed depends on the currently opened resource and on your preferences. You drag and drop resources from the palette into the design panel to add them to your project. The main window shown in TIBCO Designer Layout on page 14 has several palettes in the palette panel. You can display the palette panel separately from the project panel or together with the project panel. When the palette panel and project panel are combined, a tab named Palettes appears in the project panel that allows you to access the palettes that are currently available. If you wish to display the panels separately, you can modify your viewing preferences on the Edit > Preferences menu. Enterprise Archive The Enterprise Archive resource allows you to create an Enterprise Archive file (EAR file) that you can use to deploy the project. The EAR file contains shared archives and process archives that you specify. These archives contain the adapter configurations and process definitions you wish to deploy. After saving the Enterprise Archive file, you can send it to the machine where the administration server resides. TIBCO Administrator can use the EAR file to create a deployment configuration. See TIBCO BusinessWorks Administration for more information about creating Enterprise Archive files and deploying projects.
Run-Time Architecture
When the integration project is deployed, the different process engines and adapters are ready to run on the machines in the administration domain. You deploy your project and start each component individually from the TIBCO Administrator GUI. After all adapters and process engines have been started, process instances are created by process starters. A process starter could be, for example, a F i l e P o l l e r or an A d a p t e r S u b s c r i b e r activity waiting for incoming data. When data arrives, the process starter creates a process instance using the process definition to which it belongs, and the activities in the process are executed in sequence. In Figure 9, a J M S Q u e u e R e c e i v e r activity creates an instance of the process definition to which it belongs each time it receives input.
Architecture 17
While different process instances are running, any alerts that were scheduled during deployment configuration are sent to the specified recipient by the TIBCO Administration server. In addition, the TIBCO Administrator GUI allows monitoring of the running project at different levels of detail, and can collect tracing information for later analysis. For the example discussed in this manual, the process engine could perform these tasks: Receive data from an application server via JMS, data from a PeopleSoft Order Management System via the appropriate adapter, and data from a shipping service via SOAP. Enter data into a PeopleSoft Order Management system and data into a Siebel customer service system via the appropriate adapters. Send certain orders out for credit approval and receive approval or refusal.
All components are monitored and managed by way of TIBCO Administrator, which also provides security and repository management. Users can access TIBCO Administrator using the TIBCO Administrator GUI.
18
| Chapter 1
Business Integration
Business Process
Messaging
To support your integration project at run-time, you need a messaging system that can reliably handle the volume of messages that will be sent and received. The system should have these characteristics: Guaranteed delivery and fault toleranceMessage delivery must be guaranteed, and the system must be fault tolerant. If a message cannot be delivered because the recipient was unavailable, the messaging system must queue that message and continue to operate. The queued message must then be redelivered as appropriate. Distributed architectureA distributed, loosely coupled system is much more likely to support the fault-tolerance you require than a monolithic system that depends on one centralized server. High throughputHigh throughput without performance degradation is needed. Requirements vary throughout the day and throughout the business year, and you cannot afford performance degradation at the time when business increases. ScalabilityAs your business grows, you want to be able to update your business integration in a simple and cohesive way. Furthermore, you want to be able to connect your integration project with other departments using a similar system. The messaging system must support this scalability.
TIBCO BusinessWorks is based on messaging standards with proven track records. Supported protocols include TIBCO Rendezvous, JMS, and HTTP.
Adapters
Business information is distributed among different business applications (such as SAP R/3 or PeopleSoft) or available from databases or files. Adapters help
20
| Chapter 1
Business Integration
make this information available to the business process by "adapting" the applications to a common messaging system. What are Adapters? Adapters translate information into the appropriate format: Adapters receive information from a source application and publish it to the business process in a shared format. Adapters subscribe to information from a business process and translate it to a format the target application can understand. Adapters can also be set up to work in a client/server mode (using remote operations.)
The illustration below shows how a Siebel customer service system communicates with the business process using an adapter publication service and the business process communicates with the PeopleSoft Order Management system using an adapter subscription service. Figure 11 Adapter data flow
I
Business Process
In TIBCO BusinessWorks, adapters provide services to activities inside the business process. Adapter Features Companies in a wide range of industries have successfully used TIBCO adapters to integrate different packages and custom applications. TIBCO BusinessWorks includes second-generation adapters that are based on the same technology but have the following new features:
Easy Configuration With Design-Time AdapterAll adapters included with TIBCO BusinessWorks use a unified GUI that simplifies adapter configuration. A Design-Time Adapter allows you to directly access the source application from the TIBCO Designer GUI and specify the data the business process needs. Easy Inclusion in Business ProcessesThe business process can communicate with adapters by using activities found in the adapter palette. These activities interact with each of the standard adapter services. For example, the Publish to Adapter activity sends a message to an adapter subscription service. Easy Deployment and MonitoringWhen you are ready to deploy your project, the TIBCO Designer deployment palette allows you to assign each adapter to its own machine. At run-time, the TIBCO Administrator GUI monitors each adapter in its own panel. You can therefore easily see if one of the adapters is a bottleneck in the business process flow.
TIBCO BusinessWorks Adapters A fully integrated TIBCO BusinessWorks adapter can be installed into a TIBCO administration domain and later monitored and managed from the TIBCO Administrator GUI. TIBCO BusinessWorks fully integrates with the following adapters: Technology adaptersIncludes adapters that access files or databases. Application adaptersIncludes adapter for PeopleSoft, SAP R/3, Siebel, and others.
Other TIBCO Adapters can be loaded into TIBCO Designer and configured using the Generic Adapter Configuration resources. These adapters can then be used in process design and run as part of the integration project. They cannot, however, be installed into the administration domain or monitored and managed via TIBCO Administrator. For more information, see Phase 3: Services Configuration on page 51.
22
| Chapter 1
Business Integration
A transformation tool that lets you map the output of one activity to the input of subsequent activities. Conditional transitions supporting XPath syntax. Grouping of activities. An easy-to-use design-time process debugger.
See Phase 4: Business Process Design on page 61, and the TIBCO BusinessWorks Process Design Guide. The illustration below shows a simple process that is part of the example scenario in the design window. Figure 12 Example process
XML
XML
XML
Schemas are especially useful if you are deploying a complex system. Schemas are used by the running application but are not included in the code. The use of schemas makes it possible to enforce that outgoing and incoming data strictly comply with the prespecified data description. Schemas in TIBCO BusinessWorks In the TIBCO Designer GUI, you can define the schema for adapters and view and manipulate the schema for each activity in the business process. For business process activities, you can view the available process data and define the input schema for each activity. The process data is the list of available data for that activity. The input schema (required or optional) defines input values for an activity. You can map the process data to the input data using a drag and drop interface. You can specify conditional mapping using XPath, and you do not need detailed knowledge of XPath for simple conditions. See Step 7: Perform Mapping and Transformation for Each Activity on page 71 (Chapter 6). Data mapping is discussed in detail in the TIBCO BusinessWorks Process Design Guide.
24
| Chapter 1
Business Integration
Manual Activities
TIBCO BusinessWorks includes a ManualWork palette with activities that you can add to your business processes when the process requires user interaction for completion. In our example, orders under $10 000 were processed automatically. For orders over 10 000, an additional credit check is required. In that case, the order is assigned to a pool of users for approval. One user accepts the request, and approves or rejects it. If no one accepts the request, the manual approval times out, and then the status of the request is checked. If no errors were returned, then the work is still in the users queue, so the process waits for the completion of the manual work. If errors were reported in the manual work, the work is marked as not approved and the process completes. TIBCO BusinessWorks allows you to: assign a task to a pool of users, check the status of the task, change the status of the task, download documents associated with a task, or wait for the completion of a task.
The ManualWork palette works with TIBCO InConcert. Users and groups are defined either in TIBCO InConcert or TIBCO Administrator (and then later exported to TIBCO InConcert). An activity that assigns work creates a TIBCO InConcert job. The job can be viewed and modified using TIBCO BusinessWorks web interface to manual tasks.
| 25
Chapter 2
A TIBCO BusinessWorks integration project is developed in phases. Having a well-defined methodology helps new users come up to speed quickly and allows different developers to work together more easily. This chapter gives an overview of TIBCO BusinessWorks methodology.
Topics
Introduction, page 26 Phase 1: Analysis, page 27 Phase 2: Domain Setup and Installation, page 28 Phase 3: Services Configuration, page 30 Phase 4: Process Design, page 32 Phase 5: Deployment Configuration and Deployment, page 34 Phase 6: Production, page 35
26
| Chapter 2
Introduction
TIBCO BusinessWorks components are designed to support development in phases and to let you seamlessly move from one phase to another. Using TIBCO Designer, you configure services, for example, an adapter service. You can then access the adapter service from activities inside the business process. After youve configured adapter services and business processes, you can use TIBCO Designer to assign adapter services to adapters and processes to process engines. You assign each adapter and process engine to a machine in the administration domain and deploy the project to the run-time environment. You can then start and stop the adapters and process engines using the TIBCO Administrator GUI and manage and monitor them from there.
Following the phases in sequence results in a fast deployment that closely meets the specifications. Note that as a rule, you perform analysis, installation, and services configuration only once, then iterate through the other phases until you have arrived at the optimal configuration. This section gives an overview of each phase, using examples from the example scenario as appropriate (see Business Integration Scenario on page 4). A more detailed discussion for each phase is then given in a separate chapter.
Analysis Define & analyze problem Domain Setup Install software & configure domain Services Configuration Configure adapters Process Design Implement & test business processes Deployment Deploy to runtime engine Production Manage & monitor deployments
Phase 1: Analysis 27
Phase 1: Analysis
Problem definition and analysis is the critical first phase in an integration project. Because the TIBCO BusinessWorks graphical user interface is so easy to use, it is tempting to start development right away. However, detailed problem analysis results in a faster over-all development process. By clearly identifying and analyzing the problem, you avoid pursuing dead-end design paths and the steps to solve the problem become apparent. As a rule, it makes sense to start with a business analysis that includes a problem definition, which states your projects goals clearly. An engineering analysis goes a step further and identifies the components of the integration project, the process flow, error handling, etc. The analysis should include consideration of expansion possibilities. In the example scenario, one could consider expansion to include direct communication with a business partner. Because of the TIBCO BusinessWorks distributed architecture, most expansions are straightforward. TIBCO BusinessWorks implicitly supports analysis and design by offering a set of objects representing services and activities as the basis for the project flow. The design team can use these objects during project design. See Phase 1: Analysis on page 37 (Chapter 3). Here are some questions that are commonly asked during analysis: What are the services my business process will access? In the example, the process is accessing two adapter services (PeopleSoft and Siebel), the web service that supplies shipping information, and an application server. What are the transports being used? In the example, the adapter services are accessed using TIBCO Rendezvous. The web service is accessed via SOAP. The application service is accessed via JMS.
28
| Chapter 2
The illustration below shows a possible administration domain setup for the example scenario: The TIBCO Administration Server runs on machine 1. The PeopleSoft and Siebel adapters run on machine 2. The process engine runs on machine 3. The PeopleSoft and Siebel systems run outside the administration domain.
Process engine
Siebel system
Administration Domain
Installing Components
A flexible installer allows you to install one or more components on each machine following these steps: 1. Install TIBCO Runtime Agent (TRA) on each machine in your domain. 2. Install the TIBCO Administration Server and specify the administration domain name, and the administration user and password. 3. Install other TIBCO BusinessWorks process engine(s) into the administration domain. 4. Install adapters into the administration domain.
30
| Chapter 2
This section gives an overview of adapter configuration see Phase 3: Services Configuration on page 51, for more information. It then discusses the services used by the example.
When designing and implementing the integration project, you must identify the adapter services precisely. This includes connection parameters such as the names of the host application, their location, and so on. You then configure a service with the appropriate adapter and save it as part of your project. To configure an adapter first provide connection information. A Design-Time Adapter (DTA) allows you to access the metadata provided by the adapter at design time. Each type of adapter has its own DTA. Only one DTA needs to run in a network, even if several users access different adapter instances of that adapter type. With configuration complete, you save the adapter service configuration. The adapter service can then be used by the activities in your business process and later be invoked at runtime. For example, a P u b l i s h t o A d a p t e r activity expects an adapter subscriber service that receives the data being published.
For more introductory information, see Phase 3: Services Configuration on page 51. The Users Guide for each adapter contains detailed set-up information for that adapter.
To access the PeopleSoft Order Management system, you configure a PeopleSoft request-response adapter. The adapter is accessed via an I n v o k e a n A d a p t e r R e q u e s t - R e s p o n s e S e r v i c e activity. To access the Siebel customer service system, you configure a Siebel adapter subscriber service. A P u b l i s h t o A d a p t e r activity can then connect the process to the adapter subscriber service. The Shipping web service is configured externally. It is accessed via a S O A P R e q u e s t R e p l y activity.
32
| Chapter 2
Overview
The TIBCO Designer GUI supports defining business processes with these major elements: Each process has a starting and ending point. Activities are added to the process. Activities can access data from an adapter service, manipulate the data, and send the data elsewhere. Examples include sending email, querying a database, or adding content to a file. The process can choose from different execution paths depending on certain criteria. For example, if the amount of a purchase order exceeds a certain number, you could add an additional credit check. Activities can be grouped. Grouping allows you to create loops. These loops can be used, for example, to have one error condition for the group, or to group activities as transactions that commit to a database only when all activities in the group are completed. Most processes have one main process, which starts with a process starter activity. Different activities, for example, a S O A P E v e n t S o u r c e activity or a R e c e i v e M a i l activity can function as process starters. An process can call different subprocesses as it executes. If the business process requires user interaction, for example, approval of certain orders, it is possible to use the activities in the Manual Work palette. Manual Activities interact with TIBCO InConcert and allow a pool of users to accept outstanding tasks. For additional information, see the TIBCO BusinessWorks Palette Reference.
An integral part of process design must be testing. TIBCO Designer includes a test mode that allows you to run any of the processes in your project at design time. You can set breakpoints and provide required input as needed. You can also see the values of variables as they are passed through the different activities in the process.
34
| Chapter 2
Phase 6: Production 35
Phase 6: Production
In the production phase, your projects components are running on the different machines in the administration domain. Recovery is performed automatically as previously specified as part of the deployment configuration. Authorized users can monitor the administration domain, all machines, and all processes, using the web browser based TIBCO Administrator GUI. TIBCO Administrator can be used for these tasks: User ManagementManage the ACL, for example, create users for the administration domain and assign them permissions to perform certain activities. Change the ACL as needed. Domain MonitoringView the machines in the administration domain and their CPU and disk usage. View a domain inventory of all TIBCO products installed in the administration domain. Deployment Monitoring and ManagementView the status of components and generate tracing information. Start and stop process engines and adapters.
Phase 6: Production on page 79, gives an overview of the most important components of the GUI. For detailed information, see the TIBCO BusinessWorks Administration.
36
| Chapter 2
| 37
Chapter 3
Phase 1: Analysis
During the analysis phase, the different departments participating in the integration project must come to a clear understanding of the requirements. This chapter gives a brief introduction to elements of the analysis phase that typically require special attention.
Analysis Define & analyze problem Domain Setup Install software & configure domain Services Configuration Configure adapters Process Design Implement & test business processes Deployment Deploy to runtime engine Production Manage & monitor deployments
Topics
Step 1: Define and Delimit the Problem, page 38 Step 2: Identify Processes, page 39 Step 3: Identify Components, page 40 Step 4: Describe Business Events and Objects, page 43 Step 5: Design Business Processes, page 44 Step 6: Consider Domain Setup, page 45
38
| Chapter 3
Phase 1: Analysis
40
| Chapter 3
Phase 1: Analysis
Many components are activity resources. A complete list of all activities is included in the TIBCO BusinessWorks Process Design Guide. You can also access documentation for an activity from TIBCO Designer using the What is This option from the right-button menu of the corresponding resources menu.
Shared Resources
Some activities use shared resources. For example, a W S D L F i l e shared resource is used by SOAP activities and a J D B C C o n n e c t i o n shared resource is used by JDBC activities.
The example discussed in this manual requires the following activities: An application server sends the incoming orders over JMS. The business process uses a J M S Q u e u e R e c e i v e r activity that receives the order. A PeopleSoft adapter receives a request and sends data back to the process. For the problem at hand, a request-response adapter service is well suited.
Service
Request-Response
A Siebel subscriber adapter service receives the order from a P u b l i s h t o A d a p t e r activity and enters the order, including the Order ID assigned by PeopleSoft, into the Siebel customer service system.
Mail
ManualWork Activities
The activities in the ManualWork palette are useful for automated business processes that have a few steps which require user interaction. In many cases, the Assign Work activity is appropriate for implementing the interaction. Other activities in the palette include, for example, a Modify Work activity that allows administrators to perform actions on a work item. In order to use the activities in the Manual Work palette, TIBCO InConcert must have been installed and users must have been created with TIBCO Administrator and exported to InConcert. See Step 5: Optionally, Add Manual Work Activities on page 68 for some additional information. For a detailed discussion, see the TIBCO BusinessWorks Palette Reference.
42
| Chapter 3
Phase 1: Analysis
Mapping
For each activity in the process there is an appropriate input. For example, the S e n d M a i l activity needs input that includes information about the customer and the Order ID. At times, the output of one activity directly maps into the input of the next activity in the process. Very often, however, an activity requires a subset, or a superset of the incoming process data, or data may need to be modified. To give each activity the appropriate input, TIBCO BusinessWorks lets you map the process data to the input of the activity. For example, the S e n d M a i l activity uses the customer email address and the Order ID but ignores the shipping address which is also part of the order.
Exceptions
As you analyze your business problem, you should include as much information about exceptions as possible. For the employees of your company, graceful exception management will result in a noticeable increase in productivity. If exception handling is flawed, integration automation might actually result in decreased productivity because a lot of time is spent on dealing with exceptions. If exceptions are included in your initial design, you can make them part of the business process, and ultimately deliver a more robust system faster. Decide on exception handling standards across business phases to make it easier to identify exceptions and understand how they are related.
44
| Chapter 3
Phase 1: Analysis
46
| Chapter 3
Phase 1: Analysis
| 47
Chapter 4
TIBCO BusinessWorks allows you to progress from project design to deployment and production with minimal configuration and setup. To guarantee that the transitions will be trouble-free, it is important that you understand setup of a TIBCO administration domain and installation of different TIBCO products into the administration domain. This chapter gives an overview of domain setup. For more information, see TIBCO Administrator Users Guide.
Analysis Define & analyze problem Domain Setup Install software & configure domain Services Configuration Configure adapters Process Design Implement & test business processes Deployment Deploy to runtime engine Production Manage & monitor deployments
Topics
TIBCO Administration Domain, page 48
48
| Chapter 4
The advantage of an administration domain is that the components of your integration project automatically know about each other. They can be monitored as a group. Security, that is, access to both processes and data stores, is shared across the administration domain. The administration domain is managed by a TIBCO Administration Server, which is assisted by a TIBCO Runtime Agent running on each machine in the domain.
50
| Chapter 4
| 51
Chapter 5
The first phase in the actual business integration development is configuration of adapter services. Adapters ensure that the different applications in your enterprise can communicate in real time.
1. Analysis Define & analyze problem 2.Domain Setup Install software & configure domain 5. Process Design Implement & test business processes 6. Deployment Deploy to runtime engine 7. Production Manage & monitor deployments
Topics
Introduction: TIBCO BusinessWorks Services, page 52 Step 1: Installing the Adapter, page 55 Step 2: Setting up the Design-Time Adapter, page 56 Step 3: Configuring the Run-Time Adapter, page 58 Step 4: Accessing the Adapter Service From the Process, page 59
52
| Chapter 5
Service Characteristics
The following characteristics are associated with a service: Service interface, for example WSDL/SOAP or AE Services Transport, for example, HTTP, JMS, TIBCO Rendezvous Data syntax, for example, XML or ActiveEnterprise message format Data schema, for example DTD or XSD schema
Invocation Modes
Services can be invoked in several ways. A one-way operation is executed once and does not wait for a response. A request-response operation is executed once and waits for one response. In a request-response service, communication flows in both directions. The complete interaction consists of two point-to-point messagesa request and a
response. The interaction is only considered complete after the response has arrived. Publication (notification) means an operation sends information on an as-needed basis, potentially multiple times. Subscription means incoming information is processed on an as-needed basis, potentially multiple times.
Publication and subscription are driven by events, usually the arrival or creation of data. Communication is in one direction (publisher to subscribers).
Service Types
TIBCO BusinessWorks includes both web services and adapter services. Web services are accessed by SOAP activities. Adapter services are accessed by activities available in the TIBCO Designer A c t i v e E n t e r p r i s e A d a p t e r palette that you can add to your business process. Web Services TIBCO BusinessWorks supports Web Services Description Language, or WSDL. WSDL is an XML-formatted language used to describe a Web service's capabilities as collections of communication endpoints capable of exchanging messages. You can use TIBCO BusinessWorks both to set up a web services server or to set up a web services client. The activities you need are included in the SOAP palette. Adapter Services Adapter services allow your business process to publish data or subscribe to data used by the enterprise. A publication service sends data to the business process, a subscription service receives data from the business process. Adapter services allow you to communicate with enterprise applications or interact with other incoming and outgoing data. They include: Technology adapters Allow publication to and subscription from files and databases. Enterprise application adaptersAllow you to interact with enterprise applications such as Siebel, SAP R/3, and PeopleSoft.
54
| Chapter 5
56
| Chapter 5
3. Specify connection information for the application you want to access so your design-time adapter can connect. 4. In the project tree panel, double-click the adapter, then select its A d a p t e r S e r v i c e s folder to open it. In the palette panel, the S e r v i c e s palette is displayed.
5. Drag an adapter service, for example, a publisher service, from the palette panel into the design panel. The configuration panel is updated to allow you to configure the service. Figure 16 Adding a service to an adapter
6. From a command prompt, start the design-time adapter. 7. Specify the data the adapter should publish or subscribe to interactively. 8. Save the adapter.
58
| Chapter 5
If your adapter uses advanced features, such as A d v i s o r y activities, you can configure them using the A d v a n c e d folder of the adapter. For additional information about adapter configuration, see the documentation for that adapter, available via Help > Help For from TIBCO Designer.
2. Drag the activity that accesses the service you need into the design panel. You have the following choices:
P u b l i s h t o A d a p t e r Publishes data from the process to an adapter, which subscribes to data coming from the process and passes the data to the target application. In the example above, a P u b l i s h t o A d a p t e r activity interacts with a Siebel subscriber. A d a p t e r S u b s c r i b e r Subscribes
adapter.
I n v o k e a n A d a p t e r R e q u e s t - R e s p o n s e S e r v i c e Communicates
60
| Chapter 5
R e s p o n d t o A d a p t e r R e q u e s t Sends
for the receipt of a message from the publication service of the specified adapter. for the receipt of a request from a request-response invocation service.
W a i t f o r A d a p t e r R e q u e s t Waits
3. Specify the adapter information in the configuration panel. 4. Save your project.
| 61
Chapter 6
This chapter discusses business process design. Using the TIBCO Designer GUI, you create your business process using predefined activities and add conditions and mapping as appropriate. Business process design is discussed in more detail in the TIBCO BusinessWorks Process Design Guide. You can also display information about each resource by choosing its What is This right-button menu command in TIBCO Designer.
Analysis Define & analyze problem Domain Setup Install software & configure domain Services Configuration Configure adapters Process Design Implement & test business processes Deployment Deploy to runtime engine Production Manage & monitor deployments
Topics
Introduction, page 62 Step 1: Define Shared Resources, page 64 Step 2: Create Process Definitions, page 65 Step 3: Add a Process Starter, page 66 Step 4: Add Activities, page 67 Step 5: Optionally, Add Manual Work Activities, page 68 Step 6: Create Transitions Between Activities, page 70 Step 7: Perform Mapping and Transformation for Each Activity, page 71 Step 8: Optionally, Group Activities As Needed, page 72 Step 9: Test the Process, page 73
62
| Chapter 6
Introduction
In an integrated enterprise, business processes manage the flow of information between different data sources and destinations. The business processes receive information, process it if needed, and hand it off as appropriate.
Business Processes
In many companies, the business rules that tie enterprise applications together are handled by custom-written code or even by manual processes. TIBCO BusinessWorks allows you to establish this data flow using activities available in the TIBCO Designer process design palettes. You design the process using predefined activities and can execute your process without writing a lot of custom code. The following diagram illustrates a business process flow that describes the business rules between the various systems in an enterprise. Figure 18 Business process flow
Process Order
IF arrived, THEN IF order ID returned, THEN IF shipping available, THEN SHIP ORDER ELSE hold order & send email update Cust Mgmt system
Introduction 63
The steps discussed in this chapter do not necessarily have to be performed in this order. For example, you could define shared resources as needed or add transitions each time you add an activity
64
| Chapter 6
For simple business processes, activities are added in sequence, then transitions are added as appropriate. For complex business processes, it makes sense to design a main process and several subprocesses. Using subprocesses makes your process easier to understand and debug. Subprocesses also potentially allow reuse of business process components. Our example program includes several different processes: In the main process, which is called P r o c e s s O r d e r, a J M S Q u e u e R e c e i v e r waits for input. When it arrives, the main process first interacts with the Order Management system, then calls the S h i p p i n g S c h e d u l e process: The S h i p p i n g S c h e d u l e process retrieves information about the shipping schedule from the Shipping web site and adds shipping information to the order. It sends an email to the customer if shipping is delayed, otherwise enters the order into the Siebel system right away.
66
| Chapter 6
3. Drag the process starter into the design panel. The process starter activity replaces the default Start activity. 4. Specify configuration information, then click Apply. Figure 21 Adding a process starter
Note that the default S t a r t activity that is included with each process you instantiate is not a process starter. A S t a r t activity must be called explicitly from another process.
68
| Chapter 6
Manual Work Activities Assign WorkCreates a new task (with associated data) and assigns it to the specified pool of users. A user then acquires the task, views the data supplied by the activity, and completes the work. The process definition can either wait for the user to complete the work or it can continue processing and later query for the status of the task. Download DocumentManual work schemas can contain elements to hold documents. An example of a document is a loan application that must be attached to a credit request. The document may be any type, for example, Microsoft Word, PDF, and so on. Documents can be uploaded or downloaded to a manual work task by way of the web interface TIBCO BusinessWorks provides for managing manual work tasks. This activity allows you to download a document from an existing manual work task into a process variable. Get Work StatusRetrieves the current status of a task that was previously created with the Assign Work activity. Normally you use this activity to determine if the task has been completed or if there are any errors.
Modify WorkThis activity allows administrator users to change the status of an existing task created with the Assign Work activity to one of the following: Update modifies the data associated with an uncompleted task Complete completes the task Reassign reassigns the task to a pool of users
Wait for CompletionWaits for the completion of the task for the specified period. This is useful if the timeout for the Assign Work activity has passed and you wish to wait for an additional amount of time.
70
| Chapter 6
For each activity, you map the process data to the activity input. Each item in the activity input schema has an expression field for specifying the contents of the item. You can conditionally map the process data to the input using XPath expressions. You do not need detailed knowledge of XPath to create simple expressions. For the most part, you can drag and drop items from the process data schema to the activity input schema, and the correct XPath expression appears automatically. When you specify the input schema for an activity, the specification is represented internally as Extensible Stylesheet Language Transformation (XSLT) code. Normally, you do not need to examine the XSLT code generated by the mappings. However, if you are familiar with XSLT and you wish to see the actual code, you can right-click on any node in the input schema and choose Copy from the popup menu. Then open a blank text document and choose Paste. The XSLT is displayed in your text document. For example, when the S h i p p i n g S c h e d u l e process fails, an email is sent upon return to the main process. The email address information could be mapped from the original order to the mail activitys input fields.
72
| Chapter 6
74
| Chapter 6
| 75
Chapter 7
Phase 5: Deployment
For the success of your integration project, ease of deployment is at least as important as ease of design. Because TIBCO BusinessWorks uses the TIBCO administration domain and allows you to perform deployment configuration from the TIBCO Designer GUI, deployment is a relatively simple task. This chapter gives an overview of the deployment of a TIBCO BusinessWorks integration project. For more information, see the TIBCO BusinessWorks Administration.
Analysis Define & analyze problem Domain Setup Install software & configure domain Services Configuration Configure adapters Process Design Implement & test business processes Deployment Deploy to runtime engine Production Manage & monitor deployments
Topics
Introduction, page 76
76
| Chapter 7
Phase 5: Deployment
Introduction
When you have completed and tested the first prototype of your integration project in the development environment, you are ready to deploy it to a testing environment. In a traditional business integration project, domain configuration is a labor-intensive process that is likely to require multiple iterations before all components are in place. The administrator must tweak the configuration files for different components on different machines. To optimize the configuration, administrator must manually keep a record of the different configurations that were tested. TIBCO BusinessWorks, in contrast, allows you to use the TIBCO Administrator GUI to create a deployment configuration and then deploy the project. You use the TIBCO Designer GUI to create an Enterprise Archive file (EAR file) containing the adapter configurations and process definitions you wish to deploy. TIBCO Administrator uses the EAR file when creating the deployment configuration. You can deploy the project in TIBCO Administrator and the necessary scripts and other information is sent to the machines within the deployment.
deployed project
Introduction 77
1. Using TIBCO Designer, the developer configures adapter services and saves the project with configured adapters. Different adapters could potentially be configured by different developers and included in one project. 2. Using TIBCO Designer, the developer configures activities for the business process(es) and saves the project, which now includes process definition(s). 3. The built-in test mode is used for preliminary testing and debugging of the business process(es). 4. Using TIBCO Designer, the developer prepares the Enterprise Archive File (EAR file) by creating Enterpirse Archives containing the desired adapter configurations and process definitions. At this stage, the developer moves from the TIBCO Designer development GUI to the TIBCO Administrator run-time GUI and performs these tasks: 1. From TIBCO Administrator, the deployment configuration is created and deployed. The TIBCO Administration Server sends all necessary information to the individual machines. All components now become visible in the TIBCO Administrator GUI (but are not started). 2. From TIBCO Administrator, the developer starts each component (adapter and process engine). As a result, all process starters are waiting for the events that cause them to create process instances. 3. Each time an event arrives that triggers a process starter, the TIBCO BusinessWorks engine creates a process instance, which uses the associated process definition to process the incoming data. 4. Using TIBCO Administrator, the developer can monitor the different processes running on the different machines. If appropriate, the project can be modified and saved from TIBCO Designer. In that case, you must create a new EAR file and place the new file into the deployment configuration. You must then stop and restart the desired deployment for the changes to take effect. For more information about creating EAR files and deployment configurations, see TIBCO BusinessWorks Administration.
78
| Chapter 7
Phase 5: Deployment
| 79
Chapter 8
Phase 6: Production
During the production phase, you monitor and manage TIBCO BusinessWorks deployments. The TIBCO Administration Server and the TIBCO Administrator GUI together support your deployed TIBCO BusinessWorks products at runtime. This chapter gives an overview of available functionality. For more information, see the TIBCO Administrator documentation.
Analysis Define & analyze problem Domain Setup Install software & configure domain Services Configuration Configure adapters Process Design Implement & test business processes Deployment Deploy to runtime engine Production Manage & monitor deployments
Topics
Introduction, page 80
80
| Chapter 8
Phase 6: Production
Introduction
After the integration development team has configured and deployed the integration project, you can use the TIBCO Administrator GUI for monitoring and management. This chapter gives an overview of the architecture and of the user management, administration domain monitoring and management, and deployment management options. For more detailed information, see the TIBCO Administrator Users Guide.
Architecture
TIBCO Administrator consists of the TIBCO Administration Server and the TIBCO Administrator GUI. The Administration Server includes an application server component for HTTP communications and a repository server component for data store management. All three server components run as a single process. The Administration Server interacts with each machine in the administration domain by way of the TIBCO Runtime Agent (TRA) running on that machine. The Administration Server receives information about CPU and memory usage, alerts, and the process instances and components running on each machine and makes them available via the TIBCO Administrator GUI. The TIBCO Administrator GUI allows users to start and shut down components. Start and shutdown commands are sent from the Administration Server to the appropriate TRA, which in turn starts or stops the process.
The illustration below shows an administration domain with 3 machines in the domain. The first machine runs the Administration Server, which contains an embedded Repository Server for managing data stores. Machines outside the administration domain can view the TIBCO Administrator GUI using a web browser. Each user sees only the components for which s/he is authorized. The second machine runs two adapters. The adapters are started via the TIBCO Administrator GUI. The information entered in the GUI is sent by the Administration Server to the TRA on the machine running the adapter. The TRA starts and stops the adapter and also sends information about component and machine status to the Administration Server for access via the GUI. The third machine runs a process engine. Just like the adapters, the process engine is managed by the Administration Server via the TRA.
Introduction 81
Administrator GUI
WWW
HT
Administrator GUI
WWW
TP
TRA
H TT P
Adapter 1
TRA
Adapter 2
These aspects of monitoring and management are supported by TIBCO Administrator, which includes the TIBCO Administration Server and the TIBCO Administrator GUI.
82
| Chapter 8
Phase 6: Production
| 83
Glossary
A ActiveEnterprise One of the three product families from TIBCO Software Inc. The other two are ActivePortal and ActiveExchange (see www.tibco.com for details). Activity An activity is a specific task in a business process definition. Examples are sending e-mail, writing a file, sending information to an SAP adapter, querying a database. In TIBCO Designer, each activity is represented by a resource and can be added to the process definition from its palette. See also Process Definition. Adapter Adapters make it possible to communicate and update business information that originates from diverse sources and resides on diverse host systems within an organization. TIBCO BusinessWorks adapters interact with enterprise applications such as PeopleSoft, SAP R/3, OracleApps and Siebel, as well as databases or files. Administration Domain Consists of a set of machines on which TIBCO software components are deployed, a set of deployed projects, and a single database for authentication and authorization. When you install TIBCO BusinessWorks, you specify a TIBCO Administration Domain. The domain initially contains one or more machines. Later, the domain contains the services and process engines running on those machines. Multiple projects can be in the same domain. You can monitor the components of all deployed projects in a domain from the TIBCO Administrator console.
C
Condition A condition can be used to control the flow of activities in a process diagram. Conditions are specified on transitions to determine whether to take the transition to the next activity or not. Condition types include: always, XPath which allows you to specify a custom condition using an XPath expression, and otherwise. Configuration Panel In TIBCO Designer, the configuration panel allows you to fill in values for the fields in the objects of your project, and to perform mapping.
84
Glossary
CRM Customer Relationship Management system. One of the applications in your enterprise.
D
Deployment During the deployment phase of your integration project, you assign the various project components (process and services) to the physical locations where they will run for test or production purpose. For example, after production deployment, the adapter service instances, and other process instances will be distributed across the production platform. Design panel In TIBCO Designer, you drag resources from the palette panel into the design panel to create instances of that resource for your business process definition. DTD Document Type Definition. A non-XML schema file that contains a formal description of the vocabulary and structure of the elements in an associated XML file. DTDs serve the same function as XML schema documents (XSDs). A DTD may also provide some content information. The DTD for an XML document is the combination of the internal and external subsets described by the document type declaration.
G
Activity Group A grouping of activities in a process definition. Some groups specify process control logic.
M
Machine A computer on which TIBCO Software components are installed. Each machine may belong to only one TIBCO Administration Domain.
P
Palette A TIBCO Designer palette is a collection of resources that you can use to populate your project. For example, use an adapter palette to add an adapter and a publisher to a project.
TIBCO BusinessWorks Concepts
Glossary 85
Process definition Specifies the business process flow using activities. A process definition is just a special type of activity; you can therefore use a process definition as an activity. Process instance Running instance of a process definition Process starter Starts a process based on an external event, e.g. arrival of a file or a message from an adapter. Project A TIBCO BusinessWorks project is a collection of all the components of your EAI solution. This includes components like business processes, adapter services, machines, engine instance(s). You create and save projects using TIBCO Designer and later deploy the project. Project tree panel One of the panels in TIBCO Designer. The project tree shows a hierarchy of all objects (adapters, activities, etc.) in your project.
R
Resource In TIBCO Designer, resources are the objects you can drag and drop into the design panel.
S
Service A TIBCO BusinessWorks service retrieves, generates, and processes business data in a decoupled yet reliable manner. The business process receives data from a service and sends data to a service. Associated with a service is a service interface, transport, data syntax, and data schema. SOAP Simple Object Access Protocol. SOAP is a lightweight protocol for the exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. (See http://www.w3.org/TR/SOAP/)
86
|
T
Glossary
Tab A related set of entities and functions that are visible when you select one tab in the TIBCO Administrator GUI. As components are installed, additional tabs become available. TIBCO Administrator TIBCO Administrator is a browser-based interface for monitoring and managing TIBCO deployments, their security, and administration domains. TIBCO Administrator organizes the information using tabs. TIBCO Designer A GUI tool that allows you design your integration project. You use TIBCO Designer for adapter configuration, process design, and deployment. Transition Transitions indicate the flow of processing. In TIBCO Designer, a transition is represented by an arrow between activities. Each activity in a process definition must have a transition to it, or the activity is not executed when the process executes.
W
WSDL Web Services Definition Language. WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). (See http://www.w3.org/TR/wsdl)
X
XPath XPath is a scripting language developed by the World Wide Web Consortium (W3C) for addressing parts of XML documents. It provides basic manipulation functions for strings, numbers and Booleans. TIBCO Designer uses XPath as the language for defining conditions and transformations. A complete description of XPath is available at http://www.w3.org/TR/xpath. XSD XML Schema Definition. An XSD file defines the structure and elements in a related XML file. The suffix of an XSD document is .xsd. XSLT XML Stylesheet Language Transformation. XSL Transformations (XSLT) is a standard way to describe how to transform (change) the structure of an XML (Extensible Markup Language) document into an
TIBCO BusinessWorks Concepts
Glossary 87
XML document with a different structure. XSLT is a recommendation of the World Wide Web Consortium
88
Glossary
| 89
Upon notice from a contact of a Software problem which can be reproduced at a TIBCO Maintenance facility, TIBCO shall use reasonable efforts to correct or circumvent the problem according to its published maintenance objectives. TIBCO reserves the right to make changes only to the most currently available version. TIBCO will use reasonable efforts to support the previously released version of the Software for a maximum of six months. Maintenance Fees for lapsed Maintenance or the changing of the level of Maintenance shall be mutually agreed upon between Customer and TIBCO. Upgrades, patches, enhancements, bug fixes, new versions and/or new releases of the Software provided from time to time under Maintenance shall be used only as replacements to existing copies, and shall not be deemed to increase the Number of Units, and use thereof shall be governed by the terms of this Agreement, except for the first paragraph of the Limited Warranty and any right of return or refund.
Services. Customer may request additional services ("Services") either in an Ordering Document, or by a separate mutually executed work order, statement of work or other work-request document incorporating the term of this End User License Agreement (each, a "Work Order"). Unless otherwise expressly agreed to in a Work Order, all Services and any work product therefrom shall be (a) performed on a time and materials basis, plus meals, lodging, travel, and other expenses reasonably incurred in connection therewith, (b) deemed accepted upon delivery, and (c) exclusively owned by TIBCO (except for Confidential Information of Customer), including all right, title and intellectual property or other right or interest therein. Each Work Order is intended to constitute an independent and distinct agreement of the parties, notwithstanding that each shall be construed to incorporate all applicable provisions of this End User License Agreement. Fees for Services shall be due and payable in United States dollars net 30 from the date of TIBCO's invoice. Limited Warranty. If Customer obtained the Software directly from TIBCO, then TIBCO warrants that for a period of thirty (30) days from the Purchase Date: (i) the media on which the Software is furnished will be free of defects in materials and workmanship under normal use; and (ii) the Software will substantially conform to its Documentation. This limited warranty extends only to the original Customer hereunder. Customer's sole and exclusive remedy and the entire liability of TIBCO and its licensors under this limited warranty will be, at TIBCO's option, repair, replacement, or refund of the Software and applicable Maintenance fees, in which event this End User License Agreement shall terminate upon refund thereof.
This warranty does not apply to any Software which (a) is licensed for beta, evaluation, testing or demonstration purposes for which TIBCO does not receive a license fee, (b) has been altered or modified, except by TIBCO, (c) has not been installed, operated, repaired, or maintained in accordance with instructions supplied by TIBCO, (d) has been subjected to abnormal physical or electrical stress, misuse, negligence, or accident, or (e) is used in violation of any other term of this End User License Agreement. Customer agrees to pay TIBCO for any Maintenance or Services provided by TIBCO related to a breach of the foregoing on a time, materials, travel, lodging and other reasonable expenses basis. If Customer obtained the Software from a TIBCO reseller or distributor, the terms of any warranty shall be as provided by such reseller or distributor, and TIBCO provides Customer no warranty with respect to such Software. EXCEPT AS SPECIFIED IN THIS LIMITED WARRANTY, THE SOFTWARE, MAINTENANCE AND SERVICES ARE PROVIDED "AS
90
OTHER, WHETHER IN CONTRACT, TORT (INCLUDING ACTIVE OR PASSIVE NEGLIGENCE), BREACH OF WARRANTY, CLAIMS BY THIRD PARTIES OR OTHERWISE, EXCEED THE PRICE PAID BY CUSTOMER UNDER THE APPLICABLE ORDERING DOCUMENT. THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF THE ABOVE-STATED REMEDY OR LIMITED WARRANTY FAILS OF ITS ESSENTIAL PURPOSE. BECAUSE SOME STATES OR JURISDICTIONS DO NOT ALLOW LIMITATION OR EXCLUSION OF CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO CUSTOMER.
Confidentiality. "Confidential Information" means the terms of this End User License Agreement; all information marked by the disclosing party as proprietary or confidential; any provided software, related documentation or related performance test results derived by Customer; and any methods, concepts or processes utilized in provided software or related documentation. Confidential Information shall remain the sole property of the disclosing party and shall not be disclosed to any non-Authorized User of either TIBCO or Customer without the prior written consent of the disclosing party. If Confidential Information is communicated orally, such communication shall be confirmed as "Confidential" in writing within thirty days of such disclosure. The parties agree to protect the Confidential Information of the other in the same manner it protects the confidentiality of similar information and data of its own (and at all times exercising at least a reasonable degree of care). Except with respect to the Software, items will not be deemed Confidential Information if (i) available to the public other than by a breach of an agreement with TIBCO, (ii) rightfully received from a third party not in breach of any obligation of confidentiality, (iii) independently developed by one party without use of the Confidential Information of the other; (iv) known to the recipient at the time of disclosure (other than under a separate confidentiality obligation); or (v) produced in compliance with applicable law or court order, provided the other party is given reasonable notice of the same. Both parties agree to indemnify the other for any damages the other may sustain resulting from their unauthorized use and/or disclosure of the other's Confidential Information. Such damages shall include reasonable expenses incurred in seeking both legal and equitable remedies. To the extent required by law, at Customer's request, TIBCO shall provide Customer with the interface information needed to achieve interoperability between the Software and another independently created program, on payment of TIBCO's applicable fee. Customer agrees to observe obligations of confidentiality with respect to such information. Export. Software, including technical data, is subject to U.S. export control laws, including the U.S. Export Administration Act and its associated regulations, and may be subject to export or import regulations in other countries. Customer agrees to comply strictly with all such regulations and agrees to obtain all necessary licenses to export, re-export, or import Software. Government Use. If the Customer is an agency, department, or other entity of the United States Government ("Government"), the use, duplication, reproduction, release, modification, disclosure or transfer of the Software, or any related documentation of any kind, including technical data or manuals, is restricted in accordance with Federal Acquisition Regulation ("FAR") 12.212 for civilian agencies and Defense Federal Acquisition Regulation Supplement ("DFARS") 227.7202 for military agencies. The Software is commercial computer software and commercial computer software documentation. Use of the Software and related documentation by the Government is further restricted in accordance with the terms of this Agreement, and any modification thereto.
| 91
Orders. An Ordering Document shall be deemed accepted only by issuance of a TIBCO invoice and solely for purposes of administrative convenience. None of the terms of the Ordering Document (other than the Software product name, Number of Units, level of Maintenance, description of Services, and fees due in connection therewith) shall apply for any reason or purpose whatsoever, regardless of any statement on any Ordering Document to the contrary, unless countersigned by an officer of TIBCO. This Agreement constitutes the entire agreement between the parties with respect to the use of the Software, Maintenance and Services, and supersedes all proposals, oral or written, and all other representations, statements, negotiations and undertakings relating to the subject matter hereof. All orders of Software, Maintenance or Services by Customer to TIBCO shall be deemed to occur with or without reference to, under the terms of this End User License Agreement, unless expressly superseded by a signed written agreement between the parties. Software shall be delivered electronically, and such delivery shall be deemed complete when the Software is made available for download by Customer. Term and Termination. Maintenance or Services may be terminated: (a) by either party upon a default of the other, such default remaining uncured for fifteen days from written notice from the non-defaulting party; (b) upon the filing for bankruptcy or insolvency of the other party, (c) by either party upon prior written notice at least ninety (90) days prior to the end of any annual Maintenance term; or (d) by Customer (for Services), upon ten days prior written notice. Termination of Maintenance or Services shall not terminate this End User License Agreement. Customer may terminate this End User License Agreement in its entirety at any time by destroying all copies of the Software. Upon termination of this End User License Agreement in its entirety, for any reason, Customer must cease using and return or destroy all copies of the Software. Customer's obligation to pay accrued charges and any fees due as of the date of termination, as well as the sections entitled "Confidentiality", "Limited Warranty" and "Limitation of Liability" shall survive any such termination. Authority. You hereby represent and warrant that you have full power and authority to accept the terms of this End User License Agreement on behalf of Customer, and that Customer agrees to be bound by this End User License Agreement. General. Fees on the Ordering Document (all to be paid on the latter of thirty days from Invoice by TIBCO or the date set forth in the Ordering Document) do not include sales, use, withholding, value-added or similar taxes, and Customer agrees to pay all sales, use, value-added, goods and services, consumption, withholding, excise and any other similar taxes or government charges, exclusive of TIBCO's income tax. Customer agree to pay all reasonable costs incurred (including reasonable attorneys' fees) in collecting past due amounts. Except as set forth in the Section entitled "Limited Warranty" all fees paid under or in connection with this End User License Agreement are non-refundable and no right of set-off exists. All payments of fees due shall be made in U.S. dollars, net 30 from Purchase Date, or, for any other amounts coming due hereafter, net 30 from TIBCO's invoice. A service charge of one and one-half percent per month will be applied to all invoices that are not paid on time. No delay in the performance of any obligation by either party, excepting all obligations to make payment, shall constitute a breach of this End User License Agreement to the extent caused by force majeure. Customer hereby grants TIBCO and its independent auditors the right to audit Customer's compliance with this End User License Agreement. If any portion of this End User License Agreement is found to be void or unenforceable, the remaining provisions shall remain in full force and effect. This End User License Agreement shall be governed by and construed in accordance with the laws of the State of California, United States of America, as if performed wholly within the state and without giving effect to the principles of conflict of
law. The United Nations Convention on Contracts for the International Sale of Goods is excluded from application hereto. If any portion hereof is found to be void or unenforceable, the remaining provisions of this Agreement shall remain in full force and effect.
Definitions. In connection with this End User License Agreement the following capitalized terms shall have the following meaning: "Connection" means for TIBCO SmartSockets and TIBCO SmartMQ, any network protocol link established with such Software (directly or indirectly) to any other entity, including but not limited to software, firmware or hardware; "Connected Processor" means a Processor that produces information or messages consumed by the relevant Software (excluding Processors on devices such as routers, switches, proxies, HTTP or application servers configured to substantially pass-through information or messages to TIBCO Software); "Customer" means the original purchaser or licensee of the Software and any permitted successors and assigns; "Developer" means a Named User of a TIBCO Software product for use only in Non-Production; "Documentation" means text material that accompanies the TIBCO Software on delivery; "Enterprise" means an unlimited Number of Units of the TIBCO Software set forth in an Ordering Document, deployed by Customer for a period of one (1) year (unless otherwise set forth in an Ordering Document) from the Effective Date (the "Enterprise Term"), at which time, the Number of Units then deployed in Production and Non-Production use by Customer becomes fixed and Customer may not thereafter deploy additional Units. During the Enterprise Term, Customer's right to deploy an unlimited Number of Units does not extend to any entity which acquires, is acquired by, merged into, or otherwise combined with Customer. Customer hereby agrees to provide TIBCO, within sixty (60) days after the end of the Enterprise Term, with written notice of the Number of Units deployed at the end of the Enterprise Term by License Type, Platform and Unit; "License Type" means the environment in which the TIBCO Software may be used (including without limitation, Production, Non-Production); "MSU" means Millions of Service Units per hour, based on the then current MSU rating established by IBM for IBM and IBM compatible hardware which is used for software pricing (not necessarily a direct indication of relative processor capacity) as set forth in IBM's generally available Large System Performance Reference; "Named User" means an identifiable individual, not necessarily named at the time of a license grant, designated by Customer to access the TIBCO Software, regardless of whether or not the individual is actively using the TIBCO Software at any given time; "Non-Production" means a non-operational environment into which the TIBCO Software may be installed, which is not processing live data, which is not running any operations of the Customer and which has not been deployed to permit any users to access live data. Non-Production environments include development, cold back-up, high availability, hot standby, and test environments; "Number of Units" means the cumulative number of copies of TIBCO Software licensed for use by type of Unit as set forth in this Agreement, or in an Ordering Document, and including, if applicable, as reported by Licensee upon expiration of a Project or Enterprise Term; "Ordering Document" means any purchase order or similar document or agreement requesting Software, Maintenance or Services; "Platform" means the operating system set forth in an Ordering Document; "Processor" means a central processing unit ("CPU") on which the TIBCO Software is licensed to run and which for the purposes of counting Processors on multicore chips, the number of Processors is the number of CPUs times the number of cores multiplied by .75.; "Processor Source Locked" means the number of connections to a single database made possible by (or licensed for) the relevant TIBCO Software regardless of how many Processors are used by the system or environment which is accessing the database; "Production" means an operational environment into which the licensed TIBCO Software has been installed, which is processing live data and which has been deployed so that the intended users of the
92
Open SAML1.0.1
The OpenSAML License, Version 1. Copyright (c) 2002, University Corporation for Advanced Internet Development, Inc. All rights reserved." "This product includes software developed by the University Corporation for Advanced Internet Development <http://www.ucaid.edu> Internet2 Project." "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND WITH ALL FAULTS. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT ARE DISCLAIMED AND THE ENTIRE RISK OF SATISFACTORY QUALITY, PERFORMANCE, ACCURACY, AND EFFORT IS WITH LICENSEE. IN NO EVENT SHALL THE COPYRIGHT OWNER, CONTRIBUTORS OR THE UNIVERSITY CORPORATION FOR ADVANCED INTERNET DEVELOPMENT, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
StringTemplate 2.1
Copyright 2003-2005 Terence Parr. All rights reserved." "THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
UDD14J 2.0.3
"This product includes UDD14J software which is licensed under the IBM Common Public License, v1.0. For a period of time not to exceed three years from the Purchase Date, TIBCO also offers to provide Customer, upon written request of Customer, a copy of the source code for this software.
| 93
94
Apache WSS4J
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to
| 95
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Open SAML, Version 1.0.1
OpenSAML License The OpenSAML License, Version 1. Copyright (c) 2002, University Corporation for Advanced Internet Development, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: " Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. " Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution, if any, must include the following acknowledgment: "This product includes software developed by the University Corporation for Advanced Internet Development <http://www.ucaid.edu> Internet2 Project." Alternately, this acknowledgement may appear in the software itself, if and wherever such third-party acknowledgments normally appear. " Neither the name of OpenSAML nor the names of its contributors, nor Internet2, nor the University Corporation for Advanced Internet Development, Inc., nor UCAID may be used to endorse or promote products derived from this software without specific prior written permission. For written permission, please contact info-shib@internet2.edu. " Products derived from this software may not be called OpenSAML, Internet2, UCAID, or the University Corporation for Advanced Internet Development, nor may OpenSAML appear in their name, without prior written permission of the University Corporation for Advanced Internet Development. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND WITH ALL FAULTS. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE DISCLAIMED AND THE ENTIRE RISK OF SATISFACTORY QUALITY, PERFORMANCE, ACCURACY, AND EFFORT IS WITH LICENSEE. IN NO EVENT SHALL THE COPYRIGHT OWNER, CONTRIBUTORS OR THE UNIVERSITY CORPORATION FOR ADVANCED INTERNET DEVELOPMENT, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
96
[The "BSD licence"] Copyright (c) 2003-2005 Terence Parr All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
a. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. b. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. c. Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. d. Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
03 Mar 2005 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. DEFINITIONS "Contribution" means: a. in the case of International Business Machines Corporation ("IBM"), the Original Program, and b. in the case of each Contributor,
| 97
3. REQUIREMENTS A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: a. it complies with the terms and conditions of this Agreement; and b. its license agreement: i. effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; ii. effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; iii. states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and iv. states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. When the Program is made available in source code form: c. it must be made available under this Agreement; and d. a copy of this Agreement must be included with each copy of the Program. Each Contributor must include the following in a conspicuous location in the Program: Copyright {date here}, International Business Machines Corporation and others. All Rights Reserved. In addition, each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. 4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any
98
| 99
Index
A
activities accessing services 40 adding 67 data mapping data 71 data transformation 71 grouping 72 transitions 70 adapter service 53, 59 configuration steps 54 adapters 19, 21 accessing from process 59 configuring 58 design-time adapter 56 features 20 installing 55 overview 20 run-time adapter 58 adding activities 67 adding process starter 66 adding transitions 70 administration domain 9, 48 administration server 48 analysis 27 business events 43 problem definition 38 application integration 2 architecture 12 design-time 13 run-time 16 authentication 11 authorization 11
C
components identifying 40 conditional transitions 70 conditions 41, 70 configuration adapter service 54 deployment 25 overview 30 run-time adapters 58 conventions used in this manual xiii creating process definitions 65 creating transitions 70 customer support xiii
D
data mapping 22, 42, 71 data transformation 71 deployed projects management 11 monitoring 11 deployment 34 configuration 25 introduction 76 design 32 business processes 44 steps 63 design-time adapter 56 design-time architecture 13
TIBCO BusinessWorks Concepts
B
business integration elements 19
100
| Index
development environment IDE 13 domains 9, 48 setup 28
M
managing deployed projects 11 manual activity 5, 13, 24 mapping 22, 42, 71 messaging 19 methodology introduction 26 modelling of business process 21 monitoring introduction 80 projects 11
E
exceptions 42 extensibility 13
F P
features adapters 20 palettes overview 16 problem definition 38 process definitions 65 process modelling 21 process starter 66 processes 62 design 32, 44, 62 design steps 63 identifying 39 starter 66 testing 73 production 35 projects 14 extensibility 13 life cycle 76 scalability 13
G
grouping activities 72
I
identifying components 40 identifying processes 39 InConcert 13 installation adapters 55 overview 28 integrated development environment 13 integration 2 benefits 2 platform requirements 3 invocation modes 52
R
resources 15 shared 64 run-time agent 49 run-time architecture 16
Index 101
S
scalability 13 schema 22, 23 security 8, 11 sending messages 19 server 48 services activities 40 adapter 59 characteristics 52 configuration 30 introduction 52 types 53 web services 53 setting up design-time adapter 56 shared resources 64 standards 12 starter 66 support, contacting xiii
W
web services 53 workflow 5, 24
T
technical support xiii testing processes 73 TIBCO administration domain 9, 48 TIBCO administration server 48 TIBCO Administrator 8 TIBCO BusinessWorks adapters 21 introduction 8 TIBCO BusinessWorks services introduction 52 TIBCO Designer 8 TIBCO InConcert 8, 13, 24 TIBCO Runtime Agent 8 TIBCO run-time agent 49 TRA 8, 49 transformation 71 transitions 41, 70
102
| Index