WebSphere sMash -


商业软件
跨平台
Java

软件简介

WebSphere sMash 是 IBM WebSphere 家族提供的一个新应用平台产品, 它提供了一个 Web 2.0 应用的平台, 覆盖了开发,
部署和运行管理的全部过程. 程序员们利用动态脚本语言, 像 Groovy 和 PHP, 来开发 REST 风格的服务, 丰富体验的用户交互组件, 以及
Mashup (也就是Web 2.0 风格的集成). 为什么提供一个新的产品? 跟 WebSphere Application Server
之间的关系是什么? 它跟 WebSphere Application Server 是互补的. WebSphere 能够很好地为企业关键业务提供安全,
可靠, 可伸缩, 和管理的平台, 基于业界多年的企业计算经验. 但是, 企业中也有很多非关键业务应用, 这样的应用数量很大, 需求非常多样,
也不见得用很长的时间, 最好能够快速开发, 部署和运行. sMash 提供了一个简化很多, 快捷很多的轻量级平台和模型, 来服务于这类应用的开发和运行.

WebSphere sMash 提供了一个很好的下一代 Web 应用的编程模型和平台. 利用 sMash, 动态脚本语言是基本手段, Java
程序员可以是用 Groovy 来开发, 而习惯开源和 LAMP 程序员可以使用 PHP 语言来开发, 这让众不同社区的多程序员可以很快地开始在 sMash
平台上, 利用自己已有的技能开发服务. 与此同时, 人们在 sMash 平台上开发出来的服务和应用, 自然而然, 是 REST 风格的.

sMash 在 Java 平台上, 引入和应用了一些好的实践模式. 这里讨论几个. 首先是 Application is the Server,
应用本身就是服务器, 这避免了使用 "容器" 的概念. 容器是一个大管家, 有很多好处, 可是这些好处建立在容器所规定的各种契约, 限制和模式上的,
比如 J2EE 规范中的各种 SPI 和规范. 通常这些规范代表了企业计算平台的最佳实践, 但是需要人们花比较大的力气和长的时间来学习. sMash
则不同, 一个应用独占一个 JVM 进程, 程序员看到完整的应用堆栈, 需要什么能力, 调用 sMash 提供的 library, 程序员控制程序的一切.
这对各种问题的确定, 比如性能的优化, 内存溢出的原因的界定等, 要容易得多. 另外一个是 convention over configuration,
这在各种社区中讨论和使用很多了, 很高兴 sMash 将其作为自己的一个设计原则. 不过因为各种原因, sMash 的 configuration
似乎多了一些 :-)

WebSphere sMash 是一个商业化产品, 但是通过开放社区的方式来开发, 这个社区就是 Project Zero
(http://www.projectzero.org). 是 IBM 软件开发的一个尝试, 希望在商业软件开发的过程中,
随时让人们接触和了解开发团队, 了解开发计划和过程, 还可以通过社区反映自己的看法. 所以这个产品从应用模型, 到开发方法, 都充满了 Web 2.0
的元素.