OSGi in Action, Creating Modular Applications in Java
Buy it now
One Minute Bottom Line
|This is a good book on OSGi from either a beginners perspective or a more experienced OSGi practitioner. It has good coverage of useful tools and frameworks to facilitate applying OSGi in modern Java application development.|
OSGi in Action is a an excellent treatment of a complex subject. The authors do a very good job of explaining what OSGi is, what it does, and how it can be useful. They also go into considerable depth as to just why it fits so well into the modern Java environment and how it can help in tackling some of the more pervasive problems we encounter in modern Java EE applications.
OSGi in Action begins by explaining what OSGi is and why Java needs modularity in practice. I found the explanations to be very clear and straightforward in answering questions I have encountered such as what is a component and what is a service. OSGi and the modularity it brings to Java go a long way towards compnent based software engineering, a concept that is long overdue in being practical in modern Java applications. I appreciated the very thorough and careful nature of the writing in the book in that it goes into good details without being overly verbose. The authors have an excellent grasp of the subject matter and present it very well. I also found the details associated with actual implementations to be very useful in elaborating on the architectural rationale for constructing modules in a specific manner.
The book includes references and examples using some of the more common tools available in a development environment. The discussions and examples around the use of Maven, ANT and Ivy are helpful in showing how to obtain the necessary integrations with the tools. This facilitates the proper utilization of the project layout in the IDE with the tools most likely used in assembling the OSGi bundles.
The book also includes good usage of the Spring Framework and others where it is likely to be welcome in terms of reduction of complexity and in bringing the familiar Spring practices to bear on solving specific problems. The explanations and details surrpounding a modern applications usage of modules and componentization as well as service orientation receive very good treatment. The authors obviously speak from considerable experience in this area and go to some length to explain their definitions and concepts and how OSGi fits into any architectural discussions. Service oriented architecture, is an important part of modern Java Enterprise development and it is very useful indeed to see how OSGi can be applied to effectively implement this in a way that promotes good modularity and practical implementations.
I found this book to be an excellent reference and a very good practical guide on how to obtain the most benefit from OSGi. In short it is true to the title, oriented closely with Action and Practice and also serves quite well as a reference. This book is well written and the authors deserve a lot of credit in being clear, comprehensive and thoroughly detailed. This book is highly recommended for those looking to begin working with OSGi and those more experienced that wish to further their knowledge and skills in a very important aspect of Java Enterprise development.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)