Most Helpful Customer Reviews
9 of 10 people found the following review helpful:
5.0 out of 5 stars
OSGi Bible, April 21, 2009
This review is from: Pro Spring Dynamic Modules for OSGi Service Platforms (Paperback)
This book came in at just the right time. My company is about to begin utilizing the OSGi model of deployments and I needed something substantial that would give me a good understanding of OSGi.
And I have to say this book delivers.
The first part of the book goes through the OSGi API style of deployments without utilizing Spring. That actually starts making the whole concept of services and references to services more clearer.
In the next chapters the author goes on to show how Spring DM can be utilized to do the deployments. This makes it much easier to do the deployments.
Then there is a whole chapter devoted to versioning. I didn't even know that you could version specific packages.
Gathering from the title, I thought there would be a big push for the Spring DM Server. That wasn't the case. The author only talked about the Spring DM server in one of the chapters and on the specifics of the Spring DM Server packaging systems in another.
The testing chapter in the end is killer though. I wouldn't even know where to look to figure out how to do the testing of OSGi bundles, especially the integration tests.
Using the Spring DM Testing API, it makes it quite easy (at least from the two examples that were presented).
Overall the style of the book is very easy to read and this book provides so much information that I consider it the OSGi Bible.
If you are going to be using OSGi, I highly recommend this book!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
6 of 7 people found the following review helpful:
2.0 out of 5 stars
Unfocused and full of problems, October 2, 2009
This review is from: Pro Spring Dynamic Modules for OSGi Service Platforms (Paperback)
In my opinion this is one of the poorer development books I've read in a while (I probably go through 7-8 per year). I wanted to like it, and I wanted to keep giving it a chance, but it continued to let me down. Perhaps it just isn't suited to my reading style; I prefer reading books apart from a computer unless I know that it's an iterative hands on tutorial (a la Agile Web Development with Rails). I've learned languages, frameworks, and algorithms this way. One major consequence in not running the examples with a machine in front of me is that I have to keep everything in my head, which usually isn't a problem. A second consequence is that I will do mental checks whenever something is added or changed to the code or configuration - a sort of 'yea, that makes sense, so does that; okay why did they do that? ah, now I see, that makes sense then' train of thought.
This was my first major problem with this book - the mental checks continuously failed.
I really feel sorry for anyone who hasn't used Spring before and picks up this book. Chapter 2 (Introducing Spring) does a horrible job of it, and I fear that anyone reading through it without thorough knowledge of the platform will swear it off for good as being incredibly complicated. The 'Hello World' example is so full of extraneous junk that I have to guess that the author had a page quota to reach. Extras bolted on that aren't necessary for a introduction include: JPA usage, testing JPA, SpringMVC, AJAX, and finally what blew it for me; Tiles. The whole time I was asking myself 'why are all these pages being dedicated to topic X' when that topic didn't have anything to do with OSGI or Spring DM. I finally lost it when he started using Tiles. Why the f*** would you use Tiles for a Hello World example?! It along with the other aspects mentioned above only serve to complicate the example for no good reason. A much better approach would have been to start with something small and simple - straight Servlets and JSPs and build upon it in later chapters when relevant concepts pop up. Further examples don't build off of this Frankenstein Hello World which is good and bad. Good because it's a terrible starting point (fortunately the other examples in the book drop the use of Tiles - which begs the question - Why was it ever brought up?), bad because you have to learn something different from the ground up.
A second irritating example of this is the Chapter 7 example which introduces a JDBC version of the JPA application from Chapter 5. Why is this done? We're not learning anything interesting here that requires a full example. Anyone with knowledge of Spring knows that you can easily substitute different DAO implementations. What is especially frustrating is that in Chapter 5 (which uses JPA and SpringSource dm Server) the author discusses the complications of running JPA in an OSGI environment, and special things that are built into the SpringSource server to make this easier for you. What I really want to learn in Chapter 7 is how to run JPA without the SpringSource server and its prebuilt magic; instead I get a sidebar saying it can be done with minimal instructions to do so. What I would have preferred in this chapter is an example of what is hard (getting JPA running w/o Spring's server), and a sidebar about what is easy (using a JDBC DAO instead of a JPA implementation).
My second major problem was that I didn't feel that it did a good job of discussing OSGI implementation strategies and covering other issues that would come up in a project with more than a few toy services. In the example provided in Chapter 5 a simple application is broken up into six OSGI bundles. This seems excessive for a small example, but how does it grow when the number of service/model/web components grows? I also don't remember getting a good overview of (in my mind) one of the more interesting aspects of OSGI and Spring DM - being able to deploy new versions of bundles without restarting your server.
There were other areas of the book that felt like filler and really didn't seem to add much to the topic of OSGI. Examples include integration with Apache Ivy, using SSL with Tomcat, and Flex integration. All of these to me seem like loosely related topics that could have been mentioned in much less detail. I would have preferred more discussion of core OSGI topics mentioned in the above paragraph.
Finally the book in general seemed rushed and lacking focus. There are problems with code examples. There are formatting problems (some listings are inexplicably double spaced for example). There is a lot of 'junk' woven in to things that is just unnecessary (XML namespaces that are not needed, multi-page listings of OSGI manifest files, the use of Tiles - it really bugs me, can you tell? :). The whole thing is written like a long blog entry instead of a good book; it's a step by step tutorial that works if you download the code from the book's site, but not if you type it in or try to make sense of it in your head due to some errors. I'm guessing that it was trying to be the first to market on this topic. It succeeded at that, but failed as good coverage of the material. Don't get me wrong - you'll learn about OSGI, Spring DM, and the SpringSource dm Server, but it'll take more effort than it should to make sense of it all.
Personally I'm waiting for the Manning books on the subject. They've split things out across different books which will hopefully give each subject the space that it needs to be covered properly.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
3 of 3 people found the following review helpful:
4.0 out of 5 stars
Review by Gildas Cuisinier, July 7, 2009
This review is from: Pro Spring Dynamic Modules for OSGi Service Platforms (Paperback)
You've heard about OSGi but do not know what it is? Or do you think this is too complicated? Then the Daniel Rubio's book is probably a simple way to learn OSGi thanks to Spring Dm.
This book is well written and gives a first approach on the subject. In the first chapters, OSGi is explained very simply and you will learn what are the benefits of this technology face to JEE.
Then Dm Spring will be presented. This brings the simplicity of POJOs in the OSGi world, like all the Spring projects.
You do not know anything of Spring? No worries! A brief but sufficient introduction of the Framework will be made, allowing you to follow the book without difficulty.
Other subjects, always revolving around OSGi and Spring, will be covered. This is the case SpringSource server for example. Thus you will learn the extensions it provides to OSGi to facilitate development, especially for JPA.
The tool 'bnd' is also introduced in summary, to explain you how to make a OSGi-compatible JARs without too much effort.
In short, it is an excellent book to start with OSGi and Spring Dm, but for me it does not go deep enough for a book of the "Pro" collection.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|