Issue No.02 - February (2006 vol.7)
Published by the IEEE Computer Society
Billy Rose , Wal-Mart Stores
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MDSO.2006.7
A review of Distributed Infrastructure Support for Electronic Commerce Applications by Hans-Arno Jacobsen.
Distributed Infrastructure Support for Electronic Commerce Applications
By Hans-Arno Jacobsen
Kluwer Academic Publishers, 2004
Middleware has inherent problems that challenge every software developer and influence the architecture that system engineers deploy. The most prominent of these problems surfaces as a trade-off between transparency and control of underlying resources. Distributed Infrastructure Support for Electronic Commerce Applications by Hans-Arno Jacobsen takes aim at the opportunities involved in this trade-off. Jacobsen breaks down various middleware platforms—Java RMI (Remote Method Invocation), CORBA, DCOM (Distributed Component Object Model), and so on—and compares them to an ideal standard. However, he focuses primarily on CORBA.
Audience and scope
Distributed Infrastructure for Electronic Commerce Applications isn't for beginners. Jacobsen refers to technical ideas and terms throughout the book, most often assuming that readers have a well-developed background in distributed applications. The book is organized well, and Jacobsen has eliminated useless verbiage. The education level required to successfully interpret the book is between advanced undergraduate and graduate level.
Jacobsen uses formal technical notations to explain how to exploit quality of service, hardware features, location, and component concurrency. He makes his ideas concrete by through annotations to CORBA IDL (Interface Definition Language). His design pattern ideas can also be implemented in other distributed infrastructures, provided it's possible specify an interface for the exposed services.
Jacobsen logically ordered the book in three parts: background, concepts, and case studies. In part one, he explains the problems facing middleware and the specific motivations behind the research toward viable solutions. He moves on to introduce the various middleware architectures and compare the features that each provides (or lacks).
In part two, Jacobsen provides the background and concepts that are the key to understanding the solutions he presents. He begins by clearly describing the trade-off that occurs in current middleware when transparency is the primary focus—that is, the ignorance inherent in software that runs without knowing the available resources. He then shows design ideas that can maintain portability yet offer solutions to the trade-off problem. This section concludes with a discussion about leveraging newer hardware features, particularly those of SMP (symmetric multiprocessing).
In part three, Jacobsen illustrates his ideas in three case studies of distributed applications. These case studies cover three e-commerce areas: application service providers, electrical energy management in buildings, and mobile computing. Distributed computing in these areas has provided companies and other entities the means to leverage encapsulated application logic (the objects that make up the distributed application) on an as-needed basis, also known as on-demand computing. By nature, the encapsulated logic requires a level of transparency in the hosts that provide lower-level resources (such as disk storage, CPU time, and network connectivity). The ability to leverage a host's underlying resources for optimal distributed usage is at the apex of the book's applied purpose.
As its title implies, Distributed Infrastructure Support for Electronic Commerce Applications concludes with several examples of real-world applications. These case studies help you understand that the concepts Hans-Arno Jacobsen puts forth aren't just laboratory exercises for proving theorems—they offer true solutions for issues faced in the e-commerce field. The book is good for anyone involved in the standards process, anyone wanting to tackle the challenge of creating a robust distributed application, or anyone facing the daunting field of distributed infrastructure design.