The SpringSource dm Server is the runtime part of the SpringSource Application Platform (AP).
Note
The SpringSource Application Platform is a combination of SpringSource Enterprise and SpringSource dm Server. The SpringSource Enterprise is a support package from SpringSource, including an IDE with the name, SpringSource Tool Suite. For more information about SpringSource AP, visit http://www.springsource.com/products/suite/applicationplatform.
The SpringSource dm Server is built on the following technologies:
Spring Framework.
Tomcat, which is used as JEE web container.
The selection of Apache Tomcat (http://tomcat.apache.org) as servlet container is obvious because of the acquisition of the company Covalent from SpringSource. Covalent is known in the community as an important supporter of the Tomcat project.
OSGi R4.1.
Equinox as an implementation of the OSGi specification.
Equinox (http://www.eclipse.org/equinox/) is also used in Eclipse as the OSGi container.
Spring Dynamic Modules for OSGi.
This module acts as a glue between OSGi and Spring. This means that with this module, you can leverage the full functionality of Spring inside an OSGi kernel.
SpringSource Tool Suite.
Note
It is important to know that the SpringSource Tool Suite ( STS) and the Spring Application Management Suite is only available through the commercial SpringSource Enterprise program. The STS is an IDE based on Eclipse to develop Spring applications, especially applications for the SpringSource dm Server. The Spring Application Management Suite is a web based console for managing Spring applications. The base protocol of this console is Java Management Extensions (JMX).
The following figure shows the architecture of the SpringSource dm Server. The heart of the server is the SpringSource Dynamic Module Kernel (dm Kernel). The dm Kernel is built on Equinox, which is shown as a layer under the dm Kernel. The applications that are running inside the SpringSource dm Server are modular, and each module has a personality. The personality of the application describes the type (web, batch, web service, and so on) of the application.