Helios SR1 based Toast available @eclipse.org

As you may know, Toast, the example application from the OSGi and Equinox book, is extended and enhanced in the Examples project at Eclipse. To celebrate the release of Eclipse Helios SR1 today, we have updated Toast@Eclipse to use all the latest and greatest bits from Helios. This includes the p2 API as well as updated target platforms, the latest RAP and remote OSGi services via ECF.

Readers of the book will be familiar with Toast and will find that the example at Eclipse roughly corresponds to the Chapter 14 sample with bits of later chapters sprinkled around.  In addition you will see integration with EMF, EclipseLink and Teneo for modelling and managing the vehicles on the backend and of course, a cool RAP UI on the server.

Check it out by going to the Eclipse Toast home page and following the Getting Started guide.

Second printing on the way!

I’m pleased to announce that demand for the OSGi and Equinox book has been quite high. Certainly not NY Times bestseller material but in the 6 months since it has been out we have shipped almost 3500 copies. For context, we are told that selling a total of 10,000 copies for tech a book is a very reasonable number so this is a great start.  In any event, the publisher is running a second printing next week as they are almost out of copies. Paul, Simon and I are just finishing up a few editorial changes and corrections to incorporate reader feedback (thanks!) and then its off to the presses.  Again.

Chapter 20 errata

Page 348 — The steps in section 20.3.1 suggest that you should use the Target Platform Export wizard to get the base set of bundles against which you can build your system. It turns out that that wizard is only available in Eclipse 3.6 (Helios) and later. To date we have been unable to back port that function to Eclipse 3.5.2 (Galileo).  To work around this, you can either

  • Start a plain Eclipse 3.6 on your OSGi and Equinox samples workspace, export the target as described and then switch back to using Eclipse 3.5.2 with the Samples Manager installed
  • Install the Samples Manager into Eclipse 3.6 and work from there.

Note that if you choose the latter approach there may be some minor issues as the book samples and workflows have been tested most rigorously with Eclipse 3.5.2.

OSGi Best Practices talk slides

Discover what a dead Easter Bunny, Crocodiles, Austin Powers and OSGi have in common. Tuesday we had a great time presenting a talk on OSGi Best and Worst Practices here at EclipseCon. Our goal with this talk was to entertain and inform the audience around the merits and pitfalls of OSGi adoption and programming. For the most part you had to be there for the serious content and the good jokes. The slides are reasonably humorous and educational on their own.

Working with OSGi slides posted

As I type this we are presenting the Working with OSGi tutorial at EclipseCon to a packed room.

There was a little trouble with the setup but otherwise the tutorial is going along quite well. Several people asked where/when the slides would be available. I am taking the opportunity while Paul is talking to make a zip and put it on the book site here.

Note that you can get the Samples Manager from the book download page.

Chapter 24 errata

Below are the issues in Chapter 24 of the 1st printing of the book.

Page 444 — In section 24.2, “The Component Lifecycle”, the second sentence mentions the Bundle-Activation manifest header, which is incorrect. The correct header name is Bundle-ActivationPolicy.

Using OSGi & Equinox Effectively: An interview

The other day I had a great time doing an interview with James Sugrue at DZone about OSGi, Equinox, best practices and our new OSGi and Equinox book.

Working through the questions was pretty interesting.  I had not thought about having been involved in Eclipse for 11 years now!  Time flies I guess. It also gave me a chance to reflect on some of the key topics covered in the OSGi and Equinox book — loose coupling, high cohesion, attention to API, POJO programming, … I think these topics are pretty relevant to many developers. It was also gratifying to see that the book has been in the top 5 of Amazon’s hourly Hot New Java Books report for the past few days at least.

Chapter 11 Errata

Below are the issues in Chapter 11 of the 1st printing of the book.

Page 174 — In the first paragraph of section 11.1.1 we tell you to look at the component.xml for the Crust shell bundle and list the bundle ID as org.equinoxosgi.toast.crust.shell.  In fact, the bundle is org.equinoxosgi.crust.shell.  That is, no “toast” segment in the ID.

Page 193 — You may have to run the Toast Client a second time to get the Google Earth integration to work. There appears to be some timing issues with the downloading and initialization of the Google Earth browser plugin. Be patient, it will install and startup.

Chapter 9 Errata

Below are the issues in Chapter 9 of the 1st printing of the book.

Page 142 — The second step says to select the “org.equinoxosgi.toast.product.backend” project whereas it should say select the “ToastBackEnd” project.

Page 146 — The instructions for setting up the autostarter bundle should include setting the Start-level = 1 on the Configuration page of any .product in which it is listed. Things will generally work without this but it stands to reason that bundles installed at start-level 2, for example, should be started by the autostarter. This will not happen unless the autostarter itself is started!

Two sample chapters available

To give readers an idea of what the OSGi and Equinox book is like we have made available Chapters 1 and 6 available on the book download site. Chapter 1 introduces OSGi and Equinox in both a conceptual and historical setting. We talk about:

  • where OSGi came from
  • how Equinox started
  • basic notions of modularity and their impact on software development

Finally the chapter wraps up with a discussion of NASA’s use of OSGi on the client and server for manage space missions.

As the title of Chapter 6, Dynamic Services, covers the exploitation of OSGi’s service model in dynamic scenarios. Chapter 5 covers the basics of services but Chapter 6 dives into:

  • ServiceTracker
  • Service Activator Toolkit
  • Declarative Services

Check it out and see what you think.  Still on the fence? Read James Sugrue’s review on DZone. Wanna buy? See the book website.

Printed books arrive…

Finally! Moments ago I received my personal copy of the new OSGi and Equinox book!

More than a year in the making it is very gratifying to finally have the physical book. The cover looks great and the production team did a good job of the layout.

To celebrate I updated the book website a bit to have forums and a few other things. More will come in the next few days including a teaser chapter and the table of contents. Some people have asked for the samples in a zip file so we’ll put that together as well. Stay tuned.

Of course, if you just can’t wait and want to get the book now, you can
buy it now. Note that Amazon thinks that it is still coming but I’m assured that it is indeed in-stock so ordering now will get it to you shortly. Enjoy.

Finally, for those of you taking a wait and see approach, we are planning to give a few away at our EclipseCon tutorial… The tutorial will use material from the book giving you a great opportunity to get a quick start and then dive deep and explore more by reading the book afterwards. See you there.

Cover and content finalized

After more than a year of work we have finally completed the entire OSGi and Equinox book. The text, artwork, index, front matter and now cover are done and will be off to the printer and a bookstore near you.

OSGi and Equinox cover

The cover marks a departure from the original series style of Eclipse photos. The publisher and series editorial team felt that that theme had run its course and the wanted a new look.  We are pleased to be the first book with the new look. Expect subsequent books in the series to have a similar upper portions with different main images in the lower half.

Note also the use of the EclipseRT logo on the upper right corner.

EclipseRT_Logo_Extra_Small

Books in the series will have either the Eclipse logo or the EclipseRT logo depending on their focus (tooling vs. runtime). The upcoming 2nd edition of the RCP book will be the second in the series to have the EclipseRT logo on the front.

Toast wiki setup

We have started putting content for the Eclipse Toast example on wiki.eclipse.org. As mentioned in other posts, Toast@Eclipse will likely evolve in many different directions to highlight various EclipseRT technologies.  Check over there to get current details on the evolution of Toast beyond the scope of the code for the book.