推出业界首个开放PaaS:Cloud Foundry

工程 | Rod Johnson | 2011年4月12日 | ...

今天,我们为开发者带来了一个激动人心的消息:Cloud Foundry的发布——一个来自VMware的开源“平台即服务”(PaaS),它允许轻松部署使用Spring、Rails及其他现代框架编写的应用程序。Cloud Foundry在PaaS领域开辟了新天地,它支持多种编程模型选择;VMware和第三方服务选择;部署云选择;并以开源形式交付。

Spring创建以来,我们一直忠于几个核心价值观:特别是生产力和可移植性。今天,这些经过验证的价值观超越了Spring和Java,延伸到VMware更广泛的云计算战略中。Spring通过减少花在业务逻辑之外的时间来提高开发人员的生产力;Cloud Foundry消除了安装和配置应用服务器和JVM等基础设施的时间。Spring促进了部署目标之间的可移植性;Cloud Foundry既是一个关键的部署目标本身,也是一个…

适用于 Spring 开发人员的 Cloud Foundry

工程 | Mark Fisher | 2011年4月12日 | ...

到目前为止,你们中的许多人可能已经看过 Cloud Foundry 网络研讨会 和 Rod 今天的 博客。我想提供一个快速的后续,其中包含部署在云中的“hello-spring”示例应用程序。多亏了 Cloud Foundry,几乎没有学习曲线。

在我们开始之前,让我们考虑一下自 Spring 诞生以来推动它的三个目标

  1. 专注于简单性和生产力,让开发人员的生活更轻松
  2. 以一致的方式支持创新技术
  3. 确保应用程序在不同部署环境中的可移植性

然后,考虑这三个目标与 Cloud Foundry 的关系

  1. 简单性和生产力:将 Spring 应用程序部署到云端就像在 SpringSource Tool Suite 中拖放一样简单,即使构建要在云中运行的应用程序,开发人员也可以像往常一样利用 Roo 和 Grails 实现的生产力提升。
  2. 持续创新:Spring Social 和 Spring Data 等项目拥抱 Twitter 和非关系型数据存储等创新技术,这些技术在基于云的应用程序中越来越受欢迎,并且它们以与现有 Spring 平台一致的方式做到这一点。Cloud Foundry 提供服务来支持此类应用程序。RabbitMQ 将很快作为云服务提供,因此这同样适用于通过 Spring AMQP 和 Spring Integration 依赖 RabbitMQ 进行消息传递的应用程序。
  3. 可移植性:云首先是一个新的部署环境,但创建可以在云内外运行的应用程序却很容易,甚至无需交换配置文件。

考虑到这些目标,我们设计了一个示例应用程序,为 Spring 开发人员提供了 Cloud Foundry 的介绍。这仅仅是众多介绍中的第一个…

Roo + Cloud Foundry = 云端生产力

工程 | James Tyrrell | 2011年4月12日 | ...

今天对开发者来说是个重要的日子,VMware 的开源平台即服务产品 Cloud Foundry 公开测试版发布了。Rod Johnson 的博客 包含了关于这一激动人心的公告的许多背景细节,而 Mark Fisher 的帖子 则提供了对该服务的初步了解以及应用程序如何轻松地在本地环境和云端之间移动。正如 Rod 和 Mark 所强调的,今天的公告旨在增强和确保开发者的生产力。

为了支持这项新服务和平台,我们很高兴地宣布,我们已将 Cloud Foundry 支持集成到 Spring Roo 中——Spring 专为 Java 开发者提供的快速应用开发工具。现在您可以将 Roo 的生产力带到云端,甚至无需离开 shell!有数十个命令可以轻松地使用 Cloud Foundry,当然您可以在几分钟内构建一个新应用程序并将其部署到 Cloud Foundry。登录后,只需使用新的“cloud foundry deploy”命令,然后……

使用 Grails 和 Cloud Foundry 实现一站式部署

工程 | Peter Ledbrook | 2011年4月12日 | ...

几年前,一家初创公司的联合创始人曾在伦敦 Groovy 和 Grails 用户组发表演讲。我清楚地记得他说他梦想着“一键”部署一个 Grails 应用程序。随着新的 Cloud Foundry 服务的发布,他的梦想几乎成为所有 Grails 用户的现实。现在,您不仅可以享受 Grails 带来的简单快速开发,还可以简单快速地部署到云托管提供商。

那么 Grails 和 Cloud Foundry 如何协同工作呢?正如 Grails 老用户所期望的那样,我们为此提供了一个插件!为了演示它是如何工作的,我将带您了解将示例应用程序Pet Clinic部署到 Cloud Foundry 的过程。这是一个简单的应用程序,您可以在Cloud Foundry 上看到它的实际运行

本周Spring动态:2011年4月5日

工程 | Josh Long | 2011年4月6日 | ...

今年过得真快!

我们已经为Spring用户发布了大量令人兴奋的新版本,今天更是传出了可能最激动人心的消息。如果您因为不是注册的SpringSource Tool Suite用户而错过了,那么这里是一些关键信息:

