资料内容:
IN THE BEGINNING, THERE WAS DISTRIBUTED COMPUTING
Let’s look at how businesses and organizations use computers and how it has become
necessary to utilize more than one computer to accomplish a given task. Within a corporation or government, specialized software applications are introduced through
homegrown efforts, the introduction of third-party packaged software, or both. These
applications rapidly become interdependent, needing one another to complete basic
business processes, such as taking and fulfilling a customer order. Indeed, the optimization of business processes soon demand interaction not only between a company’s
systems, but between the systems of other companies and government agencies as
well. While integration between these systems has long been desired, the costs and
complications involved in integration have resulted in most organizations containing
hundreds of “silos” of information. Each silo is a separate, insular collection of data.
Often these silos can only be connected through enormous cost and effort. Approximately half of all IT spending in the world is related to building and then maintaining
interfaces between disparate silos of information within and between companies. The
inefficiencies are staggering.
1.1.1 What is distributed computing?
Distributed computing is a term that describes a hardware and software architecture
where more than one computer participates in the completion of a given task. For
example, let’s say that an auto parts company uses a UNIX-based system to process
incoming orders. The company’s older mainframe computer holds the complete parts
catalog. To process an incoming order, the UNIX computer needs to look up a part
number. Figure 1.1 shows how the two computers need to function together to complete the order-entry task. One machine needs the part information and the other has
that very information. The information needed to process the order is “distributed”
across the two machines. To complete the order, the mainframe computer must help
the UNIX computer by sharing information from its parts catalog.
At this point in our discussion, Jay asks, “What about my insurance company?”
“Let’s use some smaller, simpler examples,” I reply. “We’ll circle back to Titan
once we’ve achieved a grounding in the basics of web services and SOA.”
Now, you might wonder why the auto parts company doesn’t just load the entire
parts catalog application onto the UNIX computer and eliminate the need for this distributed architecture. That is certainly possible, and in many cases it is actually done
under the category of “consolidation.” However, the migration of data is time consuming, error-prone, and expensive. Further, the business logic in legacy systems is
Byzantine and elaborate, often having grown over decades and hundreds of human