The Source for Java Technology Collaboration

Home » java.net Forums » GlassFish » GlassFish

Thread: GlassFish V3: OSGi, HK2 and JSR 277

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 6 - Last Post: Sep 25, 2008 5:50 AM by: Ryan de Laplante
Ryan de Laplante
GlassFish V3: OSGi, HK2 and JSR 277
Posted: Sep 23, 2008 5:12 PM
  Click to reply to this thread Reply

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@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net


Sahoo
Re: GlassFish V3: OSGi, HK2 and JSR 277
Posted: Sep 24, 2008 8:21 AM   in response to: Ryan de Laplante
  Click to reply to this thread Reply

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@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net


Ryan de Laplante
Re: GlassFish V3: OSGi, HK2 and JSR 277
Posted: Sep 24, 2008 10:00 AM   in response to: Sahoo
  Click to reply to this thread Reply

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@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net


Ryan de Laplante
Re: GlassFish V3: OSGi, HK2 and JSR 277
Posted: Sep 24, 2008 10:05 AM   in response to: Ryan de Laplante
  Click to reply to this thread Reply

Another thing I'm not sure about yet is how WebBeans component injection
will fit in with all of this. I have a lot of reading and thinking to
do :) This is a personal project so it can take as long as it needs.


Ryan


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@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net


Ryan de Laplante
Re: GlassFish V3: OSGi, HK2 and JSR 277
Posted: Sep 24, 2008 11:45 AM   in response to: Ryan de Laplante
  Click to reply to this thread Reply

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@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net


Sahoo
Re: GlassFish V3: OSGi, HK2 and JSR 277
Posted: Sep 25, 2008 5:02 AM   in response to: Ryan de Laplante
  Click to reply to this thread Reply

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@glassfish.dev.java.net
>> For additional commands, e-mail: users-help@glassfish.dev.java.net
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net


Ryan de Laplante
Re: GlassFish V3: OSGi, HK2 and JSR 277
Posted: Sep 25, 2008 5:50 AM   in response to: Sahoo
  Click to reply to this thread Reply

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@glassfish.dev.java.net
>>> For additional commands, e-mail: users-help@glassfish.dev.java.net
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
>> For additional commands, e-mail: users-help@glassfish.dev.java.net
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net





 XML java.net RSS