aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Moulliard <>
Subject Re: [DISCUSS] WAB and blueprint
Date Fri, 19 Nov 2010 16:27:37 GMT
I think that we should considering two different approaches :

1) Existing WAR
For projects already deployed as WAR in a traditional Web Application 
Server, this is technically possible today to deploy it on an OSGI 
platform (ex : Apache Karaf) where we use PAX Web and PAX Web extender 
to emulate a Web Container on OSGI platform without too much 
modifications except the MANIFEST. Those WAR projects are deployed 
successfully even if they use Spring. For an example, you can have a 
look to my Camel OSGI tutorial Part 2 where I have deployed a Apache 
Wicket Web Site and use Spring DM to have access to the osgi:services 
I'm not afraid of the fact to place my blueprint xml config file in the 
same directory as for the bundle (OSGI-INF) but just want that users can 
migrate easily their WAR without having to make too much changes.

2) New project to be deployed as WAR on OSGI platform
I guess to your remark and for me too Blueprint should not be 
substituted to the Web Container. Our concern is that we would like that 
a Web Application deployed on an OSGI platform can have access to 
Blueprint like with Spring. The idea to use @Resource annotation like 
with j2EE 6 spec is excellent and avoid to create something new and 
different from an existing well accepted specification but we should 
also support a blueprint XML file deployed in the WAR or JAR bundle !!



On 19/11/10 11:37, Guillaume Nodet wrote:
> Right, creating servelts is not really a good idea...
> I guess the problem of reusing the default blueprint location and
> headers is that you then need to have cooperation between both
> extenders, and you need to oreder both.   I suppose the web extender
> could wait for the blueprint container to be published...
> On Friday, November 19, 2010, Timothy Ward<>  wrote:
>> Hi,
>> I'm not sure I agree with the WEB-INF/ approach. I think we should stick to the standard
blueprint packaging model (OSGi-INF/blueprint or the Bundle-Blueprint: header) to avoid confusion.
The JPA container similarly still uses the Meta-Persistence header when processing web applications,
only falling back to Java EE behaviour if there is no header specified. Given that there is
no existing Java EE behaviour for this I'm not sure we should be inventing it.
>> I'm also not convinced that blueprint should be able to create the
>> servlets. The servlet lifecycle is managed by the web container, and I'm
>>   not sure how we could safely break that link without significantly
>> changing the behaviour of web applications. The last thing I want to do
>> is make web applications "different" when in OSGi, the main point of the
>>   original Web Applications specification was that Java EE web applications are well
>> understood by developers and we want them to have access to the same programming
model in OSGi.
>> I definitely agree with the final point though. I would very much like to enable
injection of blueprint beans from the Web application's blueprint into servlets. It would
be really nice if we could re-use the @Resource annotation, perhaps with a "blueprint:" URL
scheme, but I don't know how practical that is. Injecting blueprint beans into servlets would
be an excellent way to get dependency wiring and service damping and I'm 100% a +1 for that
>> Regards,
>> Tim
>> ----------------------------------------
>>> Date: Fri, 19 Nov 2010 10:24:43 +0100
>>> From:
>>> To:
>>> Subject: Re: [DISCUSS] WAB and blueprint
>>> Why don't we follow the same approach as spring-dm
>>> So all the blueprint.xml files placed in WEB-INF folder of the WAR (=
>>> bundle) will be loaded by the blueprint container at the bundle startup
>>> On 18/11/10 21:37, Guillaume Nodet wrote:
>>>> I think having a web app packaged as a web application will become
>>>> more and more common in OSGi and we should provide an easy way to
>>>> leverage blueprint to create the servlets, do some injection of osgi
>>>> services into servlets, etc...
>>>> As anyone thought about anything in this area yet ?

View raw message