下周二 - 4月12日 - VMware将举办一个网络研讨会 - “Spring云开发!” - 其引人入胜的解释是:“Spring已经简化了企业Java开发。接下来是云开发。”

本次网络研讨会将在欧洲和北美时区进行。详情请参阅此页面,并别…

使用 RabbitMQ 实现高性能和可扩展性的路由拓扑

工程 | Helena Edelson | 2011年4月1日 | ...

为一个高度可伸缩的系统设计一个良好的路由拓扑就像绘制一张图。需要考虑许多因素,例如问题本身、环境的限制、消息传递实现的限制以及性能策略。我们经常遇到的问题是,在根据我们的需求调整路由方面缺乏灵活性和表现力。这正是 RabbitMQ 的优势所在。

基本概念

任何熟悉通用消息传递的人都了解从 A 到 B 路由消息的概念。路由可以是简单的,也可以是非常复杂的,当为一个可扩展的复杂系统设计路由拓扑时,它必须是优雅的。保持干净和解耦,组件可以很好地处理不同的负载。这可以表示为简单的映射或复杂的图。在其最简单的形式中,路由拓扑可以表示为节点,例如分层节点

Hierarchical nodes in message routing topology

对于 RabbitMQ 或 AMQP 的新手(请注意,Rabbit 兼容多种协议,包括 STOMP、HTTP、HTTPS、XMPP 和 SMTP),以下是一些基本组件的描述
  • 交换机(Exchange) 服务器内的实体,从生产者应用程序接收消息,并可选地将这些消息路由到服务器内的消息队列
  • 交换机类型(Exchange type) 交换机特定模型的算法和实现。与“交换机实例”相对,后者是服务器内接收和路由消息的实体
  • 消息队列(Message queue) 一个命名的实体,用于保存消息并将其转发给消费者应用程序
  • 绑定(Binding) 一个在消息队列和交换机之间建立关系的实体
  • 路由键(Routing key) 交换机可能用于决定如何路由特定消息的虚拟地址
对于点对点路由,路由键通常是消息队列的名称。对于主题发布-订阅路由,路由键通常是分层的

api.agents.agent-{id}.operations.{operationName}

在更复杂的情况下,路由键可以与消息头字段和/或其内容的路由结合使用。交换机检查消息的属性、头字段、主体内容,并可能检查来自其他来源的数据,然后决定如何路由消息。一个从上述路由键概念派生出来的绑定模式可能看起来像 api.agents..operations.,我们用绑定模式 api.agents..operations. 将交换机 E1 绑定到队列 Q1,以便发送到 E1 的任何消息都路由到 Q1……

本周Spring动态:2011年3月29日

工程 | Josh Long | 2011年3月30日 | ...

嗯,是精彩的一周!社区和SpringSource自身都涌现了许多好东西。

这一周我提醒自己,Spring框架通常会有一些东西可以极大地简化或减轻当前面临的挑战,只要知道去哪里找。我经常会查看SpringSource论坛JIRA实例,以及 - 如果我足够确信在论坛或JIRA上没有解决或记录在案 - 在Spring的StackOverflow板块。SpringSource工程师会尽力监控论坛,并且 - 偶尔 - 也会留意StackOverflow论坛。此外,我喜欢边学边做 - “一寸一寸地解决,一步一步地…”

早期访问:SpringSource Tool Suite for Eclipse Indigo (3.7)

工程 | Martin Lippert | 2011年3月25日 | ...

Eclipse Indigo (3.7) M6a软件包自几天前起已在Eclipse上提供下载,因此现在是时候让您在这一里程碑版本上使用SpringSource Tool Suite (STS)了。:-)

这只是STS的一个早期访问版本,但我们已经为Eclipse 3.7准备好了一切:适用于Eclipse 3.7的AJDT版本,运行在3.7上的Groovy-Eclipse版本,以及当然,包含Spring IDE、Grails工具和其他您从STS熟悉的精美功能的SpringSource Tool Suite本身 - 所有这些现在都运行在最新的Eclipse Indigo里程碑版本之上。

如何安装

STS所需的依赖项均可从复合更新站点获取:http://dist.springsource.com/snapshot/TOOLS/composite/e3.7,如果您想手动添加任何内容。

我们还在STS的安装说明的“从夜间快照更新站点安装”部分中包含了3.7的安装说明…

本周Spring动态:2011年3月22日

工程 | Josh Long | 2011年3月23日 | ...

