SpringSource 在中欧的研讨会日

工程 | Juergen Hoeller | 2008 年 6 月 29 日 | ...

SpringSource 正在中欧组织其首次专门的研讨会日:2008 年 9 月 8 日,在奥地利林茨举办 SpringSource 研讨会日。这是一场关于 Spring 产品组合当前热门话题的全天研讨会:一个难得的机会,可以直接听取 Spring 项目负责人关于最新和即将推出的内容!议程计划如下

8:30 ... 开始注册
9:30 ... 欢迎及介绍 (Juergen Hoeller 主讲)
9:45 ... 主题演讲:Spring 产品组合 (Rod Johnson 和 Adrian Colyer 主讲)
11:00 ... 介绍 SpringSource 应用平台 (Rob Harrop 和 Eberhard Wolff 主讲)
12:00 ... 午餐休息 (现场提供自助午餐)
13:00 ... 企业开发和管理工具 (Christian Dupuis 和 Jennifer Hickey 主讲)
14:15 ... 使用 Spring 开发富 Web 应用 (Keith Donald 和 Agim Emruli 主讲)
15:15 ... 茶歇 (现场提供咖啡和点心)
15:45 ... Spring Framework 3.0 – 下一代 (Juergen Hoeller 和 Mike Wiesner 主讲)
17:00 ... Spring.NET 1.2 (Mark Pollack 和 Erich Eichinger 主讲)
18:00 ... SpringSource 展位见面交流 (包括饮品和点心)
19:00 ... 研讨会结束

更新:SpringSource 首席执行官 Rod Johnson 将与首席技术官 Adrian Colyer 共同主持研讨会主题演讲!另请注意,我们正在 SpringSource 展位组织一场结束时的见面交流会。

演讲者名单包括 SpringSource 首席执行官 Rod Johnson、首席技术官 Adrian Colyer 以及项目负责人 Rob Harrop、Christian Dupuis、Jennifer Hickey、Keith Donald、Juergen Hoeller 和 Mark Pollack。这是您与 SpringSource 项目负责人和欧洲顾问联系,以获取 Spring 第一手见解的机会。演示语言为英语;整个活动将由英语和德语主持。

研讨会将在美丽的 Bergschloessl Linz 举行,方便当天往返(例如从维也纳、萨尔茨堡和慕尼黑)。当然,您也可以选择在周末留下参观林茨市,即 2009 年欧洲文化之都提示:著名的 Linzer Klangwolke 恰好定于 9 月 6 日星期六举行 - 正是研讨会前一个周末!

林茨交通便利,可通过汽车、火车和飞机到达。主火车站靠近会场,有直达线路,例如从维也纳、韦尔斯、萨尔茨堡、纽伦堡和法兰克福。距离 林茨蓝多瑙河机场 (LNZ)(提供从维也纳、法兰克福、杜塞尔多夫、慕尼黑和苏黎世的直达航班)有 20 分钟车程。

本次独特机会的入场费为 150 欧元,抵达会场时支付。必须在 8 月 11 日之前提前注册:请发送电子邮件至 Eva Hoeller (eva.hoeller AT springsource DOT com),注明您的联系方式以及您公司希望预留的座位数量。座位有限,请尽早注册!

更新:本次研讨会已预订满,扩展到 145 名参会者。期待与您相见!

Juergen Hoeller
副总裁 & 杰出工程师
SpringSource

榨干:每桶 200 美元,每 CPU 25,000 美元

工程 | Rod Johnson | 2008 年 6 月 25 日 | ...

当 Oracle 收购 BEA Systems 时,我和其他人都指出了失去唯一的独立 Java 中间件供应商的重要性。随着 Oracle 最近宣布提高其产品(包括 WebLogic Server)的价格,这不再是一个理论问题。他们拥有石油,并且认为他们掌握着现有客户。现在,对替代方案的需求变得更加明显。

公平地说,Oracle 的举动部分是受美元疲软推动,但WebLogic 定价的上涨远高于影响其他产品的幅度

