Great read, although a little "hostile" to newcomers maybe. :)

The parts about class loading might, as others have suggested, be a bit too
complex for us average java developers too. I certainly didn't know about
this before starting with OSGi. And I still have alot to learn of course!
And I believe this is the place where OSGi has the most left to do. Class
loading is an implementation detail that shines through. When I declare a
method to be private, I never have to worry about how the JVM enforces that.
In the same sense, I shouldn't have to worry about how OSGi enforces package
visibility. But that's another story.

Also, I think a presentation like this is a great place to emphasize the
difference between "jar dependency management" and "package dependeny
management". Had I read the presentation a few years back (two maybe) before
having started to "Felix" (yes, it's a verb now), I might have thought
"Well, maven does most of this for me, and without those silly
restrictions!.". It is a profound point about OSGi that might be easily
missed when reading "starter materail". But I guess one can't cover
everything at every possible depth. And you do talk about it, and you do
mention versions. I just think that the whole "per package!!" idea might get
lost between all modules, jars and cookies. :) A module is a set of
packages, depending on other modules with packages. A module is not a jar
with classes depending on other jars with classes (as with maven).

And of course, to further shoot down "maven does it for me"-like arguments,
slam a big "services means *modularized* *dynamism*" sticker on top of every
page. Ok, don't... But, as I said, people might get the impression that OSGi
is a way to manage your jars - when it can actually cook and wash your car
too.

As said, very interesting read! In fact, it got me wondering about a few
things so I'm off asking questions in a mail list near you! Thanks! :)

Regards,
Per-Erik Svensson


On Thu, Jan 20, 2011 at 5:32 PM, Richard S. Hall <[email protected]>wrote:

>
> On 1/20/11 10:47, [email protected] wrote:
>
>> Thanks for doing this Richard!
>>
>> I like the sound of OSGi but I've never made the leap to it because I
>> don't feel that I understand it well enough to convince myself that it is
>> the right direction to go in.
>>
>> Your slides have clarified a number of things for me and your analogies
>> are both clever and funny! I found the slides very easy to follow but I
>> found myself getting confused in the "Understanding search order" and "When
>> things go wrong..." sections, I think partially because I don't have a solid
>> grasp of the terminology. What is class loader delegation?
>>
>> I am familiar with the notion of dependency management from my experiences
>> with using Maven to build my projects so I can somewhat follow you in the
>> "When things go wrong..." section where you first mention transitive
>> dependencies. However, old school developers that are stuck using Ant might
>> find it more difficult. You touch on the subject in various places but I
>> think it would be helpful if you had a couple of slides that briefly talked
>> about dependency management in the context of OSGi before moving on to
>> troubleshooting.
>>
>
> Those two sections will be the most difficult to follow, for sure, so
> you'll just have to catch me presenting it sometime. :-)
>
> Seriously, though, I am already working on improving that section by trying
> to improve the error messages printed by the Felix framework. I will see if
> there is anything else I can do to add some more introductory overview for
> class loaders (without adding too many more slides).
>
> -> richard
>
>
>
>> Cheers!
>> -John
>>
>> Quoting "Richard S. Hall" <[email protected]>:
>>
>>  After some recent experiences I had with some developers trying to use
>>> OSGi without even understanding the basics, I decided to work on a
>>> presentation highlighting what you must understand about OSGi to use
>>> it. Please find it on the presentations page:
>>>
>>>    http://felix.apache.org/site/presentations.html
>>>
>>> The direct link to the PDF is here:
>>>
>>>
>>>
>>> http://felix.apache.org/site/presentations.data/Learning_to_ignore_OSGi.pdf
>>>
>>> Comments welcome.
>>>
>>> -> richard
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to