2009年5月14日星期四

在WebSphere sMash上运行精巧的论坛程序Vanilla 1.1.7

大家知道在 WebSphere sMash 上可以运行 PHP 语言开发的应用程序。下面的例子帮助你将vanilla这一精巧的网络论坛程序运行在 sMash 环境中。

  1. 从projectzero.org下载WebSphere sMash 开发者版本:https://www.projectzero.org/download/
  2. 将下载好的zip文件解压缩到文件系统,你会看到结果包含一个名为 zero 的文件夹:如 C:\zero (如果你使用windows操作系统的话)
  3. 打开命令行窗口进入C:\zero, 设置环境变量:
    cd c:\zero
    c:\zero>set PATH=c:\zero;%PATH%
  4. 然后运行命令zero resolve更新 sMash 运行环境:
    c:\zero>zero resolve
  5. 当看到successful字样的提示消息后,sMash 的运行环境就准备好了。这时创建一个 sMash 应用程序来运行 vanilla:
    c:\zero>zero create vanilla
  6. 从getvanilla.com获取 vanilla :http://getvanilla.com/download/
  7. 下载得到的zip文件解压缩后得到一个文件夹,将这个文件夹下的所有文件都复制到 C:\zero\vanilla\public 文件夹下
  8. 为新创建的 sMash 应用程序增加 PHP 模块:编辑C:\zero\vanilla\config\ivy.xml 文件,在 <dependencies> 标签内增加如下依赖关系的描述:

  9. <dependency org="zero" name="zero.php" rev="[1.0.0.0, 2.0.0.0["></dependency>
    <dependency name="mysql-connector-java" org="mysql" rev="5.1+"></dependency>

  1. 最后一步:运行 zero start 命令启动这个 sMash 程序:
    c:\zero\vanilla>zero start
完成后在浏览器中输入http://localhost:8080/setup/ 就可以开始设置了。

2009年5月13日星期三

介绍RESTful Workflow

上周末有幸在中国开放流程用户组的活动上和大家分享了题为"RESTful Workflow"(REST化的工作流)的主题。其中主要内容都来自参考资料里 Watson 实验室同事们的论文。


由于活动赞助商严禁打广告,所以大家没有听到关于技术实现的内容(对ProjectZero感兴趣? 点这里),借助这篇博客梳理下引发的讨论:
  • RESTful的工作流引擎如何实现?这里有Assemble flow的开发者手册,里面详细介绍了产品的功能和用途,这里的例子还是很好玩的;
  • REST...如果我对超文本传输协议(HTTP)、什么文档对象模型(DOM)不熟的话怎么使用这个RESTful Workflow? 其实sMash社区版里有提供一个完全运行在浏览器端的开发工具,我们努力使工作流的使用变得简单、直观,如果我们做得不好,非常欢迎大家的意见和建议;
  • REST 服务...是不是有得有新的标准?像Sun公司的WADL? 这是个非常值得探讨的问题...简单的讲我们为什么需要为 Web 世界再发明一个描述语言?问题涉及2个基本方面: 什么是REST 服务和我们需要把哪些东西标准化。现状之一在于,我们已经有了很多围绕REST的标准,而且新的标准还在制定当中,以至于Joe Gregorio要说Atompub协议失败了...我希望 Web 的世界里仅依靠基本的几个协议:HTTP, HTML/CSS, JavaScript, XML/Atom, JSON 就可以把互联网变成扁平的形状,对于我们开发者来说,有更多更好用的工具帮助我们理解互联网上的资源或者企业内部网络上的各种数据和算法,让信息更加自由畅通地流动就是最幸福的事。就 REST 服务本身而言,应该具有所谓“自描述”特性,当然这一点有些理想,往往实际工作中众多数据服务本身还含有 RPC 风格的 query string,或者对发送的数据表现(XML 或 JSON)有明确的要求,这时候就需要提供足够的描述信息,文本也好,文档也好,甚至是一段作为例子的数据片断,但是不要再多了。GData的API都是用HTML来描述的,包括Yahoo!的数据服务也一样,但是目前似乎还没有足够聪明的程序无需人的帮助来理解这些描述文字吧?看来我们还有很多工作要做...

2009年5月11日星期一

developerWorks上的新文章

最重要的一点忘了在这篇文章里表达出来:开发一个完整的应用程序是如此地简单:

使用 Project Zero 和 WebSphere sMash Assemble Flow 构建 Mashup 应用,第 2 部分: 使用 Assemble Flow 开发简单协作流程