根据 Wang 的报告,一些之前定价 3,995 美元的应用程序现在报价 4,595 美元——上涨了 13.1%——而数据库软件价格从每 CPU 40,000 美元上涨到 47,500 美元,上涨了 18.75%。其他价格上涨了约 15%。BEA 的 WebLogic 应用服务器现在每 CPU 价格为 25,000 美元,比 Oracle 在 4 月份以 67 亿美元收购该中间件软件供应商之前的每 CPU 17,000 美元的价格上涨了 47.1%
这个决定可能表明两点:一是 Oracle 通过相信能够通过提价从 BEA 客户那里赚取更多利润,来证明其收购 BEA(实际上超过 80 亿美元)的高昂成本是合理的;二是 Oracle 预计,由于不再有独立供应商,Java EE 应用服务器市场的竞争不足,客户无法抵制如此高的价格上涨。引自同一篇文章
一些行业观察家担心,这些收购可能导致 Oracle 在某些市场形成近乎垄断的地位。Forrester 的报告称,BEA WebLogic 的价格上涨可能反映了 Oracle 在应用服务器市场的支配地位。
在传统应用服务器市场,Oracle 和 IBM 两家公司都有可能持有这种观点,这实际上形成了应用服务器供应商的欧佩克。IBM 高级副总裁兼软件集团总经理 Steve Mills 最近评论说,他“特别不担心”这个领域的竞争,“尤其是来自开源产品的竞争”。

幸运的是,对于客户来说…

在 SpringSource 应用平台中运行 Spring Batch 作业

工程 | Dave Syer | 2008 年 5 月 30 日 | ...

在本文中,我将向您展示如何在 SpringSource 应用平台中运行 Spring Batch 作业。我在 JavaOne 上展示了一个早期版本的小演示,然后在伦敦 Spring 用户组再次展示,并认为分享一下可能不错。示例代码在此

Bundle

首先,我们将快速浏览一下示例代码中的 bundle。现在或安装完一些 bundle 后随时启动服务器。

Bundle: hsql-server

这个 bundle 对于开发和测试非常有用。它所做的只是以服务器模式启动一个 HSQLDB 实例,这样您就可以连接到它并使用 SQL 语句检查数据库。您只需将其拖放到 Servers 视图中的 Platform Server 实例中即可。请先执行此操作,因为平台会记住 bundle 的安装顺序,并按照该顺序启动它们。这个 bundle 必须首先启动,因为其他 bundle 会尝试连接到数据库服务器。

bundle 配置位于META-INF/spring/module-context.xml(这对于平台 bundle 是常规做法)——Spring DM 从META-INF/spring中加载所有 XML 文件。这个文件只是使用 Spring 配置和启动 HSQL Server 的一个实例。

有一个集成测试可以用来检查...

开源,开放策略:SpringSource 宣言

工程 | Rod Johnson | 2008 年 5 月 28 日 | ...

作为一家开源软件提供商,我们认为我们的策略也应该开放。我们想分享我们如何走到今天,我们将走向何方,以及这段旅程为何对 Spring、Spring 用户和 SpringSource 都有好处。

我们的历史

Spring 的故事始于 2001 年,当时我开始着手处理我在 2002 年随《Expert One-on-One J2EE Design and Development》一书一起发布的 30,000 行框架代码。我的目标是帮助其他人避免我自 1999 年以来完成 J2EE 项目时遇到的陷阱。

很快就清楚了,其他人喜欢这些代码中的想法——比如依赖注入和 Spring 数据访问抽象——并从中受益匪浅。有读者联系我,要求我发布代码并希望贡献。

我很快就看到了开源的一些重要好处。

  • 大多数用户免费获得所需的功能
  •     	<li> It…

实现企业集成模式 第 0 部分

工程 | Iwein Fuld | 2008 年 5 月 19 日 | ...

在我关于 Spring Integration 的演讲之后,我收到了相当多关于澄清和示例的问题。为了满足需求,我将开始一个小型系列,介绍如何使用 Spring Integration 实现不同的集成模式。本文将重点介绍基础知识。它将向您展示如何启动并运行,并逐步介绍一个示例。

如果您以前从未听说过 Spring Integration,最好先阅读 Mark Fisher 撰写的介绍性博客或浏览项目网站来熟悉它。一般来说

让我先说明一点:...

Spring Web Flow 2 发布;引入了新的 Faces 和 JavaScript 模块

发布 | Keith Donald | 2008 年 5 月 15 日 | ...

