You are previewing Architecting Composite Applications and Services with TIBCO®.
O'Reilly logo
Architecting Composite Applications and Services with TIBCO®

Book Description

“Paul Brown has done a favor for the TIBCO community and anyone wanting to get into this product set. Architecting TIBCO solutions without knowing the TIBCO architecture fundamentals and having insight to the topics discussed in this book is risky to any organization. I fully recommend this book to anyone involved in designing solutions using the TIBCO ActiveMatrix products.” —Nikky Sooriakumar, TIBCO Architect, PruHealth “An effective primer for building composite services using TIBCO, this book provides a holistic approach to strategy integrated with implementation details. I find it tremendously useful in moving recursively from business solutions to design patterns to architecture. Tangible examples are provided that build to composite services. And advanced topics are explored that add another valuable implementation dimension. I recommend this book to software architects who need to quickly build an effective business- services-oriented environment.” —Abby H. Brown, Ph.D., Enterprise Architect, Intel Corp. 

The architecture series from TIBCO® Press comprises a coordinated set of titles for software architects and developers, showing how to combine TIBCO components to design and build real-world solutions. TIBCO’s product suite comprises components with functionality ranging from messaging through services, service orchestration, business process management, master data management, and complex event processing.

In composite applications and services, multiple components collaborate to provide the required functionality. There are many possible architectures for these distributed solutions: Some will serve the enterprise well, while others will lead to dead-end projects. Architecting Composite Applications and Services with TIBCO® shows how to create successful architectures with TIBCO products for both overall solutions and individual services. This guide builds on the basic design patterns and product information presented in the first title in the series, TIBCO® Architecture Fundamentals (Addison-Wesley, 2011).

