Home > Store

Architecting Composite Applications and Services with TIBCO

Register your product to gain access to bonus material or receive a coupon.

Architecting Composite Applications and Services with TIBCO

eBook

  • Your Price: $30.39
  • List Price: $37.99
  • Includes EPUB and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    Adobe Reader PDF The popular standard, used most often with the free Acrobat® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Description

  • Copyright 2012
  • Dimensions: 7" x 9-1/8"
  • Edition: 1st
  • eBook
  • ISBN-10: 0-13-308943-6
  • ISBN-13: 978-0-13-308943-1

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

Sample Content

Table of Contents

Preface xxv

Acknowledgments xxxiii

About the Author xxxv


Part I: Getting Started 1


Chapter 1: Components, Services, and Architectures 3

Objectives 3

Architecture Views 4

A Hierarchy of Architectures 7

Why Make These Architecture Distinctions? 11

Design Patterns: Reference Architectures 13

Solution Architecture 14

Service Architecture 17

Service Utilization Pattern 17

Composite Service Architecture 20

Service Utilization Contract 22

Component Life Cycle 22

Summary 23

Chapter 2: TIBCO® Architecture Fundamentals Review 25

Objectives 25

Products Covered in TIBCO® Architecture Fundamentals 25

ActiveMatrix Deployment Options 31

Design Patterns 33

ActiveMatrix Service Bus Policies 44

Summary 46

Chapter 3: TIBCO Products 47

Objectives 47

Hawk® 48

TIBCO® Managed File Transfer Product Portfolio 56

Mainframe and iSeries Integration 58

BusinessConnect™ 63

TIBCO Collaborative Information Manager 64

Summary 65

Chapter 4: Case Study: Nouveau Health Care 67

Objectives 67

Nouveau Health Care Solution Architecture 68

Payment Manager Service Specification 73

Payment Manager Specification: Process Overview 74

Payment Manager Specification: Domain Model 77

Payment Manager Specification: Interfaces 82

Payment Manager Specification: Processes 83

Summary 91

Part II: Designing Services 93

Chapter 5: Observable Dependencies and Behaviors 95

Objectives 95

The Black Box Perspective 96

Facets of Observable Dependencies and Behaviors 97

Example: Sales Order Service 97

Characterizing Observable Dependencies and Behaviors 111
Some Composites May Not Be Suitable for Black Box Characterization 117

Summary 119

Chapter 6: Service-Related Documentation 121

Objectives 121

Service One-Line Description and Abstract 122

Service Specification Contents 123

Example Service Specification: Payment Manager 128

Service Usage Contracts 142

Service Architecture 144

Summary 149

Chapter 7: Versioning 151

Objectives 151

Dependencies and Compatibility 152

Packages 152

OSGI Versioning 153

WSDL and XML Schema Versioning 156

Version Number Placement for WSDLs and XML Schemas 159

Backwards-Compatible WSDL and XML Schema Changes 160
Incompatible Changes 163

Rules for Versioning WSDLs and Schemas 164

Architecture Patterns for Versioning 165

Versioning SOAP Interface Addresses (Endpoints) 168

Versioning the SOAP Action 168

How Many Versions Should Be Maintained? 169

Summary 171

Chapter 8: Naming Standards 173

Objectives 173

Using This Chapter 174

Concepts 174

What Needs a Name? 182

Structured Name Design Principles 183

Applying Naming Principles 191

Complicating Realities 205

Developing Your Standard 211

Summary 212

Chapter 9: Data Structures 215

Objectives 215

Domain Models 215

Information Models 218

Data Structure Design 220

Common Data Models 224

Designing an XML Schema 227

Organizing Schema and Interfaces 233

Example Schema 235

Summary 235

Part III: Service Architecture Patterns 237

Chapter 10: Building-Block Design Patterns 239

Objectives 239

Solution Architecture Decisions 240

Separating Interface and Business Logic 240

Design Pattern: Separate Interface and Business Logic 241

