Radically distributed supply chain systems
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 . 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 ).
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,
REA processes preserve the unity of the economic events, while supporting
all of the views required by traditional accounting systems. Double-entry
systems fragment the events.
In an REA system, there is only one repeating pattern: the REA template.
This radically simplifies the system. It will especially simplify the semantics
of distributed cooperative business object interactions.
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 .
"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:
The dependent demand pattern from MRP to balance supply and demand and
generate the structure of the chains (usually shaped like river networks)
Constraint-based scheduling to synchronize the events in the flows .
Embedded work flow management to present a dynamic To-Do List as the main
operational user-interaction pattern. (Graphical visualizations and spreadsheets
are better analytical interfaces.)
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
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.
Oliver Sims Newi system of cooperative business objects was one of the
inspirations for the distributed object nature of REA Links .
David Taylor has developed a business model very similar to the one
sketched out here .
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 .
The Distributed Object Mailing List discusses all of these issues in
Sims, Oliver (1994) Business Objects: Delivering Cooperative Objects
for Client-Server. McGraw-Hill Book Company Europe ISBN 0-07-707957-4.
David Taylor's Enterprise Engines web site, http://www.engines.com
Haugen, Robert (1997) "Dependent Demand: A Business Resource Management
Pattern", to be presented at PLOP97. http://homepage.interaccess.com/~linkage/ddpattrn.htm.
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:
Taylor, David (1997) The Universal Exchange Pattern. Object Magazine,
March, 1997, 25-28.
Taylor, David (1995) Business Engineering with Object Technology.
Wiley & Sons, ISBN 0-471-04521-7
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.
Forrester, Jay W.  Industrial Dynamics. Productivity Press
Senge, Peter M.  The Fifth Discipline: The Art and Practice of
the Learning Organization. Doubleday.
Cal Tech Infospheres Project: several documents available at http://www.infospheres.caltech.edu/
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
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"
One is the Theory of Constraints (TOC) which was documented as a scheduling
system in Eliyahu Goldratt (1990) The Haystack Syndrome, North River
Press. Surf tohttp://www.goldratt.com.
The leading software product based on TOC is i2s Rhythm (http://www.i2.com).
The other is Constraint Logic Programming (CLP). The leading software products
based on CLP are Red Peppers suite of Response Agents (http://www.pepper.com)
and Ilogs Scheduler (a framework) (http://www.ilog.com).