Transactional Publish / Subscribe: The Proactive Multicast of Database Changes
Arvola Chan
Full Paper (PDF)

Slides (HTML)

Abstract
For many years, TIBCO (the Information Bus Company) has pioneered the use of Publish / Subscribe - a form of push technology - to build flexible, real-time, loosely-coupled distributed applications. Today, Publish / Subscribe is used by 300 of the world's largest financial institutions, deployed in 6 of the top 10 semiconductor manufacturer' factory floors, utilized in the implementation large-scale Internet services like Yahoo, Intuit, and ETrade, and chosen by many of the world's leading corporations as the enterprise infrastructure for integrating disparate applications. In this paper, we will:

Contrast the Publish / Subscribe event-driven interaction paradigm against the traditional
demand-driven request-reply interaction paradigm;
Explain the concepts of subject-based addressing and self-describing messages, the
cornerstones of Publish / Subscribe;
Describe the scalable implementation of Publish / Subscribe via multicast and broadcast,
and the proposed Pragmatic General Multicast Internet standard; and
Categorize the qualities of service needed by different kinds of event-driven applications.

Today, TIBCO products support:

Reliable delivery for front-office applications which require update notifications only while
they are online;
Guaranteed delivery for back-office applications that cannot afford to lose messages
despite network and application failures; and
Transactionally guaranteed delivery for those applications that must update databases,
consume messages on one set of subjects, and publish messages on another set of
subjects, all within properly bracketed atomic transactions.
The exactly-once delivery semantics for transactionally guaranteed delivery simplifies the implementation of back-office workflow applications by automating the common recovery logic. Three different implementations of transactional Publish / Subscribe can be found in:

A generic, database independent implementation embodied in TIBCO's Enterprise
Transaction Express (ETX) product. ETX optmizes two-phase commit for those
applications that span a single database and the messaging system by using the last
resource manager optimization. It also supports more complicated transactions by playing
the role of an XA-compliant resource manager, leaving the transaction coordination to
standard-based transaction monitors.
An Informix Universal Server specific extension package called the TIBCO Message Blade.
This extends the SQL language with TIBCO-provided User Defined Routines (UDRs) for
synchronous Publish / Subscribe operations. In general, UDRs can be used inside stored
procedures and triggers to publish and consume (potentially complex) structured
messages. The need for two-phase commit is finessed by storing messages in the same
database that houses application tables.
A bidirectional bridge between Oracle 8's Advanced Queueing (AQ) facility and TIBCO's
TIB/Rendezvous guaranteed message delivery implementation. Oracle AQ supports
enqueue and dequeue operations to queues (actually implemented as Oracle tables) that
can be performed as part of database transactions. The bridge dequeues from Oracle
queues and republishes on the Information Bus. Converesly, the bridge subscribes to
TIB/Rendezvous messages and enqueues them to Oracle queues for consumption by
Oracle applications. Multiple bridges can be used to route AQ messages from one Oracle
database to another.

BIBTEX

@inproceedings{DBLP:conf/sigmod/Chan98,
author = {Arvola Chan},
editor = {Laura M. Haas and
Ashutosh Tiwary},
title = {Transactional Publish / Subscribe: The Proactive Multicast of
Database Changes},
booktitle = {SIGMOD 1998, Proceedings ACM SIGMOD International Conference
on Management of Data, June 2-4, 1998, Seattle, Washington, USA},
publisher = {ACM Press},
year = {1998},
isbn = {0-89791-955-5},
pages = {521},
crossref = {DBLP:conf/sigmod/98},
bibsource = {DBLP, http://dblp.uni-trier.de}
}


DBLP: Copyright ©1999 by Michael Ley (ley@uni-trier.de).