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