OOPSLA'96Business Object Workshop III

Radically distributed supply chain systems

Robert Haugen, linkage@interaccess.com, Version 1.2.1, 25 June 1997


The traditional business applications (Customer Orders, Purchase Orders, Accounts Receivable, Accounts Payable, etc.) are cultural artifacts -- not really necessary to doing business, but only to a particular historical form and stage of business.

In a world of distributed business objects engaging in electronic commerce, a very different form of business system is possible: one composed of self-similar software components, dynamically linked in flexible configurations, managing multi-company supply chains.

The Resource-Event-Agent (REA) template is a good basic building block for such a system [1]. By merging REA with some ideas from Manufacturing Resource Planning (MRP) , Work Flow Management (WFM) and Constraint-Based Scheduling (CBS) systems, it is possible to design a unified template that can be multiplied and composed to manage any business process.

Because this paper must be short, it will necessarily be over-simplified. But there are voluminous details in the references.

The Business Problem

The traditional business applications developed in a world of autonomous companies operating at arm's length and moving verry verrry slooowwwly (as documented in reference [9]).

These applications were designed to impede the flow of goods and services in order to maintain the control of the management of each individual company over their part of the flow.

They do not have any representation of material, work or cash flows, and cannot manage processes in motion. They only capture disconnected snapshots of events: for example, inventory disappears in one place and re-appears in another with no notion of where it came from or is going to.

Such systems cannot manage multi-company supply chains.

The Emerging Solution

MRP systems, with their pattern of dependent demand, were an early attempt to deal with material flows, but they were crippled by the computing technology of their time of origin (1970s).

Simulation systems also deal with process flows, but require expensive and time-consuming model-building so they have been under-utilized.

Electronic Data Interchange (EDI) is another attempt to link supply chains, but EDI is crippled by the absence of object identity and the baggage of old bureaucratic systems.

Business Process Re-engineering (BPR) also deals with unifying process flows across disconnected departmental ("silo") systems, but BPR approaches to technology vary widely.

Some proprietary business systems are emerging which demonstrate a new approach: for example, Federal Express and UPS package tracking systems.

I think that a new defacto standard will converge from the co-evolution of all these attempts to break out of the old systems (including the Related Work cited below).

The REA template is a well-defined potential core for a new standard. REA was first published by William McCarthy in 1982 and further refined by McCarthy, Guido Geerts, and others.

REA distills accounting systems down to a repeating pattern of economic exchanges or Give-Take events. Resources represent the goods and services being exchanged, Events represent the exchanges, and Agents represent the parties to the exchange.

REA patterns have been used in several real-world business applications including an IBM payroll system. They are one of the featured techniques in the OOPSLA 97 Business Object Workshop.

REA differs from traditional double-entry based systems in several ways, including:

Extending REA to manage supply chains

Supply Chain Management is todays battleground for competitive advantage. According to the Automotive Industry Action Group, more than half of a products cost is in the supply chain. And as Stalk and Hout discovered, less than 5% of the time is devoted to adding value to products [9].

"Silo" systems cannot manage supply chains adequately. Nor can point-to-point interfaces between silos (the EDI approach).

Distributed objects shadowing the actual flows of events are made-to-order for managing supply chains, which are inherently distributed systems.

REA templates by themselves are insufficient, but if extended to handle planning, scheduling and operational issues, they can form the links in the chains. Extensions include:

REA templates are composites which can be nested and aggregated ("fractal" in David Taylors terms), so they can be employed top-down (from the overall management level) or bottom-up, by opportunistically linking nodes in the supply chain peer-to-peer. Here is a simplistic example:


REA Links simplify distributed business object semantics

Each REA Link potentially encapsulates a distributed processing link. Each REA Process is a "dual" or two-sided exchange where each agent can live on a different processor. An REA Link must be able to manage either local or remote interactions.

One of the knotty issues of distributed business objects is the semantics of interaction, especially when considering sets of arbitrary and unknown objects.

REA Links can simplify this issue, because there are only a few repetitively-used classes, and their semantics of interaction can be largely predetermined. Needless to say, subclasses will emerge for different industries, but in this case the semantics can be predetermined by industry.

Related work

Oliver Sims Newi system of cooperative business objects was one of the inspirations for the distributed object nature of REA Links [2].

David Taylor has developed a business model very similar to the one sketched out here [3].

Examples of simulation and scheduling systems suitable for employment with REA Links are listed in the references [5,6]

Something like the Cal Tech Infospheres project would be a suitable technical infrastructure for REA Link systems [7].

The Distributed Object Mailing List discusses all of these issues in depth [8].


  1. REA:
  2. Sims, Oliver (1994) Business Objects: Delivering Cooperative Objects for Client-Server. McGraw-Hill Book Company Europe ISBN 0-07-707957-4.
  3. David Taylor's Enterprise Engines web site, http://www.engines.com
  4. Haugen, Robert (1997) "Dependent Demand: A Business Resource Management Pattern", to be presented at PLOP97. http://homepage.interaccess.com/~linkage/ddpattrn.htm.
  5. Simulation: because they are basically equivalent to Petri Nets, REA Links should be able to support simulation with little additional model-building required. Start with:
  6. Constraint-Based Scheduling: actually, there are at least two techniques that have proven their ability to synchronize supply chain activities; both use the term "constraints" but mean something completely different by it. Regardless, both techniques are compatible with REA Links.
  7. Cal Tech Infospheres Project: several documents available at http://www.infospheres.caltech.edu/
  8. The Distributed Objects Mailing List (where this paper was beta-tested) is archived at http://www.infospheres.caltech.edu/mailing_lists/dist-obj/distobjgroup.html
  9. Stalk, George Jr. and Thomas M. Hout (1990) Competing Against Time: How Time-Based Competition is Reshaping Global Markets, The Free Press ISBN 0-02915291-7. My "95% waste" shorthand is milder than the authors' exact words: "Most products and many services are actually receiving value for only .05 to 5 percent of the time they are in the value delivery systems of their companies"

OOPSLA'96Business Object Workshop III