Opening Up SpringSource AP
Just now getting my hands on the SpringSource Application Platform. It's deceptive, because there's very little functionality exposed when you run it. It starts up with less ceremony than Apache or Tomcat. (Which is kind of funny, when you consider that it includes Tomcat.)
When you look at the bundle repository, though, it's clear that a lot of stuff is packaged in here. In a way, that's like the Spring framework itself. On the surface, it looks like just a bean configurator. All the really powerful stuff is in the libraries built out of that small core.
Here's a quick listing of the bundles in version 1.0.0.beta:
./bundles/ext/com.springsource.com.google.common.collect-0.5.0.alpha.jar ./bundles/ext/com.springsource.edu.emory.mathcs.backport-3.0.0.jar ./bundles/ext/com.springsource.javax.activation-1.1.0.jar ./bundles/ext/com.springsource.javax.annotation-1.0.0.jar ./bundles/ext/com.springsource.javax.ejb-3.0.0.jar ./bundles/ext/com.springsource.javax.el-2.1.0.jar ./bundles/ext/com.springsource.javax.jms-1.1.0.jar ./bundles/ext/com.springsource.javax.mail-1.4.0.jar ./bundles/ext/com.springsource.javax.persistence-1.0.0.jar ./bundles/ext/com.springsource.javax.servlet-2.5.0.jar ./bundles/ext/com.springsource.javax.servlet.jsp-2.1.0.jar ./bundles/ext/com.springsource.javax.servlet.jsp.jstl-1.1.2.jar ./bundles/ext/com.springsource.javax.xml.bind-2.0.0.jar ./bundles/ext/com.springsource.javax.xml.rpc-1.1.0.jar ./bundles/ext/com.springsource.javax.xml.soap-1.3.0.jar ./bundles/ext/com.springsource.javax.xml.stream-1.0.1.jar ./bundles/ext/com.springsource.javax.xml.ws-2.1.1.jar ./bundles/ext/com.springsource.json-1.0.0.BUILD-20080422112602.jar ./bundles/ext/com.springsource.org.antlr-3.0.1.jar ./bundles/ext/com.springsource.org.aopalliance-1.0.0.jar ./bundles/ext/com.springsource.org.apache.catalina-6.0.16.jar ./bundles/ext/com.springsource.org.apache.commons.fileupload-1.2.0.jar ./bundles/ext/com.springsource.org.apache.commons.io-1.4.0.jar ./bundles/ext/com.springsource.org.apache.commons.logging-1.1.1.jar ./bundles/ext/com.springsource.org.apache.coyote-6.0.16.jar ./bundles/ext/com.springsource.org.apache.el-6.0.16.jar ./bundles/ext/com.springsource.org.apache.jasper-6.0.16.jar ./bundles/ext/com.springsource.org.apache.jasper.org.eclipse.jdt-6.0.16.jar ./bundles/ext/com.springsource.org.apache.juli.extras-6.0.16.jar ./bundles/ext/com.springsource.org.apache.taglibs.standard-1.1.2.jar ./bundles/ext/com.springsource.org.aspectj.runtime-1.6.0.m2.jar ./bundles/ext/com.springsource.org.aspectj.weaver-1.6.0.m2.jar ./bundles/ext/com.springsource.slf4j.org.apache.commons.logging-1.5.0.jar ./bundles/ext/com.springsource.slf4j.org.apache.log4j-1.5.0.jar ./bundles/ext/org.springframework.aop-2.5.4.A.jar ./bundles/ext/org.springframework.aspects-2.5.4.A.jar ./bundles/ext/org.springframework.beans-2.5.4.A.jar ./bundles/ext/org.springframework.context-2.5.4.A.jar ./bundles/ext/org.springframework.context.support-2.5.4.A.jar ./bundles/ext/org.springframework.core-2.5.4.A.jar ./bundles/ext/org.springframework.jdbc-2.5.4.A.jar ./bundles/ext/org.springframework.jms-2.5.4.A.jar ./bundles/ext/org.springframework.orm-2.5.4.A.jar ./bundles/ext/org.springframework.osgi.core-1.1.0.M2A.jar ./bundles/ext/org.springframework.osgi.extender-1.1.0.M2A.jar ./bundles/ext/org.springframework.osgi.io-1.1.0.M2A.jar ./bundles/ext/org.springframework.transaction-2.5.4.A.jar ./bundles/ext/org.springframework.web-2.5.4.A.jar ./bundles/ext/org.springframework.web.portlet-2.5.4.A.jar ./bundles/ext/org.springframework.web.servlet-2.5.4.A.jar ./bundles/ext/org.springframework.web.struts-2.5.4.A.jar ./bundles/subsystems/com.springsource.platform.common/com.springsource.platform.common.env-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.common/com.springsource.platform.common.math-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.concurrent/com.springsource.platform.concurrent.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.config/com.springsource.platform.config.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.control/com.springsource.platform.control.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.deployer/com.springsource.platform.deployer.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.deployer/com.springsource.platform.deployer.hot-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.ffdc/com.springsource.platform.ffdc.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.io/com.springsource.platform.io.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.kernel/com.springsource.platform.kernel.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.kernel/com.springsource.platform.kernel.dm-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.management.proxy/com.springsource.platform.management.proxy-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.profile/com.springsource.platform.profile.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.serviceability/com.springsource.platform.serviceability.ffdc-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.serviceability/com.springsource.platform.serviceability.ffdc.aspects-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.serviceability/com.springsource.platform.serviceability.tracing.aspects-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.servlet/com.springsource.platform.servlet.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.servlet/com.springsource.platform.servlet.tomcat-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.system/com.springsource.platform.system.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.web/com.springsource.platform.web.core-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.web/com.springsource.platform.web.dm-1.0.0.beta.jar ./bundles/subsystems/com.springsource.platform.web/com.springsource.platform.web.support-1.0.0.beta.jar
There's clearly a lot of functionality built in, but how do you get at it? The SAP, erm, SpringSource AP documentation screams for improvement. Maybe they think that, because all the parts are documented elsewhere, there's no need for any integrated docset. If so, they would be wrong. Despite that, I'm interested enough to keep poking away at it.
Oh, and one other thing: the default administrator account is admin/springsource. (It's actually defined in servlet/conf/tomcat-users.xml.) For some reason, that's buried in chapter 5 of the user guide. It would be handy to make that more prominent.



Comments
Thanks for taking the time to look at the SpringSource Application Platform.
One thing that is a focus for the 1.0 release is serviceability. We worked hard to make startup as graceful as possible. Part of this was ensuring that it would only output information that's of real interest to the user, rather than hiding the useful stuff amid a sea of noise. Judging by your comment, I'm hopeful that we've gone a long way to achieving our goal.
The Platform intentionally ships with a minimal set of dependencies: those that are required by the Platform itself and by simple Spring and Spring-DM-based applications. You can easily build upon these provided dependencies by downloading bundles from the SpringSource Enterprise Bundle Repository and copying them to the Platform's local repository. There's much more detail about this in my recent blog.
We're constantly working on improving the documentation based on user feedback. Many thanks for taking the time to publicise yours, it's hugely valuable to us. I've opened an issue for the specific problem regarding the user id and password for the admin console: [PLATFORM-52].
I hope that the improvements we've made to the documentation since its initial release, and the new sample applications, are making it easier to get started with the Platform. If you have any further feedback on the Platform and its documentation then I'd love to hear it.
Thanks again,
Andy
SpringSource
Posted by: Andy Wilkinson
|
May 22, 2008 03:03 AM