Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesData Delivery When You Want It


June 1997 / Core Technologies / Data Delivery When You Want It

When information links change constantly, Publish and Subscribe promises robust data delivery.

Dr. Richard Hackathorn

Despite the evolution of information technology, we are still searching for better mechanisms to deliver data from producers to consumers. An important emerging technology offers hope. It's a special type of data-delivery mechanism, called Publish and Subscribe (P&S), that is appearing in various IT architectures today.

The concept of P&S goes back hundreds of years to early newspapers and magazines. Someone generates content of a volatile nature; someone else is interested in that content on a continuing basis. P&S implies a n ongoing relationship that links data producers with data consumers, more than just a fleeting transaction.

Now apply this concept to databases. The content of databases is ever-changing. Some application programs generate new or changed content, and other applications report that content on a continuing basis. The traditional way of linking data producers with data consumers was to design the system architecture so that those links are hard-wired into module linkages and procedural calls. The relationships are static because they are predefined, supporting the high performance necessary for certain on-line transactions, such as airline reservations.

As we move into increasingly dynamic and complex data environments, we no longer have the luxury of predefining and hard-wiring those links. Data producers and consumers might frequently appear and vanish. A mechanism is required within distributed systems to decouple this hard -wiring. That is the role that P&S attempts to fill.

P&S is a coordination mechanism that matches and links producers with consumers in a dynamic fashion. P&S requires a third party, called a broker , to match producers who want to publish specific data with consumers who want to subscribe to that data. Although the producer could act as the broker, this approach would not scale for larger, distributed systems. The broker establishes a relationship, called a subscription , between one producer and one consumer for specific data. The subscription is maintained by the broker as long as both the producer continues to publish and the consumer continues to subscribe. This duration could be a few seconds or a few years.

The purpose of the subscription is to relieve the burden on both the producer and the consumer for maintaining the currency of the data. As data changes, the producer should inform the broker of these changes; the producer should not have to maintain a subscriber list and send changes to each subscriber. Likewise, the consumer should be informed by the broker of any changes; the consumer should not have to poll each producer periodically to detect changes.

The term data , as used here, should be generalized to any type of business object, whether data-centric or procedure-centric. There should be little difference between subscribing to the latest data on weekly sales performance or the latest software module for financial applications. In addition, there should be little difference between subscribing to data or programs that are totally static or to those that change minute by minute. And there should be little difference between subscribing to business objects that workers might use and to objects that are invoked internally by an application program.

Basic Interactions

The interactions of a typical P&S mechanism are shown in the figure "The Publish and Subscribe Architecture" . In this ca se, a producer first publishes an object with the broker. Consumers can then inquire about objects that have been published. If a required object is available, the consumer can then subscribe to that object, and the broker delivers that object to the consumer. When an object changes, the producer refreshes that object with the broker, who in turn delivers the refreshed version to the consumer. (The reverse actions for unpublishing by the producer and unsubscribing by the consumer are implied but not shown.)

By decoupling the producer/consumer relationship, the security of both parties can be enhanced, allowing either party to participate in an anonymous fashion. Producers could also share or transfer subscriptions to balance loads or to specialize in certain areas. Further, the P&S mechanism could form multilevel value-added chains, where a consumer adds value to the data and republishes the results for another group of consumers.

In actual implementation, the exchan ged object is probably a reference (pointer), so the actual delivery of data or code happens directly between the producer and the consumer, as shown in the figure's interact link . In addition, an interact link to a centralized database would be required for highly volatile or very massive data, as well as for applications requiring efficient high-volume transactional semantics.

A critical component of P&S is the economic exchange between consumer and producer. In many cases, the economic exchange is implicit. As we extend the enterprise beyond its boundaries to suppliers and customers, the ability to exchange funds as a condition of the subscription must be part of P&S. Electronic microcommerce, using technology such as Digital Equipment's Millicent or CyberCash's CyberCoin, attempts to handle monetary exchanges as small as one-tenth of a cent.

P&S Products

The P&S mechanism is emerging in many diverse product categories, including:

Di stributed Objects: The concept of a broker achieved industry visibility with the Object Management Group's specification for the Common Object Request Broker Architecture (CORBA), which extended the classic remote procedure call (RPC). Numerous vendors are commercializing CORBA. (For more information, see "Distributing Components," April BYTE, and "CORBA for the Masses," March BYTE.) Several products extend the event notification within CORBA to support P&S, such as Orbix, from Iona Technologies, DataBroker, from I-Kinetics, Entera, from Borland Open Environment, and Ambrosia, from Open Horizon.

