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/