After reading this title, you will be able to

  • Create architectures for solutions, service specifications, and service implementations

  • Understand the intended TIBCO product roles in composite applications and services

  • Define manageable approaches to service versioning and naming

  • Conduct and interpret performance benchmarks

  • Identify and select appropriate design patterns for a variety of tasks 

  • Architecting Composite Applications and Services with TIBCO® is intended primarily for project architects defining overall solutions and specifying the supporting components and services. TIBCO developers, enterprise architects, and technical managers will also find material of interest. No specific prior knowledge of architecture is assumed.

    Table of Contents

    1. Title Page
    2. Copyright Page
    3. Dedication Page
    4. Contents
    5. Preface
      1. About This Book
      2. TIBCO Architecture Book Series
      3. Intended Audience
      4. Detailed Learning Objectives
      5. Organization of the Book
    6. Acknowledgments
    7. About the Author
    8. Part I. Getting Started
      1. Chapter 1. Components, Services, and Architectures
        1. Objectives
        2. Architecture Views
        3. A Hierarchy of Architectures
        4. Why Make These Architecture Distinctions?
        5. Design Patterns: Reference Architectures
        6. Solution Architecture
        7. Service Architecture
        8. Service Utilization Pattern
        9. Composite Service Architecture
        10. Service Utilization Contract
        11. Component Life Cycle
        12. Summary
      2. Chapter 2. TIBCO® Architecture Fundamentals Review
        1. Objectives
        2. Products Covered in TIBCO® Architecture Fundamentals
        3. ActiveMatrix Deployment Options
        4. Design Patterns
        5. ActiveMatrix Service Bus Policies
        6. Summary
      3. Chapter 3. TIBCO Products
        1. Objectives
        2. Hawk®
        3. TIBCO® Managed File Transfer Product Portfolio
        4. Mainframe and iSeries Integration
        5. BusinessConnect™
        6. TIBCO Collaborative Information Manager
        7. Summary
      4. Chapter 4. Case Study: Nouveau Health Care
        1. Objectives
        2. Nouveau Health Care Solution Architecture
        3. Payment Manager Service Specification
        4. Payment Manager Specification: Process Overview
        5. Payment Manager Specification: Domain Model
        6. Payment Manager Specification: Interfaces
        7. Payment Manager Specification: Processes
        8. Summary
    9. Part II. Designing Services
      1. Chapter 5. Observable Dependencies and Behaviors
        1. Objectives
        2. The Black Box Perspective
        3. Facets of Observable Dependencies and Behaviors
        4. Example: Sales Order Service
        5. Characterizing Observable Dependencies and Behaviors
        6. Some Composites May Not Be Suitable for Black Box Characterization
        7. Summary
      2. Chapter 6. Service-Related Documentation
        1. Objectives
        2. Service One-Line Description and Abstract
        3. Service Specification Contents
        4. Example Service Specification: Payment Manager
        5. Service Usage Contracts
        6. Service Architecture
        7. Summary
      3. Chapter 7. Versioning
        1. Objectives
        2. Dependencies and Compatibility
        3. Packages
        4. OSGi Versioning
        5. WSDL and XML Schema Versioning
        6. Version Number Placement for WSDLs and XML Schemas
        7. Backwards-Compatible WSDL and XML Schema Changes
        8. Incompatible Changes
        9. Rules for Versioning WSDLs and Schemas
        10. Architecture Patterns for Versioning
        11. Versioning SOAP Interface Addresses (Endpoints)
        12. Versioning the SOAP Action
        13. How Many Versions Should Be Maintained?
        14. Summary
      4. Chapter 8. Naming Standards
        1. Objectives
        2. Using This Chapter
        3. Concepts
        4. What Needs a Name?
        5. Structured Name Design Principles
        6. Applying Naming Principles
        7. Complicating Realities
        8. Developing Your Standard
        9. Summary
      5. Chapter 9. Data Structures
        1. Objectives
        2. Domain Models
        3. Information Models
        4. Data Structure Design
        5. Common Data Models
        6. Designing an XML Schema
        7. Organizing Schema and Interfaces
        8. Example Schema
        9. Summary
    10. Part III. Service Architecture Patterns
      1. Chapter 10. Building-Block Design Patterns
        1. Objectives
        2. Solution Architecture Decisions
        3. Separating Interface and Business Logic
        4. Using Services for Accessing Back-End Systems
        5. Rule Service Governing Process Flow
        6. Rule Services and Data
        7. Business Exceptions: Services Returning Variant Business Responses
        8. Asynchronous JMS Request-Reply Interactions
        9. Supporting Dual Coordination Patterns
        10. Summary
      2. Chapter 11. Load Distribution and Sequencing Patterns
        1. Objectives
        2. Using IP Redirectors to Distribute Load
        3. Using JMS Queues to Distribute Load
        4. Partitioning JMS Message Load between Servers
        5. Enterprise Message Service Client Connection Load Distribution
        6. Load Distribution in ActiveMatrix Service Bus
        7. The Sequencing Problem
        8. Patterns That Preserve Total Sequencing
        9. Load Distribution Patterns That Preserve Partial Ordering
        10. Summary
      3. Chapter 12. Data Management Patterns
        1. Objectives
        2. System-of-Record Pattern
        3. System of Record with Cached Read-Only Copies Pattern
        4. Replicated Data with Transactional Update Pattern
        5. Edit-Anywhere-Reconcile-Later Pattern
        6. Master-Data-Management Pattern
        7. Summary
      4. Chapter 13. Composites
        1. Objectives
        2. What Is a Composite?
        3. Specifying a Composite
        4. Architecting a Composite
        5. Composite Services and Applications
        6. Information Retrieval Design Patterns
        7. TIBCO ActiveMatrix Composite Implementation
        8. Summary
    11. Part IV. Advanced Topics
      1. Chapter 14. Benchmarking
        1. Objectives
        2. Misleading Results
        3. Determining Operating Capacity
        4. Documenting the Test Design
        5. Benchmarking Complex Components
        6. Interpreting Benchmark Results
        7. Using Benchmark Results
        8. Summary
      2. Chapter 15. Tuning
        1. Objectives
        2. ActiveMatrix Service Bus Node Architecture
        3. ActiveMatrix BusinessWorks™ Service Engine Architecture
        4. Summary
      3. Chapter 16. Fault Tolerance and High Availability
        1. Objectives
        2. Common Terms
        3. Deferred JMS Acknowledgement Pattern
        4. Intra-Site Cluster Failover Pattern
        5. Generic Site Failover
        6. Enterprise Message Service Failover
        7. ActiveMatrix BusinessWorks Failover
        8. ActiveMatrix Service Bus Failover
        9. An Example of a 99.999% Availability Environment for the Enterprise Message Service
        10. Summary
      4. Chapter 17. Service Federation
        1. Objectives
        2. Factors Leading to Federation
        3. Issues in Federation
        4. Basic Federation Pattern
        5. Federation with Remote Domain Pattern
        6. Distributed Federation Pattern
        7. Standardizing Service Domain Technology
        8. Summary
      5. Chapter 18. Documenting a Solution Architecture
        1. Business Objectives and Constraints
        2. Solution Context
        3. Business Process Inventory
        4. Domain Model
        5. Solution Architecture Pattern
        6. Business Process 1
        7. Business Process 2
        8. Business Process n
        9. Addressing Nonfunctional Solution Requirements
        10. Component/Service A
        11. Component/Service B
        12. Component/Service n
        13. Deployment
        14. Integration and Testing Requirements
        15. Appendix A: Common Data Format Specifications
        16. Appendix B: Message Format Specifications
        17. Appendix C: Service Interface Specifications
        18. Appendix D: Data Storage Specifications
      6. Chapter 19. Documenting a Service Specification
        1. Service Overview
        2. Service Context
        3. Intended Utilization Scenarios
        4. Interface Definitions
        5. Referenced Components
        6. Observable State
        7. Triggered Behaviors
        8. Coordination
        9. Constraints
        10. Nonfunctional Behavior
        11. Deployment
        12. Appendix A: Service Interface Specifications
        13. Appendix B: Referenced Interface Specifications
    12. Afterword
    13. Appendix A. UML Notation Reference
      1. Class Diagram Basics
      2. Structure
      3. Activity Diagrams
      4. Collaborations
      5. State Machines
    14. Appendix B. WSDLs and Schemas from Examples
      1. Sales Order Example
    15. Index
    16. TIBCO Education
    17. Add Pages