Messaging Transports: Messaging transports (also called message-oriented middleware, or MOM) are extending their inherent store-and-forward mechanism into P&S. NEONet, from The New Era of Networks, has a message broker controlled by a rule-driven engine that transforms the message flow. Consumers create subscriptions based on message content, not on names or categori es predefined by the publisher. NEONet then filters and routes messages to the proper subscribers.

Tibco (formerly Teknekron, now part of Reuters) has established a client base in the trading systems of Wall Street with The Information Bus (TIB) middleware. Using a subject-based naming scheme, TIB broadcasts packets so that only selected destinations receive them. Tibco's new Tibnet product extends this coverage to the Web. (You can find more information on middleware in "Will Netscape Set the Standard?," March BYTE, and "The Ultimate Middleware," April BYTE.)

Work-flow and Groupware: Newsstand, a set of tools from Lotus Development, extends Lotus Notes to the Web by publishing Notes templates and then managing the security and approval of subscriptions (see our review, "Notes Opens Up to the Web," October 1996 BYTE). Several publications, such as BNS's Banking Report, use Newsstand for electronic distribution.

Web Publishing: Web publishing ha s become an exploding marketplace. This is especially true with "push" broadcast products from PointCast, Marimba, BackWeb, I-Fusion, and others. Even Microsoft has recognized its importance with its effort to standardize Internet channels. (For more information on this technology, see "Push Me, Pull You," September 1996 BYTE.)

Data Marts: P&S has big potential for use in delivering data from data warehouses. Tapestry, D2K's tool suite for building and managing data marts, has a subscriber interface with which users can examine the metacatalog and then place subscriptions via the Web. Information can be delivered in a variety of formats, such as Excel, Word, or Lotus 1-2-3. Aclue, from Decision-ism, focuses on the Arbor Essbase community, using P&S to distribute dimensional data cubes consistently throughout an enterprise.

Future Flexibility

As the distribution categories show, the landscape of data delivery is radically changing, giving us divers e alternatives for tapping into databases. Yet having the right data at the right time continues to be an elusive goal. Using P&S, we can create large-scale electronic markets that organize the dynamic relationships between data producers and data consumers -- for the extended enterprise and beyond.

The complexity of our business environments today does not afford us the luxury of predesigning and hard-wiring our distributed systems. By reconfiguring rapidly in response to changing business conditions, P&S can become the basic fabric of our enterprise systems of the future, putting a different twist on business process reengineering.


Where to Find


Borland Open Environment

Boston, MA 
Phone:    617-562-0900
E-mail:   
info@openenv.com

Internet: 
http://www.openenv.com/


D2K

San Jose, CA 
Phone:    408-451-2010
Internet: 
http://www.d2k.com/


Decision-ism

Boulder, CO 
Phone:    303-938-8805
E-mail:   
info@decisionism.com

Internet: 
http://www.decisionism.com/


I-Kinetics

Burlington, MA 
Phone:    617-270-1300
E-mail:   
info@i-kinetics.com

Internet: 
http://www.i-kinetics.com/


Iona Technologies

Cambridge, MA 
Phone:    617-949-9000
E-mail:   
info@iona.com

Internet: 
http://www.iona.com/


Lotus Development

Cambridge, MA 
Phone:    617-577-8500
E-mail:   
NewsstandSupport@crd.lotus.com

Internet: 
http://www.lotus.com/


New Era of Networks

Englewood, CO 
Phone:    303-694-3933
Internet: 
http://www.neonsoft.com/


Open Horizon

South San Francisco, CA 
Phone:    415-869-2200
E-mail:   
info@openhorizon.com

Internet: 
http://www.openhorizon.com/


Tibco

Palo Alto, CA 
Phone:    415-846-5000
E-mail:   
info@tibco.com

Internet: 
http://www.tibco.com/


HotBYTEs
 - inf
ormation on products covered or advertised in BYTE


The Publish and Subscribe Architecture

illustration_link (33 Kbytes)

A broker ensures that the producer's data reaches the consumer.


Dr. Richard Hackathorn is president of Bolder Technology, Inc. (Boulder, CO), a company specializing in enterprise connectivity and data warehousing. You can reach him by sending e-mail to richardh@bolder.com or at his company's site, http://www.bolder.com/ .

Up to the Core Technologies section contentsGo to next article: Inferno: One Hot OSSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network