Everything you Need to Know About the InfoBus

Comprehensive coverage of the JavaBeans connectivity API, with extensive examples and a deep exploration.


The JavaBeans technology has evolved since its original introduction with Java 1.1. Sun’s answer to component development has been extended with Enterprise JavaBeans and an inter-component communication system called the InfoBus. The basic idea behind the InfoBus is simple, providing a vehicle for data producers and consumers to join a common channel in order to exchange information in a flexible, uncoupled manner. The InfoBus, as the name implies, operates as a data bus, with optional data controllers attached to dispatch information to various consumer subsets. Multiple busses can also existing in any application.

There are 9 chapters in this book, covering everything you need to know to implement effective InfoBus solutions. Chapter 1, "JavaBeans and Applets", introduces a few basics and talks about the JavaBeans architecture. Chapter 2, "Say Hello to InfoBus", dives into the JavaBus concepts and even covers the limitations. I was impressed by the depth of this chapter and the attention to real-world implementation issues but found the organization of information lacking, with forays into areas that should have been left until later and a habit of changing topic regions without proper headings to keep the ideas discrete.

Chapter 3, "Inside the InfoBus", and Chapter 4, "Advanced InfoBus Concepts", present the mechanics of InfoBus members, events, producers, consumers and controllers. This information is valuable to anyone hoping to implement InfoBus solutions and the attention to detail is very good. The language is sometimes a little confusing, but not enough to cause concerned. Chapter 5 looks at "InfoBus Design Models", a nice overview that probably should have been positioned earlier in the book. The examples are good throughout the book and especially practical in this chapter. Chapter 6 takes a closer look at "Creating a Data Controller".

The last three chapters delve deeper into interoperability, with architectures like JDBC, RMI and CORBA. The JavaBus is well designed to handle even large amounts of information and alternate protocol issues. Chapter 7, "InfoBus and JDBC", looks at database-related issues and implements an example application to demonstrate the principles more effectively. Chapter 8 looks at "InfoBus and RMI", an effective option if both sides of your communication channels are implemented in Java. Chapter 9 covers the "InfoBus and CORBA" architecture, developing InfoBridge, Consumer, Producer and ArrayAccess proxies in the process.

When I started reading this book, I admit, I didn’t really know what the InfoBus was designed to address. I recognized the name and decided it was worth investigating, but I came at it relatively uninformed. Unfortunately, the book was less that effective in setting the stage for learning. I found it difficult to get the big picture and only started forming it after reading several chapters. Critical high-level points were never made and I felt cheated in having to do so much legwork to get the basics. Of course, if you’ve read the specification, this may be a moot point. If you plan to work with InfoBus, you’ll want to get this book.