Professional Documents
Culture Documents
Tib Code Sign Patterns
Tib Code Sign Patterns
This is a TIBCO Best Practices document from TIBCO Professional Services Group.
Consulting Services
This document describes the design patterns generally involved in using TIBCO products and technology. It serves as both a concepts guide and a reference to TIBCO best practice designs. Document Version: 2005.1 Document Date: 25 Feb 2005
http://www.tibco.com Global Headquarters 3303 Hillview Avenue Palo Alto, CA 94304 Tel: +1 650-846-1000 Toll Free: 1 800-420-8450 Fax: +1 650-846-1005
Copyright 2004, TIBCO Software Inc. All rights reserved. TIBCO, the TIBCO logo, The Power of Now, and TIBCO Software are trademarks or registered 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 0204 identification purposes only.
Copyright Notice
COPYRIGHT 2004 TIBCO Software Inc. This document is unpublished and the foregoing notice is affixed to protect TIBCO Software Inc. in the event of inadvertent publication. All rights reserved. No part of this document may be reproduced in any form, including photocopying or transmission electronically to any computer, without prior written consent of TIBCO Software Inc. The information contained in this document is confidential and proprietary to TIBCO Software Inc. and may not be used or disclosed except as expressly authorized in writing by TIBCO Software Inc. Copyright protection includes material generated from our software programs displayed on the screen, such as icons, screen displays, and the like.
Trademarks
Technologies described herein are either covered by existing patents or patent applications are in progress. All brand and product names are trademarks or registered trademarks of their respective holders and are hereby acknowledged.
Confidentiality
The information in this document is subject to change without notice. This document contains information that is confidential and proprietary to TIBCO Software Inc. and may not be copied, published, or disclosed to others, or used for any purposes other than review, without written authorization of an officer of TIBCO Software Inc. Submission of this document does not represent a commitment to implement any portion of this specification in the products of the submitters.
Content Warranty
The information in this document is subject to change without notice. THIS DOCUMENT IS PROVIDED "AS IS" AND TIBCO MAKES NO WARRANTY, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO ALL WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. TIBCO Software Inc. shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance or use of this material. For more information, please contact: TIBCO Software Inc. 3303 Hillview Avenue Palo Alto, CA 94304 USA
Table of Contents
1 Introduction ................................................................................................... 7
1.1 1.2 1.3 1.4 Overview.......................................................................................................................... 7 Version Applicability ........................................................................................................ 7 How to Use This Document............................................................................................. 7 Other Sources of Best Practices ..................................................................................... 7
Message Based Monitoring ........................................................................................... 77 Application Instrumentation ........................................................................................... 79 Integrating Enterprise Management Platforms.............................................................. 80 Self Recovery ................................................................................................................ 81 Centralized Logging....................................................................................................... 82 Log File Scanning.......................................................................................................... 83 Automatic Throughput Optimization .............................................................................. 84 Heartbeat Generator...................................................................................................... 85
Table of Figures
Figure 1 Publish-subscribe Model................................................................................... 12 Figure 2 Request-reply Model......................................................................................... 16 Figure 3 RV - Generic Asynchronous Request-Reply Implementation Using BW .......... 17 Figure 4 JMS - Generic Asynchronous Request-Reply Implementation Using BW........ 17 Figure 5 Generic Service Provider Implementation Using BW ....................................... 18 Figure 6 Asynchronous Request-Reply to AE Adapter Request-Response Service ...... 18 Figure 7 Service Provider to AE Adapter Request-Reply ............................................... 19 Figure 8 Web Service as Service Provider Using BW .................................................... 19 Figure 9 Broadcast Request-reply Model ....................................................................... 22 Figure 10 Chain of Service Providers ............................................................................. 24 Figure 11 Stack Variable Used in CSP Pattern............................................................... 24 Figure 12 Airline Reservation Example........................................................................... 26 Figure 13 Demultiplexer .................................................................................................. 27 Figure 14 Airline Reservation Example Using Demultiplexer.......................................... 28 Figure 15 Bridge Model................................................................................................... 29 Figure 16 RV-JMS bridge ............................................................................................... 30 Figure 17 The Adapter Pattern ....................................................................................... 32 Figure 18 Adapter Functionality ...................................................................................... 32 Figure 19 Database Replicator ....................................................................................... 37 Figure 20 File Replicator ................................................................................................. 38 Figure 21 Duplicate Detection Component Design ......................................................... 40 Figure 22 Content-based Router .................................................................................... 41 Figure 23 Translate Fixed Record File Format Into XML Format.................................... 44 Figure 24 Using Wire Formats ........................................................................................ 46 Figure 25 Canonical Data Schema ................................................................................. 49
Figure 26 Transformer Pattern........................................................................................ 50 Figure 27 Transforming Input Process Variables (Left) to Activity Input (Right) ............. 51 Figure 28 Two Different Approaches to Transform Data ................................................ 52 Figure 29 Place Order Using EJB App Server ................................................................ 56 Figure 30 Place Order Using Business Process Automation.......................................... 56 Figure 31 Place Order Process Diagram in BW.............................................................. 57 Figure 32 IC Task State Transitions ............................................................................... 60 Figure 33 Process or Task Delegation............................................................................ 62 Figure 34 Process Delegation Example.......................................................................... 63 Figure 35 Process Synchronization Example ................................................................. 64 Figure 36 Parallel Execution Using Wait and Notify activities in BW .............................. 66 Figure 37Sequencing Process Instances........................................................................ 67 Figure 38 Property Cache ............................................................................................... 69 Figure 39Interacting with Human Activity Asynchronously ............................................. 72 Figure 40 One-of-N Delivery to RV Distributed Queue ................................................... 74 Figure 41 Cache ............................................................................................................. 75 Figure 42 Distributed Monitoring Via TIBCO Hawk......................................................... 78 Figure 43 Centralized Logging ........................................................................................ 82
Table of Tables
Figure 1 Publish-subscribe Model................................................................................... 12 Figure 2 Request-reply Model......................................................................................... 16 Figure 3 RV - Generic Asynchronous Request-Reply Implementation Using BW .......... 17 Figure 4 JMS - Generic Asynchronous Request-Reply Implementation Using BW........ 17 Figure 5 Generic Service Provider Implementation Using BW ....................................... 18 Figure 6 Asynchronous Request-Reply to AE Adapter Request-Response Service ...... 18 Figure 7 Service Provider to AE Adapter Request-Reply ............................................... 19 Figure 8 Web Service as Service Provider Using BW .................................................... 19 Figure 9 Broadcast Request-reply Model ....................................................................... 22 Figure 10 Chain of Service Providers ............................................................................. 24 Figure 11 Stack Variable Used in CSP Pattern............................................................... 24 Figure 12 Airline Reservation Example........................................................................... 26
Figure 13 Demultiplexer .................................................................................................. 27 Figure 14 Airline Reservation Example Using Demultiplexer.......................................... 28 Figure 15 Bridge Model................................................................................................... 29 Figure 16 RV-JMS bridge ............................................................................................... 30 Figure 17 The Adapter Pattern ....................................................................................... 32 Figure 18 Adapter Functionality ...................................................................................... 32 Figure 19 Database Replicator ....................................................................................... 37 Figure 20 File Replicator ................................................................................................. 38 Figure 21 Duplicate Detection Component Design ......................................................... 40 Figure 22 Content-based Router .................................................................................... 41 Figure 23 Translate Fixed Record File Format Into XML Format.................................... 44 Figure 24 Using Wire Formats ........................................................................................ 46 Figure 25 Canonical Data Schema ................................................................................. 49 Figure 26 Transformer Pattern........................................................................................ 50 Figure 27 Transforming Input Process Variables (Left) to Activity Input (Right) ............. 51 Figure 28 Two Different Approaches to Transform Data ................................................ 52 Figure 29 Place Order Using EJB App Server ................................................................ 56 Figure 30 Place Order Using Business Process Automation.......................................... 56 Figure 31 Place Order Process Diagram in BW.............................................................. 57 Figure 32 IC Task State Transitions ............................................................................... 60 Figure 33 Process or Task Delegation............................................................................ 62 Figure 34 Process Delegation Example.......................................................................... 63 Figure 35 Process Synchronization Example ................................................................. 64 Figure 36 Parallel Execution Using Wait and Notify activities in BW .............................. 66 Figure 37Sequencing Process Instances........................................................................ 67 Figure 38 Property Cache ............................................................................................... 69 Figure 39Interacting with Human Activity Asynchronously ............................................. 72 Figure 40 One-of-N Delivery to RV Distributed Queue ................................................... 74 Figure 41 Cache ............................................................................................................. 75 Figure 42 Distributed Monitoring Via TIBCO Hawk......................................................... 78 Figure 43 Centralized Logging ........................................................................................ 82
1
1.1
Introduction
Overview
This document presents a set of reusable design and implementation patterns, which can be used to build solutions to solve system integration problems that range from sharing data between disparate systems to managing complex business processes across multiple applications. Design patterns are building blocks that can be used to form design solutions. Using patterns in projects can provide many benefits: leveraging a proven solution, cutting down the implementation and maintenance cost, and providing a common vocabulary for team communication. This typically results in better-designed, more scalable architecture and shorter project life cycle.
1.2
Version Applicability
Unless otherwise noted in this document, its content is compatible with and updated with the latest versions of all TIBCO products referred to in this document.
1.3
The design patterns cover design issues encountered in design, deployment, and operations, and they are presented independently in this document. Readers of this document are encouraged to jump to any specific topic directly to obtain relevant best practices. To best utilize the content of this document, we recommend hyperlink all the topics in this document in your best practices portal.
1.4