Announcement Announcement Module
No announcement yet.
Advantages of Spring DM Server over Equinox Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Advantages of Spring DM Server over Equinox

    I am evaluating SpringDM Server for a re-architecture project we are starting (I work for big enterprise software co). Another group in our company already evaluated it and my understanding that they decided to go with straight Equinox as "Spring DM Server didn't add much value."

    Could someone tell me what you guys perceive as your added value? We would have to pay for your license as our customers install the software, so I'm going to have to justify using SpringDM. And is there any pricing info avail?


  • #2
    Good question, Phil.

    There are a number of areas where we believe that dm Server adds value above raw Equinox. These include:
    • Applications, scoping, and plans

      dm Server allows you to group your bundles into an application, either using a PAR file, or using a Plan file. Applications can also be scoped, isolating them and the services that they publish from other bundles and applications that are running in the same dm Server instance.

    • Repositories and automatic provisioning

      dm Server provides support for repositories, either local or remote, than can be populated with artifacts that can then be automatically provisioned into dm Server. For example, if you deploy a plan that references two bundles and a configuration, the two bundles and the configuration will be sourced from the configured repository. Furthermore, when a bundle is deployed dm Server will automatically satisfy the bundle's dependencies by installing additional bundles from the repository. This saves you the time and hassle of manually collecting together all of a bundle's dependencies and installing them until, eventually, the original bundle resolves.

    • Enterprise library support

      There are a large number of widely-used enterprise Java libraries that don't work out of the box in a raw OSGi environment. There are a number of hoops that you have to jump through to make them work, e.g. by importing packages which you wouldn't expect to need, or by setting a specific thread context class loader to work around some class loading assumptions in the library that don't hold true in OSGi by default. dm Server takes care of all of this for you so that the vast majority of enterprise libraries will work as expected.

    • Developer productivity

      dm Server comes with a rich set of Eclipse-based tooling that allows Eclipse projects to be deployed direct to dm Server, provides automatic manifest generation within Eclipse, provides bundle dependency and service visualisation, etc.

    • Administration and management

      dm Server provides both a web-based admin console and a ssh or local shell that can be used to administer and manage a dm Server instance including support for installing and managing artifacts, performing failure diagnosis, etc.

    • Deployment

      In addition to being able to install (deploy) bundles, dm Server also allows you to deploy applications (as a PAR or plan file as described above) and configuration. When configuration is deployed it is automatically made available via ConfigurationAdmin. dm Server also supports hot deployment: whenever a file is dropped into the pickup directory it will be deployed.

    Please let me know if you'd like any more information on any of the above, or in general.

    Last edited by Glyn Normington; Nov 11th, 2009, 11:31 AM.


    • #3
      followup questions

      Does spring dm server offer any of the coolness that the Spring TC server offers? like the JMX admin stuff, JDBC tracing, etc? do you have to use Spring MVC to get the JDBC sql inspection stuff?


      • #4
        We don't have any plans to bring Spring Insight to dm Server. It makes heavy use of AspectJ load-time weaving which is fraught with difficulties in an OSGi environment.

        dm Server 2.0 provides a rich set of MBeans for administration. It's upon these MBeans that we've built both the web-based admin console and the shell. Probably the best way to get a feel for what MBeans are available is to take a look using JConsole.