Announcement Announcement Module
Collapse
No announcement yet.
Can we migrate to spring dm server? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Can we migrate to spring dm server?

    Hi,

    the company I work for is currently evaluating the SpringSource DM server as a deployment alternative to the applications we are building. In fact, we already have a home-grown (OSGi-based) server on which we deploy our applications, however, we would, if possible, like to migrate our applications to the spring dm server, which on a quick inspection, appears to be a good deployment alternative considering what we already have.

    However, before undertaking a deeper investigation, I would like to straighten out a few question marks regarding the spring dm server.

    1) I have read about deploying bundles and PARs by dropping them into the pickup directory, but I would like to know if there is any support for having a bundle be started as part of the framework startup. In our particular case, we have a bundle that reads configuration properties from a central source and which then updates the ConfigurationAdmin service, from which the other applications of our system will get their configuration. In our current solution, it is essential that his configuration loader bundle gets started before any of the other applications. Does the spring dm server offer any support in this area?

    2) The PAR file appears to be the format of choice for deploying multi-bundle applications. However, a concern I have is that these PARs are scoped, which from what I understand means that packages or OSGi services that are exported by PAR applications are not visible to other applications. This sounds like a problematic limitation for us, since in our system, some of the applications must be able to provide services that can be consumed by other applications. Is this supported by the dm server?

    3) We are a little hesitant to relying on a milestone server release. Therefore I am wondering if there is a planned release date for version 2.0.0 of the dm server? (unfortunately, the current stable release of spring dm server contains the wrong version of spring-dm; we need to use spring-dm 1.2.0).

    These are the most important questions I can come up with at the moment.
    I would really appreciate any answers/thoughts.

    Best regards, Peter

  • #2
    Originally posted by peter.gardfjell View Post
    Hi,

    the company I work for is currently evaluating the SpringSource DM server as a deployment alternative to the applications we are building. In fact, we already have a home-grown (OSGi-based) server on which we deploy our applications, however, we would, if possible, like to migrate our applications to the spring dm server, which on a quick inspection, appears to be a good deployment alternative considering what we already have.

    However, before undertaking a deeper investigation, I would like to straighten out a few question marks regarding the spring dm server.

    1) I have read about deploying bundles and PARs by dropping them into the pickup directory, but I would like to know if there is any support for having a bundle be started as part of the framework startup. In our particular case, we have a bundle that reads configuration properties from a central source and which then updates the ConfigurationAdmin service, from which the other applications of our system will get their configuration. In our current solution, it is essential that [t]his configuration loader bundle gets started before any of the other applications. Does the spring dm server offer any support in this area?
    I think you will find the medium term direction pretty compelling:
    1. ConfigurationAdmin support has recently gone into the 2.0 nightly build. This takes properties files from dm Server's config directory and populates ConfigurationAdmin using them. The only limitation for your use case is that the ConfigurationAdmin PIDs that are generated are prefixed with a dm Server specific prefix.
    2. We intend to support configuration files in repositories and plans. The notion is that you can install a plan which refers to bundles, configuration files, and other plans. Plans, bundles, and configuration files may all reside in local or remote repositories and be referenced from plans by type (bundle, config file, plan, etc.), name, and version. As part of this, I would expect to lift the limitation on the naming of PIDs.
    3. We also intend to introduce the concept of an "initial plan" that is used to start dm Server and any applications that need to be deployed at startup.
    Items 2 and 3 are not currently in the 2.0 backlog, although quite a lot of the enabling infrastructure is.

    Meanwhile, on either the 1.0 or 2.0 line, it should be possible for you to deploy the configuration loader bundle early and ensure it is fully started (e.g. has started and has published its application context in the service registry) by creating a custom subsystem and listing that in the profile. I can show you how to do this fairly easily if it sounds suitable.

    2) The PAR file appears to be the format of choice for deploying multi-bundle applications. However, a concern I have is that these PARs are scoped, which from what I understand means that packages or OSGi services that are exported by PAR applications are not visible to other applications. This sounds like a problematic limitation for us, since in our system, some of the applications must be able to provide services that can be consumed by other applications. Is this supported by the dm server?
    Yes it is. You can code the com.springsource.service.scope service property so that a service published inside a scope "punches through" the scope and is visible outside. For example:
    Code:
    <osgi:service ref="bundleStarter"
      interface="com.springsource.kernel.module.clone.ClonedBundleStarter">		
        <osgi:service-properties>
            <entry key="com.springsource.service.scope" value="global" />
        </osgi:service-properties>
    </osgi:service>
    dm Server will eventually support unscoped plans, but note that we don't intend to support unscoped PARs, as plans seem to be a much more general concept and lack only the physical packaging of PARs.
    3) We are a little hesitant to relying on a milestone server release. Therefore I am wondering if there is a planned release date for version 2.0.0 of the dm server? (unfortunately, the current stable release of spring dm server contains the wrong version of spring-dm; we need to use spring-dm 1.2.0).
    We are currently planning to release 2.0 in 3Q09.

    It would be technically feasible to backport the Spring DM 1.2.0 support to the 1.0.x line, but our existing customers would probably not thank us, as 1.2.0 is far from a set of bug fixes. If there was a sufficient business case, we might consider introducing a 1.1 line for users requiring Spring DM 1.2.0, but we'd have to consider the cost implications and the likely impact on the 2.0 date very carefully before going in that direction. Given the wealth of useful features in 2.0, I'm not sure how helpful you would find this.
    These are the most important questions I can come up with at the moment.
    I would really appreciate any answers/thoughts.

    Best regards, Peter
    Hope that helps. Also please feel free to email me privately if there's anything you need to ask that is not suitable for posting here.

    Comment

    Working...
    X