[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
> 

Reply via email to