又一周精彩,内容新颖多样!尽情享受!

  1. SpringSource推出了全新的SpringSource YouTube频道。该频道包含关于SpringSource技术的精彩技术内容,应该是您获取新内容和回顾遗漏内容的第一个目的地。今天就来看看吧!我个人认为,这个频道在大屏幕电视(支持浏览器或YouTube - Google TV/Apple TV/slingbox/等)或外接屏幕(如第二台笔记本或显示器)上非常棒。您也可以在iPhone等便携设备上收听,例如在开车或通勤时。
  2. …说到YouTube频道,上周网络研讨会“Spring和STS入门”的内容和幻灯片现已提供给错过的人。Spring框架负责人Juergen Hoeller几周前在网络研讨会上介绍了令人兴奋的下一代(3.1) Spring框架,该内容也在SpringSource YouTube频道上
  3. Martin Lippert宣布了SpringSource Tool Suite的最新版本2.6.0。新版本包含大量新功能,并与各种项目的最新版本同步(Spring Roo 1.1..2、Eclipse Helios SR2、Groovy 1.7.8、Grails 1.3.7)。它包括对Spring Roo和Groovy on Grails的更新支持和性能改进,一个Spring Web Flow的图形编辑器,以及对Spring注解(`@Autowired`、`@Qualifier`、`@RequestMapping`等)的内容辅助、快速修复和重构的新支持。
  4. Ramnivas Laddad本周Spring动态推荐了一个非常创新的Chrome浏览器插件。使用方法是,在地址栏(搜索/地址栏)输入“spring”,然后按空格键,再输入您要查找的类的名称。它会自动显示与文档链接的候选结果!非常棒,也很方便!(注:我们是用刚发布的Chrome 10测试的,虽然它很可能兼容至少Chrome 9。)

  5. InfoQ上有Mark Pollack和Chris Richardson在去年芝加哥SpringOne2GX活动上关于Spring Data的精彩入门介绍视频。Spring Data是一个很好的方式,可以以Spring用户熟悉且惯用的方式利用这些新的、强大的数据存储选项(有时称为“NoSQL”存储)。快来看看吧!
  6. Spring Data项目最新版本发布,支持Neo4j。新版本包含许多新功能,并与Neo4j的最新版本同步。Neo4j是开发者如今可用的众多新型专业数据存储之一。Neo4j将数据建模为关系和节点。它针对节点遍历进行了优化,例如Facebook好友图谱。
    此外,SpringSource将于4月20日举办一个关于Spring Data(特别是包含Neo4j支持的Spring Data Graph子项目)的网络研讨会。该演示文稿将面向北美欧洲。立即注册!
  7. Spring框架帮助您构建最佳应用程序。Spring Social在此基础上,允许您将应用程序与用户集成。JTeam团队再次发力,这次带来了一个关于Spring Social的有趣的更新看法,并附带源代码和示例应用程序。快来看看!
  8. Spring MVC支持多种视图类型,包括RESTful载荷、Velocity模板、JSP和Tiles视图。这篇博文解释了如何将Spring MVC与Tiles集成
  9. Chariot Solutions的Ken Rimple录制了一个屏幕录像,介绍SpringSource家族的新成员Wavemaker。
  10. 越来越多的人使用Spring框架,其增长带来的结果是各种工具对Spring提供了更新、更专业的支持。一位UML工具制造商 - Architexa - 谈论了他们在其基于Eclipse的产品中对Spring框架增强的支持。请查看这篇博文了解更多
  11. Ashish Jain对Spring 3.1的新缓存支持提供了一个有趣的视角。

    Ashish选择简化他的软件堆栈(通过移除Hibernate,而是直接通过Spring框架的JdbcTemplate使用JDBC,一个…

本周Spring动态:2011年3月15日

工程 | Adam Fitzgerald | 2011年3月16日 | ...

又一周充实内容的精彩时光。本周的大部分内容最好配上一杯香浓的咖啡和一把舒适的椅子享用。:-) 尽情享受!

  1. SpringSource将于本周四举办一个免费网络研讨会 - *Spring和SpringSource Tool Suite入门*。本次演示将为有经验的开发者提供一些新方法的视角,并为新技术的新手提供入门机会,快速进入富有成效的应用程序开发。此外,与会者将有机会向演示者和嘉宾提问。本次网络研讨会将举行两次,一次面向欧洲,一次面向北美。希望在那里见到您!
  2. InfoQ.com现已发布Spring MVC负责人Keith Donald介绍Spring MVC 3的视频。这是一个非常棒的视频,在短短90分钟内包含大量信息。快来看看!
  3. Craig Walls本周发文讨论扩展Spring Social的服务提供商框架,这次介绍了一个与Netflix API的示例集成。这篇博文非常有启发性,并且鼓舞人心 - 阅读时我忍不住构思了许多激动人心的应用程序创意。
    </li>
    
  4. 这份VMware白皮书对从Java EE应用服务器迁移到更轻量、更强大的SpringSource tcServer进行了相当不错的介绍。这读起来很有意思 - 并突出了许多令人兴奋的信息。快来看看!
  5. 	<li>The whitepaper exploring a migration from a Java EE application to tcServer has a companion <a href="http://java.sys-con.com/node/1750240">in this VMware</a> whitepaper,  that talks about the migration from Tomcat to tcServer. Pretty exciting!
    
  6. 这篇博文介绍了高吞吐量、异步的Servlet 3.0应用程序。这篇文章对于使用Tomcat或tcServer的人尤其有用,因为它们是迄今为止最大的Servlet 3.0兼容安装基础。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有