尊敬的 Spring 社区成员们:

我们很高兴地宣布 Spring Web Flow 2 正式发布。下载 | 文档

Spring Web Flow 是 Spring 产品组合中专注于为构建和运行富 Web 应用程序提供基础架构的项目。作为一个 Spring 项目,Web Flow 基于 Spring Web MVC 框架构建,提供

  • 用于定义可重用控制器模块的领域特定语言,称为流 (flows)
  • 用于管理对话状态的高级控制器引擎
  • 一流的支持使用 Ajax 构建富用户界面
  • 一流的支持将 JavaServerFaces 与 Spring 结合使用

Web Flow 2 发行版的模块及其与 Spring Framework 的关系如下所示

Web Flow 2 中包含的内容

Web Flow 2 Distribution Components

 

Spring Web MVC

Spring Web MVC 框架是 Spring Framework 发行版的一个模块,它为使用成熟的 ModelViewController 范式开发基于 Spring 的 Web 应用程序提供了基础。Web Flow 发行版的每个模块都构建在此基础上。

Spring Web Flow

Web Flow 模块是一个 MVC 扩展,允许您使用领域特定语言定义控制器。此语言旨在建模需要向服务器发出多个请求才能完成的用户交互,或者可以从不同上下文调用。

Spring JavaScript

Spring JavaScript 是一个 JavaScript 抽象框架,使编写 unobtrusive JavaScript 轻松地通过行为逐步增强网页。该框架由一个公共 JavaScript API 和一个基于 Dojo Toolkit 的实现组成。Spring.js 旨在简化 Dojo 在常见企业场景中的使用,同时为高级用例保留其全部功能。

Spring JavaScript 可以与任何服务器端框架一起工作。Web Flow 2 发行版包含 Spring JavaScript 和 Spring Web MVC 之间便捷的集成,用于处理 Ajax 请求。

Spring Faces

Spring Faces 模块包含 Spring 对 JavaServerFaces 的支持。此支持允许您在熟悉的 Spring MVC 和 Web Flow Controller 环境中使用 JSF 作为视图技术。通过这种架构方法,您可以结合 JSF UI 组件模型的优点与 Web MVC 架构的优点。Spring Faces 还包括一个基于 Spring JavaScript 构建的轻量级组件库,用于以渐进方式声明性地启用 Ajax 和客户端验证行为。

Web Flow 2 版本的主题

除了引入新的 Spring Faces 和 Spring Javascript 模块外,Web Flow 2 版本的工作还围绕两个主要主题:集成和简化。

集成

在每个模块中,Web Flow 2 发行版都添加了许多有趣的集成,使您可以丰富您的 Web 应用程序。这些集成支持

  • 使用 Spring Security 以声明方式保护您的流
  • 使用 Tiles 进行 JSP 页面组合和 Ajax 部分渲染
  • 在使用 JSF 时,使用 Facelets 进行页面组合和布局
  • 在使用 JSF 时,使用 Apache Trindad 和 JBoss RichFaces 组件库
  • 以渐进且非侵入式的方式使用 Dojo 小部件系统;一种在客户端 JavaScript 不可用时优雅降级的方式

简化

Web Flow 2 中的流定义语言得到了极大的简化,同时整体上变得更加强大。这些简化包括

  • 与版本 1 的流定义相比,版本 2 的整体代码行数减少了约 50%(示例:版本 2 对比 版本 1
  • 使用表达式语言 (EL) 调用操作的简洁语法,支持 Unified EL 和 OGNL
  • 声明式模型绑定和验证,支持约定大于配置
  • 使用流定义继承在流和状态级别支持重用
  • 增强的模块化,允许流及其依赖资源打包在一个自包含的 bundle 中

发布说明

  • Web Flow 2 要求 Java 1.4 或更高版本,并可在所有主要的 Java EE 平台(包括 Tomcat、Jetty、Websphere、WebLogic 和 JBoss)上运行。
  • Web Flow 2 要求 Spring Framework 2.5.4 或更高版本。
  • Web Flow 2 已由 SpringSource 认证为“平台就绪”,适用于在 SpringSource dm Server 上运行支持 OSGi 的 Web 应用程序。

入门

  • 要开始使用 Maven 或 Ant+Ivy 等构建系统,请从Maven 中央仓库获取 Web Flow Artifact。

其他社区资源

  • 观看 Ajaxian.com 采访,Dion Almaer 在其中讨论了发布版本和 Spring JavaScript。
  • 在线探索 Spring Web 参考应用程序。《Spring Travel》应用程序展示了集成的 Web Flow 2 功能集,并包含在发行版中。《SpringSource Enterprise Bundle Repository》是一个基于 Spring 2.5 和 Spring Web Flow 2.0 构建的真实世界的生产环境应用程序。
  • 如果您是现有的 Web Flow 1 用户,请查看迁移指南,以帮助升级到 Web Flow 2。WebFlowUpgrader 工具可自动将您的流转换为版本 2 语法
  • 使用 Fisheye 跟踪 Web Flow 源代码库的更新
  • 通过订阅springframework.org 来关注即将发布的 Web Flow 2 文章

为什么我应该关心 OSGi?

工程 | Adrian Colyer | 2008 年 5 月 15 日 | ...

InfoQ 有一个讨论帖总结了对 SpringSource 应用平台发布公告的反应。Michael Burke 在该帖中提出了一个很棒的问题,可以转述为“抛开围绕 OSGi 的炒作,如果我将当前打包为 EAR 的应用程序移植到 OSGi bundle,我可以期待看到什么好处?”

我开始在 InfoQ 线程中回答这个问题,但我的回答太长了,不适合作为评论,所以我将在这里回答。

这个问题提得很好。与传统的基于 JEE EAR 的应用程序相比,基于 OSGi 的应用程序的主要区别在于模块化得到了改进。因此问题就变成了,这种改进的模块化是否带来了任何好处,如果带来了,又是什么呢?《设计规则,模块化的力量》一书对此问题进行了非常透彻的论述。这是一本很好的背景书,但我觉得 Michael 可能正在寻找比这本书中更具实践性的东西......

使用 SpringSource 应用平台的 provisioning repository

工程 | Andy Wilkinson | 2008 年 5 月 9 日 | ...

SpringSource Application Platform 的主要优点之一是它能够根据需要提供依赖项。这有两方面的好处:它确保平台的内存占用尽可能小,并且允许部署应用程序而无需将所有依赖项封装在一个庞大的部署单元中,例如 WAR 文件。要利用这些功能,您需要了解平台的 provisioning repository,本文旨在提供对此的解释。

provisioning repository 在哪里以及它是如何工作的?

默认情况下,平台的 provisioning repository 位于安装根目录下的 repository 目录:Directory structure of the provisioning repository 正如您所见,有三个主要目录:bundlesinstalledlibrariesinstalled 用于平台内部使用,因此我们在这里重点关注 bundleslibraries 目录。每个目录包含一些子目录,用于分隔不同类型的依赖项
  • ext 包含随平台提供但不属于平台本身的外部依赖项。
  • subsystems 包含构成平台的所有子系统。
  • usr 最初为空,旨在包含用户添加的依赖项,即您的应用程序依赖但不属于平台提供的任何内容。
平台在其初次启动期间会在 repository 目录结构中搜索 bundle 和库。稍后将在本文中讨论如何配置此搜索。在 repository 中找到 bundle 和库后,其符号名称、导出的包等详细信息将添加到 repository 的内存索引中。扫描完成后,内存索引将被缓存到磁盘。最小化平台的启动时间是我们在开发过程中的优先事项。此缓存使平台能够在启动时节省一些时间:除非它检测到 repository 的内容已更改,否则它可以跳过扫描。

运行时 provisioning

在纯 OSGi 环境中,一个 bundle 的依赖项只能由环境中已经安装的其他 bundle 来满足。例如,如果一个 bundle 导入 org.apache.commons.dbcp 包,而没有导出该包的 bundle 已经安装,那么安装并启动该 bundle 将会失败。这对于用户来说可能会非常痛苦,因为他们必须手动安装 bundle 的所有依赖项。值得庆幸的是,SpringSource Application Platform 通过按需动态安装依赖项显著改进了这一点。

当平台启动已部署的应用程序时,其...

获取 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

脱颖而出

VMware 提供培训和认证,加速您的发展。

了解更多

获取支持

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

了解更多

即将举办的活动

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

查看全部