- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
OSGi and Equinox: Creating Highly Modular Java Systems Paperback – Feb 14 2010
|New from||Used from|
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
From the Back Cover
<>A Hands-On Guide to Equinox and the OSGi Framework
InOSGI and Equinox: Creating Highly Modular Java(tm) Systems, three leading experts show developers—for the first time—exactly how to make the most of these breakthrough technologies for building highly modular dynamic systems.
You'll quickly get started with Eclipse bundle tooling, create your first OSGi-based system, and move rapidly to sophisticated production development. Next, you'll master best practices and techniques for creating systems with exceptional modularity and maintainability. You'll learn all about OSGi's Declarative Services and how to use them to solve a wide variety of real-world problems. Finally, you'll see everything that you've learned implemented in a complete case study project that takes you from early prototype through application delivery.
For every Eclipse developer, regardless of previous experience, this book
- Combines a complete hands-on tutorial, online sample code at every step, and deep technical dives for working developers
- Covers the OSGi programming model, component development, OSGi services, Eclipse bundle tooling, server-side Equinox, and much more
- Offers knowledge, guidance, and best practices for overcoming the complexities of building modular systems
- Addresses practical issues ranging from integrating third-party code libraries to server-side programming
- Includes a comprehensive case study that goes beyond prototyping to deliver a fully refined
and refactored production system
About the Author
Jeff McAffer co-leads the Eclipse RCP and Equinox OSGi projects, and is CTO and co-founder of EclipseSource. He is one of the architects of the Eclipse Platform and a coauthor of The Eclipse Rich Client Platform (Addison-Wesley) and OSGi and Equinox (Addison-Wesley). He co-leads the RT PMC and is a member of the Eclipse Project PMC, the Tools Project PMC and the Eclipse Foundation Board of Directors and the Eclipse Architecture Council. Jeff is currently interested all aspects of Eclipse components, from developing and building bundles to deploying, installing and ultimately running them. Previous lives include being a Senior Technical Staff Member at IBM, a team lead at Object Technology International covering work in Smalltalk, distributed/parallel OO computing, expert systems, meta-level architectures and a Ph.D. at the University of Tokyo.
Paul VanderLei is a partner at Band XI International. He has more than 25 years of software engineering experience with an emphasis on object-oriented design and Agile practices. He is well-known for his innovative, yet straightforward, engineering solutions to complex problems. After earning his M.S. in Computer Science from Arizona State University, he joined Object Technology International and worked on a wide range of Smalltalk-based systems. After OTI’s acquisition by IBM, Paul gained more than 10 years of experience developing embedded Java applications and user interfaces for the automotive and medical industry as a founding member of the IBM Embedded Java Enablement Team. He has been using OSGi in commercial applications since 2000 and is a coauthor of OSGi and Equinox (Addison-Wesley), a book on the proper construction of Java applications using OSGi. He lives in Grand Rapids, Michigan, with his wife and four children.
Simon Archer has more than 16 years of software engineering experience with an emphasis on object-oriented design, Agile practices, and software quality. After earning his B.Sc. in Computer Science from the University of Portsmouth, UK, he worked as a Smalltalk developer at Knowledge System Corporation and later at Object Technology International, which was later acquired by IBM. While at OTI in 2000, Simon began working with and teaching OSGi in areas such as telematics and RFID. Today he works for IBM Rational using OSGi to build collaborative development tools for the Jazz Foundation project.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
The writing was clear and well edited; you could tell that it had been through many revisions to get it to its current polished state. The step-by-step instructions for the examples was at the right level for me, with enough detail to get things to work without being overly long. For instance, I find that I quickly get the concept of the example, but then I like to be given the details of what to name things and exactly what else to do, so that I can concentrate on the example and keep things moving along.
Another bonus that comes with the book is an Eclipse plug-in that can be installed from the web which includes the source code of all of the examples organized by chapter. It manifests itself as a special view in Eclipse that lists all of the example code. One can use this view to populate the workspace with the example code from any chapter, or, to compare the current workspace contents to the book's example. I found this last feature to be a great help as there were several times where things were not working and I was stuck for a solution. By simply comparing my manually entered version of the example code with the chapter's reference version, I quickly found the small differences that were causing problems and was quickly on my way. This ability is the next best thing to having the authors look over your shoulder and tell you what you did wrong.
I did run into a few issues with the book. There were several times where the steps provided to produce the example code were not complete. These were minor things like a missing dependency specification or in one case a default value produced by a wizard that needed to be explicitly set to something else. Mostly, these were no problem to correct.
Basically, I wasn't disappointed, this is a good book that delivers on what it promises.
The first part is an introduction. The brief history shows how OSGI came to be and the benefits. It had excellent visuals to see the concepts being presented.
The second part is an extended tutorial to create the TOAST application from scratch. The tutorial assumes you've never used Eclipse before so it was a bit slow to get started. I would have liked seeing how to create a project/class as an appendix. There were a ton of IDE screenshots so I certainly felt like I was doing the tutorial with the author. That style got a little dry/repetitive; maybe because I wasn't following along on a computer. Many concepts were covered and there were good tips and warnings to the reader. I was a bit puzzled why the tests are using easyMock with Java 5 and Junit 4. I'll be sure to ask the author when he is at JavaRanch the week of April 20th.
The third part is "deep dives" into specific concepts. This section was less tutorial-y and I liked it better. It includes patterns, the lifecycle and crosscutting concerns. There is also an "other"/kitchen sink chapter that contains numerous tips and tracks.
Overall, I did learn a lot from the book. If you are looking to learn OSGi/Equinox, I think it is good to read.
This is the book that introduced me to OSGi in a more practical approach where understanding sample code of the Toast application is as important as the reading itself. I enjoyed its reading, but it was a bit annoying when many pages referred to the development aspects of OSGi focusing on code while I was merely reading along with no Eclipse in front of me. It was the most frustrating in the part 2 of the book which assumed Eclipse IDE ready and live coding as reading. I read with no coding, but it doesn't take long to find out it was not the authors' intentions.
The chapter "About This Book" eloquently describes what the book covers. Just read the chapter and jump to appropriate chapters or sections of choice. There's the natural, writing order of explaining the OSGi inner workings, but a more seasoned OSGi developer can use the book as a reference for the different parts of OSGi ecosystem without losing much while skipping different sections. I found the book heavily focused on the development side of OSGi with Eclipse PDE.
What it does not do is that in the book the term "OSGi" means, Eclipse Equinox and Eclipse PDE so a reader is quite often exposed to Eclipse-specific extensions that help as well as go far from what the OSGi specifications propose. That's the main differentiator between this and the other books about OSGi - "OSGi and Equinox: Creating Highly Modular Java Systems" is heavily focused on the Eclipse ecosystem. The goal of the book is mostly achieved and people who enjoy reading books as a guide throughout the stages of application development will find it deeply engaging. Developing and delivering a OSGi-based Toast application is explained in enough details to explain the Eclipse and OSGi concepts.
Many aside notes make reading more pleasant so in addition to technical information a reader gets acquainted with the reasoning underlying OSGi. There are also many figures and screenshots that further help understanding the covered material. They're clear and to the point.
The book's split on four parts.
The 1st part introduces to OSGi and Equinox in a more academic approach where you learn about the history of OSGi, its concepts, and what issues people meant to tackle as they designed it. The book goes as far as calling a single section "The Java Lie", which is short yet sets the tone for the rest of the book in which you will find a lot of useful tips how to strengthen modularity of your applications, but present them as "Missing Impossible" without OSGi. It takes mere 25 pages so it's clear the authors didn't mean to explain OSGi in theory, but in practice.
That's when the real fun begins - Part 2 enters the scene. It presents "a tutorial-style guide to building Toast" (page xxvi). The Toast application is a real GUI system leveraging OSGi and many features of Eclipse tooling, with Eclipse Equinox as the OSGi platform of choice and Eclipse IDE as an integrated development environment with Eclipse PDE being its main player. The 220 pages will make anyone content. Every stage of OSGi application development is laid out and explained "in an informal tutorial style" (page 29). The goal of the chapter (and of the entire book) is to "develop a fully functional OSGi-based application, Toast" and the authors took every step to achieve the goal. They finally donated the application to Eclipse to facilitate further development in a collaborative matter. Quickly and without much ado a reader is asked to fire up Eclipse and install the Samples Manager which is a way to manage all chapters of the book with their sample code. Importing a ready to use sample for a chapter, comparing your own code with the expected one is a matter of using "Compare with Workspace" feature of the Samples Manager. The authors did much to ensure a smooth entry point to every chapter.
That's where the chapter falls short at delivering its value to readers who merely read it without digesting its content during live coding. People who are only interested in learning OSGi by reading may find it quite troublesome. It's certainly not easy to read with no coding in this part of the book.
The 3rd part is where you learn about the advanced topics of OSGi with OSGi Declarative Services, the Extension Registry of Eclipse Equinox, OSGi Log Service, OSGi HTTP Service with a simple HTTP service of Equinox and the more sophisticated Eclipse Jetty, OSGi Remote Services (RFC 119). Explanation assumes that the code is heavily developed or at least consulted.
The last, 4th part, called "Reference" goes into the details of the Extender Pattern, StartLevel Service, turning JARs into useable OSGi bundles with Eclipse PDE (with a mere half a page about bnd with no sample!), Eclipse Console and the way it can be extended, and few other topics.
Reading the book will let you learn the basics of OSGi, but it also devotes the chapters to the Service Tracker, Service Activator Toolkit (SAT) and OSGi Dynamic Services (the chapter 6) examining the advantages and disadvantages of every approach. In part 3, you learn about OSGi Declarative Services and PDE tooling to support it.
There's a lot about how to use Eclipse PDE to fully leverage its power for developing OSGi-based applications. No other IDEs are ever mentioned.
The book introduced me to the vast array of possible solutions when OSGi is utilized I had not heard before or had not understood their goals - Eclipse Communication Framework (ECF), Eclipse p2, the provisioning system of Eclipse Equinox and the other tools from the Eclipse community. I'm really glad I read the book and would recommend it to anyone who wishes to learn OSGi as much as Eclipse offering supporting it.
Look for similar items by category
- Books > Computers & Technology > Programming > Java
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Textbooks > Computer Science & Information Systems > Programming Languages
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering