Alexandra Niculai wrote:I don't know anything more about OSGI than what I read in the Modular Java topics, so I'd like to find out which are these three questions(or less or more questions).
I'm not sure if these could be considered the definitive set of questions or not, but let me give it a shot...
- If you want to develop applications that are assembled from highly-cohesive/loosely-coupled modules, then you should use OSGi.
- If you want to be able to maintain parts of an application without updating other parts (or even restarting the application), then you should use OSGi.
- If you want to build plugin capability into your application, then you should use OSGi.
- If you want to stay out of "Classpath Hell" (multiple dependencies on different versions of the same library), then you should use OSGi.
- If you want to increase productivity through parallel development of application components, then you should use OSGi.
- If you want to develop in a service-oriented architecture, but aren't so sure that SOA really has anything to do with web services, then you should use OSGi.
I may think of some more later, but this is a good start.
Muhammad Saifuddin wrote:does this book cover initial learning of OSGI framework ?
I mean is this book is enough to understand.. OSGI framework.. ?
Absolutely! The very first thing we do in the book is startup a couple of OSGi frameworks (Equinox and Felix) and kick the tires. Then we create a dumb simple Hello World bundle that does little more than...well, what do you think Hello World bundles would do? Then we ramp up a bit and create a couple of bundles, one that publishes a service into the OSGi service registry and another that consumes that service.
Up until this point in the book, we've done everything by hand. But before we go any further, I introduce you to Pax Construct...because I can't imagine doing any sizable OSGi project without Pax Construct.
Throughout the rest of the book we build a somewhat realistic OSGi example ("somewhat" meaning that it's big enough to demonstrate much of what you need to know about OSGi, but small enough to fit in the book). We even write some integration tests for those bundles.
At some point we abandon programmatic OSGi and start using Spring-DM to publish and consume services. Then we build a web front end for our application, use fragments to "skin" the app, and then we start packaging up the application to be deployed.
So, yes...we start off with some basic OSGi and quickly ramp up to building a full application.