Using Services for Accessing Back-End Systems 243

Rule Service Governing Process Flow 244

Rule Services and Data 250

Business Exceptions: Services Returning Variant Business Responses 252

Asynchronous JMS Request-Reply Interactions 257

Supporting Dual Coordination Patterns 261

Summary 262

Chapter 11: Load Distribution and Sequencing Patterns 265

Objectives 265

Using IP Redirectors to Distribute Load 266

Using JMS Queues to Distribute Load 266

Partitioning JMS Message Load between Servers 267

Enterprise Message Service Client Connection Load Distribution 269

Load Distribution in ActiveMatrix Service Bus 271

The Sequencing Problem 273

Patterns That Preserve Total Sequencing 275

Load Distribution Patterns That Preserve Partial Ordering 278

Summary 280

Chapter 12: Data Management Patterns 283

Objectives 283

System-of-Record Pattern 284

System of Record with Cached Read-Only Copies Pattern 285

Replicated Data with Transactional Update Pattern 286

Edit-Anywhere-Reconcile-Later Pattern 287

Master-Data-Management Pattern 288

Summary 290

Chapter 13: Composites 293

Objectives 293

What Is a Composite? 293

Specifying a Composite 294

Architecting a Composite 294

Composite Services and Applications 303

Information Retrieval Design Patterns 304

TIBCO ActiveMatrix Composite Implementation 307

Summary 308

Part IV: Advanced Topics 311

Chapter 14: Benchmarking 313

Objectives 313

Misleading Results 314

Determining Operating Capacity 316

Documenting the Test Design 317

Benchmarking Complex Components 324

Interpreting Benchmark Results 327

Using Benchmark Results 336

Summary 338

Chapter 15: Tuning 341

Objectives 341

ActiveMatrix Service Bus Node Architecture 341

ActiveMatrix BusinessWorks™ Service Engine Architecture 357
Summary 369

Chapter 16: Fault Tolerance and High Availability 371

Objectives 371

Common Terms 372

Deferred JMS Acknowledgement Pattern 373

Intra-Site Cluster Failover Pattern 374

Generic Site Failover 377

Enterprise Message Service Failover 381

ActiveMatrix BusinessWorks Failover 385

ActiveMatrix Service Bus Failover 390
An Example of a 99.999% Availability Environment for the Enterprise Message Service 391

Summary 396

Chapter 17: Service Federation 401

Objectives 401

Factors Leading to Federation 402

Issues in Federation 402

Basic Federation Pattern 403

Federation with Remote Domain Pattern 405

Distributed Federation Pattern 406

Standardizing Service Domain Technology 407

Summary 407

Chapter 18: Documenting a Solution Architecture 409

Business Objectives and Constraints 409

Solution Context 410

Business Process Inventory 410

Domain Model 410

Solution Architecture Pattern 411

Business Process 1 411

Business Process 2 411

Business Process n 412

Addressing Nonfunctional Solution Requirements 412

Component/Service A 413

Component/Service B 415

Component/Service n 415

Deployment 416

Integration and Testing Requirements 416

Appendix A: Common Data Format Specifications 417

Appendix B: Message Format Specifications 417

Appendix C: Service Interface Specifications 417

Appendix D: Data Storage Specifications 417

Chapter 19: Documenting a Service Specification 419

Service Overview 419

Service Context 420

Intended Utilization Scenarios 420

Interface Definitions 421

Referenced Components 421

Observable State 421

Triggered Behaviors 422

Coordination 422

Constraints 422

Nonfunctional Behavior 422

Deployment 423

Appendix A: Service Interface Specifications 423

Appendix B: Referenced Interface Specifications 423

Afterword 425

Appendix A: UML Notation Reference 427

Class Diagram Basics 427

Structure 432

Activity Diagrams 437

Collaborations 440

State Machines 441


Appendix B: WSDLs and Schemas from Examples 443
Sales Order Example 443

Index 453

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020