本周 Spring:2011 年 4 月 19 日

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

欢迎回到本周 Spring。上周 Cloud Foundry 发布公告的热情非常高涨,而且似乎还在增强!世界各地的人们蜂拥至 SpringSource 和 CloudFoundry 的论坛、下载页面和源代码存储库。这真是前所未有的活动!

SpringSource 最近推出的许多强大的技术都为 Cloud Foundry 发布奠定了基础,因此我邀请您回顾一下过去几个月发布的一些令人兴奋的内容,这些内容在云计算和 Cloud Foundry 方面变得更加有趣:Spring GemfireSpring AMQPSpring 3.1 配置文件Spring 3.1 缓存抽象Spring DataSpring Integration 对 NoSQL 的支持 以及 Spring HadoopvFabric HypericvFabric RabbitMQvFabric GemFire。当然,对于所有这些技术来说,首选也是最佳的工具和开发体验仍然是 SpringSource Tool SuiteSpring Roo。

好的,让我们继续本周的回顾。如此多的令人兴奋的事情,时间却如此短暂!

  1. Christian Dupuis 刚刚撰写了一篇关于 使用 STS 部署到 Cloud Foundry 的详细博客文章。
  2.  <li><A href="http://www.springsource.org/node/3103">Spring Roo 1.1.3</a>, featuring 
     Cloud Foundry support, shell enhancements, and improved support for composite primary keys - among other things - has been released. 
    </li>
    
    	 <li> DZone has published a <a href="http://refcardz.dzone.com/refcardz/spring-roo-open-source-rapid?oid=hom38521">Spring Roo RefCard</a> by the Spring Roo team's <a href="http://www.twitter.com/schmidtstefan">Stefan Schmidt.</a> This RefCard's a fantastic way to get going quickly with Spring Roo. Spring Roo, it could be argued, is ideally suited to the RefCard…

Spring Data Graph 1.0 今天发布,支持 Neo4j

工程 | Michael Hunger | 2011 年 4 月 19 日 | ...

这篇公告文章是由 Neo4j 团队的开发人员撰写的客座文章,他们与 SpringSource 的 Spring Data 团队紧密合作,提供了 Spring Data Graph 集成库。

Spring Data Graph Logo

为了让大家更好地了解 Spring Data Graph,我们将举办一个免费的 网络研讨会,由 VMware 联合 Neo Technology 的 CEO Emil Eifrem 主讲,将在 4 月 20 日为美洲和欧洲提供两个方便的时间段。[更新:网络研讨会 视频 现已在 SpringSourceDev 频道上发布。]

现在,Spring 已成为焦点,Neo4j 和 Spring Data 团队很高兴地宣布,经过近一年的努力,我们发布了 1.0 版本Spring Data Graph 库。 Spring Data 项目旨在将 Spring Framework 方便的编程模型引入到 NOSQL 数据库中。Spring Data Graph 支持 图数据库

从 STS 使用 Cloud Foundry

工程 | Christian Dupuis | 2011 年 4 月 13 日 | ...

到目前为止,您可能已经听说过 Cloud Foundry,这是 VMware 昨天发布的开源 PaaS;如果还没有,请务必查看 网络广播的录制。您可能已经阅读了之前介绍 Spring 对 Cloud Foundry 的支持Spring Roo 的插件Grails 插件 的博客文章。

在这篇文章中,我想介绍一下基于 Eclipse 的 Cloud Foundry 支持,它允许您管理您的云部署,包括服务和服务绑定的配置、应用程序扩展、对文件资源的访问等等。

在 Eclipse 和 STS 中安装 Cloud Foundry

有三种方法可以将 Cloud Foundry 插件安装到 SpringSource Tool Suite (STS) 和普通的 Eclipse 中。我将逐步介绍这些选项,以帮助您快速入门。

通过 STS 扩展安装进行安装

开始使用 Cloud Foundry 插件的最简单方法可能是将其安装到已安装的 STS 副本中。您应该至少安装了 2.5.1.RELEASE 版本;2.6.1.SR1 更好。各种支持的操作系统的 STS 可以从 下载页面 获取。

在 STS 中,选择“帮助 > 仪表板…”

启动 Cloud Foundry,业界首个开源 PaaS

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

今天,我们为开发人员带来了激动人心的消息:Cloud Foundry 正式发布:这是 VMware 推出的一个开源“平台即服务”(PaaS),允许轻松部署使用 Spring、Rails 和其他现代框架编写的应用程序。Cloud Foundry 通过支持编程模型的选择、来自 VMware 和第三方服务的选择、部署云的选择以及开源交付的方式,在 PaaS 领域开创了新的局面。

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 将很快作为云服务提供,因此对于依赖 RabbitMQ 通过 Spring AMQP 和 Spring Integration 进行消息传递的应用程序来说,情况也是如此。
  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.,我们将交换机E1与队列Q1绑定,绑定模式为api.agents..operations.,以便发送到E1的任何消息都路由到Q1

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

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

哇,那真是一个好星期!社区和SpringSource本身都发布了许多好东西。

这周我被提醒,Spring框架通常有一些东西可以在简化或缓解手头挑战方面大有帮助,只要你知道在哪里找。通常,我会查看SpringSource论坛JIRA实例,以及——如果我充分确信它在论坛或JIRA中尚未解决或考虑在内——在StackOverflow的Spring类别中。SpringSource工程师试图监控论坛,以及——不那么经常——StackOverflow论坛。此外,我喜欢边学边做——“一寸一寸地前进,困难就…

获取Spring通讯

通过Spring通讯保持联系

订阅

领先一步

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

了解更多

获取支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部