Fundamentals of Distributed Object Systems: The CORBA Perspective
Wiley-Interscience | ISBN 0471351989 | 2001 Year | PDF | 2.44 MB | 424 Pages
Distributed Object Computing teaches readers the fundamentals of CORBA, the leading architecture for design of software used in parallel and distributed computing applications. Since CORBA is based on open standards, it is the only effective way to learn object-oriented programming for distributed systems. This language independent book allows material to be taught using Java, C++ or other Object Oriented Programming Languages.
This book is clearly a reference, and research material rather than a hands-on programming guide. While there are many code fragments to support the authors’ explanation of concepts, and the largest single chapter is on CORBA programming there is no single project built throughout the book as is often the case in programming guides. I much prefer this approach of being a reference rather than building a project. For example, code or diagrams illustrate things such as SII, DII, DSI, IFR, Exceptions and Any, which gives a competent programmer enough to experiment with the various bits of CORBA. For implementation using BOA, some good diagrams show implementation option using the TIE approach, handy for Java, which has single inheritance. It would be useful though to have some code fragments of a POA implementation in this section.
The book has three parts. The first part covers the basic foundation concepts of distributed computing showing how different distributed technologies (eg RMI, DCOM, RPC) need to find solutions to the same issues.
Parts 2 and 3 give an in-depth look at distributed systems and CORBA with much to study. The role of object adaptors is explained and the POA architecture is compared to the better-known BOA. This is well diagrammed, again some POA code would help. This is where the book becomes more than a programming book and a serious study of CORBA features, such as Naming Service, Trading Service, Event Service and Query Service. Additionally there is a detailed discussion of performance and consistency issues with a CORBA Caching implementation. This for me was the most interesting part of the book. Object caching in a distributed environment gives you much to think about, and clearly much thought has been put into the issues, such as scalability, cache consistency, object eviction etc. Other issues such as distributed transaction services including 2PC and 3PC are well covered.
Detailed discussion of CORBA services and distributed systems is not trivial reading, but rather for serious study. I notice that Douglas Schmidt has written the foreword. His name is well known to anyone that reads CORBA research material, which gives confidence to the quality of material.
In Summary, this is not a simple programming book. There is no downloadable code or CD and apart from some early OrbixWeb examples is not specific to any ORB implementation. It is a serious look at issues of distributed object systems with a heavy emphasis on CORBA and would be recommended for anyone interested in further study of distributed object systems. There are exercises at the end of each chapter, but there are no answers found in the book, it would be helpful to have them available in a later version of the book or on a web site.