Hi,

Am Freitag, den 30.05.2008, 05:22 -0400 schrieb Joseph Ottinger:
> I'm considering using Sling as an OSGi bundle, as opposed to using the
> launcher to start a webserver with the Sling WAR in it.

The sling war is just a wrapper exactly like the standalone app
launcher. These two just bundle all default bundles into the jar for
deployment. The wrapper only starts the OSGi framework and then installs
all bundles packed into the jar (or war).

Sling itself is completely built of OSGi bundles - except the maven
plugins (of course) and the launchers in the launchpad folder. So, you
could easily forget about the launchers and just deploy the Sling
bundles into your favourite OSGi framework.

> However, there are some concerns I have:
> 
> 1) What bundles are *required?*

Here is a list of bundles:

   * OSGi stuff:
          Apache Felix Configuration Admin
             (Equinox impl does seem to be alright, too)
          Apache Felix Declarative Services
             (Sling does not work with Equinox impl currently)
          Apache Felix Metatype Service
             (Equinox impl does seem to be alright, too)
          Apache Sling Log Service
             (suggest to use this one as it comes with SLF4J and
              Apache Commons Logging)
   * Apache Felix Web Console 
   * Apache Commons Libraries:
          Commons IO
          Commons Collections
   * Sling Bundles
          API
          Engine
          AdapterManager
          Bundle Resource Provider
          Commons OSGi support
          Default GET Servlets
          Default POST Servlet
          Initial Content Loader
          Repository API
          Jackrabbit API
          Jackrabbit Embedded Repository
          JCR Base
          MIME type mapping
          Repository Classloader
          Resource Resolver
          Scripting - Javascript
          Scripting JSP
          Scripting JSP Taglib
          Scripting Core
          Scripting API
          Servlet Resolver
          JSON
   * Misc
          Jackrabbit JCR Commons
          PAX Web Service or Equinox Servlet Bridge

More libraries from the Sling project (and other projects) may be added
as required. But for a basic functionality, I think this list is about
it.

I agree, that it is kind of complicated to gather all these bundles to
get the running system. We are currently figuring out how to create an
OSGi Bundle Repository with the Sling Bundles for easier deployment.
   

> 2) The Jackrabbit-server bundle starts up an internal repository, which can
> be accessed via a ServiceTracker *and* RMI. The RMI part worries me, from a
> security standpoint. How do I manage this, outside of just firewalling RMI
> away?

The RMI registration of Jackrabbit is done by an RMI component. This
component can be disabled easily: On the Components page of the OSGi
Manager (at /system/console/components) look for the
RmiRegistrationSupport component and click "Disable". Yet this is a
manual task and the component is enabled again after restart.

We might add a configuration option to switch RMI support off by
configuration.

Hope this helps.

Regards
Felix

Reply via email to