This book starts with introducing a few Java concepts that are important for handling or programming framework or component systems, namely generics, reflection, annotations, proxies and class loaders. The second part attempts some definitions of software component systems, albeit admittedly subjective ones. This part also gives a very simple sample implementation of a component framework. The third part introduces real-life component systems from the Java world: Java Beans, OSGi, Eclipse, Applets, Servlets, Enterprise Java Beans, Spring, RRiBBit and Android. These introductions have merely a rough overview character, but serve well for a rough orientation. The book is rather demanding in scope and style. The examples are always using implementations of a simple counter class, which is a big contrast to the other demands of the book. To use the same simple example throughout all component systems can serve well for reasons of comparisons, but on the other hand makes the reading a bit boring and probably misses the specifics of this or that component system once in a while. What the book also lacks is a discussion of what advantages component systems provide as compared to "non-component-style" frameworks. Overall I think it's a good starting point for intermediate Java developers looking for some overview over component frameworks. It inspires the reader to try things out and make informed decisions about frameworks.