incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Neumeyer <leoneume...@gmail.com>
Subject OSGI for S4
Date Sat, 08 Oct 2011 15:37:00 GMT
[sending to the new s4-dev-subscribe list!]

Thank you Adam, let me read the links you sent to understand this better. 

BTW. I reorganized the project into subprojects to make it easier to separate examples from
the framework. 

To implement inter-app communication I added EventSource which an app can use to publish its
output to other apps and other apps can subscribe to. We can also use it to build adaptors
to non-s4 events. We can use the osgi mechanisms for declaring dependencies such as app2 depends
on app1 and for app2 to do: app1.subscribeStream(anApp2Stream) so app2 can get events from
app1. Unless an app uses an EventSource, its events will not be exported. This will create
good isolation and make it easier to add a security layer around apps. Both Stream and EventSource
implement Streamable.

My code is here until we set up the apache svn. https://github.com/leoneu/s4-piper

thanks!
-leo


On Oct 8, 2011, at 5:03 AM, adam wojtuniak wrote:

> Hi Leo,
> 
> Yes I have a few ideas but I need couple days to implement them.
> First, is to build S4 and examples as proper OSGi bundles using gradle osgi plugin http://gradle.org/osgi_plugin.
> Its using bnd tool http://www.aqute.biz/Bnd/Bnd.
> Then embed osgi container (using standard osgi api)  in Controller instead of JBoss modules
see http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html.
> and configure directory from which felix should auto deploy our examples http://felix.apache.org/site/apache-felix-framework-usage-documentation.html#ApacheFelixFrameworkUsageDocumentation-autodeploy.
For dynamic deployment we can use file install bundle http://felix.apache.org/site/apache-felix-file-install.html,
it will watch directory from which it loads new bundles.
> To configure properly examples we can use ipojo http://felix.apache.org/site/apache-felix-ipojo.html
or declarative services http://felix.apache.org/site/apache-felix-service-component-runtime.html,
they both using service component model and are not intrusive in the code.
> That will be enough to load properly the apps.
> 
> Later we have to think how we want to use osgi in s4, just to load apps or properly use
service management. Bundles are hiding the internals from other bundles and should communicate
through well defined services. And also I don't have clear picture how s4 is going to be distributed
(have to look more at https://github.com/s4/s4). Maybe you can write me some small description
of s4 concept.
> 
> Cheers,
> Adam
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message