users@glassfish.java.net

Re: GlassFish V3: OSGi, HK2 and JSR 277

From: Ryan de Laplante <ryan_at_ijws.com>
Date: Thu, 25 Sep 2008 08:50:00 -0400

Wouldn't that be like taking every .jar dependency of every application
deployed in the application server and making them available to every
other application even if many of them are specific to just one
application?

I wanted to have my own directory on the hard drive that contains
sub-folders such as \logs\, \themes\, \plugins\, etc. and have a module
system built in. I will put some more thought into what you are
suggesting since Spring Application Platform seems to be pushing the
industry to go that way. They have even created OSGI bundles for over
400 commonly used .jar files:

www.springsource.com/repository

I found another person who created a plugin system for JSF web apps
without OSGi or HK2. I'm going to look closer at what he did too:

http://www.flexive.org/docs/3.0/website/jsf_plugin_api.html
http://www.flexive.org/docs/3.0/website/reusable_components.html


Thanks,
Ryan


Sahoo wrote:
> Launching yet another Felix instance inside your web application
> running in GFv3, which itself is running inside Felix, does not sound
> like a very good idea. We are actually thinking of making OSGi
> functionality available to web applications. May be you should just
> wait for that. It will be good if you tell us what are your requirements.
>
> Thanks,
> Sahoo
>
> Ryan de Laplante wrote:
>> Also see this link to better understand what I mean by embedded
>> Felix/OSGi:
>>
>> http://felix.apache.org/site/launching-and-embedding-apache-felix.html#LaunchingandEmbeddingApacheFelix-embedding
>>
>>
>>> Embedding Felix into a host application is a simple way to provide a
>>> sophisticated extensibility mechanism (i.e., plugin system) to the
>>> host application.
>>
>>
>>
>>
>> Ryan de Laplante wrote:
>>> I haven't put much thought into a design yet, but I'll give you a
>>> general idea. JIRA can be thought of a base platform with plugin
>>> infrastructure, and the system is composed of a bunch of plugins.
>>> Confluence has plugins. Hudson has plugins. I want to create a web
>>> application that has a few basic things like authorization and
>>> authentication, a plugin system, plugin manager, etc. then build
>>> the rest of the application as plugin modules. I'm currently reading
>>> a book called Practical API Design (by the original creator of
>>> NetBeans) and it talks about how the NetBeans module system is
>>> created. The concepts seem similar to OSGi, and I would prefer to
>>> embed an OSGi container than write my own lookup/injection etc.
>>> I've only done some preliminary reading and listened to some
>>> podcasts. I don't know that much about OSGi yet.
>>>
>>>
>>> Other web developers have traditionally based their plugin system's
>>> UI support on things like velocity, or WebWork/Struts2 "plugin"
>>> feature. Later I want to study GlassFish V3 and figure out how they
>>> did it with JSFTemplating, HK2 and OSGi.
>>>
>>> See this thread for an earlier discussion:
>>>
>>> http://forums.sun.com/thread.jspa?threadID=5261696&messageID=10107837
>>>
>>>
>>> Thanks,
>>> Ryan
>>>
>>>
>>>
>>> Sahoo wrote:
>>>> Ryan,
>>>>
>>>> Can you please elaborate what you plan to do, especially what you
>>>> mean by embedded Felix/OSGi?
>>>>
>>>> Thanks,
>>>> Sahoo
>>>>
>>>> Ryan de Laplante wrote:
>>>>> Hi,
>>>>>
>>>>> This blog entry gave me the impression that HK2 was going to be
>>>>> the reference implementation for JSR 277, and that is why
>>>>> GlassFish V3 was using it:
>>>>>
>>>>> http://www.xlml.com/aehso/2007/05/15/glassfish-v3-hk2-modules/
>>>>>
>>>>> But later GlassFish V3 chose OSGi. I know it uses a hybrid
>>>>> approach of HK2 + OSGi:
>>>>>
>>>>> http://weblogs.java.net/blog/ss141213/archive/2008/04/glassfish_v3_on.html
>>>>>
>>>>>
>>>>>
>>>>> I'm wondering if HK2 is not going to be an implementation of JSR
>>>>> 277, and of OSGi is going to become the foundation of JSR 277? I
>>>>> don't really know much about any of these technologies yet but am
>>>>> starting to investigate them. I want to create a plugin system
>>>>> for a web application such as what you find in Hudson, JIRA,
>>>>> Confluence, etc. I've seen things such as Apache Cocoon but it
>>>>> uses Spring. I want Java EE purity and will be basing my design
>>>>> on Java EE 6 + GlassFish V3. Currently I'm thinking about using
>>>>> embedded Felix/OSGi.
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Ryan
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>