`
robbin
  • 浏览: 4825852 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137456
社区版块
存档分类
最新评论

Spring Application Platform - SpringSource的应用服务器发布

    博客分类:
  • Java
阅读更多
2008年的5.1劳动节,SpringSource发布了策划已久的开源应用服务器-SpringSource Application Platform。JavaEye的新闻频道也有报道:

SpringSource 宣布发布 SpringSource Application Platform Beta

总体来说,Spring的Application Platform就是一个根据Rod Johnson自己对于Java企业应用开发的理解,自行制订了一套应用服务器的标准,并且开发了这样一个专用的应用服务器出来。但是Spring的应用服务器也有自己的一些特色,让我们简单看看:



这是Spring应用服务器的结构图。他的底层是用Equinox这个OSGi框架来搭建的,我们知道Equinox为底层框架搭建的应用软件还有Eclipse,他的特点是高度的模块化,可定制化和在线的部署和卸载,以及模块的版本管理、依赖管理等功能。

Spring在Equinox的基础之上开发了DMK这样一个框架,即动态模块内核(Dynamic Module Kernel),DMK封装了Equinox的很多底层操作,向上提供了更加方便的API和管理平台。

在DMK之上,所有的功能统统以模块的方式运行在DMK之上,例如Tomcat就是以模块的方式部署在Spring应用服务器上,此外还集成了应用发布模块、系统管理模块等等。所有的模块都可以以标准的方式部署到Spring应用服务器上面,具体模块的信息,可以看看Spring应用服务器的repository目录下面的文件。

Spring应用服务器给我的感觉和JBoss应用服务器很像。JBoss也是类似这样的结构,JBoss最核心的底层是JBoss Microkernel,即微内核,这个MicroKernel提供了JMX的接口,而JBoss应用服务器的所有其他功能,都是通过标准的JMX来插入到MicroKernel之上的,例如Tomcat、Hibernate3、EJB、Transaction,DB Pool等等,都是标准的SAR模块包。

他们之间比较大的不同在于Spring应用服务器底层使用的是OSGi结构来进行模块化的管理和部署,而JBoss使用的是基于JMX的模块化管理。使用OSGi的一大好处就是可以在线的热部署和卸载,并且可以提供良好的模块版本管理。

Spring应用服务器我从我初步的接触来看,我觉得有一些比较有特色的地方:

一、轻量级和模块化

Spring应用服务器本质上就是基于Equinox的Spring DMK,这DMK本身是很小的,在DMK上面可以部署各种各样的功能模块来扩展应用服务器的功能,模块化程度非常高,内核本身是很轻量级的。

看Spring Applicaiton Platform自己的文档上面说,如果去掉Tomcat模块的话,启动应用服务器只占15MB内存(能用来干啥?),其实目前Spring应用服务器并没有提供很多功能模块上来,只是一个web模块、一个部署模块和一个管理监控模块。但是计划在2.0版本增加更多的模块、例如群集支持模块、SOA模块等等。

二、在线的热部署和卸载

得益于Equinox,可以在服务器运行期增加功能模块、部署新的Web应用,或者更新、卸载Web应用,所有的这些操作都可以Online进行。这恐怕是比传统的Java应用服务器最领先的特色了。

三、库的版本管理和依赖

jar包的版本冲突和依赖是传统Java应用很头疼的一个方面,Spring应用服务器提出了自己的一套库版本管理和库依赖管理的机制,具体的原理我还没有仔细的研究,貌似也是利用了OSGi的功能。

总结:

Spring应用服务器和Spring框架并没有什么直接的关系。你用其他框架开发的Web应用也可以部署到spring应用服务器上来,只是Spring应用服务器提供了很多可能你觉得不错的功能,吸引你使用spring的应用服务器,而不是tomcat或者jboss。但是Spring应用服务器并不符合Java EE的标准,因此可以看成是一个完全无视JCP的应用服务器,也是Rod Johnson大胆甩开标准进军应用服务器市场的尝试。



分享到:
评论
12 楼 abcx 2008-05-28  
感觉似乎标准正在被瓦解,应用服务器厂商正在寻找与培育新的增长点,应该说SpringSource可以颠覆EJB但不一定能颠覆应用服务器,Java EE比较尴尬,只怕到时候开会的时候人都到不起,都跑去赚钱了,就算到齐了可能也会打得鼻青脸肿头破血流。
11 楼 abcx 2008-05-28  
jacklondon 写道
也就是一是时髦的词汇而已。偶目前的 JDK 还是用 JDK 1.3 , 不像各位大虾,这么赶时髦。能够长期用一种东西,才能用出名堂来,这是我目前最大的体会。

你说对了一方面,但新技术也有新技术的好处,在稳定与变化之间要做好平衡。
10 楼 laiseeme 2008-05-11  
简单就是没
9 楼 Joo 2008-05-09  
现在只能拭目以待了
难不成他们准备用SUN JVM
8 楼 ray_linn 2008-05-09  
好像很复杂。。。我突然有点奇怪,很少听到MS在IIS上玩什么花招。。。
7 楼 neora 2008-05-09  
引用

看Spring Applicaiton Platform自己的文档上面说,如果去掉Tomcat模块的话,启动应用服务器只占15MB内存(能用来干啥?)


什么疑问嘛。难道AppServer只能做Web或者WebService?
6 楼 movingboy 2008-05-07  
Johnson的勇气令人钦佩啊!
感觉Java EE已经背负了太多包袱,步履蹒跚。SAP似乎是要打造成一个灵活、易管理、轻量的应用服务器,不管市场前景如何,这样的思路我很欣赏~~~
5 楼 store88 2008-05-07  
http://weblogs.java.net/blog/robc/archive/2008/02/profiles_in_the_1.html

粗略看了一下
发现根本不需要跟着sun的j2ee标准走
长见识了
4 楼 quaff 2008-05-06  
robbin 写道
quaff 写道
robbin 写道

但是Spring应用服务器并不符合Java EE的标准,因此可以看成是一个完全无视JCP的应用服务器,也是Rod Johnson大胆甩开标准进军应用服务器市场的尝试。

SpringSource公司也是Java EE 6的专家组成员,目前Java EE 6规范没有最终发布,但是SpringSource承诺会遵守Profile A和B的规范.

兴许会遵循其中的某些规范,但是必然不会100%兼容 Java EE的规范。因为Spring是绝对要将without EJB进行到底的。而Java EE规范的核心还是EJB。

另外Java EE的专家组也不是SpringSource把持的,别忘了还有Gavin King和他背后的JBoss在呢,SpringSource想在Java EE规范里面废了EJB,GK还不得和他玩命,这可是俺吃饭的家伙。不过IBM和Oracle(BEA)早就玩SOA去了,不鸟Java EE规范了,只剩下SpringSource和JBoss,最多加上Sun这三家在玩了。

Java EE 6分为profile A,B,Full platform,A是没有EJB的,B只有简化的EJB3.1,可以看看下面的文章,这样分是对的,因为大部分Java企业应用不用EJB等.
http://weblogs.java.net/blog/robc/archive/2008/02/profiles_in_the_1.html
3 楼 robbin 2008-05-05  
quaff 写道
robbin 写道

但是Spring应用服务器并不符合Java EE的标准,因此可以看成是一个完全无视JCP的应用服务器,也是Rod Johnson大胆甩开标准进军应用服务器市场的尝试。

SpringSource公司也是Java EE 6的专家组成员,目前Java EE 6规范没有最终发布,但是SpringSource承诺会遵守Profile A和B的规范.

兴许会遵循其中的某些规范,但是必然不会100%兼容 Java EE的规范。因为Spring是绝对要将without EJB进行到底的。而Java EE规范的核心还是EJB。

另外Java EE的专家组也不是SpringSource把持的,别忘了还有Gavin King和他背后的JBoss在呢,SpringSource想在Java EE规范里面废了EJB,GK还不得和他玩命,这可是俺吃饭的家伙。不过IBM和Oracle(BEA)早就玩SOA去了,不鸟Java EE规范了,只剩下SpringSource和JBoss,最多加上Sun这三家在玩了。
2 楼 quaff 2008-05-05  
robbin 写道

但是Spring应用服务器并不符合Java EE的标准,因此可以看成是一个完全无视JCP的应用服务器,也是Rod Johnson大胆甩开标准进军应用服务器市场的尝试。

SpringSource公司也是Java EE 6的专家组成员,目前Java EE 6规范没有最终发布,但是SpringSource承诺会遵守Profile A和B的规范.
1 楼 zingers 2008-05-05  
嗯,不管如何,赞一个

相关推荐

    spring的插件-springsource-tool-suite-3.9.8.RELEASE-e4.11.0-updatesite.zip

    "springsource-tool-suite-3.9.8.RELEASE-e4.11.0-updatesite.zip" 是一个为Eclipse Photon用户提供Spring开发强大支持的工具包,通过其丰富的特性和集成,可以帮助开发者更高效地构建和管理基于Spring的应用程序。

    spring-tool-suite-3.9.5.RELEASE-e4.8.0-win32-x86_64

    标题中的“spring-tool-suite-3.9.5.RELEASE-e4.8.0-win32-x86_64”指的是Spring Tool Suite (STS) 的一个特定版本,这是一个集成开发环境(IDE)专为Spring框架设计,基于Eclipse 4.8.0平台。这个版本是针对Windows...

    spring-tool-suite-4-4.9.0.RELEASE-e4.18.0-linux.gtk.x86_64.tar.gz

    Spring Tool Suite通过集成Spring Boot、Spring Cloud等工具,为开发这些应用提供了极大的便利,例如可以快速创建Spring Boot项目、自动配置、运行和调试应用。 压缩包中的"sts-4.9.0.RELEASE"通常包含以下内容: 1...

    spring-tool-suite-3.9.6.RELEASE-e4.9.0-win32 网盘地址.txt

    spring-tool-suite-3.9.6,安装配置文档都有

    spring-aop-annotation-log-all

    这里zip压缩包囊括了学习Spring过程中用到的所有的jar包; 有: commons-logging-1.2.jar spring-beans-4.0.4.RELEASE.jar spring-context-4.0.4.RELEASE.jar spring-core-4.0.4.RELEASE.jar spring-expression-...

    spring-tool-suite-4-4.6.1.RELEASE-e4.15.0-win32.win32.x86_64.self-extracting.zip

    对应eclipse版本的spring安装包

    spring-tool-suite-3.9.5.RELEASE-e4.8.0-win32-x86_64.zip

    STS是Spring框架的官方集成开发环境(IDE),它提供了丰富的工具和功能,以帮助开发者更高效地进行Spring应用的开发。 Spring Tool Suite是基于Eclipse构建的,Eclipse是一款著名的开源Java IDE,广泛用于Java应用...

    spring-framework-3.0.5.RELEASE-dependencies-1

    spring-framework-3.0.5.RELEASE-dependencies 好不容易找到了,赶紧分享一下 因为不能大于20M,共分了8个包,都是独立的,我列了目录,可以只下载需要的包,这是1号包: 1号包: edu.emory.mathcs.backport edu.oswego.cs....

    官方原版源码 spring-framework-5.1.15.RELEASE.zip

    Spring Core负责基础的IoC(Inversion of Control)容器,Spring Beans则实现了Bean的生命周期管理和配置,Spring Context则是基于Core之上构建的,提供了一个应用上下文,可以管理Bean并与其他Spring模块集成。...

    Spring框架所需的常用jar

    spring-aop-4.0.0.RELEASE;spring-aspects-4.0.0.RELEASE;spring-beans-4.0.0.RELEASE;spring-context-4.0.0.RELEASE;spring-core-4.0.0.RELEASE;spring-expression-4.0.0.RELEASE;spring-jdbc-4.0.0.RELEASE;spring...

    spring-tool-suite-3.9.0.RELEASE-e4.7.0-win32-x86_64.zip

    8. **特性与优势**:STS的优势在于其对Spring生态系统的深度集成,例如提供Spring Boot项目的快速创建、自动配置检测、实时应用服务器连接以及强大的Spring Roo支持。此外,它还包含了许多用于测试、调试和性能分析...

    spring-core-3.2.18.RELEASE-sources.jar (spring 3.2.18源码source)

    spring-core-3.2.18.RELEASE-sources.jar (spring 3.2.18源码source),导入到Eclipse里面进行查看。

    STS 下载 spring-tool-suite 3.9.2 e4.7.2

    1. **Spring Tool Suite (STS)**:STS是由SpringSource开发的一款免费、开源的Java IDE,专门用于Spring框架的开发。它包含了Eclipse的核心功能,并集成了许多针对Spring的特性,如Spring Boot支持、Spring Roo支持...

    SpringSource-spring-data-document-examples-1.0.0.M4-MongoDB-Examples

    《SpringSource-spring-data-document-examples-1.0.0.M4-MongoDB-Examples》是SpringSource推出的一个示例项目,旨在展示如何使用Spring Data框架的文档支持与MongoDB数据库进行集成。该项目包含了1.0.0.M4版本的...

    学习spring所需要的jars

    学习spring所需要的jars c3p0-0.9.1.jar com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar commons-logging-...

    Sping开发所用到的包

    com.springsource.net.sf.cglib_2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.apache.commons.dbcp_1.2.2.osgi.jar ...398,557 ...spring-webmvc-portlet-3.2.12.RELEASE.jar

    spring-flex-1.5.0.M2-dist.zip

    2. **消息代理**:提供了一种定义Flex客户端与Spring应用服务器间消息交换的标准方式。消息代理使得数据传输更高效,且支持异步调用,提高了用户体验。 3. **配置支持**:通过Spring的IoC(Inversion of Control)...

    springsource-tool

    标题中的“springsource-tool”指的是SpringSource Tool Suite,这是一个集成开发环境(IDE)的工具集,专门针对Spring框架和相关的Java应用。SpringSource Tool Suite是基于Eclipse IDE的,它提供了丰富的特性来...

    spring-mvc-showcase

    首先,"spring-mvc-showcase" 是 SpringSource 提供的一个示例应用,用于展示 Spring MVC 的各种特性和最佳实践。这个项目包含了一系列精心设计的示例,涵盖了从基本请求处理到复杂业务逻辑的多种场景,是学习 ...

    springsource-tool-suite-3.9.11.RELEASE-e4.13.0-updatesite

    "springsource-tool-suite-3.9.11.RELEASE-e4.13.0-updatesite" 暗示我们正在讨论SpringSource Tool Suite(STS)的一个特定版本,这是由Pivotal Software(现在是VMware的一部分)开发的一款集成开发环境(IDE),...

Global site tag (gtag.js) - Google Analytics