From bird's eye perspective:
I think this is more than a pretty good scenario for osgi on a non
embedded environment.
There has been some work applying the advantages of osgi (better: osgi
itself), most public traffic obviously evolved by eclipse using osgi as
a ground layer.
Now, we (the whole technical enabled net community) often think in old
boundaries (Application Servers, embedding osgi into xy-webcontainer
e.g.) and just think about using osgi making the whole thing more dynamic..
BUT.. this would be an evolution, not a revolution.
Thinking of firefox (for example) as an osgi-enabled embedded device in
a context driven environment (maybe itself osgi based) is what could
make "meaning".
That's what osgi did since version 1.0: providing that for embedded
environments.
Now we could translate this 1:1 to the virtual world francesco describes!
Ok, it's really visionary because you have to enable all those things
behaving this way.
In conclusion: we should not think of a "server-side eclipse" (thats
what a public magazine in germany titled for using osgi/equinox in a non
UI purpose) , we may think better in the way francesco describes.
Really, that would "make work & life better" ;-)
For JSR 277 (as Glyn describes):
I would just start descibe things here, but people at infoQ have a nice
summary for that kind of things:
http://www.infoq.com/news/2006/11/jsr77_jsr294_qa
The whole thing is similar to the "EJB3 - Hibernate" or "JSF - [include
your web framework here]" thing..
But since the VM and it's related things (compiler,hotspot whatever) is
GPL chances are that those discussions are not just for the discussion's
sake. (although we still have that JSR thing)
Toni
Francesco Furfari schrieb:
Hi all,
moving from the jar autodiscovery idea, it's a while that I'm
wondering how the user experience will change in Java 7 with java
modules. I haven't read the specification yet, so any idea here maybe
is already addressed by the guys working on it, but if you like we
could enjoy discussing about a new interaction style based on OSGi
I started to play around the -jar option of Java executable by means
of which, clicking on a jar, we are able to launch a Java application.
In the following story whose actors are Peter and Sally the entity
behind the scene is an enhanced Felix daemon or if you prefer felixw.
At last Peter has the time for testing the bundle developed by Sally.
It is there, on the desktop. Peter right-click on the .jam file and a
popup menu lists all the OSGi profiles actually active. Sally has
packaged the bundle to start using the "SallyTest" profile but Peter
does not want to launch another felix container, and selects the
already active "office4" profile. A new window is opened by the bundle.
<< Cool !! this time the UI is very cool. >>
Peter then brings the main Office4 window in front of all to see
whether the menu bar has been updated with the proper buttons.
<<All right. The buttons are showed and enabled, hence the services
are now registered and discovered, fine. Now closing the opened window
the bundle should not be stopped. Try. Perfect the buttons are still
displayed. Now let me stop the bundle from the console.>>
<<Lets go ... where is the Felix Tray icon , here!, right-button
click, "active profiles" , "office4 ", sub-menu , "open console",
done. Now which is the bundle id ? mmm 35 ok stop 35! perfect no
error messages and the buttons? disappeared! >>
<< fine, fine. Now lets go to see the communication between profiles.
I want to test it with Spread4 but this time I launch the bundle as
standalone application.>>
Peter double-click on the Sally's bundle icon and then on the
Spread4.jam file.
Peter has configured his Felix Deamon factory to start by default
with a JMX agent and the Event Manager that's every container can be
monitored.
<< Now filling this box the Sally's service should invoke the EA
sendEvents method, but before let me linking Spread4 with the bundle.>>
<< Link menu, link menu ... where is it? ah here! "active profile"
submenu ,"SallyTest", done. Before to become crazy let me check if the
connection with the agent has been established>>
Peter opens the Spread4 console clicking again on the Felix Tray icon
and its sub-menus.
<< ok connection established, now from the "Avalable Services" of
Spread4 menus I should find our service. Lets go to see. perfect! >>
<< will it work? try ...... sheet, nothing happens, why!? why? it
has always worked before!! [EMAIL PROTECTED] >>
Peter opens the console of the standalone application and read the
message:
"not able to cash TranslationManager-0.8.0.jam"
Then Peter goes to unzip the jam file to take a look at the SallyTest
profile.
<<Let me think ... mmm I understood, in the office4 profile the
TranslationManager was already cached probably Sally has forgot to
upload it in the Tomcat server>>
<<let me check>>
In auto.start property the profile there's a pointer to a remote
bundle, then
Peter opens the last JConsole based on OSGi to see what is installed
in the remote server.
Peter has seen right, the last version of Translation Manager is missing.
Then Peter install the TranslationManager bundle using the OBR tab,
Tomcat is Felix based too.
<< Done. Let me check the bundle directly from the browser so far>>
Peter launches Firefox3 (obviously osgi aware) then goes to the home
site of the product and read the web page.
"clicking on the link you can installing the product as a standalone
application or running it on an already active profile. Right clicking
and choose 'save as' to save a bundle on your PC"
Peter right-click the link, and Firefox3 shows a menu of the active
profiles of Peter's PC.
He choose "start as new", a jvm is launched and a new "SallyTest-1"
profile activated.
Peter then links again Spread4 to the "SallyTest-1" profile and checks
again the service.
All works fine now. The EA is probed and when the box is filled the
JMX agent sends a notification to the Spread4 jvm, the message is
posted again in the Spread4 EA and delivered to the subscribed
services of the application .
<<good. Sally has done a good work with the bundle>>
<< tomorow I will try the features extraction and the fusion with our
bundle.
I want to try the extraction of the 'Chat' feature by Eclipse to see
if it can be merged successfully with our bundle >>
Peter closes all the active jvms from the Felix Tray icon and goes to
home.
that's all
don't ask me what was developing Sally :-)
hoping it can enjoy and tickle for a further discussion
bests
francesco
Richard S. Hall wrote:
Yeah, this is what I would have suggested too. This type of
functionality definitely does not need to be built into Felix.
-> richard
-----Original Message-----
From: Toni Menzel <[EMAIL PROTECTED]>
Subj: Re: autodiscover bundles?
Date: Thu 23. Nov 2006 9:27
Size: 676 bytes
To: felix-dev@incubator.apache.org
Hi Wouter,
A very simple autodiscovery (based on observing a directory) is Peter
Krien's FileInstaller.
You can find it here: http://www.aqute.biz/Code/FileInstall
It's a pure bundle which works on any OSGi Implementation.
I don't know if equinox functionality you descibe is usable on felix,
too? (would be nice to know)
greets,
Toni
Wouter de Vaal schrieb:
Hi,
I'm investigating osgi frameworks and I was wondering if Felix has
some sort of autodiscovery functionality as eclipse has. Some when a
jar is dumped in a folder, felix automatically loads this as an osgi
bundle.
Thanx
Wouter
--
Toni Menzel
http://www.tonit.com
mailto:[EMAIL